Your SlideShare is downloading. ×
Consistency in Distributed Systems
Consistency in Distributed Systems
Consistency in Distributed Systems
Consistency in Distributed Systems
Consistency in Distributed Systems
Consistency in Distributed Systems
Consistency in Distributed Systems
Consistency in Distributed Systems
Consistency in Distributed Systems
Consistency in Distributed Systems
Consistency in Distributed Systems
Consistency in Distributed Systems
Consistency in Distributed Systems
Consistency in Distributed Systems
Consistency in Distributed Systems
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Consistency in Distributed Systems

3,853

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,853
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
78
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Consistency in Distributed Systems Shane K Johnson CITYECH, Inc. March 31, 2010
  • 2. Outline
    • Physical Distribution
    • 3. CAP Theorem
      • BASE
    • Consistency
      • Eventual Consistency
    • Consistent Hashing
    • 4. Consensus Protocols
    • 5. Vector Clocks
  • 6. Physical Distribution
  • 9. CAP Theorem
    • Brewer's Conjecture
      • Eric Brewer
      • 10. ACM Symposium on the Principles of Distributed Computing (PODC)
      • 11. July 19th 2000
    • Brewer's Theorom
      • Formally Proved by Seth Gilbert/Nancy Lynch
      • 12. MIT
      • 13. 2002
  • 14. CAP Theorem
    • Consistent
      • "...the C in ACID...a preset contraint of distributed systems that multiple values for the same piece of data are not allowed..."
    • Available
    • 15. Partition Tolerant
  • 16. BASE
    • Alternative to ACID
  • 19. BASE
  • 23. Consistency
    • Strong
      • “After the update completes, any subsequent access will return the updated value.”
    • Weak
      • “The system does not guarantee that subsequent accesses will return the updated value.” Inconsistency Windows
    • Eventual
      • “The storage system guarantees that if no new updates are made to the object, eventually all accesses will return the last updated value.”
  • 24. Eventually Consistent
    • Werner Vogels – CTO, Amazon
    • 25. Eventual Consistency
      • Casual
      • 26. Read Your Writes
      • 27. Session
        • Session Based Read Your Writes
      • Monotonic Read
        • Once a process has seen a particular value, it will never see an older one.
      • Monotonic Write
        • Writes by the same process are serialized.
  • 28. Eventually Consistent
    • N = # Nodes
    • 29. W = # Replicas to Acknowledge Update
    • 30. R = # Replicas Contacted for Read
    • 31. Strong (W + R > N)
      • Synchronous Master/Master N=2, W=2, R=1
    • Weak/Eventual (W + R <= N)
      • Asynchronous Master/Master N=2, W=1, R=1
    • Optimized Read R=1, N=W
    • 32. Optimized Write W=1, R=N
  • 33. Consistent Hashing
    • Before
      • Object o
      • 34. # Nodes n
        • hash(o) mod n
    • Problem
      • Rebalancing (Add/Remove Nodes)
  • 35. Consistent Hashing
    • Hash Nodes
    • 36. Treat Hash Table as Hash Ring
    • 37. Hash Object
    • 38. Traverse Until Node Found
  • 39. Consensus Protocols
    • Quorum
    • 40. Paxos
      • Leslie Lamport
        • The Part-Time Parliament, 1998
      • Roles
        • Client
        • 41. Acceptor
        • 42. Proposer
          • Notified Quorum of Acceptors on Behalf of Client
        • Learner
          • Execute Request, Send Response to Client
  • 43. Vector Clocks
    • Lamport Timestamps -> Logical Clocks
  • 44. References
    • http://www.julianbrowne.com/article/viewer/brewers-cap-theorem
    • 45. http://www.allthingsdistributed.com/2008/12/eventually_consistent.html
    • 46. http://weblogs.java.net/blog/tomwhite/archive/2007/11/consistent_hash.html
    • 47. http://en.wikipedia.org/wiki/Paxos_algorithm
    • 48. http://en.wikipedia.org/wiki/Vector_clock

×