paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Integrating region memory management and tag-free generational garbage collection

集成区域内存管理与无标签分代垃圾回收
JFP vol.312021匹配度 2/10 · 论文关注区域内存管理与无标签分代垃圾回收的编译器实现,属于PL运行时/内存管理方向,与用户画像核心的“静态分析×机器学习/Agent”“浮点程序分析”“贝叶斯程序分析”均无直接关系;仅有类型系统与形式化、工程实现这一泛PL共性。引用 6 inbox
MARTIN ELSMAN, NIELS HALLENBERG
crossref: 2026-09-10

AI 速览

一句话:提出区域内存管理与无标签分代 GC 的集成方案,并在 MLKit 中实现和评测。

论文研究如何将基于区域的内存管理与分代垃圾回收结合。方法上,提出编译期区域推断,将值关联到逻辑区域,并基于区域类型系统在运行时使用区域类型,从而避免写屏障开销并支持部分无标签 GC。该方案在 MLKit Standard ML 编译器中实现,生成原生 x64 代码,并证明若干形式性质。作者用多组基准比较 MLton 及 MLKit 开启/关闭区域推断和分代 GC 的配置。结果显示区域推断常起到分代作用;尽管区域碎片导致更多内存浪费,区域推断与分代 GC 结合通常仍优于与非分代 GC 结合。

问题
如何集成区域内存管理与分代垃圾回收,同时减少写屏障开销并支持无标签或部分无标签 GC。
方法
提出编译期区域推断与区域类型系统,将值关联到逻辑区域,并在运行时利用区域类型;在 MLKit 中实现并生成原生 x64 代码,同时证明若干形式性质。
评估
在多组基准上与 MLton 以及 MLKit 开启/关闭区域推断和分代 GC 的配置比较性能,并分析内存浪费与分代效果。
原文摘要(Abstract)

Abstract We present a region-based memory management scheme with support for generational garbage collection. The scheme features a compile-time region inference algorithm, which associates values with logical regions, and builds on a region type system that deploys region types at runtime to avoid the overhead of write barriers and to support partly tag-free garbage collection. The scheme is implemented in the MLKit Standard ML compiler, which generates native x64 machine code. Besides demonstrating a number of important formal properties of the scheme, we measure the scheme’s characteristics, for a number of benchmarks, and compare the performance of the generated executables with the performance of executables generated with the MLton state-of-the-art Standard ML compiler and configurations of the MLKit with and without region inference and generational garbage collection enabled. Although region inference often serves the purpose of generations, combining region inference with generational garbage collection is shown often to be superior to combining region inference with non-generational collection despite the overhead introduced by a larger amount of memory waste, due to region fragmentation.

链接与引用

DOI 原文 ·

BibTeX
@article{paperbot1237,
  title = {Integrating region memory management and tag-free generational garbage collection},
  author = {MARTIN ELSMAN and NIELS HALLENBERG},
  journal = {Journal of Functional Programming},
  volume = {31},
  year = {2021},
  doi = {10.1017/s0956796821000010}
}