All-to-all Communication for Multiparty RPC
Abstract
Quorum systems, like replicated state machines, are essential in distributed sys-tems, but building correct and high-performance systems is challenging due tothe asynchronous environments they operate in. Gorums is a novel frameworkthat simplifies the creation of quorum-based systems, alleviating developers ofthe complexities associated with building fault-tolerant services. However, it cur-rently lacks support for all-to-all communication, which is crucial for robust inter-node communication and is often used in consensus algorithms like PracticalByzantine Fault Tolerance (PBFT) and Paxos.
This thesis analyzes the design requirements needed to facilitate all-to-all com-munication in quorum-based systems. We extend Gorums with a new broad-casting framework, introducing an easy-to-use abstraction named BroadcastCall.BroadcastCall is an RPC invocation to a group of servers communicating in an all-to-all pattern. Furthermore, it relates individual messages sent by the servers to asingle abstraction called broadcast request. To evaluate the broadcasting frame-work, we implement both PBFT and Paxos using the framework and comparethem to baseline implementations. The results demonstrate that the frameworkdelivers performance comparable to the baseline implementations without incur-ring significant overhead.