paperbot · PL 论文追踪

全部论文 待读 收藏

P2 MemPerf: Profiling Allocator-Induced Performance Slowdowns

MemPerf:剖析内存分配器导致的性能下降
OOPSLA 7(OOPSLA2)2023匹配度 1/10 · 该论文聚焦内存分配器引起的性能下降剖析,属于运行时与内存管理系统方向;与用户关注静态分析、LLM/Agent 与程序分析交叉、浮点程序分析及贝叶斯程序分析等核心方向没有直接交集,仅同属程序语言/系统邻近领域。引用 0 inbox
Jin Zhou, Sam Silvestro, Steven (Jiaxun) Tang, Hanmei Yang, Hongyu Liu, Guangming Zeng, Bo Wu, Cong Liu, Tongping Liu
crossref: 2026-09-10

AI 速览

一句话:提出首个无需对比其他分配器即可定位分配器所致性能下降的 profiler,基于堆对象生命周期区分慢管理与慢访问。

现有剖析器无法定位内存分配器导致的性能下降,程序员可能徒劳优化应用代码。MemPerf 是首个无需与其他分配器对比即可识别此类下降的剖析器。它基于分配器影响堆对象整个生命周期(含对象访问)这一观察,分别检测慢内存管理操作与慢访问:前者采用线程感知和类型感知的性能建模,后者用自顶向下方法识别 cache/TLB 未命中等由分配器引入的原因,并统一高效定位。评估中,MemPerf 对大于 5% 的中大型分配器减速报告正确率达 98%,无误报,并揭示广泛使用分配器中的多个已知和未知设计问题。

问题
现有性能剖析器无法定位由内存分配器引起的性能下降,使程序员可能错误或徒劳地优化应用代码。
方法
MemPerf 基于堆对象生命周期,分别检测慢内存管理操作与慢访问;使用线程/类型感知建模和自顶向下统一分析来定位原因。
评估
在广泛评估中,MemPerf 对大于 5% 的中大型分配器减速报告正确率达 98% 且无误报,并能发现广泛使用分配器中的已知与未知设计问题。
原文摘要(Abstract)

The memory allocator plays a key role in the performance of applications, but none of the existing profilers can pinpoint performance slowdowns caused by a memory allocator. Consequently, programmers may spend time improving application code incorrectly or unnecessarily, achieving low or no performance improvement. This paper designs the first profiler—MemPerf—to identify allocator-induced performance slowdowns without comparing against another allocator. Based on the key observation that an allocator may impact the whole life-cycle of heap objects, including the accesses (or uses) of these objects, MemPerf proposes a life-cycle based detection to identify slowdowns caused by slow memory management operations and slow accesses separately. For the prior one, MemPerf proposes a thread-aware and type-aware performance modeling to identify slow management operations. For slow memory accesses, MemPerf utilizes a top-down approach to identify all possible reasons for slow memory accesses introduced by the allocator, mainly due to cache and TLB misses, and further proposes a unified method to identify them correctly and efficiently. Based on our extensive evaluation, MemPerf reports 98% medium and large allocator-reduced slowdowns (larger than 5%) correctly without reporting any false positives. MemPerf also pinpoints multiple known and unknown design issues in widely-used allocators.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot1875,
  title = {MemPerf: Profiling Allocator-Induced Performance Slowdowns},
  author = {Jin Zhou and Sam Silvestro and Steven (Jiaxun) Tang and Hanmei Yang and Hongyu Liu and Guangming Zeng and Bo Wu and Cong Liu and Tongping Liu},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {7},
  number = {OOPSLA2},
  year = {2023},
  doi = {10.1145/3622848}
}