Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
133 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
46 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Characterizing Physical Memory Fragmentation (2401.03523v1)

Published 7 Jan 2024 in cs.OS and cs.PF

Abstract: External fragmentation of physical memory occurs when adjacent differently sized regions of allocated physical memory are freed at different times, causing free memory to be physically discontiguous. It can significantly degrade system performance and efficiency, such as reducing the ability to use huge pages, a critical optimization on modern large-memory system. For decades system developers have sought to avoid and mitigate fragmentation, but few prior studies quantify and characterize it in production settings. Moreover, prior work often artificially fragments physical memory to create more realistic performance evaluations, but their fragmentation methodologies are ad hoc and unvalidated. Out of 13 papers, we found 11 different methodologies, some of which were subsequently found inadequate. The importance of addressing fragmentation necessitates a validated and principled methodology. Our work fills these gaps in knowledge and methodology. We conduct a study of memory fragmentation in production by observing 248 machines in the Computer Sciences Department at University of Wisconsin - Madison for a week. We identify six key memory usage patterns, and find that Linux's file cache and page reclamation systems are major contributors to fragmentation because they often obliviously break up contiguous memory. Finally, we create and\'uril, a tool to artificially fragment memory during experimental research evaluations. While and\'uril ultimately fails as a scientific tool, we discuss its design ideas, merits, and failings in hope that they may inspire future research.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (38)
  1. numactl/numactl. numactl, July 2021.
  2. Generating realistic impressions for file-system benchmarking. ACM Transactions on Storage, 5(4):16:1–16:30, December 2009.
  3. Enhancing and Exploiting Contiguity for Fast Memory Virtualization. In Proceedings of the 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture, ISCA, 2020.
  4. Experimental evaluation of software aging effects on the eucalyptus cloud computing infrastructure. In Proceedings of the Middleware 2011 Industry Track Workshop, Middleware, 2011.
  5. Abhishek Bhattacharjee. Translation-Triggered Prefetching. In Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS, 2017.
  6. M.G. Bulmer. Principles of Statistics. Dover Books on Mathematics Series. Dover Publications, 1979.
  7. File systems fated for senescence? nonsense, says science! In Proceedings of the 15th Usenix Conference on File and Storage Technologies, FAST, 2017.
  8. Filesystem Aging: It’s more Usage than Fullness. In Proceedings of the 11th USENIX Workshop on Hot Topics in Storage and File Systems, HotStorage, 2019.
  9. Benchmarking cloud serving systems with YCSB. In Proceedings of the 1st ACM Symposium on Cloud Computing, SoCC, 2010.
  10. A survey of software aging and rejuvenation studies. ACM Journal on Emerging Technologies in Computing Systems, 10(1):8:1–8:34, January 2014.
  11. Efficient Address Translation for Architectures with Multiple Page Sizes. In Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS, 2017.
  12. Jason Evans. Scalable memory allocation using jemalloc. https://engineering.fb.com/2011/01/03/core-data/scalable-memory-allocation-using-jemalloc/, January 2011.
  13. Supporting superpage allocation without additional hardware support. In Proceedings of the 7th International Symposium on Memory Management, ISMM, 2008.
  14. The what, the why and the where to of anti-fragmentation. In Proceedings of the Linux Symposium, volume 1, 2006.
  15. Scale and performance in a distributed file system. In Proceedings of the Eleventh ACM Symposium on Operating Systems Principles, SOSP, 1987.
  16. Beyond malloc efficiency to fleet efficiency: a hugepage-aware memory allocator. In Proceedings of the 17th USENIX Conference on Operating Systems Design and Implementation, OSDI, 2021.
  17. The Memory Fragmentation Problem: Solved? In Proceedings of the 1st International Symposium on Memory Management, ISMM, 1998.
  18. Accurate and Efficient Replaying of File System Traces. In Proceedings of the 4th USENIX Conference on File and Storage Technologies, FAST, 2005.
  19. Coordinated and efficient huge page management with ingens. In Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation, OSDI, 2016.
  20. 0sim: Preparing System Software for a World with Terabyte-scale Memories. In Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS, 2020.
  21. CBMM: Financial Advice for Kernel Memory Managers. In Proceedings of the 2022 USENIX Annual Technical Conference, ATC, 2022.
  22. Measuring software aging effects through OS kernel instrumentation. In Proceedings of the 2010 IEEE Second International Workshop on Software Aging and Rejuvenation, 2010.
  23. MEGA: Overcoming Traditional Problems with OS Huge Page Management. In Proceedings of the 12th ACM International Conference on Systems and Storage, SYSTOR, 2019.
  24. Practical, transparent operating system support for superpages. In Proceedings of the 5th Symposium on Operating Systems Design and Implementation, OSDI, 2002.
  25. Scalable Parallel Programming with CUDA: Is CUDA the parallel programming model that application developers have been waiting for? Queue, 6(2):40–53, March 2008.
  26. OpenAFS Foundation. OpenAFS. https://www.openafs.org/.
  27. HawkEye: Efficient Fine-grained OS Support for Huge Pages. In Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS, 2019.
  28. Making Huge Pages Actually Useful. In Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS, 2018.
  29. Hybrid TLB Coalescing: Improving TLB Translation Coverage Under Diverse Fragmented Memory Allocations. In Proceedings of the 44th Annual International Symposium on Computer Architecture, ISCA, 2017.
  30. CoLT: Coalesced Large-Reach TLBs. In Proceedings of the 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO, 2012.
  31. Mesh: compacting memory management for C/C++ applications. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI, 2019.
  32. J. M. Robson. Worst case fragmentation of first fit and best fit storage allocation strategies. The Computer Journal, 20(3):242–244, January 1977.
  33. File system aging: increasing the relevance of file system benchmarks. In Proceedings of the 1997 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, SIGMETRICS, 1997.
  34. Carl A. Waldspurger. Memory Resource Management in VMware ESX Server. In Proceedings of the 5th Symposium on Operating Systems Design and Implementation, OSDI, 2002.
  35. ROOT: replaying multithreaded traces with resource-oriented ordering. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles, SOSP, 2013.
  36. Translation Ranger: Operating System Support for Contiguity-aware TLBs. In Proceedings of the 46th International Symposium on Computer Architecture, ISCA, 2019.
  37. TBBT: Scalable and accurate trace replay for file server evaluation. In Proceedings of the 4th Conference on USENIX Conference on File and Storage Technologies - Volume 4, FAST, 2005.
  38. A Comprehensive Analysis of Superpage Management Mechanisms and Policies. In Proceedings of the 2020 USENIX Annual Technical Conference, ATC, 2020.
Citations (1)

Summary

We haven't generated a summary for this paper yet.