Presentation is loading. Please wait.

Presentation is loading. Please wait.

04/06/2016Applied Algorithmics - week101 Dynamic vs. Static Networks  Ideally, we would like distributed algorithms to be: dynamic, i.e., be able to.

Similar presentations


Presentation on theme: "04/06/2016Applied Algorithmics - week101 Dynamic vs. Static Networks  Ideally, we would like distributed algorithms to be: dynamic, i.e., be able to."— Presentation transcript:

1

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


Download ppt "04/06/2016Applied Algorithmics - week101 Dynamic vs. Static Networks  Ideally, we would like distributed algorithms to be: dynamic, i.e., be able to."

Similar presentations


Ads by Google