Adaptive and Efficient Algorithms for Lattice Agreement and Renaming

In a shared-memory system, n independent asynchronous processes, with distinct names in the range {0, ..., N-1}, communicate by reading and writing to shared registers. An algorithm is wait-free if a process completes its execution regardless of the behavior of other processes. This paper considers wait-free algorithms whose complexity adjusts to the level of contention in the system: An algorithm is adaptive (to total contention) if its step complexity depends only on the actual number of active processes, k; this number is unknown in advance and may change in different executions of the algorithm. Adaptive algorithms are presented for two important decision problems, lattice agreement and (6k-1)-renaming; the step complexity of both algorithms is O(k log k). An interesting component of the (6k-1)-renaming algorithm is an O(N) algorithm for (2k-1)-renaming; this improves on the best previously known (2k-1)-renaming algorithm, which has O(Nnk) step complexity. The efficient renaming algorithm can be modified into an O(N) implementation of atomic snapshots using dynamic single-writer multi-reader registers. The best known implementations of atomic snapshots have step complexity O(N log N) using static single-writer multi-reader registers, and O(N) using multi-writer multi-reader registers.

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

[2]  Gary L. Peterson,et al.  The ambiguity of choosing , 1989, PODC '89.

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

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

[5]  G. Taubenfeld,et al.  Results about fast mutual exclusion , 1992, [1992] Proceedings Real-Time Systems Symposium.

[6]  Eli Gafni,et al.  Immediate atomic snapshots and fast renaming , 1993, PODC '93.

[7]  Manhoi Choy,et al.  Adaptive solutions to the mutual exclusion problem , 1993, PODC '93.

[8]  Hagit Attiya,et al.  Atomic snapshots in O(n log n) operations , 1993, PODC '93.

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

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

[11]  Yehuda Afek,et al.  Wait-free made fast , 1995, STOC '95.

[12]  Mark Moir,et al.  Fast, Long-Lived Renaming Improved and Simplified , 1996, WDAG.

[13]  Mark Moir,et al.  Using local-spin k-exclusion algorithms to improve wait-free object implementations , 1997, Distributed Computing.

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

[15]  Hagit Attiya,et al.  Adaptive wait-free algorithms for lattice agreement and renaming (extended abstract) , 1998, PODC '98.

[16]  Hagit Attiya,et al.  Long-lived renaming made adaptive , 1999, PODC '99.

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

[18]  Yehuda Afek,et al.  Long-lived adaptive collect with applications , 1999, 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).

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

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

[21]  Yehuda Afek,et al.  Long-lived and adaptive atomic snapshot and immediate snapshot (extended abstract) , 2000, PODC '00.

[22]  Hagit Attiya,et al.  Adaptive and efficient mutual exclusion , 2002, PODC '00.

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

[24]  Yehuda Afek,et al.  Long lived adaptive splitter and applications , 2002, Distributed Computing.

[25]  Ophir Rachman,et al.  Atomic snapshots using lattice agreement , 1995, Distributed Computing.

[26]  G. S. Graham A New Solution of Dijkstra ' s Concurrent Programming Problem , 2022 .