In this paper, we study the question whether techniques employed, in a conventional system, by state-of-the-art concurrent algorithms to avoid contended hot spots are still efficient for recoverable computing in settings with Non-Volatile Memory (NVM). We focus on concurrent FIFO queues that have two end-points, head and tail, which are highly contended. We present a persistent FIFO queue implementation that performs a pair of persistence instructions per operation (enqueue or dequeue). The algorithm achieves to perform these instructions on variables of low contention by employing Fetch&Increment and using the state-of-the-art queue implementation by Afek and Morrison (PPoPP'13). These result in performance that is up to 2x faster than state-of-the-art persistent FIFO queue implementations.
翻译:本文研究在非易失性内存环境下,传统系统中用于避免竞争热点的先进并发算法技术是否仍适用于可恢复计算场景。我们重点关注具有高竞争性头尾端点的并发FIFO队列,提出了一种持久化FIFO队列实现方案,该方案在每个操作(入队或出队)中仅执行一对持久化指令。该算法通过采用Fetch&Increment操作并整合Afek与Morrison提出的先进队列实现方案(PPoPP'13),成功在低竞争变量上执行持久化指令,最终实现比现有持久化FIFO队列快达2倍的性能表现。