What Would Joe Do?
Peggy Aycinena is a freelance journalist and Editor of EDA Confidential at www.aycinena.com. She can be reached at peggy at aycinena dot com.
OVPs: old ideas made new
April 15th, 2012 by Peggy Aycinena
Open Virtual Platforms are an idea whose time has arrived. That is, if you understand what they are. Certainly, if you’re reading this blog, you know what a virtual platform is.
“Platform virtual machines are software packages that emulate the whole physical computer machine, often giving multiple virtual machines on one physical platform.”
For additional clarity, check it out on Wikipedia, paying particular attention to the incredibly dense/complex table found there that attempts to catalog various virtual platforms, their origins, supporting organizations, and features.
Imperas & Open Virtual Platforms
So, if that’s what virtual platforms are, then what are Open Virtual Platforms, OVPs?
Imperas – an enterprise founded in Silicon Valley in 2008 – would like you to understand and use OVPs. To do that, they are sponsoring a portal-based community called Open Virtual Platforms – a resource designed to help chip developers have access to various open source virtual platforms, or models, of various commonly used hardware platforms endemic to the embedded systems world.
If you go to the OVP website, you will find licensed there for use, models from core providers as diverse as ARM, MIPS, Renesas, Synopsys, Freescale, Sun/Oracle, and Xilinx.
“If you need to simulate software, including operating systems, running on your SoC or multi-core SoC and you need assistance with planning or executing your project – Imperas can help – we can put platforms together, we can build models, we can even develop a model of your proprietary CPU and get your operating systems up and running. We can contract to deliver a complete virtual platform model of your chip which you can provide to your customers as a vehicle for software development.”
In other words, Imperas wants to be your “de-facto source for fast processor models” and wants to help you put them to use.
By having a software model of the hardware that will host the software application you’re developing, you’ll be able to debug the software far in advance of having the actual hardwaer available.
IT’s history with VPs
Okay. Clearly the idea of virtual platforms is not new.
In the world of IT, for instance, people running large data centers over the last decade or more, have been able to consolidate a lot of legacy applications that were tied to creaky platforms, using virtual technologies to mount them onto more efficient underlying hardware – physical platforms – and have thereby been able to achieve all kinds of economies of energy savings, reduced capital equipment costs, administrative simplification of the environment, and improved up-time and reliability.
In other words – every organization big or small has legacy apps.
If there were well-loved applications that were fully integrated into an organization, as the hardware evolved forward, or the hardware manufacturer went out of business, it might be important that a company not have to rewrite critical applications under pressure, but instead run the legacy app on a virtual platform emulating the old box – an emulator of the older platform running on a newer, bigger box.
Again, buying time for those eventual re-writes by running the software virtualized on top of newer software versions of the abandoned hardware. Virtual platforms have allowed application developers more time to gradually migrate off of an organization’s legacy apps as the functionality and data was accommodated for by newly developed and supported applications.
In truth, over the years, the situation’s been very chaotic – so many combinations of legacy software on new hardware, new software on legacy hardware, etc. Virtualization has served as a band-aid of sorts in all of these situation.
Of course, not all hardware is virtualization friendly. Modern Intel and AMD chips, for instance, have the capability to support virtualization, but in many garden variety consumer machines, those features are not available to the user.
The company VMware, meanwhile, provides a free solution that can be downloaded onto an Intel or AMD machine that uses the virtualization capabilities of a system, if they are there, and will be effective in allowing legacy apps to run on newer hardware platforms – or even go to a pure software solution if the hardware can’t be accessed.
VMware also sells more feature-rich solutions, but there are also open source or other proprietary solutions that meet the needs for virtual platforms, including kernel virtual machines, KVMs. In all of this, of course, there are multiple layers of licensing issues.
Meanwhile, I have an old Palm Pilot that came with a feature that would allow me to develop apps for the device. I never got around to doing it, but it is an indication that the idea of virtual machines and virtual platforms for app development has been around for a long time – perhaps well over 20 years.
So here’s the question for you, the reader: What’s the difference between a virtual platform and an emulator?
If you want to discuss it further – or any of the sophisticated issues and challenges related to virtual platforms and virtualization – I suggest you contact Larry Lapides and Simon Davidmann at Imperas.
These guys would be happy, I am sure, to take the conversation from here.
Tags: AMD, ARM, emulator, Freescale, Imperas, Intel, KVM, Larry Lapides, MIPS, Open Virtual Platform, Oracle, OVP, PalmPilot, Renases, Simon Davidmann, Synopsys, virtual machine, virtual platform, virtualization, VMware, Xilinx