Tolerating Latency in Replicated State Machines through Client Speculation

Similar documents
Tolerating latency in replicated state machines through client speculation

Zyzzyva. Speculative Byzantine Fault Tolerance. Ramakrishna Kotla. L. Alvisi, M. Dahlin, A. Clement, E. Wong University of Texas at Austin

Byzantine Fault Tolerance and Consensus. Adi Seredinschi Distributed Programming Laboratory

Reducing the Costs of Large-Scale BFT Replication

Byzantine fault tolerance. Jinyang Li With PBFT slides from Liskov

CS 138: Practical Byzantine Consensus. CS 138 XX 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Robust BFT Protocols

Practical Byzantine Fault

Practical Byzantine Fault Tolerance Consensus and A Simple Distributed Ledger Application Hao Xu Muyun Chen Xin Li

Practical Byzantine Fault Tolerance. Miguel Castro and Barbara Liskov

AS distributed systems develop and grow in size,

Authenticated Agreement

Distributed Algorithms Practical Byzantine Fault Tolerance

Two New Protocols for Fault Tolerant Agreement

A definition. Byzantine Generals Problem. Synchronous, Byzantine world

Speculative Execution Across Layers

Distributed Algorithms Practical Byzantine Fault Tolerance

Evaluating BFT Protocols for Spire

Proactive and Reactive View Change for Fault Tolerant Byzantine Agreement

ByzID: Byzantine Fault Tolerance from Intrusion Detection

Recovering from a Crash. Three-Phase Commit

Distributed Consensus: Making Impossible Possible

Paxos and Replication. Dan Ports, CSEP 552

International Journal of Advanced Research in Computer Science and Software Engineering

Distributed Consensus: Making Impossible Possible

Zzyzx: Scalable Fault Tolerance through Byzantine Locking

Tradeoffs in Byzantine-Fault-Tolerant State-Machine-Replication Protocol Design

Trek: Testable Replicated Key-Value Store

ZZ: Cheap Practical BFT using Virtualization

Practical Byzantine Fault Tolerance (The Byzantine Generals Problem)

Byzantine Fault Tolerance

Application-Aware Byzantine Fault Tolerance

Viewstamped Replication to Practical Byzantine Fault Tolerance. Pradipta De

Failure models. Byzantine Fault Tolerance. What can go wrong? Paxos is fail-stop tolerant. BFT model. BFT replication 5/25/18

Enhancing Throughput of

Prophecy: Using History for High Throughput Fault Tolerance

Zyzzyva: Speculative Byzantine Fault Tolerance

Zyzzyva: Speculative Byzantine Fault Tolerance

Adapting Byzantine Fault Tolerant Systems

Scrooge: Reducing the Costs of Fast Byzantine Replication in Presence of Unresponsive Replicas

Practical Byzantine Fault Tolerance. Castro and Liskov SOSP 99

Authenticated Byzantine Fault Tolerance Without Public-Key Cryptography

Revisiting Fast Practical Byzantine Fault Tolerance

Byzantine Techniques

Byzantine Fault Tolerance

Paxos Replicated State Machines as the Basis of a High- Performance Data Store

Practical Byzantine Fault Tolerance

Byzantine Fault Tolerance for Distributed Systems

ZZ and the Art of Practical BFT Execution

ZZ and the Art of Practical BFT Execution

Key-value store with eventual consistency without trusting individual nodes

Trustworthy Coordination of Web Services Atomic Transactions

Data Consistency and Blockchain. Bei Chun Zhou (BlockChainZ)

Byzantine Fault Tolerant Raft

MENCIUS: BUILDING EFFICIENT

Replicated State Machine in Wide-area Networks

TAPIR. By Irene Zhang, Naveen Sharma, Adriana Szekeres, Arvind Krishnamurthy, and Dan Ports Presented by Todd Charlton

Replication in Distributed Systems

Zzyzx: Scalable Fault Tolerance through Byzantine Locking

The OceanStore Write Path

The Red Belly Blockchain Experiments

Large-Scale Byzantine Fault Tolerance: Safe but Not Always Live

Practical Byzantine Fault Tolerance

Byzantine Fault-Tolerance with Commutative Commands

Separating the WHEAT from the Chaff: An Empirical Design for Geo-Replicated State Machines

Byzantine Fault Tolerance Can Be Fast

WICE - A Pragmatic Protocol for Database Replication in Interconnected Clusters

EECS 482 Introduction to Operating Systems

G Distributed Systems: Fall Quiz II

or? Paxos: Fun Facts Quorum Quorum: Primary Copy vs. Majority Quorum: Primary Copy vs. Majority

Basic vs. Reliable Multicast

Exploiting Commutativity For Practical Fast Replication. Seo Jin Park and John Ousterhout

PAPER Efficient Randomized Byzantine Fault-Tolerant Replication Based on Special Valued Coin Tossing

ABSTRACT. Web Service Atomic Transaction (WS-AT) is a standard used to implement distributed

BYZANTINE FAULT TOLERANT SOFTWARE- DEFINED NETWORKING (SDN) CONTROLLERS

Distributed Systems. 05. Clock Synchronization. Paul Krzyzanowski. Rutgers University. Fall 2017

Towards Recoverable Hybrid Byzantine Consensus

The Next 700 BFT Protocols

Resource-efficient Byzantine Fault Tolerance. Tobias Distler, Christian Cachin, and Rüdiger Kapitza

Copyright by Ramakrishna Rao Kotla 2008

Practical Byzantine Fault Tolerance Using Fewer than 3f+1 Active Replicas

ZZ and the Art of Practical BFT

Security (and finale) Dan Ports, CSEP 552

Low-Latency Multi-Datacenter Databases using Replicated Commit

ZZ and the Art of Practical BFT Execution

BFTCloud: A Byzantine Fault Tolerance Framework for Voluntary-Resource Cloud Computing

Building Consistent Transactions with Inconsistent Replication

Why then another BFT protocol? Zyzzyva. Simplify, simplify. Simplify, simplify. Complex decision tree hampers BFT adoption. H.D. Thoreau. H.D.

Fault Tolerance via the State Machine Replication Approach. Favian Contreras

A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm

arxiv:cs/ v3 [cs.dc] 1 Aug 2007

XFT: Practical Fault Tolerance Beyond Crashes

Tolerating Byzantine Faults in Transaction Processing Systems using Commit Barrier Scheduling

XFT: Practical Fault Tolerance beyond Crashes

Distributed Systems. 09. State Machine Replication & Virtual Synchrony. Paul Krzyzanowski. Rutgers University. Fall Paul Krzyzanowski

The Next 700 BFT Protocols

Low Overhead Concurrency Control for Partitioned Main Memory Databases

Byzantine Fault Tolerant Coordination for Web Services Atomic Transactions

Velisarios: Byzantine Fault-Tolerant Protocols Powered by Coq

BFT Selection. Ali Shoker and Jean-Paul Bahsoun. University of Toulouse III, IRIT Lab. Toulouse, France

Transcription:

Tolerating Latency in Replicated State Machines through Client Speculation April 22, 2009 1, James Cowling 2, Edmund B. Nightingale 3, Peter M. Chen 1, Jason Flinn 1, Barbara Liskov 2 University of Michigan 1, MIT CSAIL 2, Microsoft Research 3

Simple Service Configuration 1 ++x x=1 2

Replicated State Machines (RSM) 2 ++x x=1 x=2 2 ++x x=1 x=2 Agree on request 2 ++x x=1 x=2 All non-faulty replies are identical 2 ++x x=1 x=2 3

RSMs have high latency 2 1. Need many replies 2. Agreement 3. Geographic Distribution 4

Hide the Latency Use speculative execution inside RSM Speculate before consensus is reached Without faults, any reply predicts consensus value Let client continue after receiving one reply 5

Overview Introduction Improving RSMs with speculation Application to PBFT Performance Conclusion 6

Speculative Execution in RSM Take Checkpoint Blocked Predict: 1 Speculate! Commit x=1 x=1 Continue processing while waiting 7

Critical path: first reply 1 1 Completion latency less relevant First reply latency sets critical path Speed Accuracy Other desirable properties Throughput Stability under contention Smaller number of replicas 8

Requests while speculative while!check_lottery(): submit_tps() buy_corvette() Predict win? = yes yes 1. Hold request Bad performance buy 2. Distributed commit/rollback State tracking complex win? What do we do with this? 9

Resolve speculations on the replicas while!check_lottery(): submit_tps() buy_corvette() Predict win? = yes win? = yes yes yes win? if win?=yes: buy Explicitly encode dependencies as predicates No special request handling needed Replicas need to log past replies Local decision at replicas matches client 10

Overview Introduction Improving RSMs with speculation Application to PBFT Performance Conclusion 11

Practical BFT-CS [Castro and Liskov 1999] client primary f=1 12

Additional Details Tentative execution PBFT/PBFT-CS complete in 4 phases Read-only optimization Accurate answer from backup replica Failure threshold Bound worst-case failure Correctness 13

Overview Introduction Improving RSMs with speculation Application to PBFT Performance Conclusion 14

Benchmarks Shared counter Simple checkpoint No computation NFS: Apache httpd build Complex checkpoint Significant computation 15

Topology 1. Primary-local 2. Primary-remote 3. Uniform Primary 2.5 or 15 ms 16

Base case: no replication 1. Primary-local 2. Primary-remote 3. Uniform 2.5 or 15 ms 17

Run Time (sec) Shared Counter 120 100 Primary-local topology 80 60 40 PBFT PBFT-CS No replication 20 0 0 5 10 15 Network Delay (ms) 18

Run Time (sec) Shared Counter 120 100 Primary-local topology 80 60 40 20 PBFT PBFT-CS No replication Zyzzyva [Kotla et al. 07] 0 0 5 10 15 Network Delay (ms) 19

Run Time (sec) Shared Counter 120 100 Uniform & Primary-remote topology 80 60 40 PBFT PBFT-CS No replication 20 0 0 5 10 15 Network Delay (ms) 20

Run Time (sec) Shared Counter 120 100 Uniform & Primary-remote topology 80 60 40 20 PBFT PBFT-CS No replication Zyzzyva 0 0 5 10 15 Network Delay (ms) 21

Run Time (min) NFS: Apache build 35 30 Primary-local topology 25 20 15 10 PBFT PBFT-CS No replication 5 0 0 5 10 15 Network Delay (ms) 22

Run Time (min) NFS: Apache build 35 30 Uniform topology 25 20 15 10 PBFT PBFT-CS No replication 5 0 0 5 10 15 Network Delay (ms) 23

Run Time (min) NFS: Apache build 35 30 Primary-remote topology 25 20 15 10 PBFT PBFT-CS No replication 5 0 0 5 10 15 Network Delay (ms) 24

Run Time (min) NFS: With Failure 35 30 Primary-local topology 25 20 15 10 5 PBFT PBFT-CS No replication PBFT-CS (1% fail) 0 0 5 10 15 Network Delay (ms) 25

KOps/sec Throughput (Shared Counter) 70 60 50 LAN topology 40 30 20 PBFT PBFT-CS Zyzzyva 10 0 1 10 100 Number of Clients 26

Conclusion Integrate client speculation within RSMs Predicated requests: performance without complexity Clients less sensitive to latency between replicas 5x speedup over non-speculative protocol Makes WAN deployments more practical 27