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


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.


I/O virtualization Virtual machine Polling Hypervisor 



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.


  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.
  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.
  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