Performing work efficiently in the presence of faults

13Citations
Citations of this article
26Readers
Mendeley users who have this article in their library.

Abstract

We consider a system of t synchronous processes that communicate only by sending messages to one another, and that together must perform n independent units of work. Processes may fail by crashing; we want to guarantee that in every execution of the protocol in which at least one process survives, all n units of work will be performed. We consider three parameters: the number of messages sent, the total number of units of work performed (including multiplicities), and time. We present three protocols for solving the problem. All three are work-optimal, doing O(n+t) work. The first has moderate costs in the remaining two parameters, sending O(t√t) messages, and taking O(n+t) time. This protocol can be easily modified to run in any completely asynchronous system equipped with a failure detection mechanism. The second sends only O(t log t) messages, but its running time is large (O(t2(n+t)2n+t)). The third is essentially time-optimal in the (usual) case in which there are no failures, and its time complexity degrades gracefully as the number of failures increases.

Cite

CITATION STYLE

APA

Dwork, C., Halpern, J. Y., & Waarts, O. (1992). Performing work efficiently in the presence of faults. In Proceedings of the Annual ACM Symposium on Principles of Distributed Computing (pp. 91–102). Publ by ACM. https://doi.org/10.1145/135419.135439

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free