Home > Community > Blogs > System Design and Verification > brain taxing virtualization taxonomy
Login with a Cadence account.
Not a member yet?
Create a permanent login account to make interactions with Cadence more convenient.

Register | Membership benefits
Get email delivery of the System Design and Verification blog (individual posts).


* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

Virtualization Taxonomy

Comments(0)Filed under: System Design and Verification, Embedded Systems Conference, taxonomy, real-time systems, ESC, VM ware, virtualization

I arrived safe and sound at the Embedded Systems Conference in Boston today. It's been a few years since I have attended ESC, but it all came back to me quickly, and is just as I remember it, a lot of small booths with vendors showing small boards doing something (hopefully something interesting and not something small).

The most interesting talk I attended was Virtualization for Embedded and Real-Time Systems. Virtualization is one of favorite topics to follow as I'm pretty sure it has many applications in both embedded systems and for EDA tools that have yet to be realized. This talk was a 90 minute session jammed with all things related to virtualization by somebody who clearly has spent years understanding and implementing many types of virtualization.

I found a good wikipedia page that is a good summary of some of the material that was covered.

One of the primary applications in embedded systems is to use virtualization to run multiple operating systems on a single CPU. This is not unlike server applications in a data center, but in embedded applications the operating systems are heterogeneous. Often times one of the operating systems is a legacy OS and the other is a general purpose OS like Linux. This enables cost reduction of hardware as processors get faster since multiple boards can be replaced by a single board. Another example that seems to be popular among the embedded virtualization vendors is to run the protocol stack for making phone calls on the mobile phone in one virtual machine and the general purpose OS that handles the display, other peripherals, and all the applications in another virtual machine. This way the user cannot download and run poorly behaved applications that might interfere with the core capability of making phone calls. Trango is another vendor working in this area. The concept sounds very promising to keep the games, e-mail, and web browsing from causing poor call quality.

If you can follow and understand the picture below you have a good start at understanding commonly used virtualization techniques. This is just the first level. For every one of these there are interesting topics such as using virtualization to improve software debugging and to profile software execution.

Virtualization Taxonomy

There are multiple talks on the ESC program about virtualization. It seems to be one of the hot topics in embedded software. This talk definitely helped me understand all of the kinds of virtualization and gave me a better understanding of how many of them work, including the VMware that I use everyday.

I would love to hear about other applications or ideas on how virtualization is being used or could be used.


Leave a Comment

E-mail (will not be published)
 I have read and agree to the Terms of use and Community Guidelines.
Community Guidelines
The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.