Verification of the randomized consensus algorithm of Aspnes and Herlihy: a case study

被引:35
作者
Pogosyants, A [1 ]
Segala, R
Lynch, N
机构
[1] MIT, Comp Sci Lab, Cambridge, MA 02139 USA
[2] Univ Bologna, Dipartimento Sci Informaz, I-40127 Bologna, Italy
关键词
randomized consensus; probabilistic automata; verification; performance analysis;
D O I
10.1007/PL00008917
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The Probabilistic I/O Automaton model of [31] is used as the basis for a formal presentation and proof of the randomized consensus algorithm of Aspnes and Herlihy. The algorithm guarantees termination within expected polynomial time. The Aspnes-Herlihy algorithm is a rather complex algorithm. Processes move through a succession of asynchronous rounds, attempting to agree at each round. At each round, the agreement attempt involves a distributed random walk. The algorithm is hard to analyze because of its use of nontrivial results of probability theory (specifically, random walk theory which is based on infinitely many coin flips rather than on finitely many coin flips), because of its complex setting, including asynchrony and both nondeterministic and probabilistic choice, and because of the interplay among several different sub-protocols. We formalize the Aspnes-Herlihy algorithm using probabilistic I/O automata. In doing so, we decompose it formally into three subprotocols: one to carry out the agreement attempts, one to conduct the random walks, and one to implement a shared counter needed by the random walks. Properties of all three subprotocols are proved separately, and combined using general results about automaton composition. It turns out that most of the work involves proving non-probabilistic properties (invariants, simulation mappings, non-probabilistic progress properties, etc.). The probabilistic reasoning is isolated to a few small sections of the proof. The task of carrying out this proof has led us to develop several general proof techniques for probabilistic I/O automata. These include ways to combine expectations for different complexity measures, to compose expected complexity properties, to convert probabilistic claims to deterministic claims, to use abstraction mappings to prove probabilistic properties, and to apply random walk theory in a distributed computational setting. We apply all of these techniques to analyze the expected complexity of the algorithm.
引用
收藏
页码:155 / 186
页数:32
相关论文
共 33 条
[1]  
ABRAHAMSON K, 1988, P 7 ANN ACM S PRINC
[2]  
AGGARWAL S, 1994, THESIS MIT
[3]  
Aggarwal S., 1993, LECT NOTES COMPUT SC, V761, P400
[4]  
[Anonymous], INTRO PROBABILITY TH
[5]   TIME-EFFICIENT AND SPACE-EFFICIENT RANDOMIZED CONSENSUS [J].
ASPNES, J .
JOURNAL OF ALGORITHMS, 1993, 14 (03) :414-431
[6]   Randomized consensus in expected O(Nlog(2)N) operations per processor [J].
Aspnes, J ;
Waarts, O .
SIAM JOURNAL ON COMPUTING, 1996, 25 (05) :1024-1044
[7]   FAST RANDOMIZED CONSENSUS USING SHARED MEMORY [J].
ASPNES, J ;
HERLIHY, M .
JOURNAL OF ALGORITHMS, 1990, 11 (03) :441-461
[8]  
Attiya H., 1989, Proceedings of the Eighth Annual ACM Symposium on Principles of Distributed Computing, P281, DOI 10.1145/72981.73001
[9]  
Aumann Y., 1997, Proceedings of the Sixteenth Annual ACM Symposium on Principles of Distributed Computing, P209, DOI 10.1145/259380.259441
[10]  
AUMANN Y, 1996, LECT NOTES COMPUTER, V1099, P622