prophecy: using history for high-throughput fault...

23
Prophecy: Using History for High- Throughput Fault Tolerance Siddhartha Sen, SOSP 2009 Joint work with: Wyatt Lloyd and Michael J. Freedman Princeton University

Upload: others

Post on 02-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Prophecy: Using History for High-Throughput Fault Tolerance

Siddhartha Sen, SOSP 2009

Joint work with: Wyatt Lloyd

and Michael J. Freedman

Princeton University

Page 2: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Background & Goals

• Replication techniques that tolerate Byzantine (arbitrary) faults have poor throughput:

– 3f + 1 replicas needed to tolerate f faulty replicas

– Every replica participates in every operation

• Goal: Leverage properties of Internet services to improve throughput

– Focus on read-mostly workloads

Page 3: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Traditional BFT

Clients

Replica Group

application

Agree?

Page 4: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

D-Prophecy: A distributed sketcher

Clients

Replica Group

applicationsketcher

Agree?

Page 5: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

D-Prophecy: A distributed sketcher

Clients

Replica Group

applicationsketcher

Agree?Requests Responses

sketch(req1) sketch(resp1)

sketch(req2) sketch(resp2)

sketch(req3) sketch(resp3)

Page 6: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

D-Prophecy: A distributed sketcher

Clients

Replica Group

sketch

sketch

full response

Agree?

Page 7: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

D-Prophecy: A distributed sketcher

Clients

Replica Group

sketch

sketch

full response

Agree?

Page 8: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

D-Prophecy: A distributed sketcher

full response

Clients

Replica Group

sketch

Load balancing

sketch

Page 9: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Trades off consistency for performance

• Traditional BFT: executes read at every replica, linearizability

• D-Prophecy: in-memory lookup at most, delay-once linearizability

D-Prophecy: A distributed sketcher

Clients

Replica Group

Page 10: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Delay-once linearizability

• Faulty replicas can return only stale (not arbitrary) data

• Load balancing limits repeated stale results

D-Prophecy: A distributed sketcher

Clients

Replica Group

Page 11: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Internet services

• Unmodified clients

• Short-lived sessions

Page 12: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Internet services

• Unmodified clients

• Short-lived sessions

Page 13: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Internet services

• Unmodified clients

• Short-lived sessions

Page 14: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Internet services

Clients

Replica Group

Page 15: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Sketcher

Internet services

Clients

Replica Group

Proxy

Page 16: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Consolidate sketch tables

Sketcher

Internet services

Clients

Replica Group

Page 17: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Consolidate sketch tables

Sketcher

Internet services

Clients

Replica Group

Page 18: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Prophecy: A trusted proxy

Sketcher must be fail-stop, but…

Sketcher

Clients

Replica Group

Trusted

Page 19: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Prophecy: A trusted proxy

Sketcher

Clients

Replica Group

Trusted

Already trust middleboxes for availabilitySketcher is small and simple

Page 20: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Prophecy: A trusted proxy

all reads

Page 21: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Prophecy: A trusted proxy

all reads

Page 22: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Summary

• Prophecy’s performance on reads approaches that of unreplicated service

• Relaxes consistency to delay-once semantics

Page 23: Prophecy: Using History for High-Throughput Fault Tolerancesidsen.azurewebsites.net/papers/prophecy-wip-sosp09.pdf · Prophecy: Using History for High- Throughput Fault Tolerance

Summary

• Prophecy’s performance on reads approaches that of unreplicated service

• Relaxes consistency to delay-once semantics

– Not specific to BFT!

– Can apply to Paxos, quorums, etc.