Download presentation
Presentation is loading. Please wait.
Published byFrederick Casey Modified over 8 years ago
2
04/06/2016Applied Algorithmics - week101 Dynamic vs. Static Networks Ideally, we would like distributed algorithms to be: dynamic, i.e., be able to respond to changes in the network, and fault-tolerant, i.e., able to recover correctly and gracefully from failures However, for simplicity, we present here network algorithms for networks that remain static during algorithm execution
3
04/06/2016Applied Algorithmics - week102 Synchronisation One of the most important considerations in the message- passing model for distributed computing is the assumption that we about the synchronisation of processors in the network The synchronous model and asynchronous model are the two most utilised models in distributed algorithm design
4
04/06/2016Applied Algorithmics - week103 Synchronous Model In synchronous model each processor has an internal clock that times program execution the clocks of all processors are synchronised the execution speeds of the processors are uniform and each processor takes the same amount of time to perform the same operation it takes the same amount of time to send a message through any connection in the network
5
04/06/2016Applied Algorithmics - week104 Asynchronous Model In asynchronous model There are no assumptions on the internal clocks and the execution speed of processors the steps in an asynchronous algorithm are determined by conditions or events each communication channel is a FIFO queue that can buffer an arbitrary number of messages (each message is eventually sent) there is a basic fairness assumption that guarantees that if a processor p has an event enabling p to perform a task, then p will eventually perform the task
6
04/06/2016Applied Algorithmics - week85 Communication problems in networks To enable efficient collaboration of processing entities (nodes) in the network one need to introduce well defined secure/robust communication protocol for neighboring (with direct access) nodes supported by a system of primitive communication routines providing communication between remote nodes Typical communication primitives include: Broadcasting Multicast Gossiping Routing
7
04/06/2016Applied Algorithmics - week86 Broadcasting versus Gossiping Broadcasting refers to one-to-all communication The goal in broadcasting is to disseminate a broadcast message from a distinguished source node to all other nodes in the network Gossiping refers to all-to-all communication, a.k.a. total information exchange The goal in gossiping is to exchange messages within all pairs of nodes (points) in the network
8
04/06/2016Applied Algorithmics - week87 Broadcasting
9
04/06/2016Applied Algorithmics - week88 Gossiping Gathering Broadcasting
10
04/06/2016Applied Algorithmics - week89 Radio Networks
11
04/06/2016Applied Algorithmics - week810 Radio Networks lunch? sure why not yeah
12
04/06/2016Applied Algorithmics - week811 Radio Networks lunch? coffee? sure why not yeah HUH??
13
04/06/2016Applied Algorithmics - week812 Radio Networks Represent as a graph
14
04/06/2016Applied Algorithmics - week813 Radio Networks Topology could be unstable ….
15
04/06/2016Applied Algorithmics - week814 Radio Network Model 1 2 7 6 4 3 8 5 Directed graph Node identifiers from set {1,2,…,n} Full synchronization: discrete time steps Common/shared clock all start at time 0 Message transmitted from v is instantly sent to all neighbors No collision detection is feasible: if two messages reach u at the same time step, then u hears nothing
16
04/06/2016Applied Algorithmics - week815 Round Robin: O(n 2 ) algorithm Protocol: id, time, history {receive, transmit(m)} Assumption: topology is not known! Simplifying assumption: n is known Running time: # of steps till all nodes know t maximized over all networks of size n 1,2,…,n, …, 1,2,…,n (n times) 1 2 7 6 4 3 8 5 Radio Network Model
17
04/06/2016Applied Algorithmics - week816 Oblivious Algorithm: Sequence of transmission sets Ŝ = S 1 S 2 S 3 … Code of node v at time t : if v knows m and v S t then transmit(m) else receive(); General scheme for radio broadcasting
18
04/06/2016Applied Algorithmics - week817 Ŝ = {1,5}, {2,4,6}, {3,4}, {4,7,8}, {2,7} 1m2764385
19
04/06/2016Applied Algorithmics - week818 Ŝ = {1,5}, {2,4,6}, {3,4}, {4,7,8}, {2,7} 1m 2 7 6 4 3 8 5
20
04/06/2016Applied Algorithmics - week819 Ŝ = {1,5}, {2,4,6}, {3,4}, {4,7,8}, {2,7} 1m 7 6 8 5 3 m 4 m 2 m
21
04/06/2016Applied Algorithmics - week820 Ŝ = {1,5}, {2,4,6}, {3,4}, {4,7,8}, {2,7} 1m 7 6 8 5 3 m 4 m 2 m
22
04/06/2016Applied Algorithmics - week821 Ŝ = {1,5}, {2,4,6}, {3,4}, {4,7,8}, {2,7} 1m 6 8 5 3 m 4 m 2 m 7 m
23
04/06/2016Applied Algorithmics - week822 Ŝ = {1,5}, {2,4,6}, {3,4}, {4,7,8}, {2,7} 1m 6 8 5 3 m 4 m 2 m 7 m
24
04/06/2016Applied Algorithmics - week823 Ŝ = {1,5}, {2,4,6}, {3,4}, {4,7,8}, {2,7} 1m5 3 m 4 m 2 m 7 m 8 m 6 m
25
04/06/2016Applied Algorithmics - week824 Ŝ = {1,5}, {2,4,6}, {3,4}, {4,7,8}, {2,7} 1m 5 3 m 4 m 2 m 7 m 8 m 6 m
26
04/06/2016Applied Algorithmics - week825 Ŝ = {1,5}, {2,4,6}, {3,4}, {4,7,8}, {2,7} 1m5 3 m 4 m 2 m 7 m 8 m 6 m
27
04/06/2016Applied Algorithmics - week826 Ŝ = {1,5}, {2,4,6}, {3,4}, {4,7,8}, {2,7} 1m 5 3 m 4 m 2 m 7 m 6 m 8 m
28
04/06/2016Applied Algorithmics - week827 Ŝ = {1,5}, {2,4,6}, {3,4}, {4,7,8}, {2,7} 1m 3 m 4 m 2 m 7 m 6 m 8 m 5 m
29
04/06/2016Applied Algorithmics - week828 X v active (know m) s dormant Some intuitions … at time t node v is dormant X = active neighbors of v v will receive m iff |S t X| =1 StSt Mechanics of radio broadcasting
30
04/06/2016Applied Algorithmics - week829 X v Y active dormant at time steps t,…,t’ nodes in set Y get activated... if |S j X| = 1 and S j Y = Ø for some j then v will receive m SjSj SjSj SjSj SjSj Mechanics of radio broadcasting
31
04/06/2016Applied Algorithmics - week830 Mechanics of radio broadcasting The transmission sets S j are defined on the basis of (k,m,n)-selectors (see Group Testing), where n is the number of nodes in the network The rows in selectors represent characteristic vectors of transmission sets The algorithm uses a family of interspersed (time multiplexed) selectors S i,for i=0..log 4/3 n-1, s.t., S i = (n/(4/3) i,n/(4/3) i+1,n)-selector, s.t., every other log 4/3 n time steps next transmission set from any selector is used The size of each S i is O(n·log n / (4/3) i )
32
04/06/2016Applied Algorithmics - week831 Algorithm Do-broadcast; each stage has one set from each S i each block of O(n·log n / (4/3) i ) consecutive stages contain all transmission sets from S i Mechanics of radio broadcasting run n·log n stages such that
33
04/06/2016Applied Algorithmics - week832 Theorem Do-broadcast completes broadcasting in time O(n log 2 n). After O(n log n) stages progress is 2n, so we’re done Claim: For each stage s amortized progress is (1/log n) State transition of each node= progress 2n inner frontier dormant F Proof: three states: Mechanics of radio broadcasting
34
04/06/2016Applied Algorithmics - week833 Wireless networks embedded into plane Apart from strictly graph based models for wireless networks there also (probably more accurate) more geometric models, e.g., using embedding into plane One of the most common models is a Unit Disk Graph model in which two nodes on the plane are connected by a bi-directional edge if the distance between them is ≤ 1 ≤ 1
35
04/06/2016Applied Algorithmics - week834 Unit Disk Graphs (UDG) If the points (nodes) on the plane are to close to each other the connections can form very dense (e.g., a complete graph) which is rather difficult in the context of transmission collisions There is a lot of noise in there
36
04/06/2016Applied Algorithmics - week835 Gabriel Reduction in UDGs When selection of neighbors is feasible one can implement some elimination process to reduce the number of edges and to make the graph of connections planar (without crossing edges) One of the most common reductions is based on the property of Gabriel graphs If the disk with the diameter based on edge (A,B) contains another point C the edge (A,B) is removed from the graph A B C A B C
37
04/06/2016Applied Algorithmics - week836 Gabriel Reduction - example 1 What about UDG?
38
04/06/2016Applied Algorithmics - week837 Gabriel Reduction - example 1 Very ugly, huh?
39
04/06/2016Applied Algorithmics - week838 Gabriel Reduction - example 1 Still ugly …
40
04/06/2016Applied Algorithmics - week839 Gabriel Reduction - example 1 Pretty ugly, huh?
41
04/06/2016Applied Algorithmics - week840 Gabriel Reduction - example 1 Still ugly …
42
04/06/2016Applied Algorithmics - week841 Gabriel Reduction - example 1 Still ugly …
43
04/06/2016Applied Algorithmics - week842 Gabriel Reduction - example 1 Still ugly …
44
04/06/2016Applied Algorithmics - week843 Gabriel Reduction - example 1 Still ugly …
45
04/06/2016Applied Algorithmics - week844 Gabriel Reduction - example 1 Still ugly …
46
04/06/2016Applied Algorithmics - week845 Gabriel Reduction - example 1 Almost there …
47
04/06/2016Applied Algorithmics - week846 Gabriel Reduction - example 1 No more edges can be removed!!
48
04/06/2016Applied Algorithmics - week847 Gabriel Reduction Gabriel graph reduction leads to planar graph (there are no crossing edges) The reduction process is totally based on local communication Unfortunately the degree of the final graph is not bounded in the worst case There are known other reduction procedures that lead to planar graphs with bounded (constant) degree, e.g., Yao graphs
49
04/06/2016Applied Algorithmics - week848 Routing in planar graphs We assume that each node v on the plane knows its (x,y) coordinates as well as coordinates of neighboring node on each face that node v belongs to. The main task in routing is to deliver message from the source node s to the target node t While traversing the graph the Face/Compass routing algorithm visits consecutive faces of the graph after each face getting closer to the target node t The cost of traversal of each face F is proportional to the number of edges on the perimeter of F
50
04/06/2016Applied Algorithmics - week849 Face/Compass Routing (Faces)
51
04/06/2016Applied Algorithmics - week850 Face/Compass Routing st
52
04/06/2016Applied Algorithmics - week851 Face/Compass Routing st
53
04/06/2016Applied Algorithmics - week852 Face/Compass Routing st
54
04/06/2016Applied Algorithmics - week853 Face/Compass Routing st
55
04/06/2016Applied Algorithmics - week854 Face/Compass Routing st
56
04/06/2016Applied Algorithmics - week855 Face/Compass Routing st
57
04/06/2016Applied Algorithmics - week856 Face/Compass Routing st
58
04/06/2016Applied Algorithmics - week857 Face/Compass Routing st
59
04/06/2016Applied Algorithmics - week858 Face/Compass Routing st
60
04/06/2016Applied Algorithmics - week859 Face/Compass Routing st
61
04/06/2016Applied Algorithmics - week860 Face/Compass Routing st
62
04/06/2016Applied Algorithmics - week861 Face/Compass Routing st
63
04/06/2016Applied Algorithmics - week862 Face/Compass Routing st
64
04/06/2016Applied Algorithmics - week863 Face/Compass Routing st
65
04/06/2016Applied Algorithmics - week864 Face/Compass Routing st
66
04/06/2016Applied Algorithmics - week865 Face/Compass Routing st
67
04/06/2016Applied Algorithmics - week866 Face/Compass Routing st
68
04/06/2016Applied Algorithmics - week867 Face/Compass Routing st
69
04/06/2016Applied Algorithmics - week868 Face/Compass Routing st
70
04/06/2016Applied Algorithmics - week869 Face/Compass Routing st
71
04/06/2016Applied Algorithmics - week870 Face/Compass Routing st
72
04/06/2016Applied Algorithmics - week871 Face/Compass Routing st
73
04/06/2016Applied Algorithmics - week872 Face/Compass Routing st
74
04/06/2016Applied Algorithmics - week873 Face/Compass Routing st
75
04/06/2016Applied Algorithmics - week874 Face/Compass Routing st
76
04/06/2016Applied Algorithmics - week875 Face/Compass Routing st
77
04/06/2016Applied Algorithmics - week876 Face/Compass Routing (Analysis) Proof: each face is explored at most once after each face we get closer to t each edge is traversed at most four times there are at most 3n-6 edges (Euler formula) after O(n) steps we find the target node t Lemma: Face/Compass routing always finds a path from the source node s to the target node t. The total cost of Face/Compass routing is O(n).
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.