Table of Contents
Fetching ...

Cabinet: Dynamically Weighted Consensus Made Fast

Gengrui Zhang, Shiquan Zhang, Michail Bachras, Yuqiu Zhang, Hans-Arno Jacobsen

TL;DR

Cabinet tackles the inefficiency of majority quorums in large-scale heterogeneous systems by introducing dynamically weighted consensus with per-node weights and a configurable failure threshold $t$, enabling fast agreement among the top-weighted cabinets. It extends Raft with a weight clock $\,wclock$ and per-node weights $w_i$, using weight quorums to govern replication and a dynamic reweighting mechanism that adapts to responsiveness and network conditions. The authors formalize weight schemes with safety and liveness invariants (e.g., $\sum_{i=1}^t w_i < CT = \tfrac{1}{2} \sum_{i=0}^{n-1} w_i < \sum_{i=1}^{t+1} w_i$) and demonstrate a Raft-based implementation that reassigns cabinet membership each round. Empirical evaluation on YCSB with MongoDB and TPC-C with PostgreSQL shows Cabinet consistently delivering higher throughput and lower latency than Raft across scaling, complex networks, and failures, highlighting its practicality for cloud databases, distributed storage, and heterogeneous deployments.

Abstract

Conventional consensus algorithms, such as Paxos and Raft, encounter inefficiencies when applied to large-scale distributed systems due to the requirement of waiting for replies from a majority of nodes. To address these challenges, we propose Cabinet, a novel consensus algorithm that introduces dynamically weighted consensus, allocating distinct weights to nodes based on any given failure thresholds. Cabinet dynamically adjusts nodes' weights according to their responsiveness, assigning higher weights to faster nodes. The dynamic weight assignment maintains an optimal system performance, especially in large-scale and heterogeneous systems where node responsiveness varies. We evaluate Cabinet against Raft with distributed MongoDB and PostgreSQL databases using YCSB and TPC-C workloads. The evaluation results show that Cabinet outperforms Raft in throughput and latency under increasing system scales, complex networks, and failures in both homogeneous and heterogeneous clusters, offering a promising high-performance consensus solution.

Cabinet: Dynamically Weighted Consensus Made Fast

TL;DR

Cabinet tackles the inefficiency of majority quorums in large-scale heterogeneous systems by introducing dynamically weighted consensus with per-node weights and a configurable failure threshold , enabling fast agreement among the top-weighted cabinets. It extends Raft with a weight clock and per-node weights , using weight quorums to govern replication and a dynamic reweighting mechanism that adapts to responsiveness and network conditions. The authors formalize weight schemes with safety and liveness invariants (e.g., ) and demonstrate a Raft-based implementation that reassigns cabinet membership each round. Empirical evaluation on YCSB with MongoDB and TPC-C with PostgreSQL shows Cabinet consistently delivering higher throughput and lower latency than Raft across scaling, complex networks, and failures, highlighting its practicality for cloud databases, distributed storage, and heterogeneous deployments.

Abstract

Conventional consensus algorithms, such as Paxos and Raft, encounter inefficiencies when applied to large-scale distributed systems due to the requirement of waiting for replies from a majority of nodes. To address these challenges, we propose Cabinet, a novel consensus algorithm that introduces dynamically weighted consensus, allocating distinct weights to nodes based on any given failure thresholds. Cabinet dynamically adjusts nodes' weights according to their responsiveness, assigning higher weights to faster nodes. The dynamic weight assignment maintains an optimal system performance, especially in large-scale and heterogeneous systems where node responsiveness varies. We evaluate Cabinet against Raft with distributed MongoDB and PostgreSQL databases using YCSB and TPC-C workloads. The evaluation results show that Cabinet outperforms Raft in throughput and latency under increasing system scales, complex networks, and failures in both homogeneous and heterogeneous clusters, offering a promising high-performance consensus solution.

Paper Structure

This paper contains 19 sections, 9 theorems, 4 equations, 30 figures, 1 algorithm.

Key Result

Lemma 3.1

The sum of the weights of all non-cabinet members is less than the consensus threshold.

Figures (30)

  • Figure 1: Structure of distributed consensus applications.
  • Figure 2: Illustrations of (a) hierarchical, (b) majority, and (c) weighted consensus mechanisms.
  • Figure 3: Three weight schemes under $t=2$ and $n=7$, where $n_5$, $n_6$, and $n_7$ are cabinet members. WS$_1$ violates safety; WS$_2$ violates liveness; WS$_3$ can uphold both safety and liveness.
  • Figure 4: Cabinet weight schemes with different customized failure thresholds in a $n=10$ system. The weights of cabinet members in each scheme are in blue font.
  • Figure 5: Possible weight distribution when $n=7$ and $n_1$ is the leader. The leader dynamically rearranges node weights $(wclock, w_i)$ based on the responsiveness received in $wQ$.
  • ...and 25 more figures

Theorems & Definitions (9)

  • Lemma 3.1
  • Theorem 3.1: Fast Agreement
  • Lemma 3.2
  • Theorem 3.2: Fault Tolerance
  • Theorem 4.1: Validity
  • Lemma 4.1
  • Lemma 4.2
  • Theorem 4.2: Safety
  • Theorem 4.3: Liveness