Abstract

Power Architecture® processors are popular and widespread on embedded systems, and such platforms are increasingly being used to run virtual machines. While the Power Architecture meets the Popek-and-Goldberg virtualization requirements for traditional trap-and-emulate style virtualization, the performance overhead of virtualization remains high. For example, workloads exhibiting a large amount of kernel activity typically show 3-5x slowdowns over bare-metal.
Recent additions to the Linux kernel contain guest and host side paravirtual extensions for Power Architecture platforms. While these extensions improve performance significantly, they are guest-specific, guest-intrusive, and cover only a subset of all possible virtualization optimizations.
We present a set of host-side optimizations that achieve comparable performance to the aforementioned paravirtual extensions, on an unmodified guest. Our optimizations are based on adaptive in-place binary translation. Unlike the paravirtual approach, our solution is guest neutral. We implement our ideas in a prototype based on Qemu/KVM. After our modifications, KVM can boot an unmodified Linux guest around 2.5x faster. We contrast our optimization approach with previous similar binary translation based approaches for the x86 architecture; in our experience, each architecture presents a unique set of challenges and optimization opportunities.
- QorIQ Qonverge BSC 9131 RDB for Femtocell base station development. http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=BSC9131RDB (as on Jan 10, 2013).Google Scholar
- Freescale Semiconductor. Hardware and software assists in virtualization, Rev 0, Aug. 2009.Google Scholar
- Freescale Semiconductor. Freescale's embedded hypervisor for QorIQTM. P4 Series Communications Platform, Rev 1, Oct. 2008.Google Scholar
- K. Adams and O. Agesen. A comparison of software and hardware techniques for x86 virtualization. In ASPLOS '06. Google Scholar
Digital Library
- O. Agesen, J. Mattson, R. Rugina, and J. Sheldon. Software techniques for avoiding hardware virtualization exits. In USENIX ATC '12. Google Scholar
Digital Library
- V. Bala, E. Duesterwald, and S. Banerjia. Dynamo: a transparent dynamic optimization system. ACM SIGPLAN Notices, 35 (5): 1--12, 2000. Google Scholar
Digital Library
- S. Bansal and A. Aiken. Binary translation using peephole superoptimizers. In OSDI '08. Google Scholar
Digital Library
- R. Bhargava, B. Serebrin, F. Spadini, and S. Manne. Accelerating two-dimensional page walks for virtualized systems. In ASPLOS '08. Google Scholar
Digital Library
- D. Bruening. Efficient, Transparent and Comprehensive Runtime Code Manipulation. PhD thesis, Massachusetts Institute of Technology, 2004. Google Scholar
Digital Library
- Unix benchmark suite()}unixbenchbyte-unixbench: A Unix benchmark suite. byte-unixbench: A Unix benchmark suite. http://code.google.com/p/byte-unixbench (as on Jan 10, 2013).Google Scholar
- G. Heiser. The role of virtualization in embedded systems. 2008.Google Scholar
- A. Klaiber. The technology behind Crusoe processors. Technical report, Transmeta Corp., January 2000. URL http://www.transmeta.com.Google Scholar
- M PowerPC: About exit timing()}kvm_ppc_exittimingsKVM PowerPC: About exit timing. KVM PowerPC: About exit timing. http:///www.linux-kvm.org/page/PowerPC_Exittimings (as on Jan 10, 2013).Google Scholar
- L. McVoy and C. Staelin. lmbench: portable tools for performance analysis. In USENIX ATC '96. Google Scholar
Digital Library
- N. Nethercote and J. Seward. Valgrind: a framework for heavyweight dynamic binary instrumentation. SIGPLAN Not., 42 (6): 89--100, June 2007. Google Scholar
Digital Library
- P1010 and P1014 low-power communication processors. P1010 and p1014 low-power communication processors. http://cache.freescale.com/files/32bit/doc/fact_sheet/QP1010FS.pdf (as on Jan 10, 2013).Google Scholar
- P1023 Product Summary. P1023 product summary. http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=P1023 (as on Jan 10, 2013).Google Scholar
- Paravirtual Extensions to Linux for Power Architecture Virtualization. Paravirtual extensions to Linux for Power Architecture virtualization. http://svn.dd-wrt.com/browser/src/linux/pb42/linux-3.2/Documentation/virtual/kvm/ppc-pv.txt?rev=18112 (as on Jan 10, 2013).Google Scholar
- G. J. Popek and R. P. Goldberg. Formal requirements for virtualizable third generation architectures. Commun. ACM, 17 (7): 412--421, 1974. ISSN 0001-0782. Google Scholar
Digital Library
- Power ISA Version 2.06 Revision B. Power ISA Version 2.06 Revision B. http://www.power.org/resources/downloads/PowerISA_V2.06_PUBLIC.pdf (as on Jan 10, 2013).Google Scholar
- Qemu: open source processor emulator. Qemu: open source processor emulator. http://fabrice.bellard.free.fr/qemu/ (as on Jan 10, 2013).Google Scholar
- S. Yoder. KVM on Embedded Power Architecture Platforms. http://www.linux-kvm.org/wiki/imagesc/c2/2011-forum-embedded-power.pdf (as on Jan 10, 2013).Google Scholar
Index Terms
Efficient virtualization on embedded power architecture® platforms
Recommendations
Bringing Virtualization to the x86 Architecture with the Original VMware Workstation
This article describes the historical context, technical challenges, and main implementation techniques used by VMware Workstation to bring virtualization to the x86 architecture in 1999. Although virtual machine monitors (VMMs) had been around for ...
Efficient virtualization on embedded power architecture® platforms
ASPLOS '13Power Architecture® processors are popular and widespread on embedded systems, and such platforms are increasingly being used to run virtual machines. While the Power Architecture meets the Popek-and-Goldberg virtualization requirements for traditional ...
Efficient virtualization on embedded power architecture® platforms
ASPLOS '13: Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systemsPower Architecture® processors are popular and widespread on embedded systems, and such platforms are increasingly being used to run virtual machines. While the Power Architecture meets the Popek-and-Goldberg virtualization requirements for traditional ...







Comments