Litcius/Paper detail

Learning-based Memory Allocation for C++ Server Workloads

Martin Maas, David G. Andersen, Michael Isard, Mohammad Mahdi Javanmard, Kathryn S. McKinley, Colin Raffel

202057 citationsDOIOpen Access PDF

Abstract

Modern C++ servers have memory footprints that vary widely over time, causing persistent heap fragmentation of up to 2x from long-lived objects allocated during peak memory usage. This fragmentation is exacerbated by the use of huge (2MB) pages, a requirement for high performance on large heap sizes. Reducing fragmentation automatically is challenging because C++ memory managers cannot move objects.

Topics & Concepts

Heap (data structure)Computer scienceFragmentation (computing)ServerOperating systemParallel computingProgramming languageParallel Computing and Optimization TechniquesCloud Computing and Resource ManagementDistributed and Parallel Computing Systems