Section: New Results
Gossip-based information dissemination
Gossip-based information dissemination protocols are considered easy to deploy, scalable and resilient to network dynamics. Load-balancing is inherent in these protocols as the dissemination work is evenly spread among all nodes. Yet, large-scale distributed systems are usually heterogeneous with respect to network capabilities such as bandwidth. In practice, a blind load-balancing strategy might significantly hamper the performance of the gossip dissemination. In collaboration with Rachid Guerraoui's group at EPFL and the INRIA ASAP team, we have proposed a new protocol, called HEAP (HEterogeneity-Aware gossip Protocol), where nodes dynamically adapt their contribution to the gossip dissemination according to their bandwidth capabilities. Using a continuous, itself gossip-based, approximation of relative bandwidth capabilities, HEAP dynamically leverages the most capable nodes by increasing their fanout, while decreasing by the same proportion those of less capable nodes. HEAP preserves the simplicity and proactive (churn adaptation) nature of gossip, while significantly improving its effectiveness. HEAP has been extensively evaluated in the context of a video streaming application. HEAP significantly improves the perceived quality of the streaming over standard gossip protocols.
NAT-resilient gossip peer sampling
Gossip peer sampling protocols now represent a solid basis to build and maintain peer to peer (p2p) overlay networks. They typically provide peers with a random sample of the network and maintain connectivity in highly dynamic settings. They rely on the assumption that, at any time, each peer is able to establish a communication with any of the peers of the sample provided by the protocol. Yet, this ignores the fact that there is a significant proportion of peers that now sit behind NAT devices, preventing direct communication without specific mechanisms. This has been largely ignored so far in the community. Our experiments demonstrate that the presence of NATs, introducing some restrictions on the communication between peers, significantly hurts both the randomness of the provided samples and the connectivity of the p2p overlay network, in particular in the presence of high rate of peers arrivals, departures and failures. In collaboration with the INRIA ASAP team, we have proposed a NAT-resilient gossip peer sampling protocol, called Nylon, that accounts for the presence of NATs. Nylon is fully decentralized and spreads evenly the extra load caused by the presence of NATs, between peers. Nylon ensures that a peer can always establish a communication, and therefore initiates a gossip, with any peer in its sample. This is achieved through a simple, yet efficient mechanism, establishing a path of relays between peers. Our results show that the randomness of the generated samples is preserved, that the connectivity is not impacted even in the presence of high churn and a high ratio of peers sitting behind NAT devices.
Byzantine fault tolerant replication
State machine replication (SMR) is a software technique for tolerating failures using commodity hardware. The critical service to be made fault-tolerant is modeled by a state machine. Several, possibly different, copies of the state machine are then placed on different nodes. Clients of the service access the replicas through a SMR protocol which ensures that, despite concurrency and failures, replicas perform client requests in the same order. Two objectives underly the design and implementation of a SMR protocol: robustness and performance. Robustness conveys the ability to ensure availability (liveness) and one-copy semantics (safety) despite failures and asynchrony. Performance measures the time it takes to respond to a request (latency) and the number of requests that can be treated per time unit (throughput). The most robust protocols are those that tolerate (a) arbitrarily large periods of asynchrony, and (b) arbitrary (Byzantine) failures of any client as well as up to one-third of the replicas. The development of Byzantine fault-tolerant SMR protocols is notoriously difficult. In collaboration with Rachid Guerraoui's group at EPFL, we have proposed a generic abstraction to simplify this task. We view a BFT protocol as a, possibly dynamic, composition of instances of our abstraction, each instance developed and analyzed independently. To illustrate our approach, we have developed two new BFT protocols. Among all protocols we know of, the first has the lowest latency in synchronous periods that are free from contention and failures; the second has the highest peak throughput in failure-free and synchronous periods.