ACM Comm 2015 05 There Is No Now (Notes)
There Is No Now |
There Is No Now
"Problems with simultaneity in distributed systems."
Relativity applies to computer networks as well. Just at very small scales.[1]
MuantOS is essentially a software mutable network.
People
Ideas
- 11.8 inches, the distance electricity travels in one nanosecond.
- Given travel delays in time, determining exactly what now means in computer systems is difficult.
- What synchronized means between two clocks must be defined and agreed to by all observers.
- "...systems anywhere (in the network) should be able to agree on a "now" and to share a common, single view of the progress of time."
- Once two clocks are synchronized, they don't stay that way for long. They skew apart.
- Humans never, ever, do perfect.
- CAP Theorem[4]
- Triple Constraint for a distributed data store among Consistency, Availability, and Partition tolerance. This also applies to all distributed systems.
- All environments created by humans are less than perfect.
- HOW imperfect are the components in this network?
- Are they just imperfect, or hostile as well? And how much is each?
- What happens when a component fails?
- Google Spanner is cited as eliminating the differences between clocks on a network. But is wrong.
- There is no single view of time in a network.
- Clock Drift[5]
- Eight Fallacies of Distributed Computing[6][7]
- Byzantine Failure[8]
- How to model the development environment to succeed on the real environment? The model should be a bit harsher than the real one.
- What is the minimum coordination needed? Coordination that needs no clock.
References
- Network Time Protocol[9]
- Uses the time-delay between nodes when synchronizing time over a network.
- Edsger W. Dijkstra Paper Prize in Distributed Computing[10]
- Google Spanner Cloud Database[11]
- Paxos[12]
- Apache Zookeeper[13]
- Viewstamped Replication[14]
- Berkeley Orders of Magnitude (BOOM)[15]
- Conflict-free Replicated Data Types (CRDTs)[16]
Internal Links
Parent Article: Reading Notes