Distributed Computing through Combinatorial Topology. Maurice Herlihy & Dmitry Kozlov & Sergio Rajsbaum
|
|
- Gwenda Kelly
- 6 years ago
- Views:
Transcription
1 Distributed Computing through Maurice Herlihy & Dmitry Kozlov & Sergio Rajsbaum 1
2 In the Beginning a computer was just a Turing machine Distributed Computing though 2
3 Today??? Computing is co-ordination and communication Distributed Computing though 3
4 Distributed computations unfold in time! No, distributed computations are static mathematical objects! Operational versus combinatorial approaches 4
5 There are Many Models Communication? Distributed Computing though 5
6 There are Many Models Communication? Failures? Distributed Computing though 6
7 There are Many Models Communication? Failures? Timing? Distributed Computing though 7
8 Local Views 110 Each process has a 3-bit local view Distributed Computing though 8
9 Multiple Local Views local views differ by 1 bit Distributed Computing though 9
10 Multiple Local Views 110 local views differ by 1 bit but no process knows which one Distributed Computing though
11 Multiple Local Views each view is represented by a labeled vertex Distributed Computing though 11
12 Global States compatible views represented by an edge Distributed Computing though 12
13 All possible global states (where (where blue blue has has 111) 111)
14 Communication Each process sends local view to the other Distributed Computing though 14
15 Communication Each process sends local view to the other but at most one message may be lost! Distributed Computing though 15
16 One Communication Round 110? Distributed Computing though 111? 16
17 One Communication Round 110? ? 1 Lost Distributed Computing though 17
18 One Communication Round 110? Lost ? none Lost Distributed Computing though 18
19 One Communication Round 110? Lost none Lost Distributed Computing though 111? 1 Lost 19
20 One Communication Round 110? Distributed Computing though 111? 20
21 All possible global states after one round unreliable communication 110? ?
22
23 Informally. Unreliable communication does not change topology of global states
24 Reliable Communication? 110? Distributed Computing though 111? 24
25 Reliable Communication? Distributed Computing though 25
26
27 A Classic Distributed Problem Muddy Children 11:00 Distributed Computing though 27
28 Muddy Children 11:01 Distributed Computing though 28
29 Muddy Children 12:00 At least one of you is dirty! Distributed Computing though 29
30 Muddy Children 12:00 You may not communicate! Distributed Computing though 30
31 Muddy Children 12:00 When you realize you are dirty, confess on the hour! Distributed Computing though 31
32 Muddy Children 1:00 (silence ) Distributed Computing though 32
33 Muddy Children 2:00 Me! Me! Distributed Computing though 33
34 Operational Explanation 1:00 Distributed Computing though 34
35 Operational Explanation Others are clean, so I must be dirty. Distributed Computing though 1:00 35
36 Operational Explanation Others are clean, so I must be dirty. 1:00 Me! Distributed Computing though 36
37 Operational Explanation 1:01 Distributed Computing though 37
38 Operational Explanation He was quiet, so I must be dirty. 1:01 He was quiet, so I must be dirty. Distributed Computing though 38
39 Combinatorial Explanation 12:00 Distributed Computing though 39
40 Combinatorial Explanation 12:00 Distributed Computing though 40
41 Combinatorial Explanation 12:00 Each process has its own input Distributed Computing though 41
42 Combinatorial01? Explanation?11 12:00 Each process has its own input 0?1 Distributed Computing though 42
43 Combinatorial01? Explanation?11 12:00 Global State 0?1 Distributed Computing though 43
44 11:59 all clean 00? 0? 0?00 0?1 01??1 0?01 10? 1?1?11 1? 0 11? all dirty
45 12:01 00? 0? 0?00 0?1 01??1 0?01 10? 1?1 1? 0?11 11? all dirty Distributed Computing though
46 1:01 0?1 01??1 0?01 10? 1?1 1? 0?11 11? all dirty Distributed Computing though
47 2:01 1?1?11 11? all dirty Distributed Computing though
48 Informal Task Definition Processes start with input values They communicate They halt with output values legal for those inputs. Distributed Computing through 48
49 Consensus: Each Thread has a Private Input Art of Multiprocessor Programming 49
50 They Communicate Art of Multiprocessor Programming 50
51 They Agree on One Thread s Input Art of Multiprocessor Programming 51
52 Colorless Tasks The set of input values determines the set of output values. Number and identities irrelevant for both input and output values 52
53 Road Map Operational Model Combinatorial Model Main Theorem Distributed Computing through 53
54 Processes A process is a state machine Could be Turing machines or more powerful Distributed Computing though 54
55 Processes A process s state is called its view Process names taken from a domain Each process has a unique name (color) Pii 2 Distributed Computing though 55
56 Processes Each process knows its own name But not the names of the other processes Distributed Computing though 56
57 Processes Often, Pii is just i Sometimes Pii and i are distinct, and the process knows Pii but not i Distributed Computing though 57
58 Processes There are n+1 processes Distributed Computing though 58
59 Shared Read-Write Memory Distributed Computing though For now, they communicate via reading & writing shared memory 59
60 Immediate Snapshot Individual reads & writes are too low-level A snapshot = atomic read of all memory We will use immediate snapshot Distributed Computing through 60
61 Immediate Snapshot write view to memory take snapshot Distributed Computing through adjacent steps! 61
62 Immediate Snapshot Con curr ent step s write view to memory write view to memory take snapshot take snapshot Distributed Computing through 62
63 Immediate Snapshot immediate mem[i] := view; snap := snapshot(mem[*]) Distributed Computing through 63
64 P Q R P Q R write write write snap snap snap write write snap snap write snap {p} {p,q} {p,q,r} P Q R write write write snap snap snap {p} {p,q,r} {p,q,r} {p,q,r} {p,q,r} {p,q,r}
65 Realistic? No! My laptop reads only a few contiguous memory words at a time Yes! Simpler lower bounds: if it s impossible with IS, it s impossible on your laptop. Can implement IS from read-write Distributed Computing through 65
66 Crashes Processes may halt without warning as many as n out of n+1 5/17/1 66
67 Asynchronous
68 Asynchronous Failures?? detection impossible
69 Configurations C = {s0,, sn} set of simultaneous process states initial configurations final configurations Distributed Computing through 69
70 Executions processes that communicate C0, S0, C1, S1,,Sr, Cr+1 initial configuration final configuration next configuration Distributed Computing through 70
71 Executions triple is a concurrent step C0, S0, C1, S1,,Sr, Cr+1 Processes in S00 said to participate in step Only Pii 2 S00 can change between C00 and C11 state change result of communication Distributed Computing through 71
72 Executions finite C0, S0, C1, S1,, Sr, Cr+1 infinite C0, S0, C1, S1,, partial C0, S0, C1, S1,, Sr, Cr+1 Distributed Computing through 72
73 Crashes are Implicit C0, S0, C1, S1,, Sr, Cr+1 If Pii s state not final in the final configuration then Pii has crashed. crash cannot be detected in finite time Distributed Computing through 73
74 Colorless Tasks (I, O, ) (colorless) input assignment carrier map : I! 2OO (colorless) output assignment Distributed Computing through 74
75 Example: Binary Consensus I = {{0}, {1}, {0,1}} All start with 0 All start with 1 start with both Distributed Computing through 75
76 Example: Binary Consensus I = {{0}, {1}, {0,1}} O = {{0}, {1}} All decide 0 All decide 1 Distributed Computing through 76
77 Example: Binary Consensus ({0}) = {{0}} All start with 0, all decide 0 Distributed Computing through 77
78 Example: Binary Consensus ({0}) = {{0}} ({1}) = {{1}} All start with 1, all decide 1 Distributed Computing through 78
79 Example: Binary Consensus ({0}) = {{0}} ({1}) = {{1}} ({0,1}) = {{0},{1}} with mixed inputs, all decide 0, or all decide 1 Distributed Computing through 79
80 Colorless Layered Protocol shared mem array 0..N-1,0..n of Value view := input for l := 0 to N-1 do immediate mem[l][i] := view; snap := snapshot(mem[l][*]) view := set of values in snap return δ(view) Distributed Computing through 80
81 Colorless Layered Protocol shared mem array 0..N-1,0..n of Value view := input for j := 0 to N-1 do 2-dimensional memory array immediate mem[j][i] := view; row is clean per-layer memory snap := snapshot(mem[j][*]) view := setcolumn of values in snap is per-process word return δ(view) Distributed Computing through 81
82 Colorless Layered Protocol shared mem array 0..N-1,0..n of Value view := input for j := 0 to N-1 do immediate initial view is input value mem[j][i] := view; snap := snapshot(mem[j][*]) view := set of values in snap return δ(view) Distributed Computing through 82
83 Colorless Layered Protocol shared mem array 0..N-1,0..n of Value view := input for l := 0 to N-1 do immediate mem[j][i] := view; N layers snap run := for snapshot(mem[j][*]) view := set of values in snap return δ(view) Distributed Computing through 83
84 Colorless Layered Protocol shared mem array 0..N-1,0..n of Value layer l : immediate write & snapshot of row l view := input for j := 0 to N-1 do immediate mem[l][i] := view; snap := snapshot(mem[l][*]) view := set of values in snap return δ(view) Distributed Computing through 84
85 Colorless Layered Protocol shared mem array 0..N-1,0..n of Value view := input for j := 0 to N-1 do immediate new view is set of values seen mem[j][i] := view; snap := snapshot(mem[j][*]) view := set of values in snap return δ(view) Distributed Computing through 85
86 Colorless Layered Protocol shared mem array 0..N-1,0..n of Value view := input for j := 0 to N-1 do immediate finally apply decision value to final view mem[j][i] := view; snap := snapshot(mem[j][*]) view := set of values in snap return δ(view) Distributed Computing through 86
87 Q R {p},q,r {p},{p,q},r {p},q,{p,r} R Q {p},{p,q},{p,q,r} {p},{p,q,r},{p,r} QR {p},{p,q,r} P p,{q},r Q P Q p,q,{r} {p,q},r {p,r},q,{r} P {p,q},{q},{p,q,r} {p,q,r},{q},{q,r} R Q {p,r},{p,q,r},{r} P p,{q,r},{r} PQ PR PQR R {p,q,r},{q} PQ QR {p,q},{q},r p,{q},{q,r} PR R p,q,r P R {p,q,r},{r} {p,q,r},{q,r},{r} Colorless configurations for {p,q},{p,q,r} {p,r},q Q processes P,Q,R, inputs {p,r},{p,q,r} p,{q,r} final P configurations p,q,r, in black. {p,q,r} {q,r},{p,q,r}
88 Road Map Operational Model Combinatorial Model Main Theorem Distributed Computing through 88
89 Vertex = Process State Process ID (color) 7 Value (input or output) 89
90 Simplex = Global State 90
91 Complex = Global States 91
92 Input Complex for Binary Consensus 0 All possible initial states 0 1 Processes: red, green, blue 0 1 Independently assigned 0 or 1 92
93 Output Complex for Binary Consensus All possible final states Output values all 0 or all 1 1 Two disconnected simplexes 93
94 Carrier Map for Consensus All 0 outputs All 0 inputs 94
95 Carrier Map for Consensus All 1 inputs All 1 outputs 95
96 Carrier Map for Consensus All 0 outputs Mixed 0-1 inputs All 1 outputs 96
97 Task Specification (I, O, ) Input complex Output complex Carrier map : I! 2O 97
98 Colorless Tasks (I, P, ) (colorless) input complex strict carrier map : I! 2PP (colorless) protocol complex 98
99 Protocol Complex Vertex: process name, view all values read and written Simplex: compatible set of views Each execution defines a simplex Distributed Computing through 99
100 Example: Synchronous Message-Passing Round 0 Round 1 100
101 Failures: Fail-Stop Partial broadcast Distributed Computing through 101
102 Single Input: Round Zero No messages sent 0 View is input value 0 0 Same as input simplex Distributed Computing through 102
103 Round Zero Protocol Complex 0 No messages sent 0 1 View is input value 0 1 Same as input complex Distributed Computing through 103
104 Single Input: Round One Distributed Computing through 104
105 Single Input: Round One no one fails 00 Distributed Computing through
106 Single Input: Round One blue fails no one fails 00 Distributed Computing through
107 Single Input: Round One red fails green fails blue fails no one fails 00 Distributed Computing through
108 Protocol Complex: Round One Distributed Computing through 108
109 Protocol Complex: Round Two Distributed Computing through 109
110 Protocol Complex Evolution zero one two 110
111 protocol complex Summary output complex input complex Δ 111
112 Decision Map Simplicial map, sending simplexes to simplexes Protocol complex 5/17/ Output complex 112
113 Lower Bound Strategy Find topological obstruction to this simplicial map Protocol complex Output complex 113
114 Consensus Example Subcomplex of all-0 inputs Must map here 0 1 Protocol 0 1 Output Distributed Computing through 114
115 Consensus Example 0 1 Protocol Subcomplex of all-1 inputs Distributed Computing through 0 1 Must map Output here 115
116 Consensus Example Image under must start here Protocol Path from all-0 to all and end here Distributed Computing through Output 116
117 Consensus Example path 1 0 0? 1 Output Distributed Computing through 117
118 Consensus Example Image under must start here.. But this hole is an obstruction Protocol Path from all-0 to all-1 and end here Distributed Computing through Output 118
119 Conjecture A protocol cannot solve consensus if its complex is path-connected Model-independent! Distributed Computing through 119
120 If Adversary keeps Protocol Complex path-connected Forever Consensus is impossible For r rounds A round-complexity lower bound For time t A time-complexity lower bound Distributed Computing through 120
121 Barycentric Subdivision ¾ 121
122 Barycentric Subdivision Geometric Definition barycenter barycenter bary ¾ barycenter 122
123 Barycentric Subdivision Each vertex of Bary ¾ is a face of ¾ Simplex = set of faces ordered by inclusion bary ¾ 123
124 Barycentric Agreement I BaryI Distributed Computing through 124
125 Barycentric Agreement (I, bary I, bary( )) arbitrary input complex subdivided output complex subdivision as carrier map Distributed Computing through 125
126 If There are n+1 Processes (I, bary skel I, baryskel ) n n Inputs only from n-skeleton of input complex Distributed Computing through 126
127 Theorem A one-layer immediate snapshot protocol solves the n-process barycentric agreement task (I, bary skelnn I, baryskelnn) Proof All input simplices belong to skelnn I Immediate snapshot returns Set of input vertices (face of input simplex) Faces ordered wrt one another Distributed Computing through 127
128 Barycentric Agreement Protocol {v } {v,v,v } {v, v } 0 v0 0 v1 1 2 v2 Snapshots are ordered 0 2
129 Barycentric Agreement Protocol {v0,v1,v2} {v0} Each view is a face of ¾ {v0, v2}
130 Barycentric Agreement Protocol {v0} {v0,v1,v2} {v0, v2} Each view is a face of ¾
131 Barycentric Agreement Protocol {v0} {v0,v1,v2} {v0, v2} Each face of ¾ is a vertex of Bary ¾
132 Barycentric Agreement Protocol Ordered faces ) simplex of Bary ¾
133 Iterated Barycentric Agreement skel I n bary skel I N n
134 Iterated Barycentric Agreement (I, bary skel I, bary skel ) N n Distributed Computing through N n 134
135 One-round IS executions Q R {p},q,r {p},{p,q},r {p},q,{p,r} R Q {p},{p,q},{p,q,r} {p},{p,q,r},{p,r} QR {p},{p,q,r} P p,{q},r Q P Q p,q,{r} {p,q},r R {p,r},q Q p,{q,r} P {p,q,r} {p,r},q,{r} P {p,q},{q},{p,q,r} {p,q,r},{q},{q,r} Q {p,r},{p,q,r},{r} P p,{q,r},{r} PQ PR PQR R {p,q,r},{q} PQ QR {p,q},{q},r p,{q},{q,r} PR R p,q,r P R {p,q,r},{r} {p,q},{p,q,r} {p,r},{p,q,r} {q,r},{p,q,r} {p,q,r},{q,r},{r}
136 One-Layer Immediate Snapshot Protocol Complex {p}{pq}{pqr} {p}{pqr}{pqr} {pqr}{pqr}{pqr} {pqr}{qr}{qr} Distributed Computing through
137 Compare Views P Q R p,q,r PQ P Q R PQR R {p},q,r Q {p},{p,q},r {p},{p,q},{p,q,r} R R {p},q,{p,r} {p},{p,q,r},{p,r} Q QR{p},{p,q,r} {p,q},{q},r {p,q},{q},{p,q,r} R p,{q},r P R p,{q},{q,r} {p,q,r},{q},{q,r} P PR{p,q,r},{q} Q p,q,{r} P{p,r},q,{r}{p,r},{p,q,r},{r} {pqr}{pqr}{pqr} Q P p,{q,r},{r}{p,q,r},{q,r},{r} PQ {p,q},r {p,q,r},{r} R {p,r},q {p,q},{p,q,r} Q p,{q,r} {p,r},{p,q,r} P {p,q,r} {q,r},{p,q,r} Operational view {p}{pq}{pqr} {p}{pqr}{pqr} {pqr}{qr}{qr} Combinatorial view Distributed Computing through
138 Compositions Given protocols (I,P, ) (I,P, ) where P µ I their composition is (I,P, ) where = and P = (I) Distributed Computing through 138
139 Theorem The protocol complex for a singlelayer IS protocol (I,P, ) is Bary I Distributed Computing through 139
140 Theorem The protocol complex for an N-layer IS protocol (I,P, ) is BaryNN I Distributed Computing through 140
141 Corollary The protocol complex for an N-layer IS protocol (I,P, ) is n-connected Distributed Computing through 141
142 Road Map Operational Model Combinatorial Model Main Theorem Distributed Computing through 142
143 Fundamental Theorem Theorem (I,O, ) has a wait-free (n+1)-process layered IS protocol iff there is a continuous map f: skelnn I O... carried by Distributed Computing through
144 Proof Outline Lemma If there is a WF layered protocol for (I,O, ) then there is a continuous f: skelnn I! O carried by. Distributed Computing through 144
145 Map ) Protocol Hypothesis f Continuous BarynI Distributed Computing through O 145
146 Map ) Protocol Áf Simplicial approximation BarynI Distributed Computing through O 146
147 Map ) Protocol Á Run barycentric BarynI Agreement Apply Á Distributed Computing through O QED 147
148 Protocol ) Map Lemma Theorem If there is a WF-RW protocol for (I,O, ) if and only if then there is a continuous f: skelnn I! O carried by. Distributed Computing through 148
149 Protocol ) Map Proof strategy Inductive construction gdd: skeldd I! (I). Base d = 0 Define g00: skel00 I! (I) Let g00(v) be any vertex in ({v}) Distributed Computing through 149
150 Protocol ) Map Induction Hypothesis d-1 d-1 I! (I) gd-1 : skel d-1 d-1 I For all ¾ in skeld-1 d-1 d-1 ¾ (¾) gd-1 sends skel d-1 But (¾) is (d-1)-connected (earlier theorem) Can extend to gdd: ¾ (¾) Yielding gdd: skeldd I! (I) Distributed Computing through 150
151 Protocol ) Map Constructed g: skelnn I (I) Simplicial decision map δ: (skelnn I) O δ : (skelnn I) O Composition f = δ g yields f: skelnn I! O carried by. QED Distributed Computing through 151
152 Operational Reasoning Distributed Computing though 152
153 Combinatorial Reasoning 153
154 Combinatorial Reasoning Model-independent properties 154
155 Combinatorial Reasoning Model-independent properties restricted model-dependent reasoning 155
156 This work is licensed under a Creative Commons AttributionShareAlike 2.5 License. You are free: to Share to copy, distribute and transmit the work to Remix to adapt the work Under the following conditions: Attribution. You must attribute the work to Distributed Computing Through (but not in any way that suggests that the authors endorse you or your use of the work). Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same, similar or a compatible license. For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to Any of the above conditions can be waived if you get permission from the copyright holder. Nothing in this license impairs or restricts the author's moral rights. Distributed Computing though
Distributed Computing through Combinatorial Topology MITRO207, P4, 2017
Distributed Computing through MITRO207, P4, 2017 Administrivia Language: (fr)anglais? Lectures: Fridays (28.04, 20.05-23.06, 30.06), Thursday (29.06), 8:30-11:45, B555-557 Web page: http://perso.telecom-paristech.fr/~kuznetso/
More informationWait-Free Computability for General Tasks
Wait-Free Computability for General Tasks Companion slides for Distributed Computing Through Combinatorial Topology Maurice Herlihy & Dmitry Kozlov & Sergio Rajsbaum 1 Road Map Inherently colored tasks
More informationElements of Combinatorial Topology
Elements of Combinatorial Topology Companion slides for Distributed Computing Through Maurice Herlihy & Dmitry Kozlov & Sergio Rajsbaum 1 Road Map Simplicial Complexes Standard Constructions Carrier Maps
More informationParallélisme. Aim of the talk. Decision tasks. Example: consensus
Parallélisme Aim of the talk Geometry and Distributed Systems Can we implement some functions on some distributed architecture, even if there are some crashes? Eric Goubault Commissariat à l Energie Atomique
More informationThe Topological Structure of Asynchronous Computability
The Topological Structure of Asynchronous Computability MAURICE HERLIHY Brown University, Providence, Rhode Island AND NIR SHAVIT Tel-Aviv University, Tel-Aviv Israel Abstract. We give necessary and sufficient
More informationA Generalized Asynchronous Computability Theorem
A Generalized Asynchronous Computability Theorem Eli Gafni Computer Science Department, UCLA eli@ucla.edu Petr Kuznetsov Télécom ParisTech petr.kuznetsov@telecomparistech.fr Ciprian Manolescu Department
More informationCombinatorial Algebraic Topology and applications to Distributed Computing
Combinatorial Algebraic Topology and applications to Distributed Computing Dmitry Feichtner-Kozlov University of Bremen XXIst Oporto Meeting on Geometry, Topology and Physics LISSABON 2015 Lecture I: Simplicial
More informationConcurrent Skip Lists. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit
Concurrent Skip Lists Companion slides for The by Maurice Herlihy & Nir Shavit Set Object Interface Collection of elements No duplicates Methods add() a new element remove() an element contains() if element
More informationSolution: a lock (a/k/a mutex) public: virtual void unlock() =0;
1 Solution: a lock (a/k/a mutex) class BasicLock { public: virtual void lock() =0; virtual void unlock() =0; ; 2 Using a lock class Counter { public: int get_and_inc() { lock_.lock(); int old = count_;
More informationDistributed Recursion
Distributed Recursion March 2011 Sergio Rajsbaum Instituto de Matemáticas, UNAM joint work with Eli Gafni, UCLA Introduction Though it is a new field, computer science already touches virtually every aspect
More informationSubconsensus Tasks: Renaming is Weaker than Set Agreement
Subconsensus Tasks: enaming is Weaker than Set Agreement Eli Gafni 1, Sergio ajsbaum 2, and Maurice Herlihy 3 1 Computer Science Department UCLA Los Angles, CA 90095 eli@cs.ucla.edu 2 Instituto de Matemáticas,
More informationA class C of objects is universal for some set E of classes if and only if any object in E can be implemented with objects of C (and registers)
Universality A class C of objects is universal for some set E of classes if and only if any object in E can be implemented with objects of C (and registers) n-consensus is universal for n-objects (objects
More informationUniversality of Consensus. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit
Universality of Consensus Companion slides for The by Maurice Herlihy & Nir Shavit Turing Computability 1 0 1 1 0 1 0 A mathematical model of computation Computable = Computable on a T-Machine 2 Shared-Memory
More information6.852: Distributed Algorithms Fall, Class 21
6.852: Distributed Algorithms Fall, 2009 Class 21 Today s plan Wait-free synchronization. The wait-free consensus hierarchy Universality of consensus Reading: [Herlihy, Wait-free synchronization] (Another
More informationShared-Memory Computability
Shared-Memory Computability 10011 Universal Object Wait-free/Lock-free computable = Threads with methods that solve n- consensus Art of Multiprocessor Programming Copyright Herlihy- Shavit 2007 93 GetAndSet
More informationLecture notes for Topology MMA100
Lecture notes for Topology MMA100 J A S, S-11 1 Simplicial Complexes 1.1 Affine independence A collection of points v 0, v 1,..., v n in some Euclidean space R N are affinely independent if the (affine
More informationSynchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors. Michel Raynal, Julien Stainer
Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors Michel Raynal, Julien Stainer Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors
More informationCSE 20 DISCRETE MATH WINTER
CSE 20 DISCRETE MATH WINTER 2016 http://cseweb.ucsd.edu/classes/wi16/cse20-ab/ Today's learning goals Explain the steps in a proof by (strong) mathematical induction Use (strong) mathematical induction
More informationIntroduction. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit
Introduction Companion slides for The by Maurice Herlihy & Nir Shavit Moore s Law Transistor count still rising Clock speed flattening sharply 2 Moore s Law (in practice) 3 Nearly Extinct: the Uniprocesor
More informationPeterson s Algorithm
Peterson s Algorithm public void lock() { flag[i] = true; victim = i; while (flag[j] && victim == i) {}; } public void unlock() { flag[i] = false; } 24/03/10 Art of Multiprocessor Programming 1 Mutual
More informationTreewidth and graph minors
Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under
More informationRead-Write Memory and k-set Consensus as an Affine Task
Read-Write Memory and k-set Consensus as an Affine Task Eli Gafni 1, Yuan He 2, Petr Kuznetsov 3, and Thibault Rieutord 4 1 UCLA, Los Angeles, CA, USA eli@ucla.edu 2 UCLA, Los Angeles, CA, USA yuan.he@ucla.edu
More informationSimplicial Complexes: Second Lecture
Simplicial Complexes: Second Lecture 4 Nov, 2010 1 Overview Today we have two main goals: Prove that every continuous map between triangulable spaces can be approximated by a simplicial map. To do this,
More information7. Optimization! Prof. O. Nierstrasz! Lecture notes by Marcus Denker!
7. Optimization! Prof. O. Nierstrasz! Lecture notes by Marcus Denker! Roadmap > Introduction! > Optimizations in the Back-end! > The Optimizer! > SSA Optimizations! > Advanced Optimizations! 2 Literature!
More informationInitial Assumptions. Modern Distributed Computing. Network Topology. Initial Input
Initial Assumptions Modern Distributed Computing Theory and Applications Ioannis Chatzigiannakis Sapienza University of Rome Lecture 4 Tuesday, March 6, 03 Exercises correspond to problems studied during
More informationSchlegel Diagram and Optimizable Immediate Snapshot Protocol
Schlegel Diagram and Optimizable Immediate Snapshot Protocol Susumu Nishimura Dept. of Mathematics, Graduate School of Science, Kyoto University, Japan susumu@math.kyoto-u.ac.jp Abstract In the topological
More informationElementary Combinatorial Topology
Elementary Combinatorial Topology Frédéric Meunier Université Paris Est, CERMICS, Ecole des Ponts Paristech, 6-8 avenue Blaise Pascal, 77455 Marne-la-Vallée Cedex E-mail address: frederic.meunier@cermics.enpc.fr
More informationSimplicial Objects and Homotopy Groups. J. Wu
Simplicial Objects and Homotopy Groups J. Wu Department of Mathematics, National University of Singapore, Singapore E-mail address: matwuj@nus.edu.sg URL: www.math.nus.edu.sg/~matwujie Partially supported
More informationGraphs associated to CAT(0) cube complexes
Graphs associated to CAT(0) cube complexes Mark Hagen McGill University Cornell Topology Seminar, 15 November 2011 Outline Background on CAT(0) cube complexes The contact graph: a combinatorial invariant
More informationAbstract We give necessary and sucient combinatorial conditions characterizing the class of decision tasks that can be solved in a wait-free manner by
The Topological Structure of Asynchronous Computability Maurice Herlihy Computer Science Department Brown University Providence RI 02912 Nir Shavit y Computer Science Department Tel-Aviv University Tel-Aviv
More informationLecture 7: Mutual Exclusion 2/16/12. slides adapted from The Art of Multiprocessor Programming, Herlihy and Shavit
Principles of Concurrency and Parallelism Lecture 7: Mutual Exclusion 2/16/12 slides adapted from The Art of Multiprocessor Programming, Herlihy and Shavit Time Absolute, true and mathematical time, of
More information6.2 Classification of Closed Surfaces
Table 6.1: A polygon diagram 6.1.2 Second Proof: Compactifying Teichmuller Space 6.2 Classification of Closed Surfaces We saw that each surface has a triangulation. Compact surfaces have finite triangulations.
More informationPacific Journal of Mathematics
Pacific Journal of Mathematics SIMPLIFYING TRIANGULATIONS OF S 3 Aleksandar Mijatović Volume 208 No. 2 February 2003 PACIFIC JOURNAL OF MATHEMATICS Vol. 208, No. 2, 2003 SIMPLIFYING TRIANGULATIONS OF S
More informationThe Charney-Davis conjecture for certain subdivisions of spheres
The Charney-Davis conjecture for certain subdivisions of spheres Andrew Frohmader September, 008 Abstract Notions of sesquiconstructible complexes and odd iterated stellar subdivisions are introduced,
More informationWhat is high-dimensional combinatorics?
What is high-dimensional combinatorics? Random-Approx, August 08 A (very) brief and (highly) subjective history of combinatorics Combinatorics must always have been fun. But when and how did it become
More informationDiscrete Mathematics Lecture 4. Harper Langston New York University
Discrete Mathematics Lecture 4 Harper Langston New York University Sequences Sequence is a set of (usually infinite number of) ordered elements: a 1, a 2,, a n, Each individual element a k is called a
More informationHomology cycle bases from acyclic matchings
Homology cycle bases from acyclic matchings Dmitry Feichtner-Kozlov University of Bremen Kyoto Workshop, January 019 What is... Applied Topology? studying global features of shapes applications in other
More informationMonotone Paths in Geometric Triangulations
Monotone Paths in Geometric Triangulations Adrian Dumitrescu Ritankar Mandal Csaba D. Tóth November 19, 2017 Abstract (I) We prove that the (maximum) number of monotone paths in a geometric triangulation
More informationComputing the Betti Numbers of Arrangements. Saugata Basu School of Mathematics & College of Computing Georgia Institute of Technology.
1 Computing the Betti Numbers of Arrangements Saugata Basu School of Mathematics & College of Computing Georgia Institute of Technology. 2 Arrangements in Computational Geometry An arrangement in R k is
More informationIntroduction. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit. Art of Multiprocessor Programming
Introduction Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit Art of Multiprocessor Programming Moore s Law Transistor count still rising Clock speed flattening
More informationConsensus Problem. Pradipta De
Consensus Problem Slides are based on the book chapter from Distributed Computing: Principles, Paradigms and Algorithms (Chapter 14) by Kshemkalyani and Singhal Pradipta De pradipta.de@sunykorea.ac.kr
More informationLecture 1 Discrete Geometric Structures
Lecture 1 Discrete Geometric Structures Jean-Daniel Boissonnat Winter School on Computational Geometry and Topology University of Nice Sophia Antipolis January 23-27, 2017 Computational Geometry and Topology
More informationA Constructive Proof of Ky Fan's Generalization of Tucker's Lemma
Claremont Colleges Scholarship @ Claremont All HMC Faculty Publications and Research HMC Faculty Scholarship 8-1-2005 A Constructive Proof of Ky Fan's Generalization of Tucker's Lemma Timothy Prescott
More informationMutual Exclusion. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit
Mutual Exclusion Companion slides for The by Maurice Herlihy & Nir Shavit Mutual Exclusion Today we will try to formalize our understanding of mutual exclusion We will also use the opportunity to show
More informationBasics of Combinatorial Topology
Chapter 7 Basics of Combinatorial Topology 7.1 Simplicial and Polyhedral Complexes In order to study and manipulate complex shapes it is convenient to discretize these shapes and to view them as the union
More informationTime and Space Lower Bounds for Implementations Using k-cas
Time and Space Lower Bounds for Implementations Using k-cas Hagit Attiya Danny Hendler September 12, 2006 Abstract This paper presents lower bounds on the time- and space-complexity of implementations
More informationPoint-Set Topology for Impossibility Results in Distributed Computing. Thomas Nowak
Point-Set Topology for Impossibility Results in Distributed Computing Thomas Nowak Overview Introduction Safety vs. Liveness First Example: Wait-Free Shared Memory Message Omission Model Execution Trees
More informationProgramming Paradigms for Concurrency Lecture 2 - Mutual Exclusion
Programming Paradigms for Concurrency Lecture 2 - Mutual Exclusion Based on companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit Modified by Thomas Wies New York University
More informationLinearizable Iterators
Linearizable Iterators Supervised by Maurice Herlihy Abstract Petrank et. al. [5] provide a construction of lock-free, linearizable iterators for lock-free linked lists. We consider the problem of extending
More informationParallel Programming
Parallel Programming 7. Data Parallelism Christoph von Praun praun@acm.org 07-1 (1) Parallel algorithm structure design space Organization by Data (1.1) Geometric Decomposition Organization by Tasks (1.3)
More informationBYZANTINE GENERALS BYZANTINE GENERALS (1) A fable: Michał Szychowiak, 2002 Dependability of Distributed Systems (Byzantine agreement)
BYZANTINE GENERALS (1) BYZANTINE GENERALS A fable: BYZANTINE GENERALS (2) Byzantine Generals Problem: Condition 1: All loyal generals decide upon the same plan of action. Condition 2: A small number of
More informationChordal graphs MPRI
Chordal graphs MPRI 2017 2018 Michel Habib habib@irif.fr http://www.irif.fr/~habib Sophie Germain, septembre 2017 Schedule Chordal graphs Representation of chordal graphs LBFS and chordal graphs More structural
More information6c Lecture 3 & 4: April 8 & 10, 2014
6c Lecture 3 & 4: April 8 & 10, 2014 3.1 Graphs and trees We begin by recalling some basic definitions from graph theory. Definition 3.1. A (undirected, simple) graph consists of a set of vertices V and
More informationCoarse-grained and fine-grained locking Niklas Fors
Coarse-grained and fine-grained locking Niklas Fors 2013-12-05 Slides borrowed from: http://cs.brown.edu/courses/cs176course_information.shtml Art of Multiprocessor Programming 1 Topics discussed Coarse-grained
More informationLecture 0: Reivew of some basic material
Lecture 0: Reivew of some basic material September 12, 2018 1 Background material on the homotopy category We begin with the topological category TOP, whose objects are topological spaces and whose morphisms
More informationAll tunnels of all tunnel number 1 knots
All tunnels of all tunnel number 1 knots Darryl McCullough University of Oklahoma Geometric Topology Conference Beijing University June 22, 27 1 (joint work with Sangbum Cho, in The tree of knot tunnels,
More informationSimplicial Global Optimization
Simplicial Global Optimization Julius Žilinskas Vilnius University, Lithuania September, 7 http://web.vu.lt/mii/j.zilinskas Global optimization Find f = min x A f (x) and x A, f (x ) = f, where A R n.
More information3. Persistence. CBMS Lecture Series, Macalester College, June Vin de Silva Pomona College
Vin de Silva Pomona College CBMS Lecture Series, Macalester College, June 2017 o o The homology of a planar region Chain complex We have constructed a diagram of vector spaces and linear maps @ 0 o 1 C
More informationFault Tolerance. Distributed Software Systems. Definitions
Fault Tolerance Distributed Software Systems Definitions Availability: probability the system operates correctly at any given moment Reliability: ability to run correctly for a long interval of time Safety:
More informationThe Wait-Free Hierarchy
Jennifer L. Welch References 1 M. Herlihy, Wait-Free Synchronization, ACM TOPLAS, 13(1):124-149 (1991) M. Fischer, N. Lynch, and M. Paterson, Impossibility of Distributed Consensus with One Faulty Process,
More informationA Flavor of Topology. Shireen Elhabian and Aly A. Farag University of Louisville January 2010
A Flavor of Topology Shireen Elhabian and Aly A. Farag University of Louisville January 2010 In 1670 s I believe that we need another analysis properly geometric or linear, which treats place directly
More information4. Simplicial Complexes and Simplicial Homology
MATH41071/MATH61071 Algebraic topology Autumn Semester 2017 2018 4. Simplicial Complexes and Simplicial Homology Geometric simplicial complexes 4.1 Definition. A finite subset { v 0, v 1,..., v r } R n
More informationAn Axiomatic Approach to Computing the Connectivity of Synchronous and Asynchronous Systems
An Axiomatic Approach to Computing the Connectivity of Synchronous and Asynchronous Systems Maurice Herlihy Sergio Rajsbaum Mark Tuttle Abstract We present a unified, axiomatic approach to proving lower
More informationManifolds. Chapter X. 44. Locally Euclidean Spaces
Chapter X Manifolds 44. Locally Euclidean Spaces 44 1. Definition of Locally Euclidean Space Let n be a non-negative integer. A topological space X is called a locally Euclidean space of dimension n if
More informationSubdivided graphs have linear Ramsey numbers
Subdivided graphs have linear Ramsey numbers Noga Alon Bellcore, Morristown, NJ 07960, USA and Department of Mathematics Raymond and Beverly Sackler Faculty of Exact Sciences Tel Aviv University, Tel Aviv,
More informationMath 5593 Linear Programming Lecture Notes
Math 5593 Linear Programming Lecture Notes Unit II: Theory & Foundations (Convex Analysis) University of Colorado Denver, Fall 2013 Topics 1 Convex Sets 1 1.1 Basic Properties (Luenberger-Ye Appendix B.1).........................
More information{ 1} Definitions. 10. Extremal graph theory. Problem definition Paths and cycles Complete subgraphs
Problem definition Paths and cycles Complete subgraphs 10. Extremal graph theory 10.1. Definitions Let us examine the following forbidden subgraph problems: At most how many edges are in a graph of order
More informationLecture 5: Simplicial Complex
Lecture 5: Simplicial Complex 2-Manifolds, Simplex and Simplicial Complex Scribed by: Lei Wang First part of this lecture finishes 2-Manifolds. Rest part of this lecture talks about simplicial complex.
More informationBraid groups and Curvature Talk 2: The Pieces
Braid groups and Curvature Talk 2: The Pieces Jon McCammond UC Santa Barbara Regensburg, Germany Sept 2017 Rotations in Regensburg Subsets, Subdisks and Rotations Recall: for each A [n] of size k > 1 with
More informationLecture 5 CLASSIFICATION OF SURFACES
Lecture 5 CLASSIFICATION OF SURFACES In this lecture, we present the topological classification of surfaces. This will be done by a combinatorial argument imitating Morse theory and will make use of the
More informationIntroduction. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit
Introduction Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit Moore s Law Transistor count still rising Clock speed flattening sharply Art of Multiprocessor Programming
More informationSection 3.1: Nonseparable Graphs Cut vertex of a connected graph G: A vertex x G such that G x is not connected. Theorem 3.1, p. 57: Every connected
Section 3.1: Nonseparable Graphs Cut vertex of a connected graph G: A vertex x G such that G x is not connected. Theorem 3.1, p. 57: Every connected graph G with at least 2 vertices contains at least 2
More informationAsynchronous Reconfiguration for Paxos State Machines
Asynchronous Reconfiguration for Paxos State Machines Leander Jehl and Hein Meling Department of Electrical Engineering and Computer Science University of Stavanger, Norway Abstract. This paper addresses
More informationTHE DOLD-KAN CORRESPONDENCE
THE DOLD-KAN CORRESPONDENCE 1. Simplicial sets We shall now introduce the notion of a simplicial set, which will be a presheaf on a suitable category. It turns out that simplicial sets provide a (purely
More informationarxiv: v1 [cs.dc] 13 May 2017
Which Broadcast Abstraction Captures k-set Agreement? Damien Imbs, Achour Mostéfaoui, Matthieu Perrin, Michel Raynal, LIF, Université Aix-Marseille, 13288 Marseille, France LINA, Université de Nantes,
More informationByzantine Consensus in Directed Graphs
Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory
More informationk-abortable Objects: Progress under High Contention
k-abortable Objects: Progress under High Contention Naama Ben-David 1, David Yu Cheng Chan 2, Vassos Hadzilacos 2, and Sam Toueg 2 Carnegie Mellon University 1 University of Toronto 2 Outline Background
More informationAn Eternal Domination Problem in Grids
Theory and Applications of Graphs Volume Issue 1 Article 2 2017 An Eternal Domination Problem in Grids William Klostermeyer University of North Florida, klostermeyer@hotmail.com Margaret-Ellen Messinger
More informationMath 170- Graph Theory Notes
1 Math 170- Graph Theory Notes Michael Levet December 3, 2018 Notation: Let n be a positive integer. Denote [n] to be the set {1, 2,..., n}. So for example, [3] = {1, 2, 3}. To quote Bud Brown, Graph theory
More informationCS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department
CS473-Algorithms I Lecture 3-A Graphs Graphs A directed graph (or digraph) G is a pair (V, E), where V is a finite set, and E is a binary relation on V The set V: Vertex set of G The set E: Edge set of
More informationWinning Positions in Simplicial Nim
Winning Positions in Simplicial Nim David Horrocks Department of Mathematics and Statistics University of Prince Edward Island Charlottetown, Prince Edward Island, Canada, C1A 4P3 dhorrocks@upei.ca Submitted:
More informationHW Graph Theory SOLUTIONS (hbovik) - Q
1, Diestel 9.3: An arithmetic progression is an increasing sequence of numbers of the form a, a+d, a+ d, a + 3d.... Van der Waerden s theorem says that no matter how we partition the natural numbers into
More informationSequen&al Consistency and Linearizability
Sequen&al Consistency and Linearizability (Or, Reasoning About Concurrent Objects) Acknowledgement: Slides par&ally adopted from the companion slides for the book "The Art of Mul&processor Programming"
More informationToday. Types of graphs. Complete Graphs. Trees. Hypercubes.
Today. Types of graphs. Complete Graphs. Trees. Hypercubes. Complete Graph. K n complete graph on n vertices. All edges are present. Everyone is my neighbor. Each vertex is adjacent to every other vertex.
More informationINTRODUCTION TO THE HOMOLOGY GROUPS OF COMPLEXES
INTRODUCTION TO THE HOMOLOGY GROUPS OF COMPLEXES RACHEL CARANDANG Abstract. This paper provides an overview of the homology groups of a 2- dimensional complex. It then demonstrates a proof of the Invariance
More informationDimension-Independent Data Structures for Arbitrary Simplicial Complexes
Dimension-Independent Data Structures for Arbitrary Simplicial Complexes David Canino (canino.david@gmail.com) The Incidence Simplicial (IS) data structure The Generalized Indexed data structure with Adjacencies
More informationTheorem 2.9: nearest addition algorithm
There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used
More informationΛέων-Χαράλαμπος Σταματάρης
Λέων-Χαράλαμπος Σταματάρης INTRODUCTION Two classical problems of information dissemination in computer networks: The broadcasting problem: Distributing a particular message from a distinguished source
More informationAn Anonymous Self-Stabilizing Algorithm For 1-Maximal Matching in Trees
An Anonymous Self-Stabilizing Algorithm For 1-Maximal Matching in Trees Wayne Goddard, Stephen T. Hedetniemi Department of Computer Science, Clemson University {goddard,hedet}@cs.clemson.edu Zhengnan Shi
More informationScheduling, Map Coloring, and Graph Coloring
Scheduling, Map Coloring, and Graph Coloring Scheduling via Graph Coloring: Final Exam Example Suppose want to schedule some ;inal exams for CS courses with following course numbers: 1007, 3137, 3157,
More informationThe Simplex Algorithm for LP, and an Open Problem
The Simplex Algorithm for LP, and an Open Problem Linear Programming: General Formulation Inputs: real-valued m x n matrix A, and vectors c in R n and b in R m Output: n-dimensional vector x There is one
More informationLinked Lists: Locking, Lock- Free, and Beyond. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit
Linked Lists: Locking, Lock- Free, and Beyond Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit Coarse-Grained Synchronization Each method locks the object Avoid
More informationConsensus in the Presence of Partial Synchrony
Consensus in the Presence of Partial Synchrony CYNTHIA DWORK AND NANCY LYNCH.Massachusetts Institute of Technology, Cambridge, Massachusetts AND LARRY STOCKMEYER IBM Almaden Research Center, San Jose,
More information8 Colouring Planar Graphs
8 Colouring Planar Graphs The Four Colour Theorem Lemma 8.1 If G is a simple planar graph, then (i) 12 v V (G)(6 deg(v)) with equality for triangulations. (ii) G has a vertex of degree 5. Proof: For (i),
More informationThese notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models.
Undirected Graphical Models: Chordal Graphs, Decomposable Graphs, Junction Trees, and Factorizations Peter Bartlett. October 2003. These notes present some properties of chordal graphs, a set of undirected
More informationDefinition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1
Graph fundamentals Bipartite graph characterization Lemma. If a graph contains an odd closed walk, then it contains an odd cycle. Proof strategy: Consider a shortest closed odd walk W. If W is not a cycle,
More informationRelationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems
Relationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems James Aspnes, Yale University Faith Ellen Fich, University of Toronto Eric Ruppert, York University Anonymity
More informationOn the Complexity of the Policy Improvement Algorithm. for Markov Decision Processes
On the Complexity of the Policy Improvement Algorithm for Markov Decision Processes Mary Melekopoglou Anne Condon Computer Sciences Department University of Wisconsin - Madison 0 West Dayton Street Madison,
More informationInstituto de Matemáticas, U.N.A.M., Ciudad Universitaria, D.F , México
Math. Struct. in Comp. Science (2000), vol. 10, pp. 549 573. c 2000 Cambridge University Press Printed in the United Kingdom Algebraic spans MAURICE HERLIHY and SERGIO RAJSBAUM Computer Science Department,
More informationarxiv: v1 [cs.cg] 7 Oct 2017
A Proof of the Orbit Conjecture for Flipping Edge-Labelled Triangulations Anna Lubiw 1, Zuzana Masárová 2, and Uli Wagner 2 arxiv:1710.02741v1 [cs.cg] 7 Oct 2017 1 School of Computer Science, University
More information