Distributed function evaluation in the presence of transmission faults
We consider the problems of computing functions and of reaching an agreement in a distributed synchronous network of processors in the presence of dynamic transmission faults. We characterize the maximum number of transmission faults per clock cycle that can be tolerated for the computation of arbitrary or specific functions, with several types of faults. The n processors communicate by sending messages through dedicated communication links. Each processor has a one-way link to each other processor. In each clock cycle, each processor may send one message. The message is received in the same clock cycle by all other processors apart from those to which it travels on faulty communication links. Each link may be faulty at some points in time, and operate correctly at others. In a transmission, a faulty link can either omit a message (a message is sent, but none arrives), corrupt a message (a message arrives that is different from the message that was sent), or add a message (a message arrives, but none was sent). Messages are words over a finite alphabet, varying from single bits to strings of arbitrary length. We propose a number of techniques for distributed function evaluation in the presence of transmission faults, based on broadcasting either enough of the function’s arguments or the result value. For different types of allowable faults (omissions, corruptions, additions), we derive upper bounds on the number of tolerable faults. In most cases, these bounds are tight: already one additional fault makes strong majority (the weakest meaningful form of agreement) unachievable. We show that if out of n(n - 1) messages received by n processors per clock cycle, • at most [n/2]-1 are omissions, an arbitrary function can be computed in a constant number of cycles (in contrast, with at least n - 1 omissions strong majority is impossible); • at most [n/2]-1 are omissions or corruptions, an arbitrary function can be computed; • at most n(n - 1), i.e. all, messages are corruptions, an arbitrary function can be computed; • at most [n/2] - 1 are arbitrary faults, or are corruptions and processors always transmit, strong majority can be reached in a constant number of cycles (in contrast, with at least [n/2j corruptions, where processors always transmit, strong majority is impossible); • at most [n/4] - 1 are arbitrary faults, or are corruptions and processors always transmit, unanimity can be reached in a constant number of cycles. For specific functions, we show how the number of cycles needed for the computation can be reduced significantly, as compared to the evaluation of an arbitrary function. Altogether, we draw quite an extensive map of possible and impossible computations in the presence of transmission faults.
|Series||Lecture Notes in Computer Science|
Santoro, N, & Widmayer, P. (Peter). (1990). Distributed function evaluation in the presence of transmission faults. In Lecture Notes in Computer Science. doi:10.1007/3-540-52921-7_85