Skip to main content

Wait-Free Synchronization

  • Reference work entry
  • First Online:
Encyclopedia of Algorithms
  • 446 Accesses

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...

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Recommended Reading

  1. 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

    Google Scholar 

  2. 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

    Google Scholar 

  3. 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

    Google Scholar 

  4. 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

    Google Scholar 

  5. 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

    Google Scholar 

  6. 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

    Google Scholar 

  7. 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

    Google Scholar 

  8. Fraser K, Harris T (2004) Concurrent programming without locks. http://www.cl.cam.ac.uk/netos/papers/2004-cpwl-submission.pdf

    Google Scholar 

  9. Guerraoui R, Herlihy M, Pochon B (2005) Polymorphic contention management. In: Proceedings of the 19th annual international symposium on distributed computing

    Google Scholar 

  10. 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

    Google Scholar 

  11. 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

    Google Scholar 

  12. Herlihy M (1991) Wait-free synchronization. ACM Trans Program Lang Syst 13(1):124–149

    Google Scholar 

  13. Herlihy M (1993) A methodology for implementing highly concurrent data objects. ACM Trans Program Lang Syst 15(5):745–770

    Google Scholar 

  14. 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

    Google Scholar 

  15. 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

    Google Scholar 

  16. 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

    Google Scholar 

  17. 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

    Google Scholar 

  18. Luchangco V, Moir M, Shavit N (2005) On the uncontended complexity of consensus. In: Proceedings of the 17th annual international symposium on distributed computing

    Google Scholar 

  19. 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

    Google Scholar 

  20. Marathe V, Scherer W, Scott M (2005) Adaptive software transactional memory. In: Proceedings of the 19th annual international symposium on distributed computing

    Google Scholar 

  21. Michael M, Scott M (1998) Nonblocking algorithms and preemption-safe locking on multiprogrammed shared memory multiprocessors. J Parallel Distrib Comput 51(1):1–26

    Google Scholar 

  22. 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

    Google Scholar 

  23. Shavit N, Touitou D (1997) Software transactional memory. Distrib Comput Special Issue 10:99–116

    Google Scholar 

  24. Treiber R (1986) Systems programming: coping with parallelism. Technical Report RJ5118, IBM Almaden Research Center

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics