Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Path Towards Simplifying Consistency in Distributed Systems

The Path Towards Simplifying Consistency in Distributed Systems

Caitie McCaffrey

April 24, 2017
Tweet

More Decks by Caitie McCaffrey

Other Decks in Technology

Transcript

  1. Halo 4 Statistics Service Halo 4 Statistics Service Record &

    Aggregate Statistics From Every Multiplayer Halo Game a User Plays
  2. Cmd Line Tool Viz / Dashboad Alerting Svc Cuckoo-Read Cuckoo-Write

    Indexing Svc Relay Svc Twitter Front End Twitter Svc Twitter Statsite Twitter Svc Twitter Svc Scribe Collection Agent HDFS Manhattan Database Public Cloud Observability at Twitter
  3. Report Events Stream Modification Events Stream Enrollment Events Stream Listener

    Service Daemons Service Executor Service Notification Events Stream Notification Service Manhattan Macaw
  4. Linearizable Sequential Causal Pipelined Random Access Memory Read Your Write

    Monotonic Read Monotonic Write Write From Read Consistency Models
  5. 1988 “We believe the form of communication that is needed

    is remote procedure call with at- most-once semantics”
  6. Branch B Account 789: $250 Branch A Account 123 :

    $100 Account 456: $50 SubAction: Deposit (123, 50) Transfer Action SubAction: Withdraw(789, 50) Transfer Deposit Withdraw enter topaction coenter action branchA.Deposit(123, 50) action branchB.Withdraw(789, 50) end end
  7. Define Invariants & Actions Deposit Money Withdrawal Money Determine Consistency

    Required Bank Account > 0 Eventual Consistency Strong Consistency Code Generation?