Pangolin:一种容错持久内存编程库
分布式、并行与集群计算
2019-07-26 v2
摘要
非易失性主存(NVMM)允许程序员构建复杂的、基于指针的持久化数据结构,相较于管理持久状态的常规方法,这类结构可带来显著的性能提升。该编程模型将文件系统从关键路径中移除,从而提升了性能,但也使这些数据结构无法利用基于文件系统的容错机制(例如基于块的校验和或擦除编码)。若无容错能力,使用 NVMM 来存储关键数据的吸引力将大打折扣。本文提出 Pangolin,一种为 NVMM 设计的容错持久对象库。Pangolin 结合使用校验和、奇偶校验与微缓冲,以保护应用程序的对象免受介质错误及软件缺陷所致损坏的影响。它为任意大小的对象提供此类保护,并支持自动、在线的数据损坏检测与恢复。所需的存储开销很小(对于 GB 级 NVMM 池为 1%)。与当前最先进的容错持久对象库相比,Pangolin 提供了更强的保护,所需存储开销低数个数量级,并取得了相当的性能。
引用
@article{arxiv.1904.10083,
title = {Pangolin: A Fault-Tolerant Persistent Memory Programming Library},
author = {Lu Zhang and Steven Swanson},
journal= {arXiv preprint arXiv:1904.10083},
year = {2019}
}