Convergent/Divergent

 Convergent/Divergent

Presented at EmberConf 2014

3e09fee7b359be847ed5fa48f524a3d3?s=128

Christopher Meiklejohn

March 26, 2014
Tweet

Transcript

  1. 2.

    @ C M E I K CMEIKLEJOHN B A S

    H O GEORGIA TECH TDISTRIBUTED 2
  2. 17.

    The data consistency model specifies a contract between programmer and

    system, wherein the system guarantees that if the programmer follows the rules, memory will be consistent and the results of memory operations will be predictable. ! Wikipedia, Consistency Model 17
  3. 20.
  4. 23.

    A fundamental problem in distributed computing is to achieve overall

    system reliability in the presence of a number of faulty processes. This often requires processes to agree on some data value that is needed during computation. Examples of applications of consensus include whether to commit a transaction to a database, agreeing on the identity of a leader, state machine replication, and atomic broadcasts. ! Wikipedia, Consensus 23
  5. 34.

    CONFLICT FREE R E P L I C A T

    E D DATA TYPES 34
  6. 35.

    C O N V E R G E N T

    C O M M U T A T I V E R E P L I C A T E D DATA TYPES 35
  7. 42.

    42 b a c a, b a, c a, b,

    c SET; MERGE: UNION b, c
  8. 47.

    [ [{1, a}], [] ] [ [{1, a}], [] ]

    [ [{1, a}], [{1, a}] ] [ [{1, a}], [{1, a}] ]
  9. 48.

    [ [{1, a}], [] ] [ [{1, a}], [] ]

    [ [{1, a}], [{1, a}] ] [ [{1, a}], [{1, a}] ] [ [{1, a}, {2, a}], [{1, a}] ]
  10. 49.

    [ [{1, a}], [] ] [ [{1, a}], [] ]

    [ [{1, a}], [{1, a}] ] [ [{1, a}], [{1, a}] ] [ [{1, a}, {2, a}], [{1, a}] ] [ [{1, a}, {2, a}], [{1, a}] ]
  11. 51.

    [ [{1, a}], [] ] [ [{1, a}], [] ]

    [ [{1, a}, {2, b}], [] ]
  12. 52.

    [ [{1, a}], [] ] [ [{1, a}], [] ]

    [ [{1, a}, {2, b}], [] ] [ [{1, a}], [{1, a}] ]
  13. 53.

    [ [{1, a}], [] ] [ [{1, a}], [] ]

    [ [{1, a}, {2, b}], [] ] [ [{1, a}], [{1, a}] ] [ [{1, a}, {2, b}], [{1, a}] ]
  14. 54.
  15. 66.