
DDA 2010, lecture 1: Introduction • Synchronous deterministic distributed algorithms • Two models: • Port-numbering model • Unique identifiers Some notational conventions •Graphs: • unless otherwise mentioned, graphs are undirected and simple • graphs are pairs: G = (V, E), V set of nodes, E set of edges • undirected edges are unordered pairs: if there is an edge between u ∈ V and v ∈ V, we have {u, v} ∈ E • directed edges are ordered pairs, e.g. (u, v) ∈ E • deg(v) = degree of v ∈ V 2 Some notational conventions • Parameters: • n = |V|, number of nodes • Δ is an upper bound on degrees: deg(v) ≤Δ for all v ∈ V • These are often used in algorithm analysis • e.g., “running time O(Δ + log n)” • Sometimes we assume that Δ is a global constant • “bounded-degree graphs”, Δ = O(1) 3 DDA 2010, lecture 1a: Port-numbering model • Synchronous deterministic distributed algorithms in the port-numbering model • Limited model, we will study extensions later 4 Distributed algorithms • Communication graph G G • Node = computer • e.g., Turing machine, finite state machine • Edge = communication link • computers can exchange messages 5 Distributed algorithms • All nodes are identical, G run the same algorithm • We can choose the algorithm •An adversary chooses the structure of G • Our algorithm must produce a correct output in any graph G 6 Distributed algorithms • Usually, computational G problems are related to the structure of the communication graph G • example: find a maximal independent set for G • the same graph is both the input and the system that tries to solve the problem... 7 Port-numbering model 1 • A node of degree d can 2 1 refer to its neighbours 3 1 by integers 1, 2, ..., d 2 2 1 • Port-numbering chosen by adversary 1 2 2 1 1 1 3 2 8 Synchronous distributed algorithms 1. Each node reads its 4 own local input 1 2 2 3 1 • Depends on the problem, for example: 2 1 1 • node weight 1 3 • weights of 2 incident edges • May be empty 9 Synchronous distributed algorithms 1. Each node reads its own local input 1 2 2 2. Repeat synchronous communication rounds 1 1 ... 1 3 2 10 Synchronous distributed algorithms 1. Each node reads its own local input 0 1 2 2 2. Repeat synchronous 0 1 communication rounds 1 1 until all nodes 1 3 1 have announced 2 their local outputs • Solution of the problem 11 Synchronous distributed algorithms 1. Each node reads its own local input 0 1 2 2 2. Repeat synchronous 0 1 communication rounds 1 1 until all nodes 1 3 1 have announced 2 their local outputs Example: Find a maximal independent set I Local output of a node v indicates whether v ∈ I 12 Synchronous distributed algorithms • Communication round: each node 1 2 2 1.sends a message to each port 1 1 1 3 2 13 Synchronous distributed algorithms • Communication round: each node 1 2 2 1.sends a message to each port 1 1 1 3 (message propagation...) 2 14 Synchronous distributed algorithms • Communication round: each node 1 2 2 1.sends a message to each port 1 1 2.receives a message 1 3 from each port 2 15 Synchronous distributed algorithms • Communication round: each node 1 2 2 1.sends a message to each port 1 1 2.receives a message 1 3 from each port 2 3.updates its own state 16 Synchronous distributed algorithms • Communication round: each node 0 1 2 2 1.sends a message to each port 1 1 1 2.receives a message 1 3 from each port 2 3.updates its own state 4.possibly stops and announces its output 17 Synchronous distributed algorithms • Communication rounds are repeated until all 1 0 nodes have stopped and 2 2 announced their outputs 0 1 • Running time = 1 1 1 3 number of rounds 1 2 • Worst-case analysis 18 Synchronous distributed algorithms: networks of state machines • Equivalently: 1 • Node = state machine a (not necessarily finite) 2 2 • All nodes update their b d states simultaneously 1 1 1 3 c 2 19 Synchronous distributed algorithms: networks of state machines • Equivalently: 1 • Node = state machine a (not necessarily finite) 2 2 • All nodes update their b d states simultaneously 1 1 1 3 c 2 a’ = f (a, b, 2, c, 1) 2 Current state + b’ = f3(b, d, 1, a, 1, c, 2) port number: c’ = f2(c, a, 2, b, 3) we can reconstruct the outgoing message d’ = f1(d, b, 1) 20 Synchronous distributed algorithms: networks of state machines • Equivalently: 1 • Node = state machine a (not necessarily finite) 2 2 • All nodes update their b d states simultaneously 1 1 1 3 c 2 a’ = f2(a, b, 2, c, 1) Same function b’ = f3(b, d, 1, a, 1, c, 2) f2 = algorithm for c’ = f2(c, a, 2, b, 3) degree-2 nodes d’ = f1(d, b, 1) 21 Synchronous distributed algorithms: networks of state machines • Equivalently: 1 • Node = state machine a (not necessarily finite) 2 2 • All nodes update their b d states simultaneously 1 1 1 3 c • Initial state = local input 2 a’ = f2(a, b, 2, ...) (incl. degree of the node) b’ = f3(b, d, 1, ...) • Final state = local output c’ = f2(c, a, 2, ...) d’ = f1(d, b, 1) 22 DDA 2010, lecture 1b: Computability in port-numbering model • Impossibility of symmetry breaking • Covering maps and covering graphs: tools for proving more impossibility results 23 Symmetry can’t be broken • Input may be symmetric 1 • symmetric graph 2 2 • symmetric port numbering 1 1 • identical local inputs 2 24 Symmetry can’t be broken • Same input X 1 • Same algorithm 2 2 X • Same initial state X 1 1 2 25 Symmetry can’t be broken • Same current state 1 • Messages sent to port 1 2 2 are identical to each other 1 1 • Messages sent to port 2 2 are identical to each other 26 Symmetry can’t be broken 1 2 2 1 1 2 27 Symmetry can’t be broken • Messages received from port 1 are identical to 1 each other 2 2 • Messages received from port 2 are identical to 1 1 each other 2 28 Symmetry can’t be broken • Same old state 1 • Same set of 2 2 received messages • Same deterministic 1 1 algorithm 2 • Same new state 29 Symmetry can’t be broken • Same new state • Either none of Z 1 2 2 the nodes stops — Z or all of them stop and produce 1 1 identical outputs Z 2 • Symmetry can’t be broken! • let’s formalise this... 30 Covering maps 2 1 2 1 H = (V’, E’) 2 1 1 3 1 1 2 3 1 2 f 2 1 1 2 2 1 1 Covering map f: V’ → V 1 3 • surjection 2 • preserves neighbourhoods G = (V, E) • preserves port numbering 31 Covering maps 2 1 2 1 H = (V’, E’) 2 1 1 3 1 1 2 3 1 2 1 2 1 2 2 1 1 Covering map f: V’ → V 1 3 • surjection 2 • preserves neighbourhoods G = (V, E) • preserves port numbering 32 Covering maps 2 1 2 1 H = (V’, E’) 2 1 1 3 1 1 2 3 1 2 1 2 1 2 2 1 1 Covering map f: V’ → V 1 3 • surjection 2 • preserves neighbourhoods G = (V, E) • preserves port numbering 33 Covering maps 2 1 2 1 H = (V’, E’) 2 1 1 3 1 1 2 3 1 2 1 2 1 2 2 1 1 Covering map f: V’ → V 1 3 • surjection 2 • preserves neighbourhoods G = (V, E) • preserves port numbering 34 Covering maps 2 1 2 1 H = (V’, E’) 2 1 1 3 1 1 2 3 1 2 1 2 1 2 2 1 1 Covering map f: V’ → V 1 3 • surjection 2 • preserves neighbourhoods G = (V, E) • preserves port numbering 35 Covering maps and covering graphs 2 1 2 1 H = (V’, E’) 2 1 1 3 1 1 2 3 1 2 1 2 1 2 2 1 1 1 3 H is a covering graph of 2 G if there is a covering G = (V, E) map f: V’ → V 36 Covering maps and covering graphs • Run the same algorithm in G and H • v’ ∈ V’ and f(v’) ∈ V have the same input for all v’ • Then v’ ∈ V’ and f(v’) ∈ V: G = (V, E) 1 2 • have identical initial statess 2 1 1 1 3 • send and receive the same messagesmessages 2 • have identical state transitionstions H = (V’, E’) 2 1 2 1 2 • produce identical 1 1 3 1 1 local outputs! 2 3 1 2 1 2 37 Covering maps and covering graphs 2 1 2 1 H = (V’, E’) 2 1 1 3 1 1 2 3 1 2 1 2 1 2 2 1 1 Same output 1 3 2 G = (V, E) 38 Covering maps and covering graphs 2 1 2 1 H = (V’, E’) 2 1 1 3 1 1 2 3 1 2 1 2 1 2 2 1 1 Same output 1 3 2 G = (V, E) 39 Covering maps and covering graphs 2 1 2 1 H = (V’, E’) 2 1 1 3 1 1 2 3 1 2 1 2 1 2 2 1 1 Same output 1 3 2 G = (V, E) 40 Covering maps and covering graphs • Symmetric cycles are a simple special case of covering maps G = (V, E) 1 H = (V’, E’) 2 2 21 1 1 2 Same output 41 Computability in the port-numbering model • Very limited model 1 • in a cycle, we can only 2 2 find a trivial solution: 1 1 empty set, all nodes, ..
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages69 Page
-
File Size-