-
Notifications
You must be signed in to change notification settings - Fork 11
SICP 3.4
- Time Is of the Essence --- should 'Is' be capitalized?
- 3.4.1: there's another choice: simultaneity is relative
- pre-3.38: but it does depend on each process not getting too far ahead of its neighbors (async life)
- 412: ternary numbers?
- dining philosophers
- live lock
- last paragraph amazing and apropos
Great meeting! We talked about the programming language theory of relativity, the actual theory of relativity, concurrency models like CSP and the actor model and how those give you leverage over concurrency issues by allowing you to reason effectively about communication within your program, and limiting that communication to reasonable channels (no spooky action at a distance).
We built a semaphore out of a list of mutexes and a queue, and then built another out of test_and_set! style atomic primitives. We played with synchronizers and experienced the combinatorial explosion of mutable state + pre-emptive scheduling. We talked at length about solutions to the dining philosophers problem (a waiter, a golden chopstick, numbered forks) and a bit about the cigarette smokers problem and live lock.
- http://en.wikipedia.org/wiki/Ladder_paradox
- "Time, Clocks, and the Ordering of Events in a Distributed System" - Leslie Lamport: http://www.stanford.edu/class/cs240/readings/lamport.pdf (a suggested reading from someone on IRC)
From before: