This thesis deals with two subjects: agreement protocols, and deadlock detection algorithms. In the first part of the thesis, we investigate randomized and probabilistic solution to the consensus problem. In the consensus problem n processes, such that t of them are faulty, have to agree on a consensus value. The system can be either synchronous, where all the processes run in lock step, or asynchronous, where messages between processes takes arbitrary long time to arrive. We consider two types of faulty processes: Byzantine processes, that can send spurious messages, and Fail-Stop processes that can just stop participating in the protocol.
For an asynchronous system with a fair scheduler we present a probabilistic consensus protocol that can overcome up to (n-1)/2 Fail-Stop processes. This is contrasted by an impossibility result for deterministic protocols.
For an asynchronous system with an adversary scheduler we present a randomized consensus protocol that can overcome up to (n-1)/3 Byzantine processes. Thus, improving on a previous protocol and matching the bound on the number of faulty processes.
For a synchronous system we present a randomized consensus protocol that can overcome up to n/(3 + (delta)) ((delta) > 0) Byzantine processes. The algorithm takes O(lg n/lg(n/t)) rounds, thus improving on a bound of t + 1 rounds for deterministic protocol, and on a previous result of t/lg n for randomized protocols.
In the second part of the thesis, we present an efficient distributed algorithm to detect deadlocks in distributed and dynamically changing systems. In our model, processes can request any N available resources from a pool of size M. This is a generalization of the well-known AND-OR request model. The algorithm is incrementally derived and proven correct. Its communication, computational, and space complexity compares favorably to those of previously known distributed AND-OR deadlock detection algorithms.
Recommendations
A Simple and Efficient Randomized Byzantine Agreement Algorithm
A new randomized Byzantine agreement algorithm is presented. This algorithm operates in a synchronous system of n processors, at most t of which can fail. The algorithm reaches agreement in 0(t/log n) expected rounds and O(n2tf/log n) expected message ...
An O(log n) expected rounds randomized byzantine generals protocol
Byzantine Generals protocols enable processes to broadcast messages reliably in the presence of faulty processes. These protocols are run in a system that consists of n processes, t of which are faulty. The protocols are conducted in synchronous rounds ...
Simple and efficient asynchronous byzantine agreement with optimal resilience
PODC '09: Proceedings of the 28th ACM symposium on Principles of distributed computingConsider a completely asynchronous network consisting of n parties where every two parties are connected by a private channel. An adversary At with unbounded computing power actively controls at most t = ([n/3] − 1) out of n parties in Byzantine ...