Cluster Computing

, Volume 20, Issue 3, pp 2143–2155 | Cite as

I/O access frequency-aware cache method on KVM/QEMU

  • Taehoon Kim
  • Jaechun NoEmail author
  • Zhegao Piao
  • Seong Joon Yoo


Together with the rapid development of IT technology, cloud computing has been considered as the next generation’s computing infrastructure. One of the essential part of cloud computing is the virtual machine technology that enables to reduce the data center cost with better resource utilization. Especially, virtual desktop infrastructure (VDI) is receiving explosive attentions from IT markets because of its advantages of easier software management, greater data protection, and lower cost. However, sharing physical resources in VDI to consolidate multiple guest virtual machines (VMs) on a host has a tradeoff that can lead to significant I/O degradation. Optimizing I/O virtualization overhead is a challenging task because it needs to scrutinize multiple software layers between guest VMs and host where those VMs are executing. In this paper, we present a hypervisor-level cache, called hyperCache, which is possible to provide a shortcut in KVM/QEMU. It intercepts I/O requests in the hypervisor and analyses their I/O access patterns to select data retaining high access frequency. Also, it has a capability of maintaining the appropriate cache memory size by utilizing the cache block map. Our experimental results demonstrate that our method improves I/O bandwidth by up to 4.7x over the existing QEMU.


KVM/QEMU HyperCache Hypervisor VDI Metadata repository Master table Index table Buffer table hC-Read hC-Writeback 



This work was supported by the National Research Foundation of Korea (NRF) Grant funded by the Korea government (MSIP) (NRF-2014R1A2A2A01002614). Also, this work is supported by the MSIP, Korea, under the Global IT Talent support program (IITP-2016-H0905-15-1005) supervised by the IITP.


  1. 1.
    Dasilva, D., Liu, L., Bessis, N., Zhan, Y.: Enabling green IT through building a virtual desktop infrastructure. In: Proceedings 2012 8th international conference on semantics. knowledge and grids, pp. 32–38, Beijing (2012)Google Scholar
  2. 2.
    Tarasov, V., Hidebrand, D., Kuenning, G., Zadok, E.: Virtual machine workloads: the case for new benchmarks for NAS. In: Proceedings 11 \(^{th }\) USENIX conference on file and storage technologies (FAST’13), pp. 307–320, Santa Clara (2013)Google Scholar
  3. 3.
    Ferreto, T., Netto, M., Calheiros, R., DeRose, C.: Server consolidation with migration control for virtualized data centers. J. Futur. Gener. Comput. Syst. 27(8), 1027–1034 (2011)CrossRefGoogle Scholar
  4. 4.
    Spruijt, R.: VDI smackdown. White paper, vol. 1.4 (2012)Google Scholar
  5. 5.
    Hwang, J., Wood, T.: Adaptive dynamic priority scheduling for virtual desktop infrastructure. In: Proceedings IEEE 20th international workshop on quality of service. Coimbra (2012)Google Scholar
  6. 6.
    Jin, H., Gao, W., Wu, S., Shi, X., Wu, X., Zhou, F.: Optimizing the live migration of virtual machine by CPU scheduling. J. Netw. Comput. Appl. 34(4), 1088–1096 (2011)CrossRefGoogle Scholar
  7. 7.
    Clark, C., Fraser, K., Hand, S., Hansen, J., Jul, E., Limpach, C., Pratt, I., Warfield, A.: Live migration of virtual machines. In: Proceedings 2nd conference on symposium on networked systems design & implementation, Boston (2005)Google Scholar
  8. 8.
    Meyer, T., Aggarwal, G., Cully, B., Lefebvre, G., Feeley, M., Hutchinson, N., Warfield, A.: Parallax: virtual disks for virtual machines. In: Proceedings 3rd ACM SIGOPS/EuroSys European conference on computer systems, Glasgow (2018)Google Scholar
  9. 9.
    Boutcher, D., Chandra, A.: Does virtualization make disk scheduling passe? ACM SIGOPS Oper. Syst. Rev. 44(1), 20–24 (2010)CrossRefGoogle Scholar
  10. 10.
    Shirinbab, S.: Performance aspects in virtualized software systems. In: Blekinge institute of technology licentiate dissertation series (2014)Google Scholar
  11. 11.
    Waldspurger, C.: Memory resource management in VMware ESX server. ACM SIGOPS Oper. Syst. Rev. 36, 181–194 (2002)CrossRefGoogle Scholar
  12. 12.
    Banerjee, I., Guo, F., Tati, K., Venkatasubramanian, R.: Memory overcommitment in the ESX server. VMware Tech J. 2, 2–12 (2013)Google Scholar
  13. 13.
    Kim, H., Jo, H., Lee, J.: XHive: efficient cooperative caching for virtual machines. IEEE Trans. Comput. 50(1), 106–119 (2011)Google Scholar
  14. 14.
    Gordon, A., Hines, M., da Silva, D., Ben-Yehuda, M., Silva, M., Lizarraga, G.: Ginkgo: automated, application-driven memory overcommitment for cloud computing. In: Proceedings IEEE 3rd international conference on cloud computing technology and science (CloudCom), Athens (2011)Google Scholar
  15. 15.
    Gupta, D., Lee, S., Vrable, M., Savage, S., Snoeren, A., Varghese, G., Voelker, G., Vahdat, A.: Difference engine: harnessing memory redundancy in virtual machines. Commun. ACM 53(10), 85–93 (2010)CrossRefGoogle Scholar
  16. 16.
    Amit, N., Tsafrir, D., Schuster, A.: VSwapper: a memory swapper for virtualized Environment. ACM SIGARCH Comput. Archit. News 42(1), 349–366 (2014)Google Scholar
  17. 17.
    Yassour, B., Ben-Yehuda, M., Wasserman, O.: On the DMA mapping problem in direct device assignment. In: Proceedings 3rd annual Haifa experimental systems conference, Haifa (2010)Google Scholar
  18. 18.
    Yassour, B., Ben-Yehuda, M., Wasserman, O.: Direct device assignment for untrusted fully-virtualized virtual machines. Technical Report, H-0263, IBM Research (2008)Google Scholar
  19. 19.
    Pan, Z., Dong, Y., Chen, Y., Zhang, L., Zhang, Z.: CompSC: live migration with pass-through devices. ACM SIGPLAN Not. 47(7), 109–120 (2012)CrossRefGoogle Scholar
  20. 20.
    Har’El, N., Gordon, A., Landau, A.: Efficient and scalable paravirtual I/O system. In: Proceedings 2013 USENIX annual technical conference, pp. 231-242, San Jose (2013)Google Scholar
  21. 21.
    Gordon, A., Har’El, N., Landau, A., Ben-Yehuda, M., Traeger, A.: Towards exitless and efficient paravirtual I/O. In: Proceedings 5th annual international systems and storage conference, Haifa (2012)Google Scholar
  22. 22.
    Bhosale, S., Caldeira, A., Grabowski, B., Graham, C., Hames, A., Haug, V., Kahle, M., Maciel, C., Mangalur, M., Sanchez, M.: IBM power systems SR-IOV. IBM redpaper (2014)Google Scholar
  23. 23.
    Dong, Y., Yang, X., Li, J., Liao, G., Tian, K., Guan, H.: High performance network virtualization with SR-IOV. J. Parallel Distrib. Comput. 72(11), 1471–1480 (2012)CrossRefGoogle Scholar
  24. 24.
    Santos, J., Turner, Y., Janakiraman, G., Pratt, I.: Bridging the gap between software and Hardware techniques for I, O virtualization. In: Proceedings: USENIX annual technical conference, Boston (2008)Google Scholar
  25. 25.
    Russell, R.: Virtio: towards a De-Facto standard For virtual I/O devices. ACM SIGOPS Oper. Syst. Rev. 42(5), 95–103 (2008)CrossRefGoogle Scholar
  26. 26.
    Razavi, K., Kielmann, T.: Scalable virtual machine deployment using VM image caches. In: Proceedings SC’13 on high performance computing, networking, storage and analysis, Denver (2013)Google Scholar
  27. 27.
    Tang, C.: FVD: a high-performance virtual machine image format for cloud. In: Proceedings: USENIX annual technical conference. Portland (2011)Google Scholar
  28. 28.
    Shamma, M., Meyer, D., Wires, J., Ivanova, M., Hutchinson, N., Warfield, A.: Capo: recapitulating storage for virtual desktops. In: Proceedings of 9th USENIX conference on file and storage technologies, San Jose (2011)Google Scholar
  29. 29.
    Hong, C., Kim, Y., Yoo, S., Lee, C., Yoo, C.: Cache-aware virtual machine scheduling on multi-core architecture. IEICE Trans. Inf. Syst. E95–D, 2377–2392 (2012)CrossRefGoogle Scholar
  30. 30.
    Ongaro, D., Cox, A., Rixner, S.: Scheduling I/O in virtual machine monitor. In: Proceedings fourth ACM SIGPLAN/SIGOPS international conference on virtual execution environments, Seattle (2008)Google Scholar
  31. 31.
    Kivity, A., Kamay, Y., Laor, D., Lublin, U., Liguori, A.: KVM: the Linux virtual machine monitor. In: Proceedings 2007 ottawa linux symposium, pp. 225-230 (2007)Google Scholar
  32. 32.
    Bellard, F.: QEMU, a fast and portable dynamic translator. In: Proceedings annual conference on USENIX annual technical conference, Anaheim (2005)Google Scholar

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  1. 1.College of Electronics and Information EngineeringSejong universitySeoulKorea

Personalised recommendations