Distributed Computing through Combinatorial Topology. Maurice Herlihy & Dmitry Kozlov & Sergio Rajsbaum

Size: px
Start display at page:

Download "Distributed Computing through Combinatorial Topology. Maurice Herlihy & Dmitry Kozlov & Sergio Rajsbaum"

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 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 information

Wait-Free Computability for General Tasks

Wait-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 information

Elements of Combinatorial Topology

Elements 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 information

Parallélisme. Aim of the talk. Decision tasks. Example: consensus

Parallé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 information

The Topological Structure of Asynchronous Computability

The 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 information

A Generalized Asynchronous Computability Theorem

A 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 information

Combinatorial Algebraic Topology and applications to Distributed Computing

Combinatorial 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 information

Concurrent Skip Lists. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit

Concurrent 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 information

Solution: a lock (a/k/a mutex) public: virtual void unlock() =0;

Solution: 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 information

Distributed Recursion

Distributed 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 information

Subconsensus Tasks: Renaming is Weaker than Set Agreement

Subconsensus 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 information

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)

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) 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 information

Universality of Consensus. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit

Universality 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 information

6.852: Distributed Algorithms Fall, Class 21

6.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 information

Shared-Memory Computability

Shared-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 information

Lecture notes for Topology MMA100

Lecture 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 information

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. 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 information

CSE 20 DISCRETE MATH WINTER

CSE 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 information

Introduction. 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 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 information

Peterson s Algorithm

Peterson 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 information

Treewidth and graph minors

Treewidth 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 information

Read-Write Memory and k-set Consensus as an Affine Task

Read-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 information

Simplicial Complexes: Second Lecture

Simplicial 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 information

7. Optimization! Prof. O. Nierstrasz! Lecture notes by Marcus Denker!

7. 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 information

Initial Assumptions. Modern Distributed Computing. Network Topology. Initial Input

Initial 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 information

Schlegel Diagram and Optimizable Immediate Snapshot Protocol

Schlegel 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 information

Elementary Combinatorial Topology

Elementary 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 information

Simplicial Objects and Homotopy Groups. J. Wu

Simplicial 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 information

Graphs associated to CAT(0) cube complexes

Graphs 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 information

Abstract We give necessary and sucient combinatorial conditions characterizing the class of decision tasks that can be solved in a wait-free manner by

Abstract 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 information

Lecture 7: Mutual Exclusion 2/16/12. slides adapted from The Art of Multiprocessor Programming, Herlihy and Shavit

Lecture 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 information

6.2 Classification of Closed Surfaces

6.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 information

Pacific Journal of Mathematics

Pacific 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 information

The Charney-Davis conjecture for certain subdivisions of spheres

The 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 information

What is high-dimensional combinatorics?

What 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 information

Discrete Mathematics Lecture 4. Harper Langston New York University

Discrete 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 information

Homology cycle bases from acyclic matchings

Homology 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 information

Monotone Paths in Geometric Triangulations

Monotone 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 information

Computing the Betti Numbers of Arrangements. Saugata Basu School of Mathematics & College of Computing Georgia Institute of Technology.

Computing 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 information

Introduction. 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 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 information

Consensus Problem. Pradipta De

Consensus 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 information

Lecture 1 Discrete Geometric Structures

Lecture 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 information

A Constructive Proof of Ky Fan's Generalization of Tucker's Lemma

A 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 information

Mutual Exclusion. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit

Mutual 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 information

Basics of Combinatorial Topology

Basics 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 information

Time and Space Lower Bounds for Implementations Using k-cas

Time 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 information

Point-Set Topology for Impossibility Results in Distributed Computing. Thomas Nowak

Point-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 information

Programming Paradigms for Concurrency Lecture 2 - Mutual Exclusion

Programming 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 information

Linearizable Iterators

Linearizable 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 information

Parallel Programming

Parallel 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 information

BYZANTINE GENERALS BYZANTINE GENERALS (1) A fable: Michał Szychowiak, 2002 Dependability of Distributed Systems (Byzantine agreement)

BYZANTINE 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 information

Chordal graphs MPRI

Chordal 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 information

6c Lecture 3 & 4: April 8 & 10, 2014

6c 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 information

Coarse-grained and fine-grained locking Niklas Fors

Coarse-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 information

Lecture 0: Reivew of some basic material

Lecture 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 information

All tunnels of all tunnel number 1 knots

All 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 information

Simplicial Global Optimization

Simplicial 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 information

3. Persistence. CBMS Lecture Series, Macalester College, June Vin de Silva Pomona College

3. 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 information

Fault Tolerance. Distributed Software Systems. Definitions

Fault 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 information

The Wait-Free Hierarchy

The 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 information

A 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 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 information

4. Simplicial Complexes and Simplicial Homology

4. 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 information

An Axiomatic Approach to Computing the Connectivity of Synchronous and Asynchronous Systems

An 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 information

Manifolds. Chapter X. 44. Locally Euclidean Spaces

Manifolds. 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 information

Subdivided graphs have linear Ramsey numbers

Subdivided 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 information

Math 5593 Linear Programming Lecture Notes

Math 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

{ 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 information

Lecture 5: Simplicial Complex

Lecture 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 information

Braid groups and Curvature Talk 2: The Pieces

Braid 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 information

Lecture 5 CLASSIFICATION OF SURFACES

Lecture 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 information

Introduction. 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 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 information

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

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 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 information

Asynchronous Reconfiguration for Paxos State Machines

Asynchronous 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 information

THE DOLD-KAN CORRESPONDENCE

THE 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 information

arxiv: v1 [cs.dc] 13 May 2017

arxiv: 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 information

Byzantine Consensus in Directed Graphs

Byzantine 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 information

k-abortable Objects: Progress under High Contention

k-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 information

An Eternal Domination Problem in Grids

An 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 information

Math 170- Graph Theory Notes

Math 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 information

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department

CS473-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 information

Winning Positions in Simplicial Nim

Winning 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 information

HW Graph Theory SOLUTIONS (hbovik) - Q

HW 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 information

Sequen&al Consistency and Linearizability

Sequen&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 information

Today. Types of graphs. Complete Graphs. Trees. Hypercubes.

Today. 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 information

INTRODUCTION TO THE HOMOLOGY GROUPS OF COMPLEXES

INTRODUCTION 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 information

Dimension-Independent Data Structures for Arbitrary Simplicial Complexes

Dimension-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 information

Theorem 2.9: nearest addition algorithm

Theorem 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 information

An Anonymous Self-Stabilizing Algorithm For 1-Maximal Matching in Trees

An 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 information

Scheduling, Map Coloring, and Graph Coloring

Scheduling, 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 information

The Simplex Algorithm for LP, and an Open Problem

The 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 information

Linked 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 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 information

Consensus in the Presence of Partial Synchrony

Consensus 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 information

8 Colouring Planar Graphs

8 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 information

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models.

These 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 information

Definition 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

Definition 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 information

Relationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems

Relationships 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 information

On the Complexity of the Policy Improvement Algorithm. for Markov Decision Processes

On 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 information

Instituto de Matemáticas, U.N.A.M., Ciudad Universitaria, D.F , México

Instituto 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 information

arxiv: v1 [cs.cg] 7 Oct 2017

arxiv: 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