Nezha: Deployable and High-Performance Consensus Using Synchronized Clocks

Jinkun Geng, Anirudh Sivaraman, Balaji Prabhakar, Mendel Rosenblum
6/3/2022
cs.DCcs.DBcs.NI

Official code: New-Consensus-Concurrency-Control/Nezha (142 stars, MIT, last commit 2023-09-19).

Abstract

This paper presents a high-performance consensus protocol, Nezha, which can be deployed by cloud tenants without any support from their cloud provider. Nezha bridges the gap between protocols such as Multi-Paxos and Raft, which can be readily deployed and protocols such as NOPaxos and Speculative Paxos, that provide better performance, but require access to technologies such as programmable switches and in-network prioritization, which cloud tenants do not have. Nezha uses a new multicast primitive called deadline-ordered multicast (DOM). DOM uses high-accuracy software clock synchronization to synchronize sender and receiver clocks. Senders tag messages with deadlines in synchronized time; receivers process messages in deadline order, on or after their deadline. We compare Nezha with Multi-Paxos, Fast Paxos, Raft, a NOPaxos version we optimized for the cloud, and 2 recent protocols, Domino and TOQ-EPaxos, that use synchronized clocks. In throughput, Nezha outperforms all baselines by a median of 5.4x (range: 1.9-20.9x). In latency, Nezha outperforms five baselines by a median of 2.3x (range: 1.3-4.0x), with one exception: it sacrifices 33% latency compared with our optimized NOPaxos in one test. We also prototype two applications, a key-value store and a fair-access stock exchange, on top of Nezha to show that Nezha only modestly reduces their performance relative to an unreplicated system. Nezha is available at https://github.com/Steamgjk/Nezha.

View on arXivView PDF

Code Implementations(1)

MIT

Nezha: Deployable and High-Performance Consensus Using Synchronized Clocks

14212C, C++Dec 17, 20223 years agoMIT
clockconsensusconsistencydistributed-systemssynchronization

Similar Papers

Cite this paper

@article{geng2022nezha,
  title  = {Nezha: Deployable and High-Performance Consensus Using Synchronized Clocks},
  author = {Jinkun Geng and Anirudh Sivaraman and Balaji Prabhakar and Mendel Rosenblum},
  year   = {2022},
  eprint = {2206.03285},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2206.03285}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2206.03285.svg)](https://codeofpaper.com/paper/2206.03285)

Discussion