Distributed Queuing in Dynamic Networks Costas Busch Louisiana - - PowerPoint PPT Presentation

distributed queuing in dynamic networks costas busch
SMART_READER_LITE
LIVE PREVIEW

Distributed Queuing in Dynamic Networks Costas Busch Louisiana - - PowerPoint PPT Presentation

Distributed Queuing in Dynamic Networks Costas Busch Louisiana State University (Joint work with Gokarna Sharma) FOMC 2013 1 Dynamic Networks Fabian Kuhn, Nancy Lynch, Rotem Oshman STOC 2010 Communication Round (Broadcast Step) Each


slide-1
SLIDE 1

Distributed Queuing in Dynamic Networks Costas Busch

Louisiana State University

(Joint work with Gokarna Sharma) FOMC 2013

1

slide-2
SLIDE 2

Dynamic Networks

2

Communication Round (Broadcast Step)

  • Each node decides what value of

size O(log n) bits to broadcast

  • Then, adversary decides which links

are active (connected graph)

  • Node broadcasts message

Fabian Kuhn, Nancy Lynch, Rotem Oshman STOC 2010

slide-3
SLIDE 3

T-stable Networks

3

For any period of time T there is a stable connected spanner subgraph Adversary as before, but spanner subgraph does not change for T steps

slide-4
SLIDE 4

Enqueuing Requests

4

(r, ID) Round (step) Node id Requests are totally ordered Assume requests with order 1,2,3,…,k

slide-5
SLIDE 5

Enqueuing Requests

5

Initially

9

head

nil

slide-6
SLIDE 6

Enqueuing Requests

6

Initially

1 2 3 4 5

1 2 3 4 5

8

8

6

6

7

7

9

9

1

10

head

nil

slide-7
SLIDE 7

Final Queue

7

1 2 3 4 5 8 6 7 9 10 nil

head

slide-8
SLIDE 8

Two algorithms

8

On Basic Adversarial Model: O(nk) On 2T-stable Model: O(nk/min(a,T)) n: nodes in graph k: enqueue requests a: expresses the number of min remaining active requests per 2T period

slide-9
SLIDE 9

Basic Algorithm

9

cycle 1

Enqueue the 1st request Assume requests with order 1,2,3,…,k Min order (1) reaches all nodes

slide-10
SLIDE 10

Basic Algorithm

10

Enqueue the 2nd request Assume requests with order 1,2,3,…,k

cycle 2

Min order (2) reaches all nodes

slide-11
SLIDE 11

Basic Algorithm

11

Enqueue the 3rd request Assume requests with order 1,2,3,…,k

cycle 3

Min order (3) reaches all nodes

slide-12
SLIDE 12

Basic Algorithm

12

Enqueue the k-th request Assume requests with order 1,2,3,…,k

cycle k

Min order (k) reaches all nodes

slide-13
SLIDE 13

Execution Example

13

Initially

1 2 3 4 5

1 2 3 4 5

8

8

6

6

7

7

9

9

1

10

head

nil

slide-14
SLIDE 14

End of Cycle 1

14

Initially

1 2 3 4 5

1 2 3 4 5

8

8

6

6

7

7

9

9

1

10

head

nil

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

slide-15
SLIDE 15

End of Cycle 1

15

2 3 4 5

1 2 3 4 5

8

8

6

6

7

7

9

9

1

10

head

nil

slide-16
SLIDE 16

End of Cycle 2

16

2 3 4 5

1 2 3 4 5

8

8

6

6

7

7

9

9

1

10

head

nil

2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

slide-17
SLIDE 17

End of Cycle 2

17

2 3 4 5

1 2 3 4 5

8

8

6

6

7

7

9

9

1

10

head

nil

2 2

slide-18
SLIDE 18

Final Queue (end of cycle k=10)

18

1 2 3 4 5 8 6 7 9 10 nil

head

slide-19
SLIDE 19

Propagation

19

1 1 1 1 1 1 1 1 1 1

Set of nodes that have 1 Set of nodes without 1

slide-20
SLIDE 20

Propagation

20

1 1 1 1 1 1 1 1 1 1

Set of nodes that have 1 Set of nodes without 1

After a step

1

slide-21
SLIDE 21

Duration of Cycle

21

Each cycle requires n steps: In each step a new node in graph receives smallest ordered request Total time = #cycles X cycle_duration = k n

slide-22
SLIDE 22

Dynamic enqueuing requests

22

Enqueue request (r, ID) arriving at a cycle will be served no later than b cycles b: number of current active requests possibly ordered before (r, ID)

slide-23
SLIDE 23

Algorithm for 2T-stable graphs

23

cycle 1

Enqueue the 1st smallest set of T requests Assume requests with order 1,2,3,…,k > T 1, 2, …, T

slide-24
SLIDE 24

Algorithm for 2T-stable graphs

24

cycle 2

Enqueue the 2nd smallest set of T requests Assume requests with order 1,2,3,…,k > T T+1, T+2, …, 2T

slide-25
SLIDE 25

Algorithm for 2T-stable graphs

25

cycle 3

Enqueue the 3rd smallest set of T requests Assume requests with order 1,2,3,…,k > T 2T+1, 2T+2, …, 3T

slide-26
SLIDE 26

Algorithm for 2T-stable graphs

26

Enqueue the last (k/T)th set of T requests

cycle k/T

Assume requests with order 1,2,3,…,k > T (k/T-1)T+1, (k/T-1)T+2, …, T

slide-27
SLIDE 27

27

At the end of cycle i+1 each node receives requests with order: iT+1, iT+2, …, (i+1)T

Node with request of order j in [iT+1, …, (i+1)T-1] will point next to the node which issued request with order j+1

Node with order (i+1)T becomes tail.

Algorithm for 2T-stable graphs

slide-28
SLIDE 28

Inside a cycle

28

Initially

1 2 3 4 5

1 2 3 4 5

8

8

6

6

7

7

9

9

1

10

head

nil

slide-29
SLIDE 29

Inside a cycle

29

End of cycle 1 (T=5) 1 2 3 4 5 8 6 7 9 10

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

nil

1 2 3 4 5

slide-30
SLIDE 30

Inside a cycle

30

End of cycle 1 (T=5) 1 2 3 4 5 8 6 7 9 10

2 4 3 5

nil

head

slide-31
SLIDE 31

Inside a cycle

31

Cycle 2 (T=5) 1 2 3 4 5 8 6 7 9 10 nil

8 6 7 9

1

head

slide-32
SLIDE 32

Inside a cycle

32

End of Cycle 2 (T=5) 1 2 3 4 5 8 6 7 9 10 nil

6 7 8 9

1

6 7 8 9

1

6 7 8 9

1

6 7 8 9

1

6 7 8 9

1

6 7 8 9

1

6 7 8 9

1

6 7 8 9

1

6 7 8 9

1

6 7 8 9

1

6 7 8 9

1

slide-33
SLIDE 33

Inside a cycle

33

End of Cycle 2 (T=5) 1 2 3 4 5 8 6 7 9 10

8 9

1

7

nil

6

head

slide-34
SLIDE 34

Pipelining

34

1 2 3 4 5

t=1

slide-35
SLIDE 35

Pipelining

35

1 2 3 4 5

t=1

1

slide-36
SLIDE 36

Pipelining

36

1 2 3 4 5 1

t=2

slide-37
SLIDE 37

Pipelining

37

1 2 3 4 5 1

t=2

1 2

slide-38
SLIDE 38

Pipelining

38

1 2 3 4 5 1 2 1

t=3

slide-39
SLIDE 39

Pipelining

39

1 2 3 4 5 1 2 1

t=3

1 2 3

slide-40
SLIDE 40

Pipelining

40

1 2 3 4 5 1 2 3 1 2 1

t=4

slide-41
SLIDE 41

Pipelining

41

1 2 3 4 5 1 2 3 1 2 1

t=4

1 2 3 4

slide-42
SLIDE 42

Pipelining

42

1 2 3 4 5 1 2 3 4 1 2 3 1 2 1

t=5

slide-43
SLIDE 43

Pipelining

43

1 2 3 4 5 1 2 3 4 1 2 3 1 2 1

t=5

1 2 3 4 5

slide-44
SLIDE 44

Pipelining

44

1 2 3 4 5 1 2 3 4 5 1 2 3 4 1 2 3 1 2

t=6

1

slide-45
SLIDE 45

Pipelining

45

1 2 3 4 5 1 2 3 4 5 1 2 3 4 1 2 3 1 2

t=6

1 2 3 4 5

slide-46
SLIDE 46

Pipelining

46

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 1 2 3

t=7

1 2

slide-47
SLIDE 47

Pipelining

47

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 1 2 3

t=7

1 2 3 4 5

slide-48
SLIDE 48

Pipelining

48

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4

t=8

1 2 3

slide-49
SLIDE 49

Pipelining

49

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4

t=8

1 2 3 4 5

slide-50
SLIDE 50

Pipelining

50

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

t=9

1 2 3 4

slide-51
SLIDE 51

Pipelining

51

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

t=9

1 2 3 4 5

slide-52
SLIDE 52

Pipelining

52

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

t=10=5+5

1 2 3 4 5

slide-53
SLIDE 53

Collisions from other paths

53

2 3

t=1

1

slide-54
SLIDE 54

Collisions from other paths

54

2 3

t=2

1 3 1 2

slide-55
SLIDE 55

Collisions from other paths

55

2 3

t=3

1 3 1 2 1 2 1

slide-56
SLIDE 56

Collisions from other paths

56

2 3

t=4

1 3 1 2 1 2 1 3 3 2 1

slide-57
SLIDE 57

Collisions from other paths

57

2 3

t=5

1 3 1 2 1 2 1 3 3 2 1 3 2 1 1

slide-58
SLIDE 58

Collisions from other paths

58

2 3

t=6

1 3 1 2 1 2 1 3 3 2 1 3 2 1 1 2 2 1 1

slide-59
SLIDE 59

Collisions from other paths

59

2 3

t=7

1 3 1 2 1 2 1 3 3 2 1 3 2 1 1 2 2 1 3 1 2 1 2 3

slide-60
SLIDE 60

Collisions from other paths

60

2 3

t=8 = 5+3

1 3 1 2 1 2 1 3 3 2 1 3 2 1 1 2 2 1 3 1 2 1 2 3 2 2 1 3 3

slide-61
SLIDE 61

Propagation

61

1 1 1 1 1 1 1 1 1 1

Set of nodes that have 1

T nodes

Set of nodes without 1

slide-62
SLIDE 62

Propagation

62

1 1 1 1 1 1 1 1 1 1

Set of nodes that have 1

T nodes

1 1 1

After T+1 time steps

Set of nodes without 1

slide-63
SLIDE 63

Propagation

63

2 2 2 2 2 2 2 2 2 2

Set of nodes that have 2

T nodes

Set of nodes without 2

slide-64
SLIDE 64

Propagation

64

2 2 2 2 2 2 2 2 2 2

Set of nodes that have 2

T nodes

Set of nodes without 2

2 2 2

After T+1 time steps

slide-65
SLIDE 65

Propagation

65

2 2 2 2 2 2 2 2 2 2

Set of nodes that have 2

T nodes

Set of nodes without 2

2 2 2

After T+2 time steps (due to possible collision with 1)

1 1 1 1

slide-66
SLIDE 66

Propagation

66

2 2 2 2 2 2 2 2 2 2

Set of nodes that have 2

T nodes

Set of nodes without 2

2 2 2

After T+2 time steps (due to possible collision with 1)

1 1 1 1 1 1

slide-67
SLIDE 67

Propagation

67

3 3 3 3 3 3 3 3 3 3

Set of nodes that have 3

T nodes

Set of nodes without 3

2 2 2

After T+3 time steps (due to possible collision with 1 or 2)

1 1 1 1 3 3 3 2

slide-68
SLIDE 68

Propagation

68

3 3 3 3 3 3 3 3 3 3

Set of nodes that have 3

T nodes

Set of nodes without 3

2 2 2

1 or 2 can originate from other nodes as well

1 1 1 1 3 3 3 2 1 1

slide-69
SLIDE 69

Propagation

69

T T T T T T T T T T

Set of nodes that have T

T nodes

Set of nodes without T

T T T

After 2T time steps (Due to possible collision with 1,2,3,..,T-1)

slide-70
SLIDE 70

Propagation Progress

70

After a period, the T smallest requests propagate to at least T new nodes After a cycle, every node knows the T smallest requests Period = 2T steps Cycle = n/T periods

slide-71
SLIDE 71

Total time

71

#cycles * cycle_duration = #cycles * periods_per_cycle * period_duration = k/T * (n/T) * 2T = O(kn/T)