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.
翻译:本文提出GreenMalloc,一种基于多目标搜索的自动化内存分配器配置框架。该方法采用NSGA II算法,并以rand_malloc作为轻量级代理基准测试工具。我们通过执行轨迹高效探索分配器参数,并将最优配置迁移至大型系统模拟器gem5。本文以GNU C/CPP编译器的glibc malloc与谷歌的TCMalloc两种分配器为案例进行研究。在多样化负载测试中,实证结果表明:在保持运行效率不受损失的前提下(实际获得0.25%的效率提升),平均堆内存使用量最高可降低4.1%。