NextGen-Malloc: Giving Memory Allocator Its Own Room in the House
Ruihao Li, Qinzhe Wu, Krishna M. Kavi, Gayatri Mehta, Neeraja J. Yadwadkar, Lizy K. John · 2023
Memory allocation and management have a significant impact on performance and energy of modern applications. We observe that performance can vary by as much as 72% in some applications based on which memory allocator is used. Many current allocators are multi-threaded to support concurrent allocation requests from different threads. However, such multi-threading comes at the cost of maintaining complex metadata that is tightly coupled and intertwined with user data. When memory management functions and other user programs run on the same core, the metadata used by management functions may pollute the processor caches and other resources.