paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Compress Objects, Not Cache Lines

压缩对象,而非缓存行
ASPLOS Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems2019匹配度 1/10 · 该论文研究面向对象程序的压缩内存层次与运行时内存管理,属于体系结构/运行时方向;未涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户研究画像的核心交叉方向基本无关。引用 24 inbox
Po-An Tsai, Daniel Sanchez
crossref: 2026-09-12

AI 速览

一句话:提出面向对象程序的压缩内存层次 Zippads 与跨对象压缩算法 COCO,以对象为压缩单元,提升压缩率与性能。

现有缓存和主存压缩通常在固定大小块(通常是缓存行)上使用简单算法,仅利用块内冗余,因此对数组型程序有效,却难以处理对象大小不一、布局不规则的对象型程序。本文提出首个面向对象程序的压缩内存层次。关键观察是:对象才是压缩的自然单元,程序沿对象指针遍历和操作;单个对象内部冗余有限,但同类型对象之间冗余丰富。基于此,作者设计 Zippads 对象式压缩内存层次和 COCO 跨对象压缩算法,透明压缩变长对象并紧凑存储。在数组主导与对象主导的混合负载上,Zippads 相比最先进的压缩内存层次取得 1.63 倍更高压缩率,性能提升 17%。

问题
现有缓存与主存压缩以固定大小的缓存行为块,主要利用块内冗余,在对象大小不一、布局不规则的对象型程序上效果不佳。
方法
提出以对象为压缩单元的 Zippads 压缩内存层次和 COCO 跨对象压缩算法,利用同类型对象间的冗余,透明压缩变长对象并紧凑存储。
评估
在数组主导与对象主导的混合工作负载上,与最先进的压缩内存层次对比,压缩率提高 1.63 倍,性能提升 17%。
原文摘要(Abstract)

Existing cache and main memory compression techniques compress data in small fixed-size blocks, typically cache lines. Moreover, they use simple compression algorithms that focus on exploiting redundancy within a block. These techniques work well for scientific programs that are dominated by arrays. However, they are ineffective on object-based programs because objects do not fall neatly into fixed-size blocks and have a more irregular layout. We present the first compressed memory hierarchy designed for object-based applications. We observe that (i) objects, not cache lines, are the natural unit of compression for these programs, as they traverse and operate on object pointers; and (ii) though redundancy within each object is limited, redundancy across objects of the same type is plentiful. We exploit these insights through Zippads, an object-based compressed memory hierarchy, and COCO, a cross-object-compression algorithm. Building on a recent object-based memory hierarchy, Zippads transparently compresses variable-sized objects and stores them compactly. As a result, Zippads consistently outperforms a state-of-the-art compressed memory hierarchy: on a mix of array- and object-dominated workloads, Zippads achieves 1.63x higher compression ratio and improves performance by 17%.

链接与引用

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

BibTeX
@inproceedings{paperbot4874,
  title = {Compress Objects, Not Cache Lines},
  author = {Po-An Tsai and Daniel Sanchez},
  booktitle = {ASPLOS},
  year = {2019},
  doi = {10.1145/3297858.3304006}
}