论文标题

持续无锁数据结构的实际检测性

Practical Detectability for Persistent Lock-Free Data Structures

论文作者

Cho, Kyeongmin, Jeon, Seungmin, Kang, Jeehoon

论文摘要

持续记忆(PM)是一类新兴的存储技术,结合了DRAM和SSD的好处。这种特征启发了对PM中持续的对象进行的研究,并具有细粒度的并发控制。在此类对象中,由于其效率和可扩展性,持续的无锁数据结构(DSS)特别有趣。持续无锁的DSS最广泛使用的正确性标准之一是持久的线性化性(Izraelelevitz等人,Disc 2016)。但是,耐用的线性化性不足以将持久性DSS用于耐故障系统,需要确切的存储系统语义,因为我们可能无法检测到发生崩溃时是否执行操作。 我们为具有可检测性的持续无锁DSS提供了一个实用的编程框架。与先前在此类DSS上的工作相反,我们的框架支持(1)原始可检测的操作,例如空间有效的比较,插入,插入和删除; (2)将无锁的DSS在PM中的系统转换为需要适度的努力; (3)通过DRAM SCRATCHPAD优化与非可检测DSS的可比性能; (4)从完整的系统和线程崩溃中恢复。关键的想法是PM中的轻巧,精确和每线检查点的纪念品。作为一个案例研究,我们将无锁并将排队表和哈希表与可检测性相结合,以优于(并分别没有)可检测性的最先进的DSS。

Persistent memory (PM) is an emerging class of storage technology that combines the benefits of DRAM and SSD. This characteristic inspires research on persistent objects in PM with fine-grained concurrency control. Among such objects, persistent lock-free data structures (DSs) are particularly interesting thanks to their efficiency and scalability. One of the most widely used correctness criteria for persistent lock-free DSs is durable linearizability (Izraelevitz et. al., DISC 2016). However, durable linearizability is insufficient to use persistent DSs for fault-tolerant systems requiring exactly-once semantics for storage systems, because we may not be able to detect whether an operation is performed when a crash occurs. We present a practical programming framework for persistent lock-free DSs with detectability. In contrast to the prior work on such DSs, our framework supports (1) primitive detectable operations such as space-efficient compare-and-swap, insertion, and deletion; (2) systematic transformation of lock-free DSs in DRAM into those in PM requiring modest efforts; (3) comparable performance with non-detectable DSs by DRAM scratchpad optimization; and (4) recovery from both full system and thread crashes. The key idea is memento objects serving as a lightweight, precise, and per-thread checkpoints in PM. As a case study, we implement lock-free and combining queues and hash tables with detectability that outperform (and perform comparably) the state-of-the-art DSs with (and without, respectively) detectability.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源