paperbot · PL 论文追踪

全部论文 待读 收藏

P2 MemSnap μCheckpoints: A Data Single Level Store for Fearless Persistence

MemSnap μCheckpoints:面向无畏持久化的数据单层存储
ASPLOS Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 32024匹配度 1/10 · 该论文属于操作系统与存储系统领域,研究单层存储、细粒度检查点与并发持久化,与用户的静态分析、程序分析、LLM/Agent、浮点程序分析及贝叶斯程序分析等研究方向完全无关。引用 3 inbox
Emil Tsalapatis, Ryan Hancock, Rakeeb Hossain, Ali José Mashtizadeh
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 MemSnap,用内核逐线程脏集和虚拟内存实现细粒度 μCheckpoint,让单层存储无需 WAL 持久化并发写事务。

现有单层存储(SLS)通过应用检查点替代文件 API,但检查点粒度粗,仍需 WAL 等文件持久化机制,削弱了 SLS 的设计优势。MemSnap 引入 μCheckpoints,以写事务为单位持久化内存更新,并可与其它线程并发执行;它在内核中实现逐线程脏集跟踪,利用虚拟内存技术阻止对进行中 μCheckpoint 的修改且不阻塞应用。评估显示,其持久化延迟比基于文件的随机 IO 低 4.5×–30×,接近直接磁盘 IO 的 2×以内;集成 SQLite、RocksDB 和 PostgreSQL 后保持 ACID,SQLite 吞吐较文件 API 提升 5×,RocksDB 较 Aurora 提升 4×。

问题
现有 SLS 的检查点粒度粗,必须依赖 WAL 等文件持久化机制,无法充分发挥单层存储的优势。
方法
MemSnap 以 μCheckpoint 细粒度持久化单个写事务的内存更新,在内核维护逐线程脏集,并用虚拟内存技术保护进行中的检查点而不阻塞应用。
评估
通过延迟与吞吐实验对比文件随机 IO、直接磁盘 IO 和 Aurora,并将 MemSnap 集成到 SQLite、RocksDB 与 PostgreSQL 以检验 ACID 保持情况。
原文摘要(Abstract)

Single level stores (SLSes) have recently resurfaced as a system for persisting application data. SLSes like EROS, Aurora, and TreeSLS use application checkpointing to replace file-based APIs. These systems checkpoint at a coarse granularity and must be combined with file persistence mechanisms like WALs, undermining the benefits of their SLS design. We present MemSnap, a new system that completes the single level store vision by eliminating the need for the WAL API. MemSnap introduces μCheckpoints that persist updates to memory for individual write transactions concurrently with other threads. We introduce a novel per-thread dirty set tracking mechanism in the kernel and use it to transparently persist application data. We use virtual memory techniques to prevent modifications to in-flight μCheckpoints, without blocking the application. MemSnap-based persistence has 4.5×--30× lower latency than file-based random IO and is within 2×of direct disk IO latency. We integrate MemSnap with the SQLite, RocksDB, and PostgreSQL databases, gaining performance while retaining ACID. MemSnap increases the throughput of SQLite by 5× over file APIs and achieves a 4× throughput improvement for RocksDB compared to Aurora.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{TsalapatisHHM24,
  title = {MemSnap μCheckpoints: A Data Single Level Store for Fearless Persistence},
  author = {Emil Tsalapatis and Ryan Hancock and Rakeeb Hossain and Ali José Mashtizadeh},
  booktitle = {ASPLOS},
  year = {2024},
  doi = {10.1145/3620666.3651334}
}