Download presentation
Presentation is loading. Please wait.
Published byVivian Davidson Modified over 9 years ago
1
1 Nir Shavit Tel-Aviv University and Sun Microsystems Labs (Joint work with Maurice Herlihy of Brown University) © Herlihy and Shavit 2004 The Topological Structure of Asynchronous Computability
2
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
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
4 What has this got to do with theory? Alan Mathison Turing. Forefather of Computer Science. Inventor of the Turing Machine.
5
5 1936 - Turing Computability fr#arazrw4ptlrsr01 gak030 A mathematical model that captures what is and is not computable on uniprocessors… Turing-Machine
6
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
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
8 Asynchrony Complicates Life A multitude of concurrent executions Asynchrony Synchrony A single execution Seek help from modern mathematics!
9
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
10 Graph Theory Biran, Moran, Zachs 1988 Single asynchronous failure Coordination problem is a graph Problem is asynchronously computable iff graph is connected
11
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
12 Limitations of Graph Theory Asynchronous model Multiple failures? Synchronous model Problems beyond consensus? Need a more general notion of connectivity
13
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
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
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
16 Renaming Process has input name (flight #) Must generate output name (altitude) Interested in comparison-based protocols: Equality: A=B? Order: A<B? Nothing else (rules out trivial solutions)
17
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
18 A Vertex Point in high-dimensional Euclidean Space
19
19 Simplexes Dimension 0 1 2 3 solid tetrahedron solid triangle line point
20
20 Complexes Glue simplexes to form complexes
21
21 A Cycle OK to think of it as oriented path Also works in higher dimensions
22
22 A Boundry A cycle is a boundry if it goes around a “solid” region Encompases no holes
23
23 Not Every Cycle is a Boundry Goes around a hole
24
24 Connectivity A complex is n-connected if Every cycle of dimension n or less Is also a boundary No “holes” in any dimension Fundamental group is trivial Higher homology groups trivial
25
25 Chromatic Complexes Each (n-1)-simplex colored by n distinct colors Corresponding to process ids
26
26 Chromatic Simplicial Map Color-preserving vertex-to-vertex map That also carries simplexes to simplexes
27
27 Chromatic Simplicial Maps Preserve Connectivity Cannot map boundries around holes
28
28 Vertex = Process State Process id (color) Value (input or output) 2
29
29 Simplex = Global State 12 3 2 1 3
30
30 Complex = Global States 12 3 2 1 3 4 4
31
31 input complex (all possible flights) output complex (all consistent slot choices) A Decision Task 2 Planes, 2 Slots Task spec relation AA082 AL991 21 1 2
32
32 input complex output complex P,6 1 1 1 1 1 2 3 2 3 2 3 AL991 AA082 DL227 1 3 Planes, 3 Slots
33
33 input complexoutput complex R 3 Planes, 4 Slots 23 4 23 1411 23233 41 4141141 1 1 4 4 4 1 3 3 3 2 2 2 2 14
34
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
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
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
37 Three Process Protocol Complex DL227 runs solo AA081 and AL112 run solo (Some simplexes omitted for clarity)
38
38 In General Input complex Output complex Protocol complex R AL991 AA082 DL227 Task def 1 1 4 4 4 1 3 3 3 2 2 2 2 14
39
39 2 Plane 3 Slot Renaming A comparison based algorthm: only compares planes ids. PQ P,1 Q,1 P,3 P,2 Q,3 Q,2 If view = (my_id, ) decide 1 else if my_id < his_id decide 2 else decide 3 single chromatic subdivision of input complex P P Q Q simplicial map
40
40 3 Planes 4 Slots Impossibility by reduction Assume a protocol for 3 airplanes, 4 slots Choose 0 if your name is even 1 if your name is odd Result Not all odd Not all even
41
41 Output Complex (3 processes) 1 0 1 1 00
42
42 Protocol Complex (schematic)
43
43 Boundary = 2-Process Executions
44
44 Protocol Complex for One Process Execution P( ) decides 1 WLOG P( ) decides 1 by symmetry
45
45 2-Process execution might be mapped this way … protocol output boundary Wraps around -1 times
46
46 2-Process execution might be mapped that way … protocol output boundary Wraps around +2 times
47
47 In general … protocol output boundary Wraps around hole 3k-1 ≠ 0 times
48
48 But a Simplicial Cannot Map a Boundary Around a Hole … QED! Hole is an obstruction
49
49 35,000 f t 34,000 f t 33,000 f t 32,000 f t 31,000 f t DL227 AA082 AL991 So 3 Planes Need At Least 5 Slots!
50
50 Topological Representation Concurrency Arguments about geometric objects The Power of the Asynchronous Computability Theorem A multitude of concurrent executions Asynchrony
51
51 The Glorious Future Our work Asynchronous, wait-free, one-shot, RW memory Open problems Long-lived computations Other kinds of memory (compare&swap) Randomization Other progress conditions …
52
52 3 Planes 6 Slots 1 1 1 2 3 2 3 3 2 4 5 6 R Continuous
53
53 1 1 1 2 3 2 3 3 2 4 5 4 3 2 3 Planes 5 Slots R Continuous
54
54 3 Planes 4 Slots 1 1 2 3 2 4 4 3 1 2 3 4 1 11 2 3 3 2 2 3 Not Computable 1 1 4 1 4 4 is just R Gotta Punch a Hole
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.