Affiliation:
1. Digital Equipment Corp., Cambridge, MA
Abstract
A
wait-free
implementation of a concurrent data object is one that guarantees that any process can complete any operation in a finite number of steps, regardless of the execution speeds of the other processes. The problem of constructing a wait-free implementation of one data object from another lies at the heart of much recent work in concurrent algorithms, concurrent data structures, and multiprocessor architectures. First, we introduce a simple and general technique, based on reduction to a concensus protocol, for proving statements of the form, “there is no wait-free implementation of X by Y.” We derive a hierarchy of objects such that no object at one level has a wait-free implementation in terms of objects at lower levels. In particular, we show that atomic read/write registers, which have been the focus of much recent attention, are at the bottom of the hierarchy: thay cannot be used to construct wait-free implementations of many simple and familiar data types. Moreover, classical synchronization primitives such as
test&set
and
fetch&add
, while more powerful than
read
and
write
, are also computationally weak, as are the standard message-passing primitives. Second, nevertheless, we show that there do exist simple universal objects from which one can construct a wait-free implementation of any sequential object.
Publisher
Association for Computing Machinery (ACM)
Reference29 articles.
1. ANDERSON J. H. AND GOUDA M.G. The virtue of patience: Concurrent programming with and without waiting. Private communication. ANDERSON J. H. AND GOUDA M.G. The virtue of patience: Concurrent programming with and without waiting. Private communication.
2. Fast randomized consensus using shared memory
Cited by
1017 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献