arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2005.05427cs.DC
收藏

从读/写操作中获得宽松的堆栈和堆栈

Relaxed Queues and Stacks from Read/Write Operations

Armando Castañeda, Sergio Rajsbaum, Michel Raynal

摘要:

考虑到异步共享内存系统中,任何数量的进程可能会崩溃,这项工作确定并正式定义放松队列和堆栈,可以是非阻塞或等待自由,同时只使用读/写操作实现。集合线性化和区间线性化被用来形式化地描述松弛,并精确地识别保持原始顺序行为的执行子集。松弛允许不同的操作多次返回一个项目,但仅限于并发的情况;我们称这样的属性为多重性。堆栈实现是无等待的,而队列实现是非阻塞的。区间线性化用来描述一个具有多重性的队列,另外一个放松是出队操作可以返回弱空,这意味着队列可能是空的。本文提出了一种并发队列的读/写无等待区间线性化算法。据我们所知,这项工作是第一个提供多重性和弱空性概念的形式化,只能在读/写寄存器上实现。

英文摘要:

Considering asynchronous shared memory systems in which any number of processes may crash, this work identifies and formally defines relaxations of queues and stacks that can be non-blocking or wait-free while being implemented using only read/write operations. Set-linearizability and Interval-linearizability are used to specify the relaxations formally, and precisely identify the subset of executions which preserve the original sequential behavior. The relaxations allow for an item to be returned more than once by different operations, but only in case of concurrency; we call such a property multiplicity. The stack implementation is wait-free, while the queue implementation is non-blocking. Interval-linearizability is used to describe a queue with multiplicity, with the additional relaxation that a dequeue operation can return weak-empty, which means that the queue might be empty. We present a read/write wait-free interval-linearizable algorithm of a concurrent queue. As far as we know, this work is the first that provides formalizations of the notions of multiplicity and weak-emptiness, which can be implemented on top of read/write registers only.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑