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.
Similar content being viewed by others
References
Adve S, Hill M: Weak ordering - a new definition. In: Proceedings of the 17th Annual International Symposium on Computer Architecture 1990, pp 2-14
Afek Y, Greenberg D, Merritt M, Taubenfeld G: Computing with Faulty Shared Objects. J. ACM 42(6), 1231-1274 (1995)
Ahamad M, Burns JE, Hutto PW, Neiger G: Causal Memory. In: Proceedings of the 5th International Workshop on Distributed Algorithms, Oct. 1991, pp 9-30
Attiya H, Chaudhuri S, Friedman R, Welch J: Shared Memory Consistency Conditions for Nonsequential Execution: Definitions and Programming Strategies. SIAM J. Computing 27(1), 65-89 (1998)
Attiya H, Friedman R: A Correctness Condition for High-Performance Multiprocessors. In: Proceedings of the 24th ACM Symposium on Theory of Computing, 1992, pp 679-690
Bertsekas D: Distributed Asynchronous Computation of Fixed Points. Mathematical Programming 27, 107-120 (1983)
Bertsekas D, Tsitsiklis, J: Parallel and Distributed Computation. Prentice-Hall Inc., Englewood Cliffs, NJ, 1989
Chazan D, Miranker W: Chaotic relaxation. Linear Algebra and Its Applications 2, 199-222 (1969)
Czumaj A, Meyer auf der Heide F, Stemann V: Simulating Shared Memory in Real Time: On the Computation Power of Reconfigurable Architectures. Information and Computation, 137, 103-120 (1997)
Gupta R, Smolka S, Bhaskar S: On Randomization in Sequential and Distributed Algorithms. ACM Computing Surveys 26(1), 7-86 (1994)
Herlihy MP, Wing JM: Linearizability: A Correctness Condition for Concurrent Objects. ACM Trans. Program. Lang. Syst. 12(3), 463-492 (1990)
Jayanti P, Chandra T, Toueg S: Fault-tolerant wait-free shared objects. J. ACM 45(3), 451-500 (1998)
Lamport L: How to Make a Multiprocessor that Correctly Executes Multiprocess Programs. IEEE Trans. Comput. C-28(9), 690-691 (1979)
Lamport L: On Interprocess Communication, Part I: Basic Formalism. Distributed Computing 1(2), 77-85 (1986)
Lamport L: On Interprocess Communication, Part II: Algorithms. Distributed Computing 1(2), 86-101 (1986)
Lee H: Programs to compute the probability distribution of outdatedness for the probabilistic quorum implementation. Available from http://www.cs.du.edu/~hlee/Research/Programs/
Lee H, Welch JL: Randomized Shared Queues Applied to Distributed Optimization Algorithms. In: Proceedings of the 12th International Symposium on Algorithms and Computation (ISAAC 2001), Dec. 2001, pp 587-598
Malkhi D, Reiter M: Byzantine quorum systems. Distributed Computing 11(4), 203-213 (1998)
Malkhi D, Reiter MK, Wool A, Wright RN: probabilistic quorum systems. Information and Computation 170, 184-206 (2001)
Motwani R, Raghavan P: Randomized Algorithms, Cambridge University Press, 1995
Naor M, Wool A: The load, capacity and availability of quorum systems. SIAM J. Computing 27(2), 423-447 (1998)
Peleg D, Wool A: The availability of quorum systems. Information and Computation 123(2), 210-233 (1995)
Shavit N, Zemach A: Diffracting trees. ACM Trans. on Computer Systems 14(4), 385-428 (1996)
Shavit N, Zemach A: Combining funnels. In: Proceedings of the 17th Annual ACM Symposium on Principles of Distributed Computing, 1998, pp 61-70
Shiryayev AN: Probability. Springer-Verlag, 1984
Szpankowski W, Rego V: Yet another application of a binomial recurrence: order statistics. Computing 43, 401-410 (1990)
Üresin A, Dubois M: Parallel asynchronous algorithms for discrete data. ACM J. 37(3), 558-606 (1990)
Üresin A, Dubois M: Effects of asynchronism on the convergence rate of iterative algorithms. J. Parallel and Distributed Computing 34, 66-81 (1996)
Yu H: Overcoming the Majority Barrier in Large-scale Systems. In: Proceedings of the 17th International Conference on Distributed Computing, 2003, pp 352-366
Author information
Authors and Affiliations
Corresponding author
Additional information
Published online: 29 October 2004
This research was supported in part by Texas Higher Education Coordinating Board grant ARP-00512-0091-2001.
A preliminary version of this paper appeared as “Applications of Probabilistic Quorums to Iterative Algorithms”, in Proc. of 21st Int. Conf. on Distributed Computing Systems (ICDCS), pp. 21-28, April 2001.
Rights and permissions
About this article
Cite this article
Lee, H., Welch, J.L. Randomized registers and iterative algorithms. Distrib. Comput. 17, 209–221 (2005). https://doi.org/10.1007/s00446-004-0106-3
Issue Date:
DOI: https://doi.org/10.1007/s00446-004-0106-3