skip to main content
research-article

Efficient virtualization on embedded power architecture® platforms

Authors Info & Claims
Published:16 March 2013Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle Scholar
  2. Freescale Semiconductor. Hardware and software assists in virtualization, Rev 0, Aug. 2009.Google ScholarGoogle Scholar
  3. Freescale Semiconductor. Freescale's embedded hypervisor for QorIQTM. P4 Series Communications Platform, Rev 1, Oct. 2008.Google ScholarGoogle Scholar
  4. K. Adams and O. Agesen. A comparison of software and hardware techniques for x86 virtualization. In ASPLOS '06. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. O. Agesen, J. Mattson, R. Rugina, and J. Sheldon. Software techniques for avoiding hardware virtualization exits. In USENIX ATC '12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. V. Bala, E. Duesterwald, and S. Banerjia. Dynamo: a transparent dynamic optimization system. ACM SIGPLAN Notices, 35 (5): 1--12, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Bansal and A. Aiken. Binary translation using peephole superoptimizers. In OSDI '08. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. R. Bhargava, B. Serebrin, F. Spadini, and S. Manne. Accelerating two-dimensional page walks for virtualized systems. In ASPLOS '08. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Bruening. Efficient, Transparent and Comprehensive Runtime Code Manipulation. PhD thesis, Massachusetts Institute of Technology, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle Scholar
  11. G. Heiser. The role of virtualization in embedded systems. 2008.Google ScholarGoogle Scholar
  12. A. Klaiber. The technology behind Crusoe processors. Technical report, Transmeta Corp., January 2000. URL http://www.transmeta.com.Google ScholarGoogle Scholar
  13. 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 ScholarGoogle Scholar
  14. L. McVoy and C. Staelin. lmbench: portable tools for performance analysis. In USENIX ATC '96. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. N. Nethercote and J. Seward. Valgrind: a framework for heavyweight dynamic binary instrumentation. SIGPLAN Not., 42 (6): 89--100, June 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle Scholar
  17. P1023 Product Summary. P1023 product summary. http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=P1023 (as on Jan 10, 2013).Google ScholarGoogle Scholar
  18. 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 ScholarGoogle Scholar
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle Scholar
  21. Qemu: open source processor emulator. Qemu: open source processor emulator. http://fabrice.bellard.free.fr/qemu/ (as on Jan 10, 2013).Google ScholarGoogle Scholar
  22. 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 ScholarGoogle Scholar

Index Terms

  1. Efficient virtualization on embedded power architecture® platforms

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!