Skip to main content
Log in

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

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

References

  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–385

  2. Axboe J Fio-Flexible IO Tester. http://freecode.com/projects/fio

  3. Bellard F (2005) QEMU, a fast and portable dynamic translator. In: Proc. USENIX conference on annual technical conference, FREENIX Track, pp 41–46

  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–348

  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–422

  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:6

  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–242

  8. Kivity A, Kamay Y, Laor D, Lublin U, Liguori A (2007) KVM: the Linux virtual machine monitor. In: Proc. Linux Symposium, pp 225–230

  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 Virtualization

  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–234

  11. Mijat R, Nightingale A (2011) Virtualization is coming to a platform near you. ARM White Paper

  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)

  13. Pallipadi V, Starikovskiy A (2006) The Ondemand Governor. In: Proceedings of the Linux Symposium, pp 215–230

  14. Russell R (2008) virtio: towards a de-facto standard for virtual I/O devices. ACM SIGOPS Oper Syst Rev 42(5):95–103

    Article  Google Scholar 

  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–15

  16. Varanasi P, Heiser G (2011) Hardware-supported Virtualization on ARM. In: Proceedings of Asia-Pacific Workshop on Systems. ACM, p 11

  17. The Hardkernel Website. http://www.hardkernel.com

  18. (2008) Multi-root I/O virtualization and sharing specification. PCI-SIG

  19. (2009) AMD I/O virtualization technology (IOMMU) specification. AMD Pub

  20. (2010) Single root I/O virtualization and sharing specification. PCI-SIG

Download references

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Young Ik Eom.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Lee, K., Lee, D., Lee, S. et al. Power-efficient and high-performance block I/O framework for mobile virtualization systems. J Supercomput 73, 1307–1321 (2017). https://doi.org/10.1007/s11227-016-1810-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-016-1810-z

Keywords

Navigation