中文

NVRAM中红黑树与AVL树的事务处理

分布式、并行与集群计算 2020-07-01 v1

摘要

字节寻址非易失性内存(NVRAM)以低延迟和高带宽支持持久化存储。其中的复杂数据结构应当以事务方式更新,从而始终保持可恢复性。传统的数据库技术,如维护独立日志、日志型文件系统或影子数据,工作在粗粒度层级,通过最终的原子更新操作使整个事务可见。这些方法通常需要显著的额外空间开销,并为日志剪枝、状态维护和资源(去)分配带来不小开销。因此,它们未必是支持细粒度、字节寻址访问的NVRAM的最佳选择。我们提出一种通用事务机制,以恒定内存开销‘原地’更新动态复杂数据结构。该机制与数据结构大小无关。我们在红黑树和AVL树上演示并评估了我们的方法,其重做日志大小为常量(分别为4和2个缓存行)。该重做日志保证每个已接受(已启动)的事务最终得以执行,尽管期间发生任意多次系统崩溃与恢复。我们在本地与远程NVRAM中更新复杂数据结构,为多读者单写者访问提供恰好一次语义与持久线性一致性。为持久化数据,本地情形使用可用的NVRAM处理器指令,远程情形则结合远程直接内存访问(RDMA)与软件代理。

关键词

引用

@article{arxiv.2006.16284,
  title  = {Transactions on Red-black and AVL trees in NVRAM},
  author = {Thorsten Schütt and Florian Schintke and Jan Skrzypczak},
  journal= {arXiv preprint arXiv:2006.16284},
  year   = {2020}
}