DDA 2010, Lecture 1: Introduction

DDA 2010, Lecture 1: Introduction

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

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    69 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us