e ff ortless eventual consistency
play

E ff ortless Eventual Consistency Gossip, CRDTs, and Weave Mesh - PowerPoint PPT Presentation

E ff ortless Eventual Consistency Gossip, CRDTs, and Weave Mesh weave works - Outline Theory Practice Extension weave works - Outline Theory Gossip CRDT Practice Weave Mesh Weave Net Extension


  1. E ff ortless Eventual Consistency Gossip, CRDTs, and Weave Mesh weave works -

  2. Outline • Theory • Practice • Extension 
 weave works -

  3. Outline • Theory 
 Gossip 
 CRDT • Practice 
 Weave Mesh 
 Weave Net • Extension 
 User data types 
 Strong consistency weave works -

  4. Motivating Example 0 Increment-only counter weave works -

  5. Increment Motivating Example 0 Increment-only counter weave works -

  6. Increment Motivating Example 1 Increment-only counter weave works -

  7. Motivating Example 1 Increment-only counter weave works -

  8. Increment Motivating Example 1 Increment-only counter weave works -

  9. Increment Motivating Example 2 Increment-only counter weave works -

  10. Motivating Example 2 Increment-only counter weave works -

  11. Increment Increment Motivating Example 2 Increment-only counter Increment Increment weave works -

  12. Increment Increment Motivating Example ☹ Increment-only counter Increment Increment weave works -

  13. Increment Increment Motivating Example 😰 Increment-only counter Increment Increment weave works -

  14. Increment Increment Motivating Example 2 Increment-only counter Increment Increment weave works -

  15. Increment Increment Motivating Example 2 Increment-only counter Increment Increment weave works -

  16. Increment Increment Motivating Example 3 Increment-only counter Increment Increment weave works -

  17. Increment Motivating Example 3 Increment-only counter Increment Increment weave works -

  18. Increment Motivating Example 3 Increment-only counter Increment Increment weave works -

  19. Increment Motivating Example 4 Increment-only counter Increment Increment weave works -

  20. Increment Motivating Example 4 Increment-only counter Increment weave works -

  21. Increment Motivating Example 4 Increment-only counter Increment weave works -

  22. Increment Motivating Example 5 Increment-only counter Increment weave works -

  23. Increment Motivating Example 5 Increment-only counter weave works -

  24. Increment Motivating Example 5 Increment-only counter weave works -

  25. Increment Motivating Example 6 Increment-only counter weave works -

  26. Motivating Example 6 Increment-only counter weave works -

  27. Motivating Example 6 Increment-only counter weave works -

  28. weave works -

  29. weave works -

  30. 1x 1x weave works -

  31. weave works -

  32. 1x weave works -

  33. 1x weave works -

  34. ☹ ☹ ☹ ☹ ☹ ☹ ☹ 1x weave works -

  35. Theory: Gossip weave works -

  36. Gossip solves… • Information dissemination in irregular networks • Unreliable links • Dynamic, changing topologies weave works -

  37. Gossip requires… • Periodic and pairwise communication • Frequency of interaction ≪ individual message latency • Redundancy in delivered information weave works -

  38. Gossip requires… • Periodic and pairwise communication • Frequency of interaction ≪ individual message latency • Redundancy in delivered information weave works -

  39. Gossip modes • Push — if we know X, every round, tell a peer about X • Pull — every round, ask a peer about all possible X • Push/pull — push for some cycles, then pull for some cycles weave works -

  40. Rumor weave works -

  41. Rumor weave works -

  42. Rumor weave works -

  43. Rumor weave works -

  44. Rumor weave works -

  45. Rumor weave works -

  46. Anti-entropy weave works -

  47. Anti-entropy weave works -

  48. Anti-entropy weave works -

  49. Anti-entropy weave works -

  50. Anti-entropy gossip weave works -

  51. Aggregate weave works -

  52. 0 0 0 Motivating Example 0 0 0 Increment-only counter 0 0 0 weave works -

  53. 0 0 0 Motivating Example 0 0 0 Increment-only counter 0 0 0 weave works -

  54. Increment 0 0 0 Motivating Example 0 0 0 Increment-only counter 0 0 0 weave works -

  55. Increment 1 0 0 Motivating Example 0 0 0 Increment-only counter 0 0 0 weave works -

  56. 1 0 0 Motivating Example 0 0 0 Increment-only counter 0 0 0 weave works -

  57. t=1 1 0 0 Motivating Example 0 0 0 Increment-only counter 0 0 0 weave works -

  58. t=2 1 1 0 Motivating Example 0 0 0 Increment-only counter 0 0 0 weave works -

  59. t=3 1 1 0 Motivating Example 1 1 0 Increment-only counter 0 0 0 weave works -

  60. t=4 1 1 0 Motivating Example 1 1 0 Increment-only counter 1 1 0 weave works -

  61. t=5 1 1 0 Motivating Example 1 1 0 Increment-only counter 1 1 1 weave works -

  62. t=6 1 1 0 Motivating Example 1 1 1 Increment-only counter 1 1 1 weave works -

  63. t=7 1 1 1 Motivating Example 1 1 1 Increment-only counter 1 1 1 weave works -

  64. t=7 1 1 1 Motivating Example 1 1 1 Increment-only counter 1 1 1 weave works -

  65. Motivating Example 0 Increment-only counter weave works -

  66. Motivating Example 0 Increment-only counter weave works -

  67. Motivating Example 1 Increment-only counter weave works -

  68. Motivating Example 2 Increment-only counter weave works -

  69. Motivating Example 2 Increment-only counter weave works -

  70. 1 1 1 Motivating Example 1 2 1 Increment-only counter 🤕 1 1 1 weave works -

  71. 👒 Motivating Example Increment-only counter weave works -

  72. Increment 👒 Motivating Example 0 Increment-only counter weave works -

  73. Increment 👒 Motivating Example 0 Increment-only counter weave works -

  74. Increment 👒 Motivating Example 1 Increment-only counter weave works -

  75. Read 👒 Motivating Example 1 Increment-only counter weave works -

  76. 😧 😧 😧 Motivating Example 👒 😧 😧 x Increment-only counter 😧 😧 😧 weave works -

  77. Theory: CRDT weave works -

  78. CRDTs solve… • Shared state in a distributed system • Provide availability (A) • Provide partition tolerance (P) weave works -

  79. weave works -

  80. weave works -

  81. CRDTs require... • Operations that are • Associative — A • (B • C) = (A • B) • C • Commutative — A • B = B • A • Idempotent* — A • A = A weave works -

  82. CRDTs require... • Operations that are • Associative — A • (B • C) = (A • B) • C • Commutative — A • B = B • A • Idempotent* — A • A = A 😍 weave works -

  83. CRDT • Conflict-free • Replicated • Data • Type weave works -

  84. CmRDT • Commutative Replicated Data Type • Operation-based: transmit the op itself — "edge trigger" • Assumes reliable, exactly-once delivery (ha!) weave works -

  85. 
 0 Motivating Example 0 Increment-only counter CmRDT 0 weave works -

  86. 
 0 0 0 Motivating Example 0 0 0 Increment-only counter CmRDT 0 0 0 weave works -

  87. 
 Increment 0 0 0 Motivating Example 0 0 0 Increment-only counter CmRDT 0 0 0 weave works -

  88. 
 Increment 1 0 0 Motivating Example 0 0 0 Increment-only counter CmRDT 0 0 0 weave works -

  89. 
 1 0 0 Motivating Example 0 0 0 Increment-only counter CmRDT 0 0 0 weave works -

  90. 
 1 0 0 A++ Motivating Example 0 0 0 Increment-only counter CmRDT 0 0 0 weave works -

  91. 
 1 0 0 A++ Motivating Example 1 0 0 Increment-only counter CmRDT 0 0 0 weave works -

  92. 
 1 0 0 Motivating Example 1 0 0 Increment-only counter CmRDT 0 0 0 weave works -

  93. 
 1 0 0 Motivating Example A++ 1 0 0 Increment-only counter CmRDT 0 0 0 weave works -

  94. 
 1 0 0 Motivating Example A++ 1 0 0 Increment-only counter CmRDT 1 0 0 weave works -

  95. 
 1 0 0 Motivating Example 1 0 0 Increment-only counter CmRDT 1 0 0 weave works -

  96. 
 1 0 0 Read Motivating Example 1 0 0 Increment-only counter CmRDT 1 0 0 weave works -

  97. 
 1 0 0 Read Motivating Example Σ 1 0 0 = 1 Increment-only counter CmRDT 1 0 0 weave works -

  98. CvRDT • Convergent Replicated Data Type • State-based: transmit the complete state — "level trigger" • Achieve idempotency in fragile networks • All CmRDT can be expressed as CvRDT (Shapiro et. al.) weave works -

  99. 
 1 0 0 Motivating Example 1 0 0 Increment-only counter CmRDT 1 0 0 weave works -

  100. 
 1 0 0 Increment Motivating Example 1 0 0 Increment-only counter CmRDT 1 0 0 weave works -

Recommend


More recommend