Dalí: A Periodically Persistent Hash Map.

DISC(2017)

引用 41|浏览107
暂无评分
摘要
Technology trends suggest that byte-addressable nonvolatile memory (NVM) will supplant many uses of DRAM over the coming decade, raising the prospect of inexpensive recovery from power failures and similar faults. Ensuring the consistency of persistent state remains nontrivial, however, the presence of volatile caches; cached values can back to persistent memory arbitrary order. To ensure consistency, existing persistent memory algorithms use expensive, explicit write-back instructions to force each value back to memory before performing a dependent write, thereby incurring significant run-time overhead.To reduce this overhead, we present a new design paradigm that we call periodic persistence. In a periodically persistent data structure, updates are made in place, but can safely leak back to memory any order, because only those updates that are known to be valid will be heeded during recovery. To guarantee forward progress, we periodically force a write-back of all dirty data the cache, ensuring that all sufficiently old updates have indeed become persistent, at which point they become semantically visible to the recovery process.As an example of periodic persistence, we present a transactional hash map, Dali, together with an informal proof of safety (buffered durable linearizability). Experiments with a prototype implementation suggest that periodic persistence can offer substantially better performance than either file-based or incrementally persistent (per-access write-back) alternatives.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要