WAIT-FREE SYNCHRONIZATION

被引:904
作者
HERLIHY, M
机构
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 1991年 / 13卷 / 01期
关键词
LINEARIZABILITY; WAIT-FREE SYNCHRONIZATION;
D O I
10.1145/114005.102808
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 consensus 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: they 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.
引用
收藏
页码:124 / 149
页数:26
相关论文
共 32 条
[1]  
[Anonymous], COMMUNICATION
[2]   FAST RANDOMIZED CONSENSUS USING SHARED MEMORY [J].
ASPNES, J ;
HERLIHY, M .
JOURNAL OF ALGORITHMS, 1990, 11 (03) :441-461
[3]  
BARNOY A, 1989, 8TH P ANN ACM S PRIN, P307
[4]  
BLOOM B, 1987, 6TH ACM SIGACT SIGOP, P249
[5]  
CHOR B, 1987, ACM PODC, P86
[6]   ON THE MINIMAL SYNCHRONISM NEEDED FOR DISTRIBUTED CONSENSUS [J].
DOLEV, D ;
DWORK, C ;
STOCKMEYER, L .
JOURNAL OF THE ACM, 1987, 34 (01) :77-97
[7]   IMPOSSIBILITY OF DISTRIBUTED CONSENSUS WITH ONE FAULTY PROCESS [J].
FISCHER, MJ ;
LYNCH, NA ;
PATERSON, MS .
JOURNAL OF THE ACM, 1985, 32 (02) :374-382
[8]   BASIC TECHNIQUES FOR THE EFFICIENT COORDINATION OF VERY LARGE NUMBERS OF COOPERATING SEQUENTIAL PROCESSORS [J].
GOTTLIEB, A ;
LUBACHEVSKY, BD ;
RUDOLPH, L .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1983, 5 (02) :164-189
[9]  
GOTTLIEB A, 1983, IEEE T COMPUT, V32, P175, DOI 10.1109/TC.1983.1676201
[10]  
HERLIHY M, 1988, 7TH P ACM SIGACT SIG, P276