2 From the New York Times … May 7 th, 2004 – “Intel said on Friday that it was scrapping its development of two microprocessors, a move that is a shift in the company's business strategy….” May 8 th,2004 – “Intel … [has] decided to focus its development efforts on “dual core” processors …. with two engines instead of one, allowing for greater efficiency because the processor workload is essentially shared.”
3 The Future of Computing Speeding up uniprocessors is harder and harder Intel, Sun, AMD, now focusing on “ multi-core ” architectures Soon, every computer will be a multiprocessor
4 What has this got to do with theory? Alan Mathison Turing. Forefather of Computer Science. Inventor of the Turing Machine.
5 1936 - Turing Computability fr#arazrw4ptlrsr01 gak030 A mathematical model that captures what is and is not computable on uniprocessors… Turing-Machine
6 Time and Asynchrony “Time is Nature’s way of making sure that everything doesn’t happen all at once.” (Anonymous, circa 1970) Real world asynchrony: no “clock in the sky”
7 Asynchronous Computability A mathematical model capturing what is and is not computable by multiple processors in an asynchronous environment 10011 Shared Memory/Network
8 Asynchrony Complicates Life A multitude of concurrent executions Asynchrony Synchrony A single execution Seek help from modern mathematics!
9 FLP Fischer Lynch and Paterson Showed that Asynchronous computability ≠ Turing computability Consensus Trivial in uniprocessor Impossible with 1 asynchronous failure Reasoned directly about executions
10 Graph Theory Biran, Moran, Zachs 1988 Single asynchronous failure Coordination problem is a graph Problem is asynchronously computable iff graph is connected
11 More Graph Theory Fischer Lynch 82, Dolev Strong 83, Merritt 85, Dwork Moses 90, … Synchronous crash failures Computation state is a graph Consensus not computable while graph is connected
12 Limitations of Graph Theory Asynchronous model Multiple failures? Synchronous model Problems beyond consensus? Need a more general notion of connectivity
13 The Topological Approach Borowsky Gafni STOC93 Herlihy Shavit STOC93, JACM1999 Saks Zaharoglou STOC93, SICOMP2000 Showed k-set agreement impossible Generalization of consensus [Chaudhuri 90] Open problem for several years
14 The Topological Approach Computations as geometric objects Use topological methods to show existence of “bad” executions. Borowsky & Gafni Sperner’s Lemma Herlihy & Shavit Simplicial complexes & homology Saks & Zaharoglou Brouwer’s fixed-point theorem
15 Example: Autonomous Air-Traffic Control 35,000 f t 34,000 f t 33,000 f t 32,000 f t 31,000 f t 36,000 f t DL227 AA082 AL991 Pick your own altitude. How many slots do we need to allow safe coordination?
16 Renaming Process has input name (flight #) Must generate output name (altitude) Interested in comparison-based protocols: Equality: A=B? Order: A
"name": "16 Renaming Process has input name (flight #) Must generate output name (altitude) Interested in comparison-based protocols: Equality: A=B.",
"description": "Order: A
17 History Proposed by Attiya, Bar-Noy, Dolev, Peleg, and Reischuk They showed Solution for 2n-1 names Impossibility for n+1 names Intermediate values? Long-standing open problem … Topological methods finally showed … Intermediate values also impossible
18 A Vertex Point in high-dimensional Euclidean Space
19 Simplexes Dimension 0 1 2 3 solid tetrahedron solid triangle line point
34 Shared Memory Computation Asynchronous arbitrary delays e.g., interrupts, page faults, etc. Wait-free Processes can fail or be slow Communication by reading and writing shared memory
35 Asynchronous Computability Theorem A task has a wait-free solution if and only if one can chromatically subdivide its input complex so that there exists a chromatic simplicial map to its output complex that refines the task specification map. Simplicial map task spec Input complex output complex
36 Asynchrony and Continuity AL991: post(1) look() decide AA082: post(1) look() decide (1, ) (,1) (1,1)(1,1)(1,1)(1,1) 1 2 2 1 decide AA081 AL112 Houston, we have a problem … 1 ? ? 1 If there were a continuous map … problem goes away 1 2
37 Three Process Protocol Complex DL227 runs solo AA081 and AL112 run solo (Some simplexes omitted for clarity)