10.1145/3240302.3240420acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmemsysConference Proceedingsconference-collections
research-article

HUB: hugepage ballooning in kernel-based virtual machines

Published:01 October 2018Publication History

ABSTRACT

Modern applications running on cloud data centers often consume a large amount of memory and their memory demands can vary during execution. Dynamic memory allocation is a necessity for high memory utilization. For a large dataset application, using hugepages instead of regular 4KB pages can efficiently reduce memory access and memory management overhead and improve overall performance. Virtualization, which is widely applied in data centers for server consolidation, brings new challenges to manage memory dynamically and effectively, especially for hugepages. In a virtualized system, ballooning is a popular mechanism used to dynamically adjust memory allocations for co-located virtual machines. We observe that the current Linux Kernel-Based Virtual Machine (KVM) does not support huge page ballooning. An application that can benefit from hugepages often loses its performance advantage when the guest OS experiences memory ballooning. This paper presents design and implementation of HUB, a HUgepage Ballooning mechanism in KVM which can dispatch memory in the granularity of hugepages. The experimental results show that our approach significantly reduces TLB misses and improves the overall performance for those applications with large memory demand.

References

  1. Arkaprava Basu, Jayneel Gandhi, Jichuan Chang, Mark D. Hill, and Michael M. Swift. Efficient virtual memory for big memory servers. In Proceedings of the 40th Annual International Symposium on Computer Architecture, pages 237--248, Tel-Aviv, Israel, 2013. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Xiaolin Wang, Taowei Luo, Jingyuan Hu, Zhenlin Wang, and Yingwei Luo. Evaluating the impacts of hugepage on virtual machines. Science China Information Sciences, 60(1):012103, 2017.Google ScholarGoogle ScholarCross RefCross Ref
  3. Andrea Arcangeli. Transparent hugepage support. In KVM forum, volume 9, 2010.Google ScholarGoogle Scholar
  4. Aditya Sanjay Gadre, Kaustubh Kabra, Ashwin Vasani, and Keshav Darak. X-xen: huge page support in xen. In Proceeding of the Ottawa Linux Symposium, volume 1, pages 7--12, Ottawa, Canada, 2011.Google ScholarGoogle Scholar
  5. Barham Paul, Dragovic Boris, Fraser Keir, and Hand Steven et al. Xen and the art of virtualization. In ACM SIGOPS Operating Systems Review - SOSP '03, volume 37, pages 164--177. ACM, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Carl A Waldspurger. Memory resource management in vmware esx server. In Proceedings of the 5th Symposium on Operating Systems Design and Implementation, volume 36, pages 181--194, Boston, Massachusetts, USA, 2002. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Qt - complete software development framework. https://https://www.qt.io/, 2018.Google ScholarGoogle Scholar
  8. Speccpu 2017. https://www.spec.org/cpu2017/index.html/, 2017.Google ScholarGoogle Scholar
  9. Cloudsuite. http://cloudsuite.ch/, 2018.Google ScholarGoogle Scholar
  10. Roman Dementiev Thomas Willhalm and Patrick Fay. Intel performance counter monitor - a better way to measure cpu utilization, 2012.Google ScholarGoogle Scholar
  11. Narayanan Ganapathy and Curt Schimmel. General purpose operating system support for multiple page sizes. In USENIX Annual Technical Conference, number 98, pages 91--104, New Orleans, Louisiana, USA, 1998. USENIX. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Juan Navarro, Sitararn Iyer, Peter Druschel, and Alan Cox. Practical, transparent operating system support for superpages. ACM SIGOPS Operating Systems Review - OSDI '02, 36:89--104, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Hongjiu Lu, Rohit Seth, Kshitij Doshi, and Jantz Tran. Using hugetlbfs for mapping application text regions. In Proceedings of the Ottawa Linux Symposium, volume 2, pages 75--82, Ottawa, Canada, 2006.Google ScholarGoogle Scholar
  14. Theodore H Romer, Wayne H Ohlrich, Anna R Karlin, and Brian N Bershad. Reducing tlb and memory overhead using online superpage promotion. In ACM SIGARCH Computer Architecture News, volume 23, pages 176--187, Santa Margherita Ligure, Italy, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Taowei Luo, Xiaolin Wang, Jingyuan Hu, Yingwei Luo, and Zhenlin Wang. Improving tlb performance by increasing hugepage ratio. In Proceedings of the 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing, pages 1139--1142, Shenzhen, China, 2015. IEEE.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Youngjin Kwon, Hangchen Yu, Simon Peter, Christopher J Rossbach, and Emmett Witchel. Coordinated and efficient huge page management with ingens. In Proceedings of the 12th USENIX conference on Operating Systems Design and Implementation, volume 16, pages 705--721, Savannah, GA, USA, 2016. USENIX. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Misel-Myrto Papadopoulou, Xin Tong, André Seznec, and Andreas Moshovos. Prediction-based superpage-friendly tlb designs. In the 21st International Symposium on High Performance Computer Architecture, pages 210--222, Burlingame, CA, USA, 2015. IEEE.Google ScholarGoogle ScholarCross RefCross Ref
  18. Yu Du, Miao Zhou, Bruce R Childers, Daniel Mossé, and Rami Melhem. Supporting superpages in non-contiguous physical memory. In the 21st International Symposium on High Performance Computer Architecture, pages 223--234, Burlingame, CA, USA, 2015. IEEE.Google ScholarGoogle ScholarCross RefCross Ref
  19. Ashley Saulsbury, Fredrik Dahlgren, and Per Stenström. Recency-based tlb preloading. In Proceedings of the 27th annual international symposium on Computer architecture, volume 28, pages 117--127, Vancouver, BC, Canada, 2000. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Gokul B Kandiraju and Anand Sivasubramaniam. Going the distance for tlb prefetching: an application-driven study. In Proceedings of the 29th annual international symposium on Computer architecture, volume 30, page 195, Anchorage, AK, USA, 2002. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Binh Pham, Jan Vesely, Gabriel H Loh, and Abhishek Bhattacharjee. Using tlb speculation to overcome page splintering in virtual machines. Technical report, Rutgers Technical Report DCS-TR-713, 2015.Google ScholarGoogle Scholar
  22. Jayneel Gandhi, Mark D Hill, and Michael M Swift. Agile paging: exceeding the best of nested and shadow paging. In Proceedings of the 21st International Symposium on High Performance Computer Architecture, volume 44, pages 707--718, Seoul, South Korea, 2016. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Xiaotao Chang, Hubertus Franke, Yi Ge, Tao Liu, Kun Wang, Jimi Xenidis, Fei Chen, and Yu Zhang. Improving virtualization in the presence of software managed translation lookaside buffers. In ACM SIGARCH Computer Architecture News, volume 41, pages 120--129. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Joel H Schopp, Keir Fraser, and Martine J Silbermann. Resizing memory with balloons and hotplug. In Proceedings of the Ottawa Linux Symposium, volume 2, pages 313--319, Ottawa, Canada, 2006.Google ScholarGoogle Scholar
  25. Haikun Liu, Hai Jin, Xiaofei Liao, Wei Deng, Bingsheng He, and Cheng-zhong Xu. Hotplug or ballooning: A comparative study on dynamic memory management techniques for virtual machines. IEEE Transactions on parallel and distributed systems, 26:1350--1363, 2015.Google ScholarGoogle ScholarCross RefCross Ref

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 Other conferences
    MEMSYS '18: Proceedings of the International Symposium on Memory Systems
    October 2018
    361 pages
    ISBN:9781450364751
    DOI:10.1145/3240302

    Copyright © 2018 ACM

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 October 2018

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

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!