Obstruction-Free Algorithms Can Be Practically Wait-Free

  • Faith Ellen Fich
  • Victor Luchangco
  • Mark Moir
  • Nir Shavit
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3724)


The obstruction-free progress condition is weaker than previous nonblocking progress conditions such as lock-freedom and wait-freedom, and admits simpler implementations that are faster in the uncontended case. Pragmatic contention management techniques appear to be effective at facilitating progress in practice, but, as far as we know, none guarantees progress.

We present a transformation that converts any obstruction-free algorithm into one that is wait-free when analyzed in the unknown-bound semisynchronous model. Because all practical systems satisfy the assumptions of the unknown-bound model, our result implies that, for all practical purposes, obstruction-free implementations can provide progress guarantees equivalent to wait-freedom. Our transformation preserves the advantages of any pragmatic contention manager, while guaranteeing progress.


Failure Detector Activity Counter Consensus Algorithm Software Transactional Memory Timing Assumption 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Agarwal, A., Cherian, M.: Adaptive backoff synchronization techniques. In: Proceedings of the 16th International Symposium on Computer Architecture, May 1989, pp. 396–406 (1989)Google Scholar
  2. 2.
    Alur, R., Attiya, H., Taubenfeld, G.: Time-adaptive algorithms for synchronization. SIAM J. Comput. 26(2), 539–556 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Arora, N.S., Blumofe, R.D., Plaxton, C.G.: Thread scheduling for multiprogrammed multiprocessors. Theory of Computing Systems 34(2), 115–144 (2001)zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Aspnes, J., Herlihy, M., Shavit, N.: Counting networks. Journal of the ACM 41(5), 1020–1048 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Attiya, H., Mavronicolas, M.: Efficiency of semisynchronous versus asynchronous networks. Math. Syst. Theory 27(6), 547–571 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Burns, J.E., Lynch, N.A.: Bounds on shared memory for mutual exclusion. Information and Computation 107(2), 171–184 (1993)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Chandra, T.D., Toueg, S.: Unreliable failure detectors for reliable distributed systems. J. ACM 43(2), 225–267 (1996)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Chase, D., Lev, Y.: Dynamic circular work-stealing deque. In: Proceedings of the 17th Annual ACM Symposium on Parallelism in Algorithms and Architectures, pp. 21–28. ACM Press, New York (2005)CrossRefGoogle Scholar
  9. 9.
    Dwork, C., Lynch, N., Stockmeyer, L.: Consensus in the presence of partial synchrony. J. ACM 35(2), 288–323 (1988)CrossRefMathSciNetGoogle Scholar
  10. 10.
    Fischer, M.: Personal communication with Leslie Lamport (June 1985)Google Scholar
  11. 11.
    Fischer, M., Lynch, N., Paterson, M.: Impossibility of distributed consensus with one faulty process. Journal of the ACM, 374–382 (1985)Google Scholar
  12. 12.
    Gafni, E., Lamport, L.: Disk Paxos. In: Herlihy, M.P. (ed.) DISC 2000. LNCS, vol. 1914, pp. 330–344. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  13. 13.
    Gafni, E., Mitzenmacher, M.: Analysis of timing-based mutual exclusion with random times. In: PODC 1999: Proceedings of the 18th Annual ACM Symposium on Principles of Distributed Computing, pp. 13–21. ACM Press, New York (1999)CrossRefGoogle Scholar
  14. 14.
    Guerraoui, R., Herlihy, M., Pochon, B.: Toward a theory of transactional contention managers. In: Proceedings of the 24th Annual ACM Symposium on Principles of Distributed Computing, pp. 258–264. ACM Press, New York (2005)Google Scholar
  15. 15.
    Herlihy, M.: Wait-free synchronization. ACM Transactions on Programming Languages and Systems 13(1), 124–149 (1991)CrossRefGoogle Scholar
  16. 16.
    Herlihy, M., Luchangco, V., Moir, M.: Obstruction-free synchronization: Double-ended queues as an example. In: Proc. 23rd International Conference on Distributed Computing Systems (2003)Google Scholar
  17. 17.
    Herlihy, M., Luchangco, V., Moir, M.: Space- and time-adaptive nonblocking algorithms. In: Proceedings of Computing: The Australasian Theory Symposium, CATS (2003)Google Scholar
  18. 18.
    Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for supporting dynamic-sized data structures. In: Proc. 22nd Annual ACM Symposium on Principles of Distributed Computing, pp. 92–101 (2003)Google Scholar
  19. 19.
    Lo, W.-K., Hadzilacos, V.: Using failure detectors to solve consensus in asynchronous shared-memory systems (extended abstract). In: Tel, G., Vitányi, P.M.B. (eds.) WDAG 1994. LNCS, vol. 857, pp. 280–295. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  20. 20.
    Loui, M.C., Abu-Amara, H.H.: Memory requirements for agreement among unreliable asynchronous processes. In: Preparata, F.P. (ed.) Advances in Computing Research, vol. 4, pp. 163–183. JAI Press, Greenwich (1987)Google Scholar
  21. 21.
    Luchangco, V., Moir, M., Shavit, N.: Nonblocking k-compare-single-swap. In: SPAA 2003: Proceedings of the 15th Annual ACM Symposium on Parallel Algorithms and Architectures, pp. 314–323. ACM Press, New York (2003)CrossRefGoogle Scholar
  22. 22.
    Lynch, N., Shavit, N., Shvartsman, A., Touitou, D.: Timing conditions for linearizability in uniform counting networks. Theor. Comput. Sci. 220(1), 67–91 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    Lynch, N.A., Shavit, N.: Timing-based mutual exclusion. In: IEEE Real-Time Systems Symposium, pp. 2–11. IEEE Press, Los Alamitos (1992)Google Scholar
  24. 24.
    Mavronicolas, M., Papatriantafilou, M., Tsigas, P.: The impact of timing on linearizability in counting networks. In: IPPS 1997: Proceedings of the 11th International Symposium on Parallel Processing, pp. 684–688. IEEE Computer Society, Los Alamitos (1997)CrossRefGoogle Scholar
  25. 25.
    Michael, M., Scott, M.: Nonblocking algorithms and preemption-safe locking on multiprogrammed shared-memory multiprocessors. Journal of Parallel and Distributed Computing 51(1), 1–26 (1998)zbMATHCrossRefGoogle Scholar
  26. 26.
    Scherer III, W.N., Scott, M.L.: Contention management in dynamic software transactional memory. In: Moir, M., Shavit, N. (eds.) Proceedings of Workshop on Concurrency and Sycnhronization in Java Programs (July 2004)Google Scholar
  27. 27.
    Scherer III, W.N., Scott, M.L.: Advanced contention management for dynamic software transactional memory. In: Proceedings of the 24th Annual ACM Symposium on Principles of Distributed Computing, pp. 240–248. ACM Press, New York (2005)Google Scholar
  28. 28.
    Treiber, R.K.: Systems programming: Coping with parallelism. Technical Report RJ 5118, IBM Almaden Research Center (April 1986)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Faith Ellen Fich
    • 2
  • Victor Luchangco
    • 1
  • Mark Moir
    • 1
  • Nir Shavit
    • 1
  1. 1.Sun Microsystems Laboratories 
  2. 2.University of Toronto 

Personalised recommendations