paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Learning-based Memory Allocation for C++ Server Workloads

面向 C++ 服务器工作负载的基于学习的内存分配
ASPLOS Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems2020匹配度 2/10 · 该论文将机器学习用于C++服务器工作负载的内存分配,属于运行时/系统与ML的交叉,但用户的核心研究方向是静态分析、形式化验证、浮点程序分析、贝叶斯程序分析及其与LLM/Agent的交叉。本文不涉及这些主题,也未使用LLM/Agent,因此与用户的研究画像匹配度低。引用 58 inbox
Martin Maas, David G. Andersen, Michael Isard, Mohammad Mahdi Javanmard, Kathryn S. McKinley, Colin Raffel
crossref: 2026-09-12

AI 速览

一句话:提出基于学习的内存分配方法,在不移动对象的前提下缓解 C++ 服务器大页堆的持久碎片。

现代 C++ 服务器的工作集随负载变化而大幅波动,峰值期间分配的长生命周期对象会造成持续堆碎片,碎片率最高可达 2 倍。为在大堆上获得高性能而使用 2MB 大页,会进一步放大这一问题。由于 C++ 内存管理器无法移动对象,传统整理式消碎手段不可用,自动降低碎片因此十分困难。论文提出基于学习的 C++ 服务器工作负载内存分配方法,利用工作负载特征学习分配策略,以在不移动对象的前提下抑制碎片。摘要未报告具体实现细节与定量实验结果,评估应关注真实服务器负载下的碎片率、内存占用与运行时开销。

问题
C++ 服务器工作负载内存占用波动大,峰值时长生命周期对象造成最高 2 倍持久堆碎片,2MB 大页进一步加剧碎片,而 C++ 内存管理器不能移动对象,使自动消碎困难。
方法
提出基于学习的内存分配方法,利用工作负载特征学习分配决策,在不移动对象的前提下降低碎片。
评估
摘要未给出评估细节;从摘要推断,评估应面向真实 C++ 服务器工作负载,考察碎片率与运行时/内存开销。
原文摘要(Abstract)

Modern C++ servers have memory footprints that vary widely over time, causing persistent heap fragmentation of up to 2x from long-lived objects allocated during peak memory usage. This fragmentation is exacerbated by the use of huge (2MB) pages, a requirement for high performance on large heap sizes. Reducing fragmentation automatically is challenging because C++ memory managers cannot move objects.

链接与引用

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

BibTeX
@inproceedings{paperbot5439,
  title = {Learning-based Memory Allocation for C++ Server Workloads},
  author = {Martin Maas and David G. Andersen and Michael Isard and Mohammad Mahdi Javanmard and Kathryn S. McKinley and Colin Raffel},
  booktitle = {ASPLOS},
  year = {2020},
  doi = {10.1145/3373376.3378525}
}