i nvariant s afety for
play

I NVARIANT S AFETY FOR D ISTRIBUTED A PPLICATIONS Sreeja Nair - PowerPoint PPT Presentation

I NVARIANT S AFETY FOR D ISTRIBUTED A PPLICATIONS Sreeja Nair Gustavo Petri Marc Shapiro S TATEFUL D ISTRIBUTED S YSTEMS W E WANT : } Scalability Replicated State Availability Programmability Strong Consistency S


  1. I NVARIANT S AFETY FOR 
 D ISTRIBUTED A PPLICATIONS Sreeja Nair Gustavo Petri Marc Shapiro

  2. S TATEFUL D ISTRIBUTED S YSTEMS W E WANT : } • Scalability Replicated State • Availability • Programmability 
 ≈ Strong Consistency

  3. S TATEFUL D ISTRIBUTED S YSTEMS W E WANT : } • Scalability Replicated CAP* Theorem State • Availability • Programmability 
 ≈ Strong Consistency * Consistency, Availability, Partition Tolerance [Gilbert&Lynch’02]

  4. S TATEFUL D ISTRIBUTED S YSTEMS W E WANT : W E GET : } • Scalability Replicated CAP* Theorem • Availability State • Availability • Programmability 
 ≈ Strong Consistency Availability * Consistency, Availability, Partition Tolerance [Gilbert&Lynch’02]

  5. S TATEFUL D ISTRIBUTED S YSTEMS W E WANT : W E GET : } • Scalability Replicated CAP* Theorem • Availability State • Availability O R : • Programmability • Programmability 
 ≈ Strong Consistency Availability Consistency * Consistency, Availability, Partition Tolerance [Gilbert&Lynch’02]

  6. D ISTRIBUTED S TATE (CRDT S )

  7. D ISTRIBUTED S TATE (CRDT S ) C ONFLICT -F REE R EPLICATED D ATA T YPES • Availability • Network Partition Tolerance • (Strong) Eventual Consistency • Distributed Data Type Abstractions ‣ Deterministic Conflict Resolution 
 ⟹ Eventual Convergence

  8. R EPLICATED O NLINE A UCTION Marc Sreeja Gustavo

  9. R EPLICATED O NLINE A UCTION Marc Sreeja Gustavo

  10. R EPLICATED O NLINE A UCTION Marc Sreeja Gustavo

  11. R EPLICATED O NLINE A UCTION Marc M: Sreeja Gustavo

  12. R EPLICATED O NLINE A UCTION Marc M: M: Sreeja Gustavo

  13. R EPLICATED O NLINE A UCTION Marc M: M: Sreeja M: Gustavo

  14. R EPLICATED O NLINE A UCTION Marc M: M: Sreeja M: Gustavo

  15. R EPLICATED O NLINE A UCTION Marc M: M: Sreeja M: G: Gustavo

  16. R EPLICATED O NLINE A UCTION Marc M: M: Sreeja M: M: G: Gustavo

  17. R EPLICATED O NLINE A UCTION Marc M: M: G: M: Sreeja M: M: G: Gustavo

  18. R EPLICATED O NLINE A UCTION Marc M: M: G: M: Sreeja M: M: G: Gustavo

  19. S AFETY FOR D ISTRIBUTED A PPLICATIONS

  20. S AFETY FOR D ISTRIBUTED A PPLICATIONS  ‣ High Availability ‣ Strong Consistency

  21. S AFETY FOR D ISTRIBUTED A PPLICATIONS   ‣ High Availability ‣ High Availability ‣ Strong Consistency ‣ Eventual Consistency

  22. S AFETY FOR D ISTRIBUTED A PPLICATIONS    ‣ High Availability ‣ High Availability ‣ High Availability ‣ Strong Consistency ‣ Eventual Consistency ‣ Eventual Consistency ‣ Data Safety

  23. S AFETY FOR D ISTRIBUTED A PPLICATIONS    ‣ High Availability ‣ High Availability ‣ High Availability ‣ Strong Consistency ‣ Eventual Consistency ‣ Eventual Consistency ‣ Data Safety P ROOF RULE FOR S TATEFUL D ISTRIBUTED A PPLICATION S AFETY ‣ Modular ‣ Automated verification

  24. S TATE - BASED CRDT S ‣ State-based CRDTs ‣ Propagation of states (instead of operations)

  25. S TATE - BASED CRDT S ‣ State-based CRDTs ‣ Propagation of states (instead of operations) u client origin replica u ? replica replica v ?

  26. S TATE - BASED CRDT S ‣ State-based CRDTs ‣ Propagation of states (instead of operations) ‣ States are merged on receive ‣ Convergence: concurrent conflicting operations result deterministically on a unique state ‣ No delivery assumptions

  27. S TATE - BASED CRDT S … … … …

  28. S TATE - BASED CRDT S ‣ State is a (join semi-)Lattice … … … …

  29. S TATE - BASED CRDT S ‣ State is a (join semi-)Lattice ‣ Effectors send the state at the origin … … … … ‣ Lazy update propagation

  30. S TATE - BASED CRDT S ‣ State is a (join semi-)Lattice ‣ Effectors send the state at the origin … … … … ‣ Lazy update propagation ‣ Each operation is an inflation in the lattice

  31. S TATE - BASED CRDT S ‣ State is a (join semi-)Lattice ‣ Effectors send the state at the origin … … … … ‣ Lazy update propagation ‣ Each operation is an inflation in the lattice ‣ merge function joins the state of two replicas ‣ Join of the lattice

  32. I NVARIANTS FOR SB-CRDT S ‣ CRDT (lattice) constraints … … … …

Recommend


More recommend