Reliable Broadcast Protocols and Network Architecture: Tradeoffs and Lower Bounds
Reliable Broadcast is a mechanism by which a processor in a distributed system disseminates a value to all other processors in the presence of both communication and processor failures. Protocols to achieve Reliable Broadcast are at the heart of most fault-tolerant applications. We characterize the execution time of Reliable Broadcast protocols as a function of the properties of the underlying communication network. The class of networks considered includes familiar communication structures such as fully-connected point-to-point graphs, linear chains, rings, broadcast networks (such as Ethernet) and buses. We derive a protocol that implements Reliable Broadcast for any member within this class. We present a novel proof technique to obtain lower bound results for Reliable Broadcast in this environment. This proof technique is based on graph mappings. The hardware-software tradeoffs that are revealed between performance, resiliency and network cost offer many new alternatives previously not considered in designing fault-tolerant systems.