中文

Montage:一种用于缓冲持久可线性化数据结构的通用系统

分布式、并行与集群计算 2020-09-30 v1 数据结构与算法 性能

摘要

近来快速、密集的非易失性主存的涌现,暗示某些长生命周期数据可在程序运行与硬件重启间保持其自然的富含指针的格式。对此类数据的操作必须配备显式的写回与栅栏指令,以确保崩溃后的一致性。最小化此类指令开销的技术是一个活跃的研究课题。我们提出了一种据我们所知首个用于构建缓冲持久可线性化持久数据结构的通用方法,以及支持该方法的系统 Montage。Montage 构建于 Ralloc 无阻塞持久分配器之上。它采用慢速滴答的纪元时钟,并确保任何操作都不会跨越纪元边界。它还安排仅持久化崩溃后重建结构所需的最小数据。若崩溃发生于纪元 ee,则纪元 eee1e-1 中的所有工作丢失,但更早纪元的工作得以保留。我们描述了 Montage 的实现,论证其正确性,并报告了持久队列、集合/映射和通用图前所未有的吞吐量。

关键词

引用

@article{arxiv.2009.13701,
  title  = {Montage: A General System for Buffered Durably Linearizable Data Structures},
  author = {Haosen Wen and Wentao Cai and Mingzhe Du and Louis Jenkins and Benjamin Valpey and Michael L. Scott},
  journal= {arXiv preprint arXiv:2009.13701},
  year   = {2020}
}