The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.01 - January (2011 vol.60)
pp: 106-119
Heeseung Jo , KAIST, Daejeon
Hwanju Kim , KAIST, Daejeon
ABSTRACT
Since a virtual machine independently uses its own caching policy, redundant disk operations exacerbate the I/O virtualization overhead when virtual machines access large amounts of data on shared storage. This paper presents XHive, an efficient cooperative caching system that is implemented at the virtualization layer, for consolidated environments. Our proposed scheme globally manages buffer caches of consolidated virtual machines in order to accommodate a shared working set in machine memory. A singlet, which is a block cached solely by a virtual machine, is preferentially given more chances to be cached in machine memory by XHive, when it is evicted by a guest operating system. For efficient use of limited memory, singlets are cached in memory that is collaboratively donated from idle memory of virtual machines. Our evaluation shows that XHive significantly reduces disk I/O operations for shared working sets, thereby achieving high read performance and scalability. Improved scalability enables a high degree of workload consolidation with respect to virtual machines that have shared working sets.
INDEX TERMS
Virtualization, cooperative caching, secondary cache, virtual machine, Xen.
CITATION
Heeseung Jo, Hwanju Kim, "XHive: Efficient Cooperative Caching for Virtual Machines", IEEE Transactions on Computers, vol.60, no. 1, pp. 106-119, January 2011, doi:10.1109/TC.2010.83
REFERENCES
[1] D.T. Meyer, G. Aggarwal, B. Cully, G. Lefebvre, M.J. Feeley, N.C. Hutchinson, and A. Warfield, "Parallax: Virtual Disks for Virtual Machines," Proc. European Conf. Computer Systems (Eurosys), 2008.
[2] A. Liguori and E.V. Hensbergen, "Experiences with Content Addressable Storage and Virtual Disks," Proc. Workshop I/O Virtualization, 2008.
[3] B. Pfaff, T. Garfinkel, and M. Rosenblum, "Virtualization Aware File Systems: Getting beyond the Limitations of Virtual Disks," Proc. Symp. Networked Systems Design and Implementation (NSDI), 2006.
[4] K. Fraser, S. Hand, R. Neugebauer, A.W.I. Pratt, and M. Williamson, "Safe Hardware Access with the Xen Virtual Machine Monitor," Proc. Int'l Workshop Operating System and Architectural Support for the On Demand IT InfraStructure (OASIS)/ACM Int'l Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2004.
[5] J. LeVasseur, V. Uhlig, J. Stoess, and S. Götz, "Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines," Proc. Symp. Operating Systems Design and Implementation (OSDI), 2004.
[6] J. Sugerman, G. Venkitachalam, and B.-H. Lim, "Virtualizing I/O Devices on VMwAre Workstation's Hosted Virtual Machine Monitor," Proc. USENIX Ann. Technical Conf., pp. 1-14, 2001.
[7] C.A. Waldspurger, "Memory Resource Management in VMware ESX Server," Proc. Symp. Operating Systems Design and Implementation (OSDI), 2002.
[8] S.T. Jones, A.C. Arpaci-Dusseau, and R.H. Arpaci-Dusseau, "Geiger: Monitoring the Buffer Cache in a Virtual Machine Environment," Proc. 12th Int'l Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS-XII), 2006.
[9] P. Lu and K. Shen, "Virtual Machine Memory Access Tracing with Hypervisor Exclusive Cache," Proc. USENIX Ann. Technical Conf., 2007.
[10] W. Zhao and Z. Wang, "Dynamic Memory Balancing for Virtual Machines," Proc. Int'l Conf. Virtual Execution Environments (VEE), 2009.
[11] D. Gupta, S. Lee, M. Vrable, S. Savage, A.C. Snoeren, G. Varghese, G.M. Voelker, and A. Vahdat, "Difference Engine: Harnessing Memory Redundancy in Virtual Machines." Proc. Symp. Operating Systems Design and Implementation (OSDI), 2008.
[12] M.D. Dahlin, R.Y. Wang, T.E. Anderson, and D.A. Patterson, "Cooperative Caching: Using Remote Client Memory to Improve File System Performance," Proc. Symp. Operating Systems Design and Implementation (OSDI), 1994.
[13] P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield, "Xen and the Art of Virtualization," Proc. ACM Symp. Operating Systems Principles (SOSP), 2003.
[14] T.E. Anderson, M.D. Dahlin, J.M. Neefe, D.A. Patterson, D.S. Roselli, and R.Y. Wang, "Serverless Network File Systems," Proc. ACM Symp. Operating Systems Principles (SOSP), 1995.
[15] S. Annapureddy, M.J. Freedman, and D. Mazières, "Shark: Scaling File Servers via Cooperative Caching," Proc. Symp. Networked Systems Design and Implementation (NSDI), 2005.
[16] V. Holmedahl, B. Smith, and T. Yang, "Cooperative Caching of Dynamic Content on a Distributed Web Server," Proc. IEEE Int'l Symp. High Performance Distributed Computing (HPDC), pp. 243-250, 1998.
[17] J. Wang, "A Light-Weight, Collaborative Temporary File System for Clustered Web Servers," J. Parallel Distributed Computing, vol. 66, no. 5, pp. 750-762, 2006.
[18] A. Menon, J.R. Santos, Y. Turner, G.J. Janakiraman, and W. Zwaenepoel, "Diagnosing Performance Overheads in the Xen Virtual Machine Environment," Proc. Int'l Conf. Virtual Execution Environments (VEE), 2005.
[19] A. Menon, A.L. Cox, and W. Zwaenepoel, "Optimizing Network Virtualization in Xen," Proc. USENIX Ann. Technical Conf., 2006.
[20] A. Menon, S. Schubert, and W. Zwaenepoel, "TwinDrivers: Semi-Automatic Derivation of Fast and Safe Hypervisor Network Drivers from Guest OS Drivers," Proc. ACM Int'l Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2009.
[21] H. Kim, H. Lim, J. Jeong, H. Jo, J. Lee, and S. Maeng, "Transparently Bridging Semantic Gap in cpu Management for Virtualized Environments," Technical Report CS/TR-2009-311, KAIST, 2009.
[22] E. Bugnion, S. Devine, K. Govil, and M. Rosenblum, "Disco: Running Commodity Operating Systems on Scalable Multiprocessors," ACM Trans. Computer Systems, vol. 15, no. 4, pp. 412-447, 1997.
[23] G. Milos, D.G. Murray, S. Hand, and M.A. Fetterman, "Satori: Enlightened Page Sharing," Proc. USENIX Ann. Technical Conf., 2009.
[24] D. Magenheimer, C. Mason, D. McCracken, and K. Hackel, "Paravirtualized Paging," Proc. Workshop I/O Virtualization, 2008.
[25] J.R. Santos, Y. Turner, G. Janakiraman, and I. Pratt, "Bridging the Gap between Software and Hardware Techniques for i/o Virtualization," Proc. USENIX Ann. Technical Conf., 2008.
[26] D. Ongaro, A.L. Cox, and S. Rixner, "Scheduling I/O in Virtual Machine Monitors," Proc. Int'l Conf. Virtual Execution Environments (VEE), 2008.
[27] S. Govindan, J. Choi, A.R. Nath, A. Das, B. Urgaonkar, and A. Sivasubramaniam, "Xen and Co.: Communication-Aware cpu Management in Consolidated Xen-Based Hosting Platforms," IEEE Trans. Computers, vol. 58, no. 8, pp. 1111-1125, Aug. 2009.
[28] H. Kim, H. Lim, J. Jeong, H. Jo, and J. Lee, "Task-Aware Virtual Machine Scheduling for I/O Performance," Proc. Int'l Conf. Virtual Execution Environments (VEE), 2009.
[29] P. Sarkar and J. Hartman, "Efficient Cooperative Caching Using Hints," Proc. Symp. Operating Systems Design and Implementation (OSDI), 1996.
[30] M. Scwidefsky, H. Franke, R. Mansell, H. Raj, D. Osisek, and J. Choi, "Collaborative Memory Management in Hosted Linux Environments," Proc. Linux Symp., 2006.
[31] D.P. Bovet and M. Cesati, Understanding the Linux Kernel, third ed. O'Reilly, 2005.
[32] J. Cipar, M.D. Corner, and E.D. Berger, "Transparent Contribution of Memory," Proc. USENIX Ann. Technical Conf., 2006.
[33] T. Wood, P. Shenoy, A. Venkataramani, and M. Yousif, "Black-Box and Gray-Box Strategies for Virtual Machine Migration," Proc. Symp. Networked Systems Design and Implementation (NSDI), 2007.
[34] GNBD Project Page, http://sourceware.org/clustergnbd/, 2010.
[35] Http_load, http://www.acme.com/softwarehttp_load/, 2009.
[36] The Open Source Database Benchmark, http:/osdb.sourceforge. net/, 2010.
[37] The Apache Software Foundation, http:/www.apache.org/, 2010.
[38] MySQl, http:/www.mysql.com/, 2010.
[39] A. Tridgell, "Dbench Filesystem Benchmark," http://samba.org/ftp/tridgedbench, 2010.
[40] A. Traeger, E. Zadok, N. Joukov, and C.P. Wright, "A Nine Year Study of File System and Storage Benchmarking," ACM Trans. Storage, vol. 4, no. 2, pp. 1-56, 2008.
[41] M. Vrable, J. Ma, J. Chen, D. Moore, E. Vandekieft, A.C. Snoeren, G.M. Voelker, and S. Savage, "Scalability, Fidelity, and Containment in the Potemkin Virtual Honeyfarm," Proc. ACM Symp. Operating Systems Principles (SOSP), 2005.
21 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool