CMP EMBEDDED.COM

Login | Register     Welcome Guest  
HOME DESIGN PRODUCTS COLUMNS E-LEARNING CONFERENCES CODE FORUMS/BLOGS NEWSLETTERS CONTACT FEATURES RSS RSS

Virtualization for embedded X86 multiprocessor applications
The addition of Intel's VT hardware technology to its x86 CPUs makes possible the creation of a software-based embedded virtual machine manager.



Embedded.com

Defining embedded virtualization
When engineers were asked by Venture Development Corporation (VDC) in a recent survey what advantages they saw to using virtualization, they answered that porting to new hardware designs or integrating new software and applications onto existing platforms were the most important.1 In other words, they see virtualization as a tool to reuse existing legacy software on new hardware and to combine new features alongside existing proven software. Roughly the same number of respondents cited concerns over the ability to meet performance requirements when running software in a virtual environment.

Together, these two needs define the key factors driving the development of hypervisor products for the embedded market: a desire to support and preserve legacy code, software that has been field-proven and tested over years of use; and a need to ensure that real-time performance is not compromised, which can only be achieved by accommodating direct access to hardware.

Multiprocessor architectures
The introduction of virtualization hardware features on multicore processors provides embedded systems developers an opportunity to embrace VMM technology without having to compromise performance or their need for access to specialized I/O devices. But the server-VMM model of virtualization needs to be discarded, in favor of an asymmetric processing model.

Two basic types of multiprocessor architectures exist: symmetric multi-processor (SMP) and asymmetric multi-processor (AMP). SMP systems are based on homogeneous hardware designs, where each CPU (or processor core) has identical capabilities and full access to all I/O devices and RAM in the system. AMP systems are typically associated with heterogeneous hardware designs, where each CPU might have different features and capabilities and may even have dedicated I/O devices and RAM.

All those dual-core and quad-core machines in the latest servers, desktops, and laptops are, by hardware architecture definition, SMP machines.

The value of an SMP system, especially where general-purpose computing is concerned, is the ability to maximize the use of system resources. Having more than one CPU on which to schedule applications (or processes or threads or...) means less time waiting for high-priority CPU-intensive applications to finish.

A key advantage to AMP systems is specializing through dedicated resources. Dedicated resources, where I/O devices and RAM are only accessible to a specific core and the applications that run on that core, allow applications to assume sole ownership of the resources, with the benefit of less overhead and higher performance.

Applying AMP to SMP systems
Assigning resources exclusively to specific cores in an SMP system is another way to build an AMP system. By partitioning CPU cores, RAM, and I/O devices between multiple software systems, one can gain direct control over the performance and use of those hardware resources.

Hardware-virtualization technology, such as the Virtualization Technology (VT) found in many Intel dual-core and quad-core embedded processors, can be used for just that purpose: to partition the CPU, RAM, and I/O devices of an SMP machine between multiple virtual machines. In this embedded VMM model each virtual machine is assigned to perform a set of unique tasks, by hosting the operating system and application that is appropriate to the task.

Unlike the server VMM model, the AMP-inspired embedded VMM requires multicore processors and needs an assist from hardware-virtualization technology in the processor to ensure that each virtual machine has low interrupt latency, direct access to specialized I/O, and the assurance that the VMM will not "time slice away" the guest operating system and its applications.

1 | 2 | 3 | 4 | 5

Rate this article: Low High
Current rating
  • .
Embedded.com Career Center
Looking for a new job?
SEARCH JOBS

Browse all jobs

SPONSOR
RECENT JOB POSTINGS





 :