The Journal of Supercomputing

, Volume 73, Issue 4, pp 1307–1321 | Cite as

Power-efficient and high-performance block I/O framework for mobile virtualization systems

  • Kihong Lee
  • DongWoo Lee
  • Sungkil Lee
  • Young Ik Eom
Article
  • 216 Downloads

Abstract

A virtualized system generally suffers from low I/O performance, mainly caused by its inherent abstraction overhead and frequent CPU transitions between the guest and hypervisor modes. The recent research of polling-based I/O virtualization partly solved the problem, but excessive polling trades intensive CPU usage for higher performance. This article presents a power-efficient and high-performance block I/O framework for a virtual machine, which allows us to use it even with a limited number of CPU cores in mobile or embedded systems. Our framework monitors system status, and dynamically switches the I/O process mode between the exit and polling modes, depending on the amounts of current I/O requests and CPU utilization. It also dynamically controls the polling interval to reduce redundant polling. The highly dynamic nature of our framework leads to improvements in I/O performance with lower CPU usage as well. Our experiments showed that our framework outperformed the existing exit-based mechanisms by 10.8 % higher I/O throughput, maintaining similar CPU usage by only 3.1 % increment. In comparison to the systems solely based on the polling mechanism, ours reduced the CPU usage roughly down to 10.0 % with no or negligible performance loss.

Keywords

I/O virtualization Virtual machine Polling Hypervisor 

Notes

Acknowledgments

This work was supported by ICT R&D program of MSIP/IITP [R0126-15-1065, (SW StarLab) Development of UX Platform Software for Supporting Concurrent Multi-users on Large Displays] and the MSIP (Ministry of Science, ICT and Future Planning), Korea, under the ITRC (Information Technology Research Center) support program (IITP-2016-H8501-16-1015) supervised by the IITP (Institute for Information and Communications Technology Promotion). Young Ik Eom is the corresponding author of this paper.

References

  1. 1.
    Agesen O, Mattson J, Rugina R, Sheldon J (2012) Software techniques for avoiding hardware virtualization exits. In: Proc. USENIX Conference on Annual Technical Conference, pp 373–385Google Scholar
  2. 2.
    Axboe J Fio-Flexible IO Tester. http://freecode.com/projects/fio
  3. 3.
    Bellard F (2005) QEMU, a fast and portable dynamic translator. In: Proc. USENIX conference on annual technical conference, FREENIX Track, pp 41–46Google Scholar
  4. 4.
    Dall C, Nieh J (2014) KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor. In: Proceedings of international conference on architectural support for programming languages and operating systems, pp 333–348Google Scholar
  5. 5.
    Gordon A, Amit N, Har’El N, Ben-Yehuda M, Landau A, Schuster A, Tsafrir D (2012) ELI: bare-metal performance for I/O virtualization. In: Proceedings of architectural support for programming languages and operating systems, pp 411–422Google Scholar
  6. 6.
    Gordon A, Har’El N, Landau A, Ben-Yehuda M, Traeger A (2012) Towards exitless and efficient paravirtual I/O. In: Proceedings of annual international systems and storage conference, pp 10:1–10:6Google Scholar
  7. 7.
    HarEl N, Gordon A, Landau A, Ben-Yehuda M, Traeger A, Ladelsky R (2013) Efficient and scalable paravirtual I/O system. In: Proceedings of USENIX Conference on Annual Technical Conference, pp 231–242Google Scholar
  8. 8.
    Kivity A, Kamay Y, Laor D, Lublin U, Liguori A (2007) KVM: the Linux virtual machine monitor. In: Proc. Linux Symposium, pp 225–230Google Scholar
  9. 9.
    Landau A, Ben-Yehuda M, Gordon A (2011) SplitX: split guest/hypervisor execution on multi-core. In: Proceedings of USENIX Workshop on I/O VirtualizationGoogle Scholar
  10. 10.
    Liu J, Abali B (2009) Virtualization polling engine (VPE): using dedicated CPU cores to accelerate I/O Vvirtualization. In: Proceedings of International Conference on Supercomputing. ACM, pp 225–234Google Scholar
  11. 11.
    Mijat R, Nightingale A (2011) Virtualization is coming to a platform near you. ARM White PaperGoogle Scholar
  12. 12.
    Neiger G, Santoni A, Leung F, Rodgers D, Uhlig R (2006) Intel virtualization technology: hardware support for efficient processor virtualization. Intel Technol J 10(3)Google Scholar
  13. 13.
    Pallipadi V, Starikovskiy A (2006) The Ondemand Governor. In: Proceedings of the Linux Symposium, pp 215–230Google Scholar
  14. 14.
    Russell R (2008) virtio: towards a de-facto standard for virtual I/O devices. ACM SIGOPS Oper Syst Rev 42(5):95–103CrossRefGoogle Scholar
  15. 15.
    Tu CC, Ferdman M, Lee Ct, Chiueh Tc (2015) A comprehensive iplementation and evaluation of direct interrupt delivery. In: Proceedings of International Conference on Virtual Execution Environments. ACM, pp 1–15Google Scholar
  16. 16.
    Varanasi P, Heiser G (2011) Hardware-supported Virtualization on ARM. In: Proceedings of Asia-Pacific Workshop on Systems. ACM, p 11Google Scholar
  17. 17.
    The Hardkernel Website. http://www.hardkernel.com
  18. 18.
    (2008) Multi-root I/O virtualization and sharing specification. PCI-SIGGoogle Scholar
  19. 19.
    (2009) AMD I/O virtualization technology (IOMMU) specification. AMD PubGoogle Scholar
  20. 20.
    (2010) Single root I/O virtualization and sharing specification. PCI-SIGGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  • Kihong Lee
    • 1
  • DongWoo Lee
    • 1
  • Sungkil Lee
    • 1
  • Young Ik Eom
    • 1
  1. 1.College of SoftwareSungkyunkwan UniversitySuwonSouth Korea

Personalised recommendations