Skip to main content

Efficient Transformations of Obstruction-Free Algorithms into Non-blocking Algorithms

  • Conference paper
Distributed Computing (DISC 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4731))

Included in the following conference series:

Abstract

Three well studied progress conditions for implementing concurrent algorithms without locking are, obstruction-freedom, non-blocking and wait-freedom. Obstruction-freedom is weaker than non-blocking which, in turn, is weaker than wait-freedom. While obstruction-freedom and non-blocking have the potential to significantly improve the performance of concurrent applications, wait-freedom (although desirable) imposes too much overhead upon the implementation.

In [5], Fich, Luchangco, Moir, and Shavit have presented an interesting transformation that converts any obstruction-free algorithm into a wait-free algorithm when analyzed in the unknown-bound semi-synchronous model. The FLMS transformation uses n atomic single-writer registers, n atomic multi-writer registers and a single fetch-and-increment object, where n is the number of processes.

We define a time complexity measure for analyzing such transformations, and prove that the time complexity of the FLMS transformation is exponential in the number of processes n. This leads naturally to the question of whether the time and/or space complexity of the FLMS transformation can be improved by relaxing the wait-freedom progress condition. We present several efficient transformations that convert any obstruction-free algorithm into a non-blocking algorithm when analyzed in the unknown-bound semi-synchronous model. All our transformations have O(1) time complexity. One transformation uses n atomic single-writer registers and a single compare-and-swap object; another transformation uses only a single compare-and-swap object which is assumed to support also a read operation.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alur, R., Attiya, H., Taubenfeld, G.: Time-adaptive algorithms for synchronization. SIAM Journal on Computing 26(2), 539–556 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  2. Chandra, T.D., Toueg, S.: Unreliable failure detectors for reliable distributed systems. Journal of the ACM 43(2), 225–267 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  3. Dolev, D., Dwork, C., Stockmeyer, L.: On the minimal synchronism needed for distributed consensus. Journal of the ACM 34(1), 77–97 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  4. Dwork, C., Lynch, N., Stockmeyer, L.: Consensus in the presence of partial synchrony. Journal of the ACM 35(2), 288–323 (1988)

    Article  MathSciNet  Google Scholar 

  5. Fich, E.F., Luchangco, V., Moir, M., Shavit, N.: Obstruction-free algorithms can be practically wait-free. In: Fraigniaud, P. (ed.) DISC 2005. LNCS, vol. 3724, pp. 78–92. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  6. Guerraoui, R., Herlihy, M., Pochon, B.: Towards a theory of transactional contention managers. In: Proc. 24th Symposium on Principles of Distributed Computing, pp. 258–264 (2005)

    Google Scholar 

  7. Guerraoui, R., Kapalka, M., Kouznetsov, P.: The weakest failure detectors to boost obstruction-freedom. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 376–390. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  8. Herlihy, M.P.: Wait-free synchronization. ACM Trans. on Programming Languages and Systems 13(1), 124–149 (1991)

    Article  Google Scholar 

  9. Herlihy, M.P., Luchangco, V., Moir, M.: Obstruction-free synchronization: Double-ended queues as an example. In: Proc. of the 23rd International Conf. on Dist. Computing Systems, p. 522 (2003)

    Google Scholar 

  10. Herlihy, M.P., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: Proc. 22nd ACM Symp. on Principles of Distributed Computing, pp. 92–101. ACM Press, New York (2003)

    Google Scholar 

  11. Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. on Programming Languages and Systems 12(3), 463–492 (1990)

    Article  Google Scholar 

  12. Raynal, M., Taubenfeld, G.: The notion of a timed register and its application to indulgent synchronization. In: Proc. 19th ACM Symp. on Parallelism in Algorithms and Architectures, ACM Press, New York (2007)

    Google Scholar 

  13. Scherer III, W.N., Scott, M.L.: Advanced contention management for dynamic software transactional memory. In: Proc. 24th Symposium on Principles of Distributed Computing, pp. 240–248 (2005)

    Google Scholar 

  14. Taubenfeld, G.: Computing in the presence of timing failures. In: ICDCS 2006. Proc. 26th Int’l IEEE Conference on Distributed Computing Systems (2006)

    Google Scholar 

  15. Taubenfeld, G.: Synchronization Algorithms and Concurrent Programming. Pearson / Prentice-Hall, p. 423 (2006), ISBN 0-131-97259-6

    Google Scholar 

  16. Valois, J.D.: Implementing lock-free queues. In: Proc. of the 7th International Conference on Parallel and Distributed Computing Systems, pp. 212–222 (1994)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Andrzej Pelc

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Taubenfeld, G. (2007). Efficient Transformations of Obstruction-Free Algorithms into Non-blocking Algorithms. In: Pelc, A. (eds) Distributed Computing. DISC 2007. Lecture Notes in Computer Science, vol 4731. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75142-7_34

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-75142-7_34

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-75141-0

  • Online ISBN: 978-3-540-75142-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics