ACM Comm 2015 05 There Is No Now (Notes)

From University
Jump to: navigation, search
"Optimization as Motion Selection Principle in Robot Action" CACM May 2015

There Is No Now
by Justin Sheehy, p.36-41

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

  1. Grace Hopper[2]
  2. Eric Brewer[3]

Ideas

  1. 11.8 inches, the distance electricity travels in one nanosecond.
  2. Given travel delays in time, determining exactly what now means in computer systems is difficult.
  3. What synchronized means between two clocks must be defined and agreed to by all observers.
  4. "...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."
  5. Once two clocks are synchronized, they don't stay that way for long. They skew apart.
  6. Humans never, ever, do perfect.
  7. CAP Theorem[4]
    1. Triple Constraint for a distributed data store among Consistency, Availability, and Partition tolerance. This also applies to all distributed systems.
  8. All environments created by humans are less than perfect.
    1. HOW imperfect are the components in this network?
    2. Are they just imperfect, or hostile as well? And how much is each?
    3. What happens when a component fails?
  9. Google Spanner is cited as eliminating the differences between clocks on a network. But is wrong.
  10. There is no single view of time in a network.
  11. Clock Drift[5]
  12. Eight Fallacies of Distributed Computing[6][7]
  13. Byzantine Failure[8]
  14. How to model the development environment to succeed on the real environment? The model should be a bit harsher than the real one.
  15. What is the minimum coordination needed? Coordination that needs no clock.

References

  1. Network Time Protocol[9]
    1. Uses the time-delay between nodes when synchronizing time over a network.
  2. Edsger W. Dijkstra Paper Prize in Distributed Computing[10]
  3. Google Spanner Cloud Database[11]
  4. Paxos[12]
  5. Apache Zookeeper[13]
  6. Viewstamped Replication[14]
  7. Berkeley Orders of Magnitude (BOOM)[15]
  8. Conflict-free Replicated Data Types (CRDTs)[16]

Internal Links

Parent Article: Reading Notes