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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Alur, R., Attiya, H., Taubenfeld, G.: Time-adaptive algorithms for synchronization. SIAM Journal on Computing 26(2), 539–556 (1997)
Chandra, T.D., Toueg, S.: Unreliable failure detectors for reliable distributed systems. Journal of the ACM 43(2), 225–267 (1996)
Dolev, D., Dwork, C., Stockmeyer, L.: On the minimal synchronism needed for distributed consensus. Journal of the ACM 34(1), 77–97 (1987)
Dwork, C., Lynch, N., Stockmeyer, L.: Consensus in the presence of partial synchrony. Journal of the ACM 35(2), 288–323 (1988)
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)
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)
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)
Herlihy, M.P.: Wait-free synchronization. ACM Trans. on Programming Languages and Systems 13(1), 124–149 (1991)
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)
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)
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)
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)
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)
Taubenfeld, G.: Computing in the presence of timing failures. In: ICDCS 2006. Proc. 26th Int’l IEEE Conference on Distributed Computing Systems (2006)
Taubenfeld, G.: Synchronization Algorithms and Concurrent Programming. Pearson / Prentice-Hall, p. 423 (2006), ISBN 0-131-97259-6
Valois, J.D.: Implementing lock-free queues. In: Proc. of the 7th International Conference on Parallel and Distributed Computing Systems, pp. 212–222 (1994)
Author information
Authors and Affiliations
Editor information
Rights 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)