IP Library Granted Patent US 9,769,268
Granted Patent B2
US 9,769,268 · App. 14/796,143 · Granted Sep 19, 2017

Systems and methods for consensus protocol selection based on delay analysis

Inventors: Shicong Meng (Fremont, CA); Xiaoqiao Meng (Millwood, NY); Jian Tan (Santa Clara, CA); Xiao Yu (Atlanta, GA); Li Zhang (Yorktown Heights, NY)
Assignee: International Business Machines Corporation
H04L67/16H04L67/10H04L67/28H04L69/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,769,268
App. No.
14/796,143
Granted
Sep 19, 2017
Kind
B2
Abstract

A method for selecting a consensus protocol comprises separating a consensus protocol into one or more communication steps, wherein the consensus protocol is useable to substantially maintain data consistency between nodes in a distributed computing system, and wherein a communication step comprises a message transfer, attributable to the consensus protocol, in the distributed computing system, and computing an estimated protocol-level delay based on one or more attributes associated with the separated communication steps of the consensus protocol.

Claims (57)

1. An apparatus, comprising:

a memory; and

a processing device operatively coupled to the memory and configured to:

separate each of a plurality of consensus protocols into one or more communication steps, wherein the consensus protocols are useable to substantially maintain data consistency between nodes in a distributed computing system, and wherein a communication step comprises a message transfer, attributable to a consensus protocol, in the distributed computing system;

compute, for each of the plurality of consensus protocols, an estimated protocol-level delay based on one or more attributes associated with the separated communication steps of a corresponding consensus protocol; and

select one of the plurality of consensus protocols to substantially maintain the data consistency between the nodes in the distributed computing system, wherein the selection is based on the estimated protocol-level delays respectively computed for each of the plurality of consensus protocols;

wherein one of the plurality of consensus protocols comprises a single leader Paxos-type consensus protocol;

wherein the estimated protocol-level delay Tp for the single leader Paxos-type consensus protocol is computed as:

Tp=OD ( Tr ,Poisson(λ))+cond(1/ n, 0, L ), where λ is a workload arrival rate and

Tr=Q ( n,f,L ), where

f=[n/ 2]−1

wherein L is a network latency and n is the number of the nodes in the distributed computing system;

wherein another one of the plurality of consensus protocols comprises a fast Paxos-type consensus protocol;

wherein, for the fast Paxos-type consensus protocol, the estimated protocol-level delay Tp is computed as:

Tp=OD ( Ti ,Poisson(λ)), where λ is the workload arrival rate and

Ti =cond( pc,Tr+Tr,Tr )

Tr=Q ( n,f,L ), where

f=[n/ 3]−1

wherein L is the network latency, pc is a collision probability, and n is the number of the nodes in the distributed computing system;

wherein yet another one of the plurality of consensus protocols comprises an epoch-based Paxos-type consensus protocol;

wherein, for the epoch-based Paxos-type consensus protocol, the estimated protocol-level delay Tp is computed as:

Tp=W+OD ( Te ,Fixed( e )), where

Te =max( Ti )/ n

Ti=Tr+S

Tr=Q ( n,f,L ), where

f=[n/ 2]−1

wherein L is the network latency, W is an epoch wait time, S is a time synchronization difference, and n is the number of the nodes in the distributed computing system.

2. The apparatus of claim 1 , wherein the processing device is further configured to: detect a configuration change in the distributed computing system; and re-select one of the plurality of consensus protocols to substantially maintain data consistency between the nodes in the distributed computing system, wherein the re-selection is based on re-estimated protocol-level delays respectively computed for each of the plurality of consensus protocols due to the detected configuration change in the distributed computing system.

3. The apparatus of claim 1 , wherein the processing device is further configured to improve the performance of a given one of the plurality of consensus protocols based on at least one of the one or more attributes associated with the separated communication steps of the given one of the protocols and one or more operating parameters of the given one of the protocols.

4. The apparatus of claim 1 , wherein the data consistency substantially maintained between the nodes in the distributed computing system comprises one of an execute-to-order data consistency or an order-to-execute data consistency.

5. The apparatus of claim 1 , wherein the nodes of the distributed computing system respectively comprise data centers.

6. The apparatus of claim 1 , wherein the nodes of the distributed computing system respectively comprise servers.

7. A computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method comprising:

separating each of a plurality of consensus protocols into one or more communication steps, wherein the consensus protocols are useable to substantially maintain data consistency between nodes in a distributed computing system, and wherein a communication step comprises a message transfer, attributable to a consensus protocol, in the distributed computing system;

computing, for each of the plurality of consensus protocols, an estimated protocol-level delay based on one or more attributes associated with the separated communication steps of a corresponding consensus protocol; and

selecting one of the plurality of consensus protocols to substantially maintain the data consistency between the nodes in the distributed computing system, wherein the selection is based on the estimated protocol-level delays respectively computed for each of the plurality of consensus protocols;

wherein one of the plurality of consensus protocols comprises a single leader Paxos-type consensus protocol;

wherein the estimated protocol-level delay Tp for the single leader Paxos-type consensus protocol is computed as:

Tp=OD ( Tr ,Poisson(λ))+cond(1/ n, 0, L ), where λ is a workload arrival rate and

Tr=Q ( n,f,L ), where

f=[n/ 2]−1

wherein L is a network latency and n is the number of the nodes in the distributed computing system;

wherein another one of the plurality of consensus protocols comprises a fast Paxos-type consensus protocol;

wherein, for the fast Paxos-type consensus protocol, the estimated protocol-level delay Tp is computed as:

Tp=OD ( Ti ,Poisson(λ)), where λ is the workload arrival rate and

Ti =cond( pc,Tr+Tr,Tr )

Tr=Q ( n,f,L ), where

f=[n/ 3]−1

wherein L is the network latency, pc is a collision probability, and n is the number of the nodes in the distributed computing system;

wherein yet another one of the plurality of consensus protocols comprises an epoch-based Paxos-type consensus protocol;

wherein, for the epoch-based Paxos-type consensus protocol, the estimated protocol-level delay Tp is computed as:

Tp=W+OD ( Te ,Fixed( e )), where

Te =max( Ti )/ n

Ti=Tr+S

Tr=Q ( n,f,L ), where

f=[n/ 2]−1

wherein L is the network latency, W is an epoch wait time, S is a time synchronization difference, and n is the number of the nodes in the distributed computing system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2015
From: MENG, SHICONG; MENG, XIAOQIAO; TAN, JIAN; YU, XIAO; ZHANG, LI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 036060/0813 →
Continuity (2)
Continuation 14550171 · Nov 21, 2014
Related Publication 20160150060A1 · May 26, 2016