Abstract
On virtualization platforms, peak memory demand caused by hotspot applications often triggers page swapping in guest OS, causing performance degradation inside and outside of this virtual machine (VM). Even though host holds sufficient memory pages, guest OS is unable to utilize free pages in host directly due to the semantic gap between virtual machine monitor (VMM) and guest operating system (OS). Our work aims at utilizing the free memory scattered in multiple hosts in a virtualization environment to improve the performance of guest swapping in a transparent and implicit way. Based on the insightful analysis of behavioral characteristics of guest swapping, we design and implement a distributed and scalable framework HybridSwap. It dynamically constructs virtual swap pools using various policies, and builds up a synthetic swapping mechanism in a peer-to-peer way, which can adaptively choose different virtual swap pools.We implement the prototype of HybridSwap and evaluate it with some benchmarks in different scenarios. The evaluation results demonstrate that our solution has the ability to promote the guest swapping efficiency indeed and shows a double performance promotion in some cases. Even in the worst case, the system overhead brought by HybridSwap is acceptable.
Similar content being viewed by others
References
Stoica I, Morris R, Karger D, Kaashoek M F, Balakrishnan H. Chord: a scalable peer-to-peer lookup service for internet applications. ACM SIGCOMM Computer Communication Review, 2001, 31(4): 149–160
Foster I, Kesselman C. The Grid 2: Blueprint for a New Computing Infrastructure. San Francisco: Morgan Kaufmann Publishers, 2003
Armbrust M, Fox A, Griffith R, Joseph A D, Katz R, Konwinski A, Lee G, Patterson D, Rabkin A, Stoica I, Zaharia M. A view of cloud computing. Communications of the ACM, 2010, 53(4): 50–58
Zhang Y, Zhou Y. Transparent computing: spatio-temporal extension on Von Neumann architecture for cloud services. Tsinghua Science and Technology, 2013, 18(1): 10–21
Amazon E C. Amazon elastic compute cloud (Amazon EC2). Amazon Elastic Compute Cloud (Amazon EC2), 2010
Sotomayor B, Montero R S, Llorente I M, Foster I. Virtual infrastructure management in private and hybrid clouds. IEEE Internet Computing, 2009, 13(5): 14–22
Xiong H, Liu Z, Xu W, Jiao S. Libvmi: a library for bridging the semantic gap between guest OS and VMM. In: Proceedings of the 12th International Conference on Computer and Information Technology. 2012, 549–556
Magenheimer D, Mason C, McCracken D, Hackel K. Transcendent memory and Linux. In: Proceedings of the Linux Symposium. 2009, 191–200
Lange J R, Dinda P. Symcall: symbiotic virtualization through VMMto- guest upcalls. In: Proceedings of the 7th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. 2011, 193–204
Salomie T I, Alonso G, Roscoe T, Elphinstone K. Application level ballooning for efficient server consolidation. In: Proceedings of the 8th ACM European Conference on Computer Systems. 2013, 337–350
Schopp J, Hansen D, Kravetz M, Takahashi H, Toshihiro I, Goto Y, Hiroyuki K, Tolentino M, Picco B. Hotplug memory redux. In: Proceedings of 2005 Linux Symposium. 2005, 151–311
Waldspurger C A. Memory resource management in VMware ESX server. In: Proceedings of the 5th Symposium on Operation Systems Design and Implementation. 2002, 181–194
Heo J, Zhu X Y, Padala P, Wang Z K. Memory overbooking and dynamic control of Xen virtual machines in consolidated environments. In: Proceedings of the 11th IFIP/IEEE International Symposium on Integrated Network Management. 2009, 630–637
Zhao W M, Wang Z Z, Luo Y W. Dynamic memory balancing for virtual machines. ACM SIGOPS Operating System Review, 2009, 43(3): 37–47
Min C, Kim I, Kim T, Eom Y I. VMMB: virtual machine memory balancing for unmodified operating systems. Journal of Grid Computing, 2012, 10(1): 69–84
Jones S T, Arpaci-Dusseau A C, Arpaci-Dusseau R H. Geiger: monitoring the buffer cache in a virtual machine environment. ACM SIGOPS Operating Systems Review, 2006, 34(5): 14–24
Lu P, Shen K. Virtual machine memory access tracing with hypervisor exclusive cache. In: Proceedings of 2007 USENIX Annual Technical Conference. 2007, 29–43
Amit N, Tsafrir D, Schuster A. Vswapper: a memory swapper for virtualized environments. ACM SIGPLAN Notices, 2014, 49(4): 349–365
Arya K, Baskakov Y, Garthwaite A. Tesseract: reconciling guest I/O and hypervisor swapping in a VM. ACM SIGPLAN Notices, 2014, 49(7): 15–28
Gupta D, Lee S, Vrable M, Savage S, Snoeren A C, Varghese G, Voelker G M, Vahdat A. Difference engine: harnessing memory redundancy in virtual machines. Communications of the ACM, 2010, 53(10): 85–93
Miłós G, Murray D G, Hand S, Fetterman M A. Satori: enlightened page sharing. In: Proceedings of the 2009 Conference on USENIX Annual Technical Conference. 2009
Kim H, Jo H, Lee J. Xhive: efficient cooperative caching for virtual machines. IEEE Transactions on Computers, 2011, 60(1): 106–119
Lim K, Chang J C, Mudge T, Ranganathan P, Reinhardt S K, Wenisch T F. Disaggregated memory for expansion and sharing in blade servers. In: Proceedings of the 36th Annual International Symposium on Computer Architecture. 2009, 267–278
Lim K, Turner Y, Santos J R, Auyong A, Chang J C, Ranganathan P, Wenisch T F. System-level implications of disaggregated memory. In: Proceedings of the 18th International Symposium on High- Performance Computer Architecture. 2012, 189–200
Deshpande U, Wang B L, Haque S, Hines M, Gopalan K. MemX: virtualization of cluster-wide memory. In: Proceedings of the 39th International Conference on Parallel Processing. 2010, 663–672
Williams D, Weatherspoon H, Jamjoom H, Liu Y H. Overdriver: handling memory overload in an oversubscribed cloud. ACM SIGPLAN Notices, 2011, 46(7): 205–216
Li Y Q, Huang Y B. Tmemcanal: a VM-oblivious dynamic memory optimization scheme for virtual machines in cloud computing. In: Proceedings of the 10th IEEE International Conference on Computer and Information Technology. 2010, 179–186
Ren J, Zhang Y X, Chen J. Analysis on the scheduling problem in transparent computing. In: Proceedings of 2013 IEEE International Conference on Embedded and Ubiquitous Computing. 2013, 1832–1837
Gibson G A, Van Meter R. Network attached storage architecture. Communications of the ACM, 2000, 43(11): 37–45
Morita K. Sheepdog: distributed storage system for QEMU. KVM Talk at the LinuxCon Japan, 2010
Baylor S J, Devarakonda M, Fink S, Gluzberg E, Kalantar M, Muctineni P, Barsness E, Arora R, Dimpsey R, Munroe S J. Java server benchmarks. IBM Systems Journal, 2000, 39(1): 57–81
Blackburn S M, Garner R, Hoffmann C, Khan A M, McKinley K S, Bentzur R, Diwan A, Feinberg D, Frampton D, Guyer S Z, Hirzel M, Hosking A, Jump M, Lee H, Moss J E B, Phansalkar A, Stefanovic D, VanDrunen T, von Dincklage A, Wiedermann B. The DaCapo benchmarks: Java benchmarking development and analysis. ACM SIGPLAN Notices, 2006, 41(10): 169–190
Kivity A, Kamay Y, Laor D, Lublin V, Liguori A. KVM: the Linux virtual machine monitor. In: Proceedings of the Linux Symposium. 2007, 225–314
Seelam S R, Teller P J. Virtual I/O scheduler: a scheduler of schedulers for performance virtualization. In: Proceedings of the 3rd International Conference on Virtual Execution Environments. 2007, 105–115
White T. Hadoop: The Definitive Guide. Sebastopol: O’Reilly Media, 2009
Author information
Authors and Affiliations
Corresponding author
Additional information
Xi Li received BS and PhD degrees in Central South University, China in 2002 and 2011, respectively. She was a visiting student in Computation Institute of University of Chicago, USA during 2007–2008. She is currently a lecturer in School of Information Science and Engineering of Central South University, and doing post-doctoral research in the National Laboratory for Parallel and Distributed Processing, National University of Defense Technology, China. Her research interests include distributed and parallel processing, grid computing, cloud computing, and operating systems.
Pengfei Zhang received the BS and MS degrees in computer science from the National University of Defense Technology, China, in 2011 and 2013, respectively. He is currently an PhD candidate in the National Laboratory for Parallel and Distributed Processing, National University of Defense Technology. His research interests include cloud computing, virtualization, operating systems and cloud-based robotics. He is a student member of IEEE.
Rui Chu received the BS and PhD degrees in computer science from the National University of Defense Technology, China, in 2001 and 2008, respectively. He was a visiting student at the Hong Kong University of Science and Technology, China in 2007. He is currently an assistant professor in the National Laboratory for Parallel and Distributed Processing, National University of Defense Technology. His research interests include cloud computing, wireless sensor networks, virtualization and operating systems.
Huaimin Wang received the PhD degree in computer science from the National University of Defense Technology (NUDT), China in 1992. He is currently a professor and the chief engineer in department of educational affairs, NUDT. He has been awarded the Chang Jiang Scholars by Ministry of Education of China, and the Distinct Young Scholar by the National Natural Science Foundation of China (NSFC), and so on. He has worked as the director of several grand research projects and has published more than 100 research papers in international conferences and journals. His current research interests include middleware, software agent, trust-worthy computing. He is a member of the IEEE.
Electronic supplementary material
Rights and permissions
About this article
Cite this article
Li, X., Zhang, P., Chu, R. et al. Optimizing guest swapping using elastic and transparent memory provisioning on virtualization platform. Front. Comput. Sci. 10, 908–924 (2016). https://doi.org/10.1007/s11704-016-5217-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11704-016-5217-z