@inproceedings{5b85a5dbfc9b487693ac350ff83f8ace,
title = "P4ce: Consensus over RDMA at Line Speed",
abstract = "P4ce is the first replication protocol that exhibits the same latency and requires the same network capacity as sending data to a single server. P4ce builds upon previous RDMA-based consensus protocols. They achieve consensus with a single network round-trip, but with a reduced network throughput. P4ce also achieves consensus with a single round-trip, but without degrading throughput by decoupling the consensus decisions from the RDMA communications. The decision part of the consensus protocol runs on a commodity server, but the communication part of P4ce is fully implemented on a programmable switch, which replicates data and aggregates the acknowledgements in the network, avoiding the throughput bottleneck at the leader. Although simple in its principle, the implementation of P4ce raises many challenging issues, notably caused by the complexity of RDMA and the underlying network protocols, the intricacies of packet rewriting during replication and aggregation, and the restricted set of operations that can be implemented at wire speed in the programmable switch. We implemented P4ce and deployed it on a commercially-available Intel Tofino switch, achieving up to 4x better through-put and better latency than state-of-the-art consensus protocols.",
keywords = "consensus, programmable switch, rdma, smr, tofino",
author = "R{\'e}mi Dulong and Nathan Felber and Pascal Felber and Gilles Hopin and Baptiste Lepers and Valerio Schiavoni and Ga{\"e}l Thomas and S{\'e}bastien Vaucher",
note = "Publisher Copyright: {\textcopyright} 2024 IEEE.; 44th IEEE International Conference on Distributed Computing Systems, ICDCS 2024 ; Conference date: 23-07-2024 Through 26-07-2024",
year = "2024",
month = jan,
day = "1",
doi = "10.1109/ICDCS60910.2024.00054",
language = "English",
series = "Proceedings - International Conference on Distributed Computing Systems",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
pages = "508--519",
booktitle = "Proceedings - 2024 IEEE 44th International Conference on Distributed Computing Systems, ICDCS 2024",
}