Reasoning about probabilistic algorithms
PODC '90 Proceedings of the ninth annual ACM symposium on Principles of distributed computing
Reasoning about probabilistic parallel programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
We introduce a new paradigm for the design of parallel algorithms called eventual determinism. In an eventually-determiinizing algorithm, all processes execute identical starting states. A program has two parts (alternatively, called modes) - probablistic and deterministic. A process begins execution in the probabilistic mode and eventually (with probability one) switches to a deterministic mode. The decision to switch is taken independently by each process. Since different processes can execute in different modes, it is required that the mode of a process be transparent to its environment. Thus, determinacy pervades the system. Eventually-determinizing algorithms combine the advantages of probabilistic and deterministic algorithms. We illustrate the design of such an algorithm for a problem of conflict-resolution for distributed systems. We construct an algorithm for a ring of dining philosophers by combining a modified version of the probabilistic Lehman-Rabin''s Free Philosopher algorithm with the deterministic Chandy-Misra algorithm. The system is proved to be starvation-free using a new proof-system for reasoning about probabilistic algorithms proposed by the author. The proof technique is novel in two ways: firstly, it allows the manipulation of probabilistic and deterministic properties within one unified framework. Secondly, existing proofs of component algorithms can be used along with a proof of correctness of their interaction to construct a proof of the algorithm as a whole.