Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Wait-free synchronization
Herlihy M. ACM Transactions on Programming Languages and Systems13 (1):124-149,1991.Type:Article
Date Reviewed: Jan 1 1992

A set of concurrent processes sharing a data object form a fault-tolerant system only if nonfaulty processes can complete their operations in a finite number of steps even if the system contains arbitrarily slow, including halted, processes provided that, except for sharing the object, these slow processes are independent of the nonfaulty processes. An implementation of a data object that guarantees this is called wait-free. Wait-free implementations have a clear advantage, which has led to considerable interest in such implementations of objects.

This paper develops a proof technique for statements of the form “X cannot provide a wait-free implementation of Y.” This technique is then used to derive a hierarchy of objects such that no object can provide a wait-free implementation of any object at a higher level. Herlihy goes on to show that several classical synchronization primitives are unable to provide wait-free implementations of all sequential objects shared by a finite set of processes, but that objects do exist that can.

Considering its length, the paper is elegant, thorough, and well-motivated throughout. It is also highly self-contained in the sense that any computer scientist should be able to read it without needing to dig up a multi-link chain of prior references to get the background. As such, I commend this paper as a model for anyone contemplating writing a paper with more than one theorem in it: considering the wide acceptance of programming disciplines such as top-down refinement in our field, it is amazing how many technical papers insist on throwing theorem after theorem at the reader without once pausing to suggest a plausible reason for doing so; in contrast, the technical content of this paper follows naturally from the discussion in which it is embedded.

Reviewer:  P. N. van den Bosch Review #: CR115253
Bookmark and Share
 
Concurrent Programming Structures (D.3.3 ... )
 
 
Concurrency (D.4.1 ... )
 
 
Synchronization (D.4.1 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Concurrent Programming Structures": Date
Parallel expression in the APL2 language
Willhoft R. IBM Systems Journal 30(4): 498-512, 1991. Type: Article
Dec 1 1993
Actors: a conceptual foundation for concurrent object-oriented programming
Agha G., Hewitt C., MIT Press, Cambridge, MA, 1987. Type: Book (9780262192644)
Jul 1 1989
Modeling the ADA task system by Petri nets
Mandrioli D., Zicari R., Ghezzi C. (ed), Tisato F. Information Systems 10(1): 43-61, 1985. Type: Article
Nov 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy