Authors: Pavlo Pastaryev, Charith Mendis, Lawrence Rauchwerger

Venue: International Workshop on Languages and Compilers for Parallel Computing
DOI:
Link to Publication

Abstract:
"General-purpose memory allocators are made to perform well on average for any given program. They thus make decisions which can benefit a broad set of applications and can miss out on possible optimizations. When a given general-purpose allocator does not fit the needs of a program, the developer has a choice of either switching to a different allocator or writing a custom one from scratch. Both options can be quite costly, and can still fail to satisfy the developer’s requirements. We propose a different approach to memory allocation: allocators are automatically generated from the ground up for any given program and optimized for the needed metric. We outline metrics of allocator performance, present a taxonomy of single-threaded memory allocators, and a framework for generating custom allocators based on the taxonomy. We show that allocators generated in such way can match or outperform general-purpose allocators and that different applications benefit from different components of our taxonomy."

@inproceedings{pastaryev2023generating,
  title={Generating Memory Allocators from the Ground Up},
  author={Pastaryev, Pavlo and Mendis, Charith and Rauchwerger, Lawrence},
  booktitle={International Workshop on Languages and Compilers for Parallel Computing},
  pages={160--173},
  year={2023},
  organization={Springer}
}