Skip to main content
Log in

Optimizing guest swapping using elastic and transparent memory provisioning on virtualization platform

  • Research Article
  • Published:
Frontiers of Computer Science Aims and scope Submit manuscript

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.

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.

Similar content being viewed by others

References

  1. 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

    Article  Google Scholar 

  2. Foster I, Kesselman C. The Grid 2: Blueprint for a New Computing Infrastructure. San Francisco: Morgan Kaufmann Publishers, 2003

    Google Scholar 

  3. 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

    Article  Google Scholar 

  4. 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

    Article  Google Scholar 

  5. Amazon E C. Amazon elastic compute cloud (Amazon EC2). Amazon Elastic Compute Cloud (Amazon EC2), 2010

    Google Scholar 

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

    Article  Google Scholar 

  7. 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

    Google Scholar 

  8. Magenheimer D, Mason C, McCracken D, Hackel K. Transcendent memory and Linux. In: Proceedings of the Linux Symposium. 2009, 191–200

    Google Scholar 

  9. 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

    Google Scholar 

  10. 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

    Google Scholar 

  11. 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

    Google Scholar 

  12. 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

    Chapter  Google Scholar 

  13. 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

    Google Scholar 

  14. 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

    Article  Google Scholar 

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

    Article  Google Scholar 

  16. 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

    Article  Google Scholar 

  17. Lu P, Shen K. Virtual machine memory access tracing with hypervisor exclusive cache. In: Proceedings of 2007 USENIX Annual Technical Conference. 2007, 29–43

    Google Scholar 

  18. Amit N, Tsafrir D, Schuster A. Vswapper: a memory swapper for virtualized environments. ACM SIGPLAN Notices, 2014, 49(4): 349–365

    Google Scholar 

  19. 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

    Article  Google Scholar 

  20. 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

    Article  Google Scholar 

  21. 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

    Google Scholar 

  22. Kim H, Jo H, Lee J. Xhive: efficient cooperative caching for virtual machines. IEEE Transactions on Computers, 2011, 60(1): 106–119

    Article  MathSciNet  Google Scholar 

  23. 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

    Google Scholar 

  24. 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

    Google Scholar 

  25. 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

    Google Scholar 

  26. 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

    Article  Google Scholar 

  27. 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

    Google Scholar 

  28. 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

    Google Scholar 

  29. Gibson G A, Van Meter R. Network attached storage architecture. Communications of the ACM, 2000, 43(11): 37–45

    Article  Google Scholar 

  30. Morita K. Sheepdog: distributed storage system for QEMU. KVM Talk at the LinuxCon Japan, 2010

    Google Scholar 

  31. 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

    Article  Google Scholar 

  32. 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

    Article  Google Scholar 

  33. 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

    Google Scholar 

  34. 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

    Chapter  Google Scholar 

  35. White T. Hadoop: The Definitive Guide. Sebastopol: O’Reilly Media, 2009

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pengfei Zhang.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11704-016-5217-z

Keywords

Navigation