Years and Authors of Summarized Original Work
-
1991; Herlihy
Problem Definition
The traditional use of locking to maintain consistency of shared data in concurrent programs has a number of disadvantages related to software engineering, robustness, performance, and scalability. As a result, a great deal of research effort has gone into nonblocking synchronization mechanisms over the last few decades.
Herlihy's seminal paper Wait-Free Synchronization [12] studied the problem of implementing concurrent data structures in a wait-free manner, i.e., so that every operation on the data structure completes in a finite number of steps by the invoking thread, regardless of how fast or slow other threads run and even if some or all of them halt permanently. Implementations based on locks are not wait-free because, while one thread holds a lock, others can take an unbounded number of steps waiting to acquire the lock. Thus, by requiring implementations to be wait-free, some of the disadvantages of...
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Recommended Reading
Agarwal A, Cherian M (1989) Adaptive backoff synchronization techniques. In: Proceedings of the 16th annual international symposium on computer architecture. ACM Press, New York, pp 396–406
Aguilera MK, Frolund S, Hadzilacos V, Horn SL, Toueg S (2006) Brief announcement: abortable and query-abortable objects. In: Proceedings of the 20th annual international symposium on distributed computing
Attiya H, Guerraoui R, Hendler D, Kouznetsov P (2006) Synchronizing without locks is inherently expensive. In: PODC’06: proceedings of the twenty-fifth annual ACM symposium on principles of distributed computing. ACM Press, New York, pp 300–307
Attiya H, Guerraoui R, Kouznetsov P (2005) Computing with reads and writes in the absence of step contention. In: Proceedings of the 19th annual international symposium on distributed computing
Damron P, Fedorova A, Lev Y, Luchangco V, Moir M, Nussbaum D (2006) Hybrid transactional memory. In: Proceedings of the 12th symposium on architectural support for programming languages and operating systems
Fich F, Luchangco V, Moir M, Shavit N (2005) Brief announcement: obstruction-free step complexity: lock-free DCAS as an example. In: Proceedings of the 19th annual international symposium on distributed computing
Fich F, Luchangco V, Moir M, Shavit N (2005) Obstruction-free algorithms can be practically wait-free. In: Proceedings of the 19th annual international symposium on distributed computing
Fraser K, Harris T (2004) Concurrent programming without locks. http://www.cl.cam.ac.uk/netos/papers/2004-cpwl-submission.pdf
Guerraoui R, Herlihy M, Pochon B (2005) Polymorphic contention management. In: Proceedings of the 19th annual international symposium on distributed computing
Guerraoui R, Herlihy M, Pochon B (2005) Toward a theory of transactional contention managers. In: Proceedings of the 24th annual ACM symposium on principles of distributed computing, pp 258–264
Guerraoui R, Kapalka M, Kouznetsov P (2006) The weakest failure detector to boost obstruction freedom. In: Proceedings of the 20th annual international symposium on distributed computing
Herlihy M (1991) Wait-free synchronization. ACM Trans Program Lang Syst 13(1):124–149
Herlihy M (1993) A methodology for implementing highly concurrent data objects. ACM Trans Program Lang Syst 15(5):745–770
Herlihy M, Luchangco V, Moir M (2002) Obstruction-free mechanism for atomic update of multiple non-contiguous locations in shared memory. US Patent Application 20040034673
Herlihy M, Luchangco V, Moir M (2003) Obstruction-free synchronization: double-ended queues as an example. In: Proceedings of the 23rd international conference on distributed computing systems
Herlihy M, Luchangco V, Moir M, Scherer W III (2003) Software transactional memory for supporting dynamic-sized data structures. In: Proceedings of the 22th annual ACM symposium on principles of distributed computing, pp 92–101
Herlihy M, Moss JEB (1993) Transactional memory: architectural support for lock-free data structures. In: Proceedings of the 20th annual international symposium on computer architecture, pp 289–300
Luchangco V, Moir M, Shavit N (2005) On the uncontended complexity of consensus. In: Proceedings of the 17th annual international symposium on distributed computing
Marathe VJ, Moir M (2008) Toward high performance nonblocking software transactional memory. In: Proceedings of the 13th ACM SIGPLAN symposium on principles and practice of parallel programming. ACM, New York, pp 227–236
Marathe V, Scherer W, Scott M (2005) Adaptive software transactional memory. In: Proceedings of the 19th annual international symposium on distributed computing
Michael M, Scott M (1998) Nonblocking algorithms and preemption-safe locking on multiprogrammed shared memory multiprocessors. J Parallel Distrib Comput 51(1):1–26
Scherer W, Scott M (2005) Advanced contention management for dynamic software transactional memory. In: Proceedings of the 24th annual ACM symposium on principles of distributed computing
Shavit N, Touitou D (1997) Software transactional memory. Distrib Comput Special Issue 10:99–116
Treiber R (1986) Systems programming: coping with parallelism. Technical Report RJ5118, IBM Almaden Research Center
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer Science+Business Media New York
About this entry
Cite this entry
Moir, M. (2016). Wait-Free Synchronization. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, New York, NY. https://doi.org/10.1007/978-1-4939-2864-4_472
Download citation
DOI: https://doi.org/10.1007/978-1-4939-2864-4_472
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4939-2863-7
Online ISBN: 978-1-4939-2864-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering