Randomized registers and iterative algorithms

Abstract.We present three different specifications of a read-write register that may occasionally return out-of-date values - namely, a (basic) random register, a P-random register, and a monotone random register. We show that these specifications are implemented by the probabilistic quorum algorithm of Malkhi, Reiter, Wool, and Wright, and we illustrate how to program with such registers in the framework of Bertsekas, using the notation of Üresin and Dubois. Consequently, existing iterative algorithms for a significant class of problems (including solving systems of linear equations, finding shortest paths, constraint satisfaction, and transitive closure) will converge with high probability if executed in a system in which the shared data is implemented with registers satisfying the new specifications. Furthermore, the algorithms in this framework will inherit positive attributes concerning load and fault-tolerance from the underlying register implementation. The expected convergence time for iterative algorithms using the monotone implementation is analyzed and shown experimentally to improve on that of the original implementation. The message complexity for iterative algorithms using the monotone probabilistic quorum implementation is shown to improve on that of non-probabilistic implementations in a quantifiable situation.

[1]  Roy Friedman,et al.  A Correctness Condition for High-Performance Multiprocessors , 1998, SIAM J. Comput..

[2]  Dimitri P. Bertsekas,et al.  Distributed asynchronous computation of fixed points , 1983, Math. Program..

[3]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[4]  Michael K. Reiter,et al.  Probabilistic quorum systems , 1997, PODC '97.

[5]  Wojciech Szpankowski,et al.  Yet another application of a binomial recurrence order statistics , 1990, Computing.

[6]  David S. Greenberg,et al.  Computing with faulty shared objects , 1995, JACM.

[7]  Moni Naor,et al.  The Load, Capacity, and Availability of Quorum Systems , 1998, SIAM J. Comput..

[8]  Roy Friedman,et al.  A correctness condition for high-performance multiprocessors (extended abstract) , 1992, STOC '92.

[9]  Jennifer L. Welch,et al.  Randomized Shared Queues Applied to Distributed Optimization Algorithms , 2001, ISAAC.

[10]  Michael K. Reiter,et al.  Byzantine quorum systems , 1997, STOC '97.

[11]  Nir Shavit,et al.  Combining funnels: a new twist on an old tale… , 1998, PODC '98.

[12]  John N. Tsitsiklis,et al.  Parallel and distributed computation , 1989 .

[13]  Rajeev Motwani,et al.  Randomized algorithms , 1996, CSUR.

[14]  Michel Dubois,et al.  Effects of Asynchronism on the Convergence Rate of Iterative Algorithms , 1996, J. Parallel Distributed Comput..

[15]  Mark D. Hill,et al.  Weak ordering—a new definition , 1998, ISCA '98.

[16]  Michel Dubois,et al.  Parallel asynchronous algorithms for discrete data , 1990, JACM.

[17]  Roy Friedman,et al.  Shared Memory Consistency Conditions for Nonsequential Execution: Definitions and Programming Strategies , 1998, SIAM J. Comput..

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

[19]  Haifeng Yu,et al.  Overcoming the Majority Barrier in Large-Scale Systems , 2003, DISC.

[20]  W. Szpankowski,et al.  Yet Another Application of a Binomial Recurrence , 1988 .

[21]  N. Shavit,et al.  Combining Funnels , 1998 .

[22]  Rajiv Gupta,et al.  On randomization in sequential and distributed algorithms , 1994, CSUR.

[23]  Nir Shavit,et al.  Diffracting trees , 1996, TOCS.

[24]  David Peleg,et al.  The Availability of Quorum Systems , 1995, Inf. Comput..

[25]  Gil Neiger,et al.  Causal Memory , 1991, WDAG.

[26]  Friedhelm Meyer auf der Heide,et al.  Simulating Shared Memory in Real Time: On the Computation Power of Reconfigurable Architectures , 1997, Inf. Comput..

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

[28]  Roy Friedman,et al.  Shared memory consistency conditions for non-sequential execution: definitions and programming strategies , 1993, SPAA '93.