paperbot · PL 论文追踪

全部论文 待读 收藏

P2 C <scp>xlalloc</scp> : Safe and Efficient Memory Allocation for a CXL Pod

Cxlalloc:为 CXL Pod 提供安全高效的内存分配
ASPLOS Proceedings of the 31st ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 22026匹配度 1/10 · 该论文属于系统与内存管理方向,研究 CXL Pod 的用户态内存分配器、软件缓存一致性和 FPGA mCAS,与用户的 PL/AI 交叉、静态分析、Agentic 程序分析、浮点程序分析及贝叶斯程序分析等方向没有直接关联。引用 2 inbox
Newton Ni, Yan Sun, Zhiting Zhu, Emmett Witchel
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出面向 CXL Pod 的用户态内存分配器 cxlalloc,通过软件缓存一致性与 mCAS 支持无硬件一致性的多主机共享内存分配。

CXL pod 中多台主机共享 CXL 内存,其内存分配器面临 CXL 设备可能不支持跨主机硬件缓存一致性、分配器被不同进程并发访问、以及主机增多导致故障概率上升等挑战。本文提出用户态分配器 cxlalloc,通过精心设计元数据布局,并引入新协议在软件层维护缓存一致性、跨进程协调内存映射以及从崩溃中恢复;同步使用 CAS,并为无硬件一致性的设备在 FPGA 上实现基于内存的 mCAS 原语。在内存键值存储负载上,cxlalloc 保持有竞争力的性能并支持新用例;在商用 CXL 设备上,使用 mCAS 可达到其最大分配吞吐的 80%。

问题
为 CXL pod 中多主机共享的 CXL 内存设计安全高效的用户态内存分配器,需解决无硬件缓存一致性、跨进程并发访问和崩溃恢复等问题。
方法
cxlalloc 采用元数据布局与软件缓存一致性、跨进程映射协调和崩溃恢复协议,并用 CAS 同步,为无 HWcc 的 CXL 设备在 FPGA 上实现 mCAS。
评估
在内存键值存储负载和商用 CXL 设备上评估,显示性能有竞争力,且 mCAS 下可达最大分配吞吐的 80%。
原文摘要(Abstract)

A Compute Express Link (CXL) pod is a group of hosts that share CXL-attached memory. A memory allocator for a CXL pod faces novel challenges: (1) CXL devices may not fully support inter-host hardware cache coherence (HWcc), (2) the allocator may be concurrently accessed from different processes, and (3) with more hosts, failures become more likely. We present cxlalloc, a user-space memory allocator that addresses these challenges through careful metadata layout and new protocols to maintain cache coherence in software, coordinate memory mappings across processes, and recover from crashes. Cxlalloc uses compare-and-swap (CAS) for efficient synchronization; to support CXL devices with no HWcc, we present a memory-based CAS (mCAS) primitive implemented in an FPGA. Experiments with in-memory key-value store workloads demonstrate that cxlalloc retains competitive performance while enabling new use-cases. Experiments with a commercial CXL device show that cxlalloc can achieve 80% of its maximum allocation throughput using mCAS.

链接与引用

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

BibTeX
@inproceedings{NiSZW26,
  title = {C
                    <scp>xlalloc</scp>
                    : Safe and Efficient Memory Allocation for a CXL Pod},
  author = {Newton Ni and Yan Sun and Zhiting Zhu and Emmett Witchel},
  booktitle = {ASPLOS},
  year = {2026},
  doi = {10.1145/3779212.3790149}
}