Synchronous Do-All with Byzantine Failures
So far we have studied the Do-All problem under relatively benign failure types, where faulty processors may stop working, but do not perform any actions harmful to the computation. We now move to study the Do-All problem under an adversary, called A B , that can cause Byzantine processor failures. A faulty processor may perform arbitrary actions, including those that interfere with the ongoing computation. The distributed environment is still assumed to be synchronous and the underlying network is fully connected. More specifically, for a system with p processors, f of which may be faulty, and the Do-All problem with n tasks we present upper and lower bounds on the complexity of Do-All A B (n, p, f) for several cases: (a) the case where the maximum number of faulty processors f is known a priori, (b) the case where f is not known, (c) the case where a task execution can be verified (without re-executing the task), and (d) the case where task executions cannot be verified. The efficiency of algorithms is evaluated in terms of total-work and message complexities. We also consider time of computation, measured in terms of parallel global steps taken by the processors, and referred to simply as the number of steps. Interestingly, we show that in some cases obtaining work Ө(n · p) is the best one can do, that is, each of thepprocessors must perform all of the n tasks, and that in certain cases communication cannot help improve work efficiency.
KeywordsTask Execution Malicious Node Message Complexity Algorithm Cover Task Number
Unable to display preview. Download preview PDF.