Reliably Executing Tasks in the Presence of Untrusted Entities

In this work we consider a distributed system formed by a master processor and a collection of n processors (workers) that can execute tasks; worker processors are untrusted and might act maliciously. The master assigns tasks to workers to be executed. Each task returns a binary value, and we want the master to accept only correct values with high probability. Furthermore, we assume that the service provided by the workers is not free; for each task that a worker is assigned, the master is charged with a work-unit. Therefore, considering a single task assigned to several workers, our goal is to have the master computer to accept the correct value of the task with high probability, with the smallest possible amount of work (number of workers the master assigns the task). We explore two ways of bounding the number of faulty processors: (a) we consider a fixed bound f < n/2 on the maximum number of workers that may fail, and (b) a probability p < 1/2 of any processor to be faulty (all processors are faulty with probability p, independently of the rest of processors). Our work demonstrates that it is possible to obtain high probability of correct acceptance with low work. In particular, by considering both mechanisms of bounding the number of malicious workers, we first show lower bounds on the minimum amount of (expected) work required, so that any algorithm accepts the correct value with probability of success 1 - epsiv, where epsiv Lt 1 (e.g., 1/n). Then we develop and analyze two algorithms, each using a different decision strategy, and show that both algorithms obtain the same probability of success 1 - epsiv, and in doing so, they require similar upper bounds on the (expected) work. Furthermore, under certain conditions, these upper bounds are asymptotically optimal with respect to our lower bounds

[1]  Z. M. Kedem,et al.  Combining tentative and definite executions for dependable parallel computing , 1990 .

[2]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[3]  Rüdiger Reischuk,et al.  Reliable computation with noisy circuits and decision trees-a general n log n lower bound , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[4]  Chryssis Georgiou,et al.  Reliably Executing Tasks in the Presence of Malicious Processors , 2005, DISC.

[5]  Andrzej Pelc,et al.  Optimal Decision Strategies in Byzantine Environments , 2004, SIROCCO.

[6]  Akhil Kumar,et al.  Voting mechanisms in distributed systems , 1991 .

[7]  Eyal Kushilevitz,et al.  Computation in noisy radio networks , 2005, SODA '98.

[8]  William S. Evans,et al.  Average-Case Lower Bounds for Noisy Boolean Decision Trees , 1999, SIAM J. Comput..

[9]  David P. Anderson,et al.  SETI@home-massively distributed computing for SETI , 2001, Comput. Sci. Eng..

[10]  Noga Alon,et al.  The Probabilistic Method, Second Edition , 2004 .

[11]  Z. M. Kedem,et al.  Combining tentative and definite executions for very fast dependable parallel computing , 1991, STOC '91.

[12]  Xiaomin Chen,et al.  Computing Boolean functions from multiple faulty copies of input bits , 2004, Theor. Comput. Sci..

[13]  Douglas M. Blough,et al.  A comparison of voting strategies for fault-tolerant distributed systems , 1990, Proceedings Ninth Symposium on Reliable Distributed Systems.

[14]  Joseph Y. Halpern,et al.  Performing work efficiently in the presence of faults , 1992, PODC '92.

[15]  Noga Alon,et al.  The Probabilistic Method , 2015, Fundamentals of Ramsey Theory.

[16]  Alexander Russell,et al.  Work-Competitive Scheduling for Cooperative Computing with Dynamic Groups , 2005, SIAM J. Comput..

[17]  David P. Anderson,et al.  BOINC: a system for public-resource computing and storage , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[18]  David P. Anderson,et al.  High-performance task distribution for volunteer computing , 2005, First International Conference on e-Science and Grid Computing (e-Science'05).

[19]  Eli Upfal,et al.  Computing with Noisy Information , 1994, SIAM J. Comput..

[20]  Alexander A. Shvartsman,et al.  Fault-Tolerant Parallel Computation , 1997 .

[21]  Guy Kindler,et al.  Lower Bounds for the Noisy Broadcast Problem , 2008, SIAM J. Comput..

[22]  Alexander Russell,et al.  The Do-All problem with Byzantine processor failures , 2003, Theor. Comput. Sci..

[23]  Claire Mathieu,et al.  On Boolean Decision Trees with Faulty Nodes , 1994, Random Struct. Algorithms.

[24]  Robert G. Gallager,et al.  Finding parity in a simple broadcast network , 1988, IEEE Trans. Inf. Theory.

[25]  Péter Gács,et al.  Lower bounds for the complexity of reliable Boolean circuits with noisy gates , 1994, IEEE Trans. Inf. Theory.