Fast Randomized Test-and-Set and Renaming

Most people believe that renaming is easy: simply choose a name at random; if more than one process selects the same name, then try again. We highlight the issues that occur when trying to implement such a scheme and shed new light on the read-write complexity of randomized renaming in an asynchronous environment. At the heart of our new perspective stands an adaptive implementation of a randomized test-and-set object, that has poly-logarithmic step complexity per operation, with high probability. Interestingly, our implementation is anonymous, as it does not require process identifiers. Based on this implementation, we present two new randomized renaming algorithms. The first ensures a tight namespace of n names using O(n log4 n) total steps, with high probability. This significantly improves on the complexity of the best previously known namespace-optimal algorithms. The second algorithm achieves a namespace of size k(1 + e) using O(k log4 k/ log2(1 + e)) total steps, both with high probability, where k is the total contention in the execution. It is the first adaptive randomized renaming algorithm, and it improves on existing deterministic solutions by providing a smaller namespace, and by lowering step complexity.

[1]  Dariusz R. Kowalski,et al.  Asynchronous exclusive selection , 2008, PODC '08.

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

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

[4]  Mark Moir,et al.  Fast, Long-Lived Renaming (Extended Abstract) , 1994, WDAG.

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

[6]  Sergio Rajsbaum,et al.  New combinatorial topology upper and lower bounds for renaming , 2008, PODC '08.

[7]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1983, PODS '83.

[8]  Marina Papatriantafilou,et al.  Randomized naming using wait-free shared variables , 1998, Distributed Computing.

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

[10]  Sergey Yekhanin,et al.  Towards 3-query locally decodable codes of subexponential length , 2008, JACM.

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

[12]  Hagit Attiya,et al.  Tight bounds for asynchronous randomized consensus , 2007, STOC '07.

[13]  Yehuda Afek,et al.  Wait-free Test-and-Set (Extended Abstract) , 1992, WDAG.

[14]  Eli Upfal,et al.  Probability and Computing: Randomized Algorithms and Probabilistic Analysis , 2005 .

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

[16]  Chryssis Georgiou,et al.  Do-All Computing in Distributed Systems: Cooperation in the Presence of Adversity , 2007 .

[17]  James Aspnes,et al.  Randomized Consensus in Expected O(n log² n) Operations Per Processor , 1996, SIAM J. Comput..

[18]  Russ Bubley,et al.  Randomized algorithms , 1995, CSUR.

[19]  Faith Ellen,et al.  Fully-adaptive algorithms for long-lived renaming , 2006, Distributed Computing.

[20]  Dariusz R. Kowalski,et al.  Writing-all deterministically and optimally using a non-trivial number of asynchronous processors , 2004, SPAA '04.

[21]  Max Buot Probability and Computing: Randomized Algorithms and Probabilistic Analysis , 2006 .

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

[23]  Hagit Attiya,et al.  Efficient adaptive collect using randomization , 2004, Distributed Computing.

[24]  Alexander Russell,et al.  The complexity of synchronous iterative Do-All with crashes , 2003, Distributed Computing.

[25]  Lisa Higham,et al.  Long-Lived, Fast, Waitfree Renaming with Optimal Name Space and High Throughput , 1998, DISC.

[26]  James H. Anderson,et al.  Adaptive mutual exclusion with local spinning , 2006, Distributed Computing.

[27]  Paul M. B. Vitányi,et al.  Randomized two-process wait-free test-and-set , 2001, Distributed Computing.

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

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

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

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