GreenMalloc: Allocator Optimisation for Industrial Workloads
Aidan Dakhama, W. B. Langdon, Hector D. Menendez, Karine Even-Mendoza
TL;DR
GreenMalloc tackles the challenge of tuning memory allocator parameters for industrial workloads by combining a lightweight proxy benchmark with multi-objective search. The approach uses NSGA-II to optimize memory and runtime jointly, first exploring parameter space with rand_malloc and then validating promising configurations in the gem5 simulator on two popular allocators, glibc malloc and TCMalloc. Key contributions include a novel search-based optimisation methodology, GreenMalloc as a generalisable prototype, and a systematic study showing reductions in average heap usage and memory release rate with maintainable runtime performance. The work demonstrates a practical, transferable path to greener and more efficient large-scale simulations, with potential applicability to additional system components and full-system evaluation in future work.
Abstract
We present GreenMalloc, a multi objective search-based framework for automatically configuring memory allocators. Our approach uses NSGA II and rand_malloc as a lightweight proxy benchmarking tool. We efficiently explore allocator parameters from execution traces and transfer the best configurations to gem5, a large system simulator, in a case study on two allocators: the GNU C/CPP compiler's glibc malloc and Google's TCMalloc. Across diverse workloads, our empirical results show up to 4.1 percantage reduction in average heap usage without loss of runtime efficiency; indeed, we get a 0.25 percantage reduction.
