ACM Home Page
Please provide us with feedback. Feedback
Linearizability: a correctness condition for concurrent objects
Full text PdfPdf (2.21 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 12 ,  Issue 3  (July 1990) table of contents
Pages: 463 - 492  
Year of Publication: 1990
ISSN:0164-0925
Authors
Maurice P. Herlihy  Carnegie-Mellon Univ., Pittsburgh, PA
Jeannette M. Wing  Carnegie-Mellon Univ., Pittsburgh, PA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 39,   Downloads (12 Months): 360,   Citation Count: 265
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/78969.78972
What is a DOI?

ABSTRACT

A concurrent object is a data object shared by concurrent processes. Linearizability is a correctness condition for concurrent objects that exploits the semantics of abstract data types. It permits a high degree of concurrency, yet it permits programmers to specify and reason about concurrent objects using known techniques from the sequential domain. Linearizability provides the illusion that each operation applied by concurrent processes takes effect instantaneously at some point between its invocation and its response, implying that the meaning of a concurrent object's operations can be given by pre- and post-conditions. This paper defines linearizability, compares it to other correctness conditions, presents and demonstrates a method for proving the correctness of implementations, and shows how to reason about concurrent objects, given they are linearizable.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
AEADI, M., AND LAMPORT, L. The existence of refinement mappings. Tech. Rep. 29, DEC Systems Research Center, Aug. 1988.
 
2
GOGUEN, J. A., THATCHER, J. W., WAGNER, E. G., AND WRIGHT, J.B. Abstract data types as initial algebras and correctness of data representations. In Proceedings of the Conference on Computer Graphics, Pattern Recognition and Data Structures (May 1975). ACM, New York, 1975, 89-93.
3
 
4
BAYER, R., AND SCHKOLNICK, M. Concurrency of operations on B-trees. Acta In{. 1, 1 (1977), 1-21.
 
5
BIRKHOFF, G., AND LIPSON, J.D. Heterogeneous algebras. J. Comb. Theor. 8 (1970), 115-133.
 
6
BISWAS, Z., AND BROWNE, J.C. Simultaneous update of priority structures. In Proceedings of the 1987 International Conference on Parallel Processing (St. Charles, Ill., 1987). 124-131.
 
7
 
8
BURSTALL, R. M., AND GOGUEN, J. A. Putting theories together to make specifications. In Fifth International Joint Conference on Artificial Intelligence (Cambridge, Mass., Aug. 1977). 1045-1058. Invited paper.
 
9
DEPARTMENT OF DEFENSE. Reference Manual for the ADA Programming Language. ANSI/ MIL-STD-1815A-1983, 1983.
 
10
 
11
ELLIS, C.S. Concurrent search and insertion in 2-3 trees. Acta Inf. 14 (1980), 63-86.
12
13
 
14
GERTH, R., AND DEROEVER, W.P. Proving monitors revisited: A first step towards verifying object oriented systems. Fundamental Inf. 9 (1986), 371-400.
15
 
16
GUIBAS, L., AND SEDGEWICK, R. A dichromatic framework for balanced trees. In 19th ACM Symposium on Foundations of Computer Science (Providence, R.I., 1978). ACM, New York, 1978, 8-21.
 
17
18
 
19
GUTTAG, J. V., HORNING, J. Z., AND WING, J.M. Larch in five easy pieces. Tech. Rep. 5, DEC Systems Research Center, July 1985.
 
20
GUTTAG, J. V., HORNING, J. J., AND WING, J.M. The Larch family of specification languages. IEEE Softw. 2, 5 (Sept. 1985), 24-36.
21
22
23
24
 
25
HOARE, C. A.R. Proof of correctness of data representations. Acta Inf. 1, I (1972), 271-281.
26
27
28
 
29
30
 
31
LAMPORT, L. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comput. C-28, 9 (Sept. 1979), 690-691.
32
33
 
34
35
 
36
NAKAJIMA, R., HONDA, M., AND NAKAHARA, H. Hierarchical program specification and verification--A many-sorted logical approach. Acta Inf. 14 (1980), 135-155.
37
 
38
OWICKI, S., AND GRIES, D. An axiomatic proof technique for parallel programs. Acta Inf. 6, 4 (1976), 319-340.
39
40
41
42
 
43
STANDISH, W. A. Data structures: An axiomatic approach. Rep. 2639, Bolt, Beranek, and Newman, Cambridge, Mass., Aug. 1973.
 
44
STIRLING, C. A generalization of Owicki-Gries-Hoare logic for a concurrent while language. Tech. Rep., Edinburgh Univ., March 1987.
 
45
HERLIHY, M. P., AND WING, J.M. Axioms for concurrent objects. Tech. Rep. CMU-CS-86-154, Computer Science Dept., Carnegie Mellon Univ., 1986.
46

CITED BY  265


REVIEW

"Jan Hendrik Jongejan : Reviewer"

Linearizability is a new concept that can be applied when correctness proofs are needed for operations on data objects that are shared by concurrent processes. Operations on data objects take place sometime between a corresponding invocation a  more...

Collaborative Colleagues:
Maurice P. Herlihy: colleagues
Jeannette M. Wing: colleagues