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 TATEFUL D ISTRIBUTED S YSTEMS W E WANT : } • Scalability Replicated CAP* Theorem State • Availability • Programmability ≈ Strong Consistency * Consistency, Availability, Partition Tolerance [Gilbert&Lynch’02]
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]
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]
D ISTRIBUTED S TATE (CRDT S )
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
R EPLICATED O NLINE A UCTION Marc Sreeja Gustavo
R EPLICATED O NLINE A UCTION Marc Sreeja Gustavo
R EPLICATED O NLINE A UCTION Marc Sreeja Gustavo
R EPLICATED O NLINE A UCTION Marc M: Sreeja Gustavo
R EPLICATED O NLINE A UCTION Marc M: M: Sreeja Gustavo
R EPLICATED O NLINE A UCTION Marc M: M: Sreeja M: Gustavo
R EPLICATED O NLINE A UCTION Marc M: M: Sreeja M: Gustavo
R EPLICATED O NLINE A UCTION Marc M: M: Sreeja M: G: Gustavo
R EPLICATED O NLINE A UCTION Marc M: M: Sreeja M: M: G: Gustavo
R EPLICATED O NLINE A UCTION Marc M: M: G: M: Sreeja M: M: G: Gustavo
R EPLICATED O NLINE A UCTION Marc M: M: G: M: Sreeja M: M: G: Gustavo
S AFETY FOR D ISTRIBUTED A PPLICATIONS
S AFETY FOR D ISTRIBUTED A PPLICATIONS ‣ High Availability ‣ Strong Consistency
S AFETY FOR D ISTRIBUTED A PPLICATIONS ‣ High Availability ‣ High Availability ‣ Strong Consistency ‣ Eventual Consistency
S AFETY FOR D ISTRIBUTED A PPLICATIONS ‣ High Availability ‣ High Availability ‣ High Availability ‣ Strong Consistency ‣ Eventual Consistency ‣ Eventual Consistency ‣ Data Safety
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
S TATE - BASED CRDT S ‣ State-based CRDTs ‣ Propagation of states (instead of operations)
S TATE - BASED CRDT S ‣ State-based CRDTs ‣ Propagation of states (instead of operations) u client origin replica u ? replica replica v ?
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
S TATE - BASED CRDT S … … … …
S TATE - BASED CRDT S ‣ State is a (join semi-)Lattice … … … …
S TATE - BASED CRDT S ‣ State is a (join semi-)Lattice ‣ Effectors send the state at the origin … … … … ‣ Lazy update propagation
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
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
I NVARIANTS FOR SB-CRDT S ‣ CRDT (lattice) constraints … … … …
Recommend
More recommend