-
Notifications
You must be signed in to change notification settings - Fork 0
Distributed Computing
abstractOwl edited this page May 20, 2017
·
9 revisions
A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.
— Leslie Lamport (https://research.microsoft.com/en-us/um/people/lamport/pubs/distributed-system.txt)
- Consistent Hashing: https://en.wikipedia.org/wiki/Consistent_hashing
- Conflict-free Replicated Data Type (CRDT): https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type
- Data structure that facilitates merging diverged versions. One example is collaborative editing, e.g. if user edits todo list on two temporarily offline devices, how can the changes be reconciled when the devices are synced with the server later?
- http://christophermeiklejohn.com/crdt/2014/07/22/readings-in-crdts.html
Because physical time can vary from system to system, how can we accurately order a series of events in a distributed system?
Time, Clocks, and Ordering in a Distributed System
TODO: Add description
Dr. Dobbs | The Byzantine Generals Problem
A peer-to-peer Distributed HashTable (DHT) algorithm/protocol using consistent hashing to reduce shifting upon node join/leave.
Chord: A scalable peer-to-peer lookup service for internet applications
Dynamo: Amazon's Highly Available Key-value Store
TODO: Add information