Wait-free computing: an introductory lecture

This paper is a short introduction to wait-free computing. "Wait-free" means that the progress of a process depends only on it, regardless of the other processes (that can progress slowly or even crash). To illustrate wait-free computing, the paper considers the design of two concurrent objects, namely, a renaming object and a snapshot object. A renaming object allows the processes to acquire new names from a smaller name space despite possible process crashes. A snapshot object provides the processes with an array-like data structure (with one entry per process) offering two operations. The write operation allows a process to update its own entry. The snapshot operation allows a process to read all the entries in such a way that the reading of the whole array appears as it is was an atomic operation. A renaming protocol by Moir and Anderson and a snapshot protocol by Afek et al. are used to illustrate the beauty and subtleties of wait-free computing.

[1]  Hagit Attiya,et al.  Renaming in an asynchronous environment , 1990, JACM.

[2]  Gary L. Peterson,et al.  Concurrent Reading While Writing , 1983, TOPL.

[3]  Mark Moir,et al.  Wait-Free Algorithms for Fast, Long-Lived Renaming , 1995, Sci. Comput. Program..

[4]  Hagit Attiya,et al.  Polynominal and Adaptive Long-Lived (2k-1)-Renaming , 2000, DISC.

[5]  Michel Raynal The Renaming Problem as an Introduction to Structures for Wait-Free Computing , 2003, PaCT.

[6]  Nancy A. Lynch,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[7]  Wei Chen,et al.  Linear-Time Snapshot Using Multi-writer Multi-reader Registers , 1994, WDAG.

[8]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[9]  Sam Toueg,et al.  Fault-tolerant wait-free shared objects , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[10]  Hagit Attiya,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 1998 .

[11]  Hagit Attiya,et al.  Adaptive and Efficient Algorithms for Lattice Agreement and Renaming , 2002, SIAM J. Comput..

[12]  Hagit Attiya,et al.  Atomic Snapshots in O(n log n) Operations , 1998, SIAM J. Comput..

[13]  Maurice Herlihy,et al.  Wait-free synchronization , 1991, TOPL.

[14]  Mark Moir Fast, Long-Lived Renaming Improved and Simplified , 1998, Sci. Comput. Program..

[15]  Leslie Lamport,et al.  A fast mutual exclusion algorithm , 1987, TOCS.

[16]  Yehuda Afek,et al.  Fast, wait-free (2k-1)-renaming , 1999, PODC '99.

[17]  Hagit Attiya,et al.  Algorithms adapting to point contention , 2003, JACM.

[18]  Hagit Attiya,et al.  An adaptive collect algorithm with applications , 2002, Distributed Computing.

[19]  Maurice Herlihy,et al.  The topological structure of asynchronous computability , 1999, JACM.

[20]  Nir Shavit,et al.  Atomic snapshots of shared memory , 1990, JACM.

[21]  Leslie Lamport,et al.  Concurrent reading and writing , 1977, Commun. ACM.

[22]  J. Stanley Warford Computing Fundamentals , 2002, Vieweg+Teubner Verlag.