Abstract
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.
Similar content being viewed by others
References
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)
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)
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)
Spruijt, R.: VDI smackdown. White paper, vol. 1.4 (2012)
Hwang, J., Wood, T.: Adaptive dynamic priority scheduling for virtual desktop infrastructure. In: Proceedings IEEE 20th international workshop on quality of service. Coimbra (2012)
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)
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)
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)
Boutcher, D., Chandra, A.: Does virtualization make disk scheduling passe? ACM SIGOPS Oper. Syst. Rev. 44(1), 20–24 (2010)
Shirinbab, S.: Performance aspects in virtualized software systems. In: Blekinge institute of technology licentiate dissertation series (2014)
Waldspurger, C.: Memory resource management in VMware ESX server. ACM SIGOPS Oper. Syst. Rev. 36, 181–194 (2002)
Banerjee, I., Guo, F., Tati, K., Venkatasubramanian, R.: Memory overcommitment in the ESX server. VMware Tech J. 2, 2–12 (2013)
Kim, H., Jo, H., Lee, J.: XHive: efficient cooperative caching for virtual machines. IEEE Trans. Comput. 50(1), 106–119 (2011)
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)
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)
Amit, N., Tsafrir, D., Schuster, A.: VSwapper: a memory swapper for virtualized Environment. ACM SIGARCH Comput. Archit. News 42(1), 349–366 (2014)
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)
Yassour, B., Ben-Yehuda, M., Wasserman, O.: Direct device assignment for untrusted fully-virtualized virtual machines. Technical Report, H-0263, IBM Research (2008)
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)
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)
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)
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)
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)
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)
Russell, R.: Virtio: towards a De-Facto standard For virtual I/O devices. ACM SIGOPS Oper. Syst. Rev. 42(5), 95–103 (2008)
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)
Tang, C.: FVD: a high-performance virtual machine image format for cloud. In: Proceedings: USENIX annual technical conference. Portland (2011)
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)
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)
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)
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)
Bellard, F.: QEMU, a fast and portable dynamic translator. In: Proceedings annual conference on USENIX annual technical conference, Anaheim (2005)
Acknowledgements
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.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Kim, T., No, J., Piao, Z. et al. I/O access frequency-aware cache method on KVM/QEMU. Cluster Comput 20, 2143–2155 (2017). https://doi.org/10.1007/s10586-017-0937-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-017-0937-x