Prof. Daniel Hendler

Know all about my research

Nontrivial and universal helping for wait-free queues and stacks

Hagit Attiya, Armando Castañeda, Danny Hendler

This paper studies two approaches to formalize helping in wait-free implementations of shared objects. The first approach is based on operation valency, and it allows us to make an important distinction between trivial and nontrivial helping. We show that any wait-free implementation of a queue from Test&Set requires nontrivial helping. We also define a weaker type of nontrivial helping and show that any wait-free queue implementation from a set of arbitrary base objects requires it. In contrast, there is a wait-free implementation of a stack from Test&Set with only trivial helping. These results shed light on the well-known open question of whether there exists a wait-free implementation of a queue in Common2, and indicate why it seems to be more difficult than implementing a stack. The other approach formalizes the helping mechanism employed by Herlihy's universal wait-free construction and is based on having an operation by one process restrict the possible linearizations of operations by other processes. We show that queue and stack implementations possessing such universal helping can be used to solve consensus. This result can be used to show that a strongly linearizable (Golab et al., 2011) implementation of a queue or a stack for n processes must use objects that allow to solve consensus among n or more processes.

Publication language English
Pages 1-14
Journal Journal of Parallel and Distributed Computing
Volume 121
Publication status Published - 01.11.2018

Keywords

Common2
Consensus number
Helping
Non-blocking
Queues
Shared objects
Stacks
Strong linearizability
Wait-freedom

ASJC Scopus subject areas

Software
Theoretical Computer Science
Hardware and Architecture
Computer Networks and Communications
Artificial Intelligence
Access to Document
10.1016/j.jpdc.2018.06.004
Other files and links
Link to publication in Scopus