SlideShare a Scribd company logo
Consensus and Efficient
  Passive Replication
             Marco Serafini
    joint work with Flavio Junqueira
       Yahoo! Research Barcelona
Passive Replication

1) Receive request                 4) Reply

          Primary                  2) Speculative execution
                                      Produce state update (Δ)
                         Δ

             PO Atomic Broadcast   3) Broadcast state update

                     Δ       Δ

    Followers
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
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 completes


0 Pro: can parallelize instances (like Paxos)
0 Cons: less modular, dedicated solutions
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
                                 instances
0 Cons: less modular, dedicated solutions
Primary Failure

Old 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       5
New Primary
Synch without extra state transfer +
        Primary Failure
  No need for blocking consensus =
  No need for modifying consensus
Old 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       5
New Primary
Synch without extra state transfer +
        Primary Failure
  No need for blocking consensus =
  No need for modifying consensus
Old 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 5
New Primary using Paxos as black box
Questions?
     Marco Serafini
serafini@yahoo-inc.com
Ad

Recommended

Prometheus 2.0
Prometheus 2.0
Kausal
 
Social Piggybacking: Leveraging Common Friends to Generate Event Streams
Social Piggybacking: Leveraging Common Friends to Generate Event Streams
Marco Serafini
 
Réplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden Gate
Mor THIAM
 
Réplication des bases de données
Réplication des bases de données
sie92
 
Introduction au datamining, concepts et techniques
Introduction au datamining, concepts et techniques
Ismail CHAIB
 
Vertex cover Problem
Vertex cover Problem
Gajanand Sharma
 
Np complete
Np complete
Dr. C.V. Suresh Babu
 
the Paxos Commit algorithm
the Paxos Commit algorithm
paolos84
 
Basic Paxos Implementation in Orc
Basic Paxos Implementation in Orc
Hemanth Kumar Mantri
 
Papers We Love / Kyiv : PAXOS (and little about other consensuses )
Papers We Love / Kyiv : PAXOS (and little about other consensuses )
Ruslan Shevchenko
 
Reaching reliable agreement in an unreliable world
Reaching reliable agreement in an unreliable world
Heidi Howard
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
Hiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
Hiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
Hiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
Hiroshi Ono
 
Distributed Consensus: Making the Impossible Possible
Distributed Consensus: Making the Impossible Possible
C4Media
 
Cornelia Davis, Meaghan Kjelland, Erin Schnabel, Therese Stowell, and Mathang...
Cornelia Davis, Meaghan Kjelland, Erin Schnabel, Therese Stowell, and Mathang...
VMware Tanzu
 
Distributed Consensus: Making Impossible Possible [Revised]
Distributed Consensus: Making Impossible Possible [Revised]
Heidi Howard
 
Distributed Consensus: Making Impossible Possible
Distributed Consensus: Making Impossible Possible
Heidi Howard
 
Distributed Consensus: Making Impossible Possible by Heidi howard
Distributed Consensus: Making Impossible Possible by Heidi howard
J On The Beach
 
Paxos building-reliable-system
Paxos building-reliable-system
Yanpo Zhang
 
The paxos commit algorithm
The paxos commit algorithm
ahmed hamza
 
Paxos vs Raft Have we reached consensus on distributed consensus.pptx
Paxos vs Raft Have we reached consensus on distributed consensus.pptx
mahdiaghaei19
 
Distributed Systems Theory for Mere Mortals
Distributed Systems Theory for Mere Mortals
Ensar Basri Kahveci
 
9X5u87KWa267pP7aGX3K
9X5u87KWa267pP7aGX3K
CapitolPunishment
 
Distributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
Pratik Tambekar
 
Checkpointing with Synchronized Clocks in Distributed Systems
Checkpointing with Synchronized Clocks in Distributed Systems
ijujournal
 
Consensus in distributed computing
Consensus in distributed computing
Ruben Tan
 

More Related Content

Similar to Efficient Primary-Backup replication on top of consensus (20)

Basic Paxos Implementation in Orc
Basic Paxos Implementation in Orc
Hemanth Kumar Mantri
 
Papers We Love / Kyiv : PAXOS (and little about other consensuses )
Papers We Love / Kyiv : PAXOS (and little about other consensuses )
Ruslan Shevchenko
 
Reaching reliable agreement in an unreliable world
Reaching reliable agreement in an unreliable world
Heidi Howard
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
Hiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
Hiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
Hiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
Hiroshi Ono
 
Distributed Consensus: Making the Impossible Possible
Distributed Consensus: Making the Impossible Possible
C4Media
 
Cornelia Davis, Meaghan Kjelland, Erin Schnabel, Therese Stowell, and Mathang...
Cornelia Davis, Meaghan Kjelland, Erin Schnabel, Therese Stowell, and Mathang...
VMware Tanzu
 
Distributed Consensus: Making Impossible Possible [Revised]
Distributed Consensus: Making Impossible Possible [Revised]
Heidi Howard
 
Distributed Consensus: Making Impossible Possible
Distributed Consensus: Making Impossible Possible
Heidi Howard
 
Distributed Consensus: Making Impossible Possible by Heidi howard
Distributed Consensus: Making Impossible Possible by Heidi howard
J On The Beach
 
Paxos building-reliable-system
Paxos building-reliable-system
Yanpo Zhang
 
The paxos commit algorithm
The paxos commit algorithm
ahmed hamza
 
Paxos vs Raft Have we reached consensus on distributed consensus.pptx
Paxos vs Raft Have we reached consensus on distributed consensus.pptx
mahdiaghaei19
 
Distributed Systems Theory for Mere Mortals
Distributed Systems Theory for Mere Mortals
Ensar Basri Kahveci
 
9X5u87KWa267pP7aGX3K
9X5u87KWa267pP7aGX3K
CapitolPunishment
 
Distributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
Pratik Tambekar
 
Checkpointing with Synchronized Clocks in Distributed Systems
Checkpointing with Synchronized Clocks in Distributed Systems
ijujournal
 
Consensus in distributed computing
Consensus in distributed computing
Ruben Tan
 
Papers We Love / Kyiv : PAXOS (and little about other consensuses )
Papers We Love / Kyiv : PAXOS (and little about other consensuses )
Ruslan Shevchenko
 
Reaching reliable agreement in an unreliable world
Reaching reliable agreement in an unreliable world
Heidi Howard
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
Hiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
Hiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
Hiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
Hiroshi Ono
 
Distributed Consensus: Making the Impossible Possible
Distributed Consensus: Making the Impossible Possible
C4Media
 
Cornelia Davis, Meaghan Kjelland, Erin Schnabel, Therese Stowell, and Mathang...
Cornelia Davis, Meaghan Kjelland, Erin Schnabel, Therese Stowell, and Mathang...
VMware Tanzu
 
Distributed Consensus: Making Impossible Possible [Revised]
Distributed Consensus: Making Impossible Possible [Revised]
Heidi Howard
 
Distributed Consensus: Making Impossible Possible
Distributed Consensus: Making Impossible Possible
Heidi Howard
 
Distributed Consensus: Making Impossible Possible by Heidi howard
Distributed Consensus: Making Impossible Possible by Heidi howard
J On The Beach
 
Paxos building-reliable-system
Paxos building-reliable-system
Yanpo Zhang
 
The paxos commit algorithm
The paxos commit algorithm
ahmed hamza
 
Paxos vs Raft Have we reached consensus on distributed consensus.pptx
Paxos vs Raft Have we reached consensus on distributed consensus.pptx
mahdiaghaei19
 
Distributed Systems Theory for Mere Mortals
Distributed Systems Theory for Mere Mortals
Ensar Basri Kahveci
 
Distributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
Pratik Tambekar
 
Checkpointing with Synchronized Clocks in Distributed Systems
Checkpointing with Synchronized Clocks in Distributed Systems
ijujournal
 
Consensus in distributed computing
Consensus in distributed computing
Ruben Tan
 

Efficient Primary-Backup replication on top of consensus

  • 1. Consensus and Efficient Passive Replication Marco Serafini joint work with Flavio Junqueira Yahoo! Research Barcelona
  • 2. Passive Replication 1) Receive request 4) Reply Primary 2) Speculative execution Produce state update (Δ) Δ PO Atomic Broadcast 3) Broadcast state update Δ Δ Followers
  • 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. 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 completes 0 Pro: can parallelize instances (like Paxos) 0 Cons: less modular, dedicated solutions
  • 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 instances 0 Cons: less modular, dedicated solutions
  • 6. Primary Failure Old 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 5 New Primary
  • 7. Synch without extra state transfer + Primary Failure No need for blocking consensus = No need for modifying consensus Old 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 5 New Primary
  • 8. Synch without extra state transfer + Primary Failure No need for blocking consensus = No need for modifying consensus Old 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 5 New Primary using Paxos as black box