10.1145/3552326.3587449acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article

vTMM: Tiered Memory Management for Virtual Machines

Published:08 May 2023Publication History

ABSTRACT

The memory demand of virtual machines (VMs) is increasing, while the traditional DRAM-only memory system has limited capacity and high power consumption. The tiered memory system can effectively expand the memory capacity and increase the cost efficiency. Virtualization introduces new challenges for memory tiering, specifically enforcing performance isolation, minimizing context switching, and providing resource overcommit. However, none of the state-of-the-art designs consider virtualization and thus address these challenges; we observe that a VM with tiered memory incurs up to a 2× slowdown compared to a DRAM-only VM.

This paper proposes vTMM, a tiered memory management system specifically designed for virtualization. vTMM automatically determines page hotness and migrates pages between fast and slow memory to achieve better performance. A key insight in vTMM is to leverage the unique system characteristics in virtualization to meet the above challenges. Specifically, vTMM tracks memory accesses with page-modification logging (PML) and a multi-level queue design. Next, vTMM quantifies the page "temperature" and makes a fine-grained page classification with bucket-sorting. vTMM performs page migration with PML while providing resource overcommit by transparently resizing VM memory through the two-dimensional page tables. In combination, the above techniques minimize overhead, ensure performance isolation and provide dynamic memory partitioning to improve the overall system performance.

We evaluate vTMM on a real DRAM+NVM system and a simulated CXL-Memory system. The results show that vTMM outperforms NUMA balancing, Intel Optane memory mode and Nimble (an OS-level tiered memory management system) for VM tiered memory management. Multi-VM co-running results show that vTMM improves the performance of a DRAM+NVM system by 50%--140% and a CXL-Memory system by 16% -- 40%, respectively.

References

  1. Neha Agarwal and Thomas F. Wenisch. 2017. Thermostat: Application-transparent Page Management for Two-tiered Main Memory. In Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems. 631--644.Google ScholarGoogle Scholar
  2. S. Beamer, K. Asanovi, and D. Patterson. 2015. http://arxiv.org/abs/1508.03619. The GAP Benchmark Suite. arXiv e-prints (2015. http://arxiv.org/abs/1508.03619).Google ScholarGoogle Scholar
  3. Stella Bitchebe, Djob Mvondo, Laurent Réveillère, Noël De Palma, and Alain Tchana. 2021. Extending Intel PML for Hardware-assisted Working Set Size Estimation of VMs. In Proceedings of the 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. 111--124.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Daniel P Bovet and Marco Cesati. 2005. Understanding the Linux Kernel. " O'Reilly Media, Inc.". (Section 17.3.1.1 of page 828).Google ScholarGoogle Scholar
  5. Apostolos Burnetas, Daniel Solow, and Rishi Agarwal. 1997. An Analysis and Implementation of An Efficient In-place Bucket Sort. Acta Informatica 34, 9 (1997), 687--700.Google ScholarGoogle ScholarCross RefCross Ref
  6. Linux community. 2021. Intel PML Buffer Flush. https://elixir.bootlin.com/linux/v5.4/source/arch/x86/kvm/vmx/vmx.c.Google ScholarGoogle Scholar
  7. Linux community. 2022. migrate_pages() Function of Linux Kernel. https://elixir.bootlin.com/linux/v5.4/source/mm/migrate.c#L1399.Google ScholarGoogle Scholar
  8. Qemu community. 2021. QEMU. https://www.qemu.org/.Google ScholarGoogle Scholar
  9. CXL Consortium. 2022. CXL. https://www.computeexpresslink.org/.Google ScholarGoogle Scholar
  10. B. F. Cooper, A. Silberstein, E. Tam, R. Ramakrishnan, and R. Sears. 2010. Benchmarking cloud serving systems with ycsb. In Proceedings of the 1st ACM Symposium on Cloud Computing, SoCC 2010, Indianapolis, Indiana, USA, June 10--11, 2010.Google ScholarGoogle Scholar
  11. Intel Corporation. 2022. Page Modification Logging for Virtual Machine Monitor White Paper. https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/page-modification-logging-vmm-white-paper.pdf.Google ScholarGoogle Scholar
  12. Standard Performance Evaluation Corporation. 2022. SPEC CPU 2006 benchmarks. http://www.spec.org/cpu2006.Google ScholarGoogle Scholar
  13. Standard Performance Evaluation Corporation. 2022. SPEC CPU 2017 benchmarks. http://www.spec.org/cpu2017.Google ScholarGoogle Scholar
  14. Graph500 developers. 2022. Graph500. http://graph500.org/.Google ScholarGoogle Scholar
  15. NUMA developers. 2022. A NUMA API for Linux. http://developer.amd.com/wordpress/media/2012/10/LibNUMA-WP-fv1.pdf.Google ScholarGoogle Scholar
  16. G. Dhiman, R. Ayoub, and T. Rosing. 2009. PDRAM: A hybrid PRAM and DRAM main memory system. In IEEE Design Automation Conference.Google ScholarGoogle Scholar
  17. Mingkai Dong, Heng Bu, Jifei Yi, Benchao Dong, and Haibo Chen. 2019. Performance and Protection in the ZoFS User-space NVM File System. In Proceedings of the 27th ACM Symposium on Operating Systems Principles. 478--493.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Jayneel Gandhi, Arkaprava Basu, Mark D. Hill, and Michael M. Swift. 2014. BadgerTrap: a tool to instrument x86-64 TLB misses. Acm Sigarch Computer Architecture News 42, 2 (2014), 20--23.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Fabien Gaud, Baptiste Lepers, Jeremie Decouchant, Justin Funston, Alexandra Fedorova, and Vivien Quéma. 2014. Large Pages May Be Harmful on NUMA Systems. In 2014 {USENIX} Annual Technical Conference ({USENIX} {ATC} 14). 231--242.Google ScholarGoogle Scholar
  20. Abel Gordon, Michael Hines, Dilma Da Silva, Muli Ben-Yehuda, Marcio Silva, and Gabriel Lizarraga. 2011. Ginkgo: Automated, application-driven memory overcommitment for cloud computing. Proc. RESoLVE (2011).Google ScholarGoogle Scholar
  21. Takahiro Hirofuchi and Ryousei Takano. 2016. RAMinate: Hypervisor-based Virtualization for Hybrid Main Memory Systems. In Proceedings of the Seventh ACM Symposium on Cloud Computing. 112--125.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Jingyuan Hu, Xiaokuang Bai, Sai Sha, Yingwei Luo, Xiaolin Wang, and Zhenlin Wang. 2018. HUB: Hugepage Ballooning in Kernel-based Virtual Machines. In Proceedings of the International Symposium on Memory Systems. 31--37.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Xiameng Hu, Xiaolin Wang, Lan Zhou, Yingwei Luo, Chen Ding, and Zhenlin Wang. 2016. Kinetic Modeling of Data Eviction in Cache. In 2016 USENIX Annual Technical Conference (USENIX ATC 16). 351--364.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Intel Inc. 2021. Intel Optane DC Persistent Memory. https://www.intel.com/content/www/us/en/architecture-and-technology/optane-dc-persistent-memory.html.Google ScholarGoogle Scholar
  25. Intel Inc. 2022. Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3B. https://www.intel.cn/content/www/cn/zh/architecture-and-technology/64-ia-32-architectures-software-developer-vol-3b-part-2-manual.html.Google ScholarGoogle Scholar
  26. Intel Inc. 2022. Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3C. https://www.intel.cn/content/www/cn/zh/architecture-and-technology/64-ia-32-architectures-software-developer-vol-3c-part-3-manual.html.Google ScholarGoogle Scholar
  27. Intel Inc. 2022. PerfMon Events. https://perfmon-events.intel.com/#.Google ScholarGoogle Scholar
  28. Joseph Izraelevitz, Jian Yang, Lu Zhang, Juno Kim, Xiao Liu, Amirsaman Memaripour, Yun Joon Soh, Zixuan Wang, Yi Xu, Subramanya R Dulloor, et al. 2019. Basic Performance Measurements of the Intel Optane DC Persistent Memory Module. arXiv preprint arXiv:1903.05714 (2019).Google ScholarGoogle Scholar
  29. Sudarsun Kannan, Ada Gavrilovska, Vishal Gupta, and Karsten Schwan. 2017. Heteroos: OS Design for Heterogeneous Memory Management in Datacenter. In Proceedings of the 44th Annual International Symposium on Computer Architecture. 521--534.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. The kernel development community. 2022. DAMON. https://damonitor.github.io/doc/html/latest-damon/vm/damon/index.html.Google ScholarGoogle Scholar
  31. Jonghyeon Kim, Wonkyo Choe, and Jeongseob Ahn. 2021. Exploring the Design Space of Page Management for Multi-Tiered Memory Systems. In 2021 USENIX Annual Technical Conference, USENIX ATC 2021, July 14--16, 2021, Irina Calciu and Geoff Kuenning (Eds.). USENIX Association, 715--728. https://www.usenix.org/conference/atc21/presentation/kim-jonghyeonGoogle ScholarGoogle Scholar
  32. C. Lefurgy, K. Rajamani, F. Rawson, W. Felter, M. Kistler, and T. W. Keller. 2003. Energy Management for Commercial Servers. Computer 36, 12 (2003), 39--48.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Redis Ltd. 2022. Redis. https://redis.io/.Google ScholarGoogle Scholar
  34. Hasan Al Maruf, Hao Wang, Abhishek Dhanotia, Johannes Weiner, Niket Agarwal, Pallab Bhattacharya, Chris Petersen, Mosharaf Chowdhury, Shobhit O. Kanaujia, and Prakash Chauhan. 2022. TPP: Transparent Page Placement for CXL-Enabled Tiered Memory. CoRR abs/2206.02878 (2022).Google ScholarGoogle Scholar
  35. Timothy Merrifield and H Reza Taheri. 2016. Performance Implications of Extended Page Tables on Virtualized X86 Processors. In Proceedings of the12th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. 25--35.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Vlad Nitu, Boris Teabe, Alain Tchana, Canturk Isci, and Daniel Hagimont. 2018. Welcome to Zombieland: Practical and Energy-Efficient Memory Disaggregation in a Datacenter. In Proceedings of the Thirteenth EuroSys Conference (Porto, Portugal) (EuroSys '18). Association for Computing Machinery, New York, NY, USA, Article 16, 12 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Cheng Pan, Xiameng Hu, Lan Zhou, Yingwei Luo, Xiaolin Wang, and Zhenlin Wang. 2018. PACE: Penalty Aware Cache Modeling with Enhanced AET. In Proceedings of the 9th Asia-Pacific Workshop on Systems. 1--8.Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Moinuddin K. Qureshi, Vijayalakshmi Srinivasan, and Jude A. Rivers. 2009. Scalable high performance main memory system using phase-change memory technology. Computer architecture news (2009).Google ScholarGoogle Scholar
  39. Amanda Raybuck, Tim Stamler, Wei Zhang, Mattan Erez, and Simon Peter. 2021. HeMem: Scalable Tiered Memory Management for Big Data Applications and Real NVM. In Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles. 392--407.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Sai Sha, Yi Zhang, Yingwei Luo, Xiaolin Wang, and Zhenlin Wang. 2021. Swift Shadow Paging (SSP): No Write-protection but Following TLB Flushing. In Proceedings of the 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. 29--42.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Rik van Riel and Vinod Chegu. 2022. Automatic NUMA Balancing. https://www.redhat.com/files/summit/2014/summit2014_riel_chegu_w_0340_automatic_numa_balancing.pdf..Google ScholarGoogle Scholar
  42. X. Wang, X. Liao, H. Liu, and H. Jin. 2018. Big Data Oriented Hybrid Memory Systems. Big Data Research (2018).Google ScholarGoogle Scholar
  43. Zi Yan, Daniel Lustig, David Nellans, and Abhishek Bhattacharjee. 2019. Nimble Page Management for Tiered Memory Systems. In Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems. 331--345.Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Ting Yao, Yiwen Zhang, Jiguang Wan, Qiu Cui, Liu Tang, Hong Jiang, Changsheng Xie, and Xubin He. 2020. atrixKV: Reducing Write Stalls and Write Amplification in LSM-tree Based KV Stores with Matrix Container in NVM. In 2020 USENIX Annual Technical Conference (USENIX ATC 20). 17--31.Google ScholarGoogle Scholar

Index Terms

  1. vTMM: Tiered Memory Management for Virtual Machines

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      EuroSys '23: Proceedings of the Eighteenth European Conference on Computer Systems
      May 2023
      910 pages
      ISBN:9781450394871
      DOI:10.1145/3552326

      Copyright © 2023 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 8 May 2023

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate241of1,308submissions,18%
    • Article Metrics

      • Downloads (Last 12 months)399
      • Downloads (Last 6 weeks)230

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!