Efficient Primary-Backup replication on top of consensus

464 views

Published on

Brief announcement presented at the DISC 2012 conference.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
464
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Efficient Primary-Backup replication on top of consensus

  1. 1. Consensus and Efficient Passive Replication Marco Serafini joint work with Flavio Junqueira Yahoo! Research Barcelona
  2. 2. Passive Replication1) Receive request 4) Reply Primary 2) Speculative execution Produce state update (Δ) Δ PO Atomic Broadcast 3) Broadcast state update Δ Δ Followers
  3. 3. Option 1: Standard Consensus Sequential consensus instances: PO atomic broadcast decide (v, i) < propose (v’, i+1) Semi-passive replication Consensus interface: Consensus • propose (val, inst) • decide (val, inst) Ω Asynch. links
  4. 4. Option 2: Modify Paxos PO atomic broadcast Comparison to Paxos • Stable leader: similar to Paxos Zab / • New leader: synch primary and Virtually Synchronous Paxos followers • Extra state transfer steps • Block consensus until state Ω Asynch. links transfer completes0 Pro: can parallelize instances (like Paxos)0 Cons: less modular, dedicated solutions
  5. 5. Option 2: Modify Paxos PO atomic broadcast Comparison to Paxos • Stable leader: similar to Paxos Zab / • New leader: synch primary and Virtually Synchronous Paxos followers Contribution: • Extra state transfer steps • Block consensus until state Use standard consensus Ω Asynch. links transfer completes with parallel(like Paxos)0 Pro: can parallelize instances instances0 Cons: less modular, dedicated solutions
  6. 6. Primary FailureOld Primary 122 123 124 125 126 127 128 Consensus Wi 122 1 2 126 4 3 5 instances n New-Primary 1 2 3 4 3 5New Primary
  7. 7. Synch without extra state transfer + Primary Failure No need for blocking consensus = No need for modifying consensusOld Primary 122 123 124 125 126 127 128 Consensus Wi 122 1 2 126 4 3 5 instances n New-Primary 1 2 3 4 3 5New Primary
  8. 8. Synch without extra state transfer + Primary Failure No need for blocking consensus = No need for modifying consensusOld Primary 122 123 124 125 126 127 128 Consensus instances Pipelining  3 5 Wi 122 n 1 2 126 4 Same stable performance as Zab New-Primary 1 2 3 4 3 5New Primary using Paxos as black box
  9. 9. Questions? Marco Serafiniserafini@yahoo-inc.com

×