Verification of Randomized Distributed Algorithms

We describe modular verification techniques for randomized distributed algorithms as extensions of techniques for ordinary, non-randomized, distributed algorithms. The main difficulty to overcome arises from the subtle interplay between probability and nondeterminism, where probability is due to the random choices that occur within an algorithm, and nondeterminism is due to the unknown speeds and scheduling policies of the processes. The techniques that we introduce are based on separation of probability from nondeterminism. When the nondeterminism is factored out, the analysis of an algorithm has several pieces that are in common with the area of performance evaluation. Thus, the techniques that we describe are likely to constitute a bridge to export typical performance evaluation techniques to the area of concurrent nondeterministic systems and, vice versa, to understand alternative ways for handling nondeterminism when it arises.

[1]  Bengt Jonsson Simulations Between Specifications of Distributed Systems , 1991, CONCUR.

[2]  Luca de Alfaro,et al.  How to Specify and Verify the Long-Run Average Behavior of Probabilistic Systems , 1998, LICS.

[3]  Annabelle McIver Reasoning about efficiency within a probabilistic µ-calculus , 1999, Electron. Notes Theor. Comput. Sci..

[4]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1985, JACM.

[5]  Scott A. Smolka,et al.  Equivalences, Congruences, and Complete Axiomatizations for Probabilistic Processes , 1990, CONCUR.

[6]  Stephen Gilmore,et al.  Specifying Performance Measures for PEPA , 1999, ARTS.

[7]  Josyula R. Rao,et al.  Reasoning about probabilistic algorithms , 1990, PODC '90.

[8]  Isaac Saias,et al.  Proving probabilistic correctness statements: the case of Rabin's algorithm for mutual exclusion , 1992, PODC '92.

[9]  Hans A. Hansson Time and probability in formal design of distributed systems , 1991, DoCS.

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

[11]  Kim Guldstrand Larsen,et al.  Specification and refinement of probabilistic processes , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[12]  Maurice Herlihy,et al.  Fast Randomized Consensus Using Shared Memory , 1990, J. Algorithms.

[13]  Annabelle McIver,et al.  Probabilistic predicate transformers , 1996, TOPL.

[14]  James Aspnes,et al.  Randomized consensus in expected O(n log/sup 2/ n) operations per processor , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[15]  Shay Kutten,et al.  Time Optimal Self-Stabilizing Spanning Tree Algorithms , 1993, FSTTCS.

[16]  Zohar Manna,et al.  Formal verification of probabilistic systems , 1997 .

[17]  Scott A. Smolka,et al.  Composition and Behaviors of Probabilistic I/O Automata , 1994, Theor. Comput. Sci..

[18]  Eyal Kushilevitz,et al.  Randomized mutual exclusion algorithms revisited , 1992, PODC '92.

[19]  Leon Brillouin Mathematics, Physics, and Information (An Editorial) , 1957, Inf. Control..

[20]  Cyrus Derman,et al.  Finite State Markovian Decision Processes , 1970 .

[21]  Edmund M. Clarke,et al.  Using Branching Time Temporal Logic to Synthesize Synchronization Skeletons , 1982, Sci. Comput. Program..

[22]  Kim G. Larsen,et al.  Compositional Verification of Probabilistic Processes , 1992, CONCUR.

[23]  Norbert Götz,et al.  Multiprocessor and Distributed System Design: The Integration of Functional Specification and Performance Analysis Using Stochastic Process Algebras , 1993, Performance/SIGMETRICS Tutorials.

[24]  Nancy A. Lynch,et al.  Forward and Backward Simulations: I. Untimed Systems , 1995, Inf. Comput..

[25]  Yossi Matias,et al.  Simple and Efficient Election Algorithms for Anonymous Networks , 1989, WDAG.

[26]  Marta Z. Kwiatkowska,et al.  Verifying Quantitative Properties of Continuous Probabilistic Timed Automata , 2000, CONCUR.

[27]  Grzegorz Rozenberg,et al.  Real-Time: Theory in Practice: Rex Workshop, Mook, the Netherlands, June 3-7, 1991: Proceedings , 1992 .

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

[29]  Amir Pnueli,et al.  Probabilistic Verification , 1993, Information and Computation.

[30]  Roberto Segala,et al.  Verification of the randomized consensus algorithm of Aspnes and Herlihy: a case study , 2000, Distributed Computing.

[31]  H. Arbeláez,et al.  Korth cm. International business : environment and management. Prentice hall, inc, englewood cliffs, 1985, 2a ed , 1985 .

[32]  Luca de Alfaro,et al.  Symbolic Model Checking of Probabilistic Processes Using MTBDDs and the Kronecker Representation , 2000, TACAS.

[33]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[34]  Nancy A. Lynch,et al.  Probabilistic Simulations for Probabilistic Processes , 1994, Nord. J. Comput..

[35]  Christel Baier,et al.  Model checking for a probabilistic branching time logic with fairness , 1998, Distributed Computing.

[36]  Nancy A. Lynch,et al.  Proving time bounds for randomized distributed algorithms , 1994, PODC '94.

[37]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[38]  Bernhard Steffen,et al.  Reactive, Generative and Stratified Models of Probabilistic Processes , 1995, Inf. Comput..

[39]  Luca de Alfaro,et al.  Stochastic Transition Systems , 1998, CONCUR.

[40]  Daniel Lehmann,et al.  On the advantages of free choice: a symmetric and fully distributed solution to the dining philosophers problem , 1981, POPL '81.

[41]  Bernhard Steffen,et al.  Reactive, generative, and stratified models of probabilistic processes , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[42]  C. Jones,et al.  A probabilistic powerdomain of evaluations , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[43]  Andrea Bianco,et al.  Model Checking of Probabalistic and Nondeterministic Systems , 1995, FSTTCS.

[44]  Karen Seidel,et al.  Probabilistic Communicating Processes , 1992, Theor. Comput. Sci..

[45]  Moshe Y. Vardi Automatic verification of probabilistic concurrent finite state programs , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[46]  Jane Hillston Exploiting Structure in Solution: Decomposing Compositional Models , 2000, European Educational Forum: School on Formal Methods and Performance Analysis.

[47]  Christel Baier,et al.  Weak Bisimulation for Fully Probabilistic Processes , 1997, FBT.

[48]  Jan A. Bergstra,et al.  Axiomatizing Probabilistic Processes: ACP with Generative Probabilities , 1995, Inf. Comput..

[49]  Mihalis Yannakakis,et al.  Markov Decision Processes and Regular Events (Extended Abstract) , 1990, ICALP.

[50]  Kim G. Larsen,et al.  Bisimulation through probabilistic testing (preliminary report) , 1989, POPL '89.

[51]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.

[52]  Roberto Segala,et al.  The Essence of Coin Lemmas , 1998, PROBMIV.

[53]  Roberto Segala,et al.  Modeling and verification of randomized distributed real-time systems , 1996 .

[54]  Insup Lee,et al.  Weak Bisimulation for Probabilistic Systems , 2000, CONCUR.

[55]  William Feller,et al.  An Introduction to Probability Theory and Its Applications , 1951 .

[56]  David de Frutos-Escrig,et al.  Testing Semantics for Probabilistic LOTOS , 1995, FORTE.

[57]  Abbas Edalat,et al.  Bisimulation for Labelled Markov Processes , 2002, Inf. Comput..

[58]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.

[59]  Suzana Andova,et al.  Process Algebra with Probabilistic Choice , 1999, ARTS.

[60]  Marta Z. Kwiatkowska,et al.  Automatic verification of real-time systems with discrete probability distributions , 1999, Theor. Comput. Sci..

[61]  Joost-Pieter Katoen,et al.  General Distributions in Process Algebra , 2002, European Educational Forum: School on Formal Methods and Performance Analysis.

[62]  Roberto Segala,et al.  Testing Probabilistic Automata , 1996, CONCUR.

[63]  Scott A. Smolka,et al.  Algebraic Reasoning for Probabilistic Concurrent Systems , 1990, Programming Concepts and Methods.

[64]  Roberto Segala,et al.  Formal verification of timed properties of randomized distributed algorithms , 1995, PODC '95.

[65]  Rance Cleaveland,et al.  Testing Preorders for Probabilistic Processes , 1992, ICALP.

[66]  Marta Z. Kwiatkowska,et al.  Automated Verification of a Randomized Distributed Consensus Protocol Using Cadence SMV and PRISM , 2001, CAV.

[67]  Rajeev Alur,et al.  Verifying Automata Specifications of Probabilistic Real-time Systems , 1991, REX Workshop.

[68]  Marta Kwiatkowska,et al.  Verifying Quantitative Properties of Continuous Probabilistic Real-Time Graphs , 2000 .

[69]  Joost-Pieter Katoen,et al.  On Generative Parallel Composition , 1998, PROBMIV.

[70]  Robert M. Keller,et al.  Formal verification of parallel programs , 1976, CACM.

[71]  Bengt Jonsson,et al.  A framework for reasoning about time and reliability , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[72]  Wang Yi,et al.  Testing Probabilistic and Nondeterministic Processes , 1992, PSTV.

[73]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.

[74]  Rajeev Alur,et al.  Model-Checking for Probabilistic Real-Time Systems (Extended Abstract) , 1991, ICALP.

[75]  Bengt Jonsson,et al.  A calculus for communicating systems with time and probabilities , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[76]  Roberto Segala,et al.  A Compositional Trace-Based Semantics for Probabilistic Automata , 1995, CONCUR.

[77]  Amos Israeli,et al.  Analyzing Expected Time by Scheduler-Luck Games , 1995, IEEE Trans. Software Eng..

[78]  Kim G. Larsen,et al.  Bisimulation through Probabilistic Testing , 1991, Inf. Comput..

[79]  Albert R. Meyer,et al.  A Remark on Bisimulation Between Probabilistic Processes , 1989, Logic at Botik.

[80]  Mihalis Yannakakis,et al.  Verifying temporal properties of finite-state probabilistic programs , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[81]  Radha Jagadeesan,et al.  Approximating labeled Markov processes , 2000, Proceedings Fifteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.99CB36332).

[82]  Christel Baier,et al.  Norm Functions for Probabilistic Bisimulations with Delays , 2000, FoSSaCS.

[83]  Chris M. N. Tofts,et al.  A Synchronous Calculus of Relative Frequency , 1990, CONCUR.

[84]  Luca de Alfaro,et al.  Computing Minimum and Maximum Reachability Times in Probabilistic Systems , 1999, CONCUR.

[85]  Amos Israeli,et al.  Uniform Dynamic Self-Stabilizing Leader Election , 1997, IEEE Trans. Parallel Distributed Syst..

[86]  Radha Jagadeesan,et al.  Approximating Continuous Markov Processes , 2000 .

[87]  Michael O. Rabin,et al.  N-Process Mutual Exclusion with Bounded Waiting by 4 Log_2 N-Valued Shared Variable , 1982, J. Comput. Syst. Sci..