Embedded Systems Design - August 2008 - (Page 18) 0808esd.p16to24 7/18/08 11:53 AM Page 18 cover feature features alongside existing proven soft- and may even have dedicated I/O deSERVER VMM SHORTCOMINGS vices and RAM. ware. Roughly the same number of reThe virtual I/O presented by a server All those dual-core and quad-core VMM usually consists of a CPU, RAM, spondents cited concerns over the abilmachines in the latest servers, deskity to meet performance requirements disk, video, keyboard, mouse, and a when running software in a virtual en- tops, and laptops are, by hardware arnetwork interface. A few other generic chitecture definition, SMP machines. vironment. I/O devices may be available to “inThe value of an SMP system, espeTogether, these two needs define stall” inside the server virtual machine, cially where general-purpose computthe key factors driving the developbut due to the difficulty associated ing is concerned, is the ability to maximent of hypervisor products for the with multiplexing a wide range of I/O mize the use of system resources. embedded market: a desire to support among multiple virtual machines, and preserve legacy code, software that Having more than one CPU on which most virtual machine I/O is limited to to schedule applications (or processes these basic devices. And, like a general- has been field-proven and tested over or threads or…) means less time waityears of use; and a need to ensure that purpose operating system (GPOS) ing for high-priority CPU-intensive real-time performance is not comprosuch as Windows or Linux, a convenapplications to finish. mised, which can only be achieved by tional VMM must be “fair” in its apA key advantage to AMP systems is accommodating direct access to hardproach to scheduling CPU time for specializing through dedicated reware. each of the virtual machines and sharsources. Dedicated resources, where ing the physical I/O resources among I/O devices and RAM are only accessiMULTIPROCESSOR all the virtual machines. ble to a specific core and the applicaARCHITECTURES The server VMM is targeted at tions that run on that core, allow apThe introduction of virtualization solving problems for a corporate IT plications to assume sole ownership of hardware features on multicore network: maximizing the use of server the resources, with the resources and simplifying benefit of less overthe deployment and mainThe server VMM is targeted at solving head and higher pertenance of client desktops. formance. This approach satisfies a problems for a corporate IT network . . . large percentage of IT servUnfortunately, this approach to APPLYING AMP TO er and desktop applicavirtualization simply won’t work for SMP SYSTEMS tions, making such virtualAssigning resources ization platforms popular embedded applications. exclusively to specific with corporate IT groups as cores in an SMP sysa means to quickly buildup and teardown server applications and processors provides embedded systems tem is another way to build an AMP system. By partitioning CPU cores, client desktops. Unfortunately, this ap- developers an opportunity to embrace RAM, and I/O devices between multiproach to virtualization simply won’t VMM technology without having to ple software systems, one can gain diwork for embedded applications, compromise performance or their rect control over the performance and which typically require deterministic need for access to specialized I/O deuse of those hardware resources. performance and need to interact with vices. But the server-VMM model of Hardware-virtualization technolounusual I/O devices. virtualization needs to be discarded, in gy, such as the Virtualization Technolfavor of an asymmetric processing ogy (VT) found in many Intel dualDEFINING EMBEDDED model. core and quad-core embedded VIRTUALIZATION Two basic types of multiprocessor processors, can be used for just that When engineers were asked by Venture architectures exist: symmetric multiDevelopment Corporation (VDC) in a processor (SMP) and asymmetric mul- purpose: to partition the CPU, RAM, and I/O devices of an SMP machine recent survey what advantages they ti-processor (AMP). SMP systems are between multiple virtual machines. In saw to using virtualization, they anbased on homogeneous hardware dethis embedded VMM model each virswered that porting to new hardware signs, where each CPU (or processor tual machine is assigned to perform a designs or integrating new software core) has identical capabilities and full set of unique tasks, by hosting the opand applications onto existing plataccess to all I/O devices and RAM in erating system and application that is forms were the most important.1 In the system. AMP systems are typically appropriate to the task. associated with heterogeneous hardother words, they see virtualization as Unlike the server VMM model, the ware designs, where each CPU might a tool to reuse existing legacy software AMP-inspired embedded VMM rehave different features and capabilities on new hardware and to combine new 18 AUGUST 2008 | embedded systems design | www.embedded.com http://www.embedded.com
Table of Contents Feed for the Digital Edition of Embedded Systems Design - August 2008 Embedded Systems Design - August 2008 Contents Number Include Parity Bit Programmer's Toolbox Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications Wanted: Industry Standards for Benchmarking Embedded VMM Hypervisors Achieving Cache Coherence in a MIPS32 Multicore Design Memory Allocation in C Advertising Index Break Points Marketplace Embedded Systems Design - August 2008 Embedded Systems Design - August 2008 - Embedded Systems Design - August 2008 (Page Cover1) Embedded Systems Design - August 2008 - Embedded Systems Design - August 2008 (Page Cover2) Embedded Systems Design - August 2008 - Embedded Systems Design - August 2008 (Page 1) Embedded Systems Design - August 2008 - Embedded Systems Design - August 2008 (Page 2) Embedded Systems Design - August 2008 - Contents (Page 3) Embedded Systems Design - August 2008 - Contents (Page 4) Embedded Systems Design - August 2008 - Number Include (Page 5) Embedded Systems Design - August 2008 - Number Include (Page 6) Embedded Systems Design - August 2008 - Number Include (Page 7) Embedded Systems Design - August 2008 - Number Include (Page 8) Embedded Systems Design - August 2008 - Parity Bit (Page 9) Embedded Systems Design - August 2008 - Parity Bit (Page 10) Embedded Systems Design - August 2008 - Programmer's Toolbox (Page 11) Embedded Systems Design - August 2008 - Programmer's Toolbox (Page 12) Embedded Systems Design - August 2008 - Programmer's Toolbox (Page 13) Embedded Systems Design - August 2008 - Programmer's Toolbox (Page 14) Embedded Systems Design - August 2008 - Programmer's Toolbox (Page 15) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 16) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 17) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 18) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 19) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 20) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 21) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 22) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 23) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 24) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 25) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 26) Embedded Systems Design - August 2008 - Wanted: Industry Standards for Benchmarking Embedded VMM Hypervisors (Page 27) Embedded Systems Design - August 2008 - Wanted: Industry Standards for Benchmarking Embedded VMM Hypervisors (Page 28) Embedded Systems Design - August 2008 - Wanted: Industry Standards for Benchmarking Embedded VMM Hypervisors (Page 29) Embedded Systems Design - August 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 30) Embedded Systems Design - August 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 31) Embedded Systems Design - August 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 32) Embedded Systems Design - August 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 33) Embedded Systems Design - August 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 34) Embedded Systems Design - August 2008 - Memory Allocation in C (Page 35) Embedded Systems Design - August 2008 - Memory Allocation in C (Page 36) Embedded Systems Design - August 2008 - Memory Allocation in C (Page 37) Embedded Systems Design - August 2008 - Memory Allocation in C (Page 38) Embedded Systems Design - August 2008 - Memory Allocation in C (Page 39) Embedded Systems Design - August 2008 - Memory Allocation in C (Page 40) Embedded Systems Design - August 2008 - Memory Allocation in C (Page 41) Embedded Systems Design - August 2008 - Memory Allocation in C (Page 42) Embedded Systems Design - August 2008 - Advertising Index (Page 43) Embedded Systems Design - August 2008 - Advertising Index (Page 44) Embedded Systems Design - August 2008 - Break Points (Page 45) Embedded Systems Design - August 2008 - Break Points (Page 46) Embedded Systems Design - August 2008 - Marketplace (Page 47) Embedded Systems Design - August 2008 - Marketplace (Page 48) Embedded Systems Design - August 2008 - Marketplace (Page Cover3) Embedded Systems Design - August 2008 - Marketplace (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.