2011 · 11 citations · 10 references
ComputingComputer EngineeringComputer ScienceComputer NetworksDistributed SystemsFault-tolerant ComputingDistributed AlgorithmsDistributed ComputingDistributed Systems PerformanceProcess CoordinationReliable Distributed SystemsComplexityFault-tolerant Distributed SystemsMessage ComplexityMessage Complexity In Distributed ComputationRandomized Distributed AlgorithmsSynchronous Distributed Algorithms
Traditional approaches to network supercomputing employ a master process and a large number of potentially undependable worker processes that must perform a collection of tasks on behalf of the master. In such a centralized scheme, the master process is a performance bottleneck and a single point of failure. This work develops an original approach that eliminates the master and instead uses a decentralized algorithm, where each worker is able to determine locally that all tasks have been performed, and to collect locally the results of all tasks. The failure model assumes that the average probability of a worker returning a wrong result is inferior to 1/2. A randomized synchronous algorithm for n processes and n tasks is presented. The algorithm terminates in Θ(log n) rounds, and it is proved that upon termination the workers know the results of all tasks with high probability, and that these results are correct with high probability. The message complexity of the algorithm is Θ(n log n), and the bit complexity is O(n2 log3 n).
10
SETI@home-massively distributed computing for SETI
Eric Korpela, Dan Werthimer, David P. Anderson et al. · Computing in Science & Engineering · 2001 · 431 citations
Reliably Executing Tasks in the Presence of Untrusted Entities
Antonio Fernández Anta, Luis López, Agustín Santos et al. · 2006 · 28 citations