on Leveled Networks Costas Busch Shailesh Kelkar Malik - - PowerPoint PPT Presentation

on leveled networks
SMART_READER_LITE
LIVE PREVIEW

on Leveled Networks Costas Busch Shailesh Kelkar Malik - - PowerPoint PPT Presentation

Efficient Bufferless Routing on Leveled Networks Costas Busch Shailesh Kelkar Malik Magdon-Ismail Rensselaer Polytechnic Institute 1 Talk Outline Introduction Centralized Algorithm Distributed Algorithm Conclusion 2 Leveled


slide-1
SLIDE 1

1

Efficient Bufferless Routing

  • n Leveled Networks

Costas Busch Shailesh Kelkar Malik Magdon-Ismail

Rensselaer Polytechnic Institute

slide-2
SLIDE 2

2

  • Introduction
  • Centralized Algorithm
  • Distributed Algorithm
  • Conclusion

Talk Outline

slide-3
SLIDE 3

3

Leveled Networks

Level:

1 2 3 L-1 L

slide-4
SLIDE 4

4

Examples of Leveled Networks

1 2 3

Butterfly

1 2 3 4 5 6

Mesh

slide-5
SLIDE 5

5

  • Synchronous network (time steps)

Network Model

  • Bi-directional links

One packet per direction, per time step

slide-6
SLIDE 6

6

Buffer-less nodes Time 0 Packets are always moving

slide-7
SLIDE 7

7

Time 1 Buffer-less nodes Packets are always moving

slide-8
SLIDE 8

8

Time 2 Buffer-less nodes Packets are always moving

slide-9
SLIDE 9

9

Time 3 Buffer-less nodes Packets are always moving

slide-10
SLIDE 10

10

Time 4 Buffer-less nodes Packets are always moving

slide-11
SLIDE 11

11

Bufferless routing is interesting:

  • Optical networks
  • Simple hardware implementations
  • Works well in practice:

Bartzis et al.: EUROPAR 2000 Maxemchuck: INFOCOM 1989

slide-12
SLIDE 12

12

Routing Time: the time until the last packet is absorbed Objective: Minimize Routing Time

slide-13
SLIDE 13

13

source destination

Each packet has a pre-selected path Packet path is from left to right

slide-14
SLIDE 14

14

source destination

The packet follows the pre-selected path

slide-15
SLIDE 15

15

source destination

The packet follows the pre-selected path

slide-16
SLIDE 16

16

source destination

The packet follows the pre-selected path

slide-17
SLIDE 17

17

Each packet has its own path There are packets

N

3 = N

slide-18
SLIDE 18

18

Dilation D: The maximum length

  • f any path

6 = D

Routing time:

) D ( Ω

slide-19
SLIDE 19

19

Congestion C: The maximum number of packets traversing any edge

2  C

Routing time:

) C ( Ω

slide-20
SLIDE 20

20

Lower bound on Routing Time:

) D + C ( Ω

D C 

We want algorithms with Routing Time close to: Congestion Dilation

slide-21
SLIDE 21

21

Our Contributions

  • Centralized Algorithm:

) ) log( ( D DN C O  

  • Distributed Algorithm:

)) log( ) ( log (

2

DN D DN C O   

N : number of packets

Results hold with high probability

       DN 1 1

Both algorithms are randomized

slide-22
SLIDE 22

22

Networks with buffers Leveled networks:

Leighton, Maggs, Ranade, Rao: J. Algorithms 1992

) N log + L + C ( O

Arbitrary networks:

) D + C ( O

[Leighton - Maggs - Rao, Combinatorica 94]

[BS99, LMR99, MV99, OR97, RT96]

Related Work

slide-23
SLIDE 23

23

Bufferless networks

Mesh [BRST93, BES97, BHS98, BU96, BHW00] Hypercube [BH85, BC95, FR92, H91] Trees [BMMW04, RSW00, BMMW] Leveled [BBPRRS96, B02] Vertex-symmetric [MS95] Arbitrary networks [BMM04]

slide-24
SLIDE 24

24

Most related work Leveled Networks: Arbitrary networks:

Busch, Magdon-Ismail, Mavronicolas WAOA’04

)) ( log ) ((

3

N n D C O    )) ( log ) ((

9 LN

D C O  

Busch TCS’04

Leveled networks in different routing model:

Bhatt, Bilardi, Pucci, Ranade, Rosenberg, Scwabe TC’96

slide-25
SLIDE 25

25

  • Introduction
  • Centralized Algorithm
  • Distributed Algorithm
  • Conclusion

Talk Outline

slide-26
SLIDE 26

26

Centralized Algorithm

A central node knows all the parameters of the problem and computes a packet schedule

slide-27
SLIDE 27

27

5  D

slide-28
SLIDE 28

28

Packet Grouping A

Group 1 Group 2 Group 3

D 2

Group 4 Group 5

D 2

Packet Grouping B

slide-29
SLIDE 29

29

Packets in different groups can be sent simultaneously

Group 1 Group 2 Group 3

Group 1

We focus only in one group

  • 1. Send packets of Grouping A
  • 2. Send packets of Grouping B

Packet Grouping A

Increases routing time by only a factor of 2

slide-30
SLIDE 30

30

Group 1

D 2

 set of packets

Congestion Dilation

C  D 

N   | |

slide-31
SLIDE 31

31

Partition the packets randomly and uniformly into sets

C

1

packets

C | | 

#of packets

2

3

C

C | |  C | |  C | | 

slide-32
SLIDE 32

32

C

1

packets

) log(DN

2

3

C

Congestion Benefit: congestion drops

) log(DN ) log(DN ) log(DN

New Congestion w.h.p.

slide-33
SLIDE 33

33

Before partitioning Congestion C Edge

   

slide-34
SLIDE 34

34

After partitioning

1

2

3

C

Expected one packet from each packet set

slide-35
SLIDE 35

35

1

Expected Congestion 1 (Congestion w.h.p.)

) log(DN

slide-36
SLIDE 36

36 1

F

2

F

3

F

k

F

We partition the levels into frames

)) (log(DN 

D 2

# number of frames:

         ) log(DN D

slide-37
SLIDE 37

37 1

F

2

F

3

F

k

F

We send packets from frame to frame

1

Wave

slide-38
SLIDE 38

38 1

F

2

F

3

F

k

F

We send packets from frame to frame

1

Wave Wave Duration:

)) (log(DN 

slide-39
SLIDE 39

39 1

F

2

F

3

F

k

F

We send packets from frame to frame

1

Wave

slide-40
SLIDE 40

40 1

F

2

F

3

F

k

F

We send packets from frame to frame

1

Wave

slide-41
SLIDE 41

41 1

F

2

F

3

F

k

F

We send packets from frame to frame

1

Wave

slide-42
SLIDE 42

42

A packet follows its path from source to Destination along the wave

Injection wave

slide-43
SLIDE 43

43

A packet follows its path from source to Destination along the wave

slide-44
SLIDE 44

44

A packet follows its path from source to Destination along the wave

slide-45
SLIDE 45

45

A packet follows its path from source to Destination along the wave

Absorption wave

slide-46
SLIDE 46

46

A packet follows its path from source to Destination along the wave

Absorption wave

slide-47
SLIDE 47

47

Sending packets of different packet sets simultaneously

Wave 1

1

2

3

C

slide-48
SLIDE 48

48

Sending packets of different packet sets simultaneously

Wave 1

1

2

3

C

slide-49
SLIDE 49

49

Sending packets of different packet sets simultaneously

Wave 1

1

2

3

C

Wave 2

slide-50
SLIDE 50

50

Sending packets of different packet sets simultaneously

Wave 1

1

2

3

C

Wave 2

slide-51
SLIDE 51

51

Sending packets of different packet sets simultaneously

Wave 1

1

2

3

C

Wave 2 Wave 3

slide-52
SLIDE 52

52

Sending packets of different packet sets simultaneously

1

2

3

C

Wave 1 Wave 2 Wave 3

slide-53
SLIDE 53

53

Sending packets of different packet sets simultaneously

1

2

3

C

Wave 2 Wave 3 Wave C

slide-54
SLIDE 54

54

Sending packets of different packet sets simultaneously

1

2

3

C

Wave 2 Wave 3 Wave C

slide-55
SLIDE 55

55

Sending packets of different packet sets simultaneously

1

2

3

C

Wave 3 Wave C

slide-56
SLIDE 56

56

Sending packets of different packet sets simultaneously

1

2

3

C

Wave 3 Wave C

slide-57
SLIDE 57

57

Sending packets of different packet sets simultaneously

1

2

3

C

Wave C

slide-58
SLIDE 58

58

Sending packets of different packet sets simultaneously

1

2

3

C

Wave C

slide-59
SLIDE 59

59

Sending packets of different packet sets simultaneously

1

2

3

C

Wave C

slide-60
SLIDE 60

60

1

2

3

C

All packets have been absorbed!

slide-61
SLIDE 61

61

Routing Time = Time until last wave C leaves the network

) ) log( ( ) log( ) log( ) log( 2 D DN C DN DN D DN C    

Time when wave C enters the network Time that wave C needs to traverse the network

#frames

Wave duration Wave duration

slide-62
SLIDE 62

62

Frame

i

F

Oscilation Time t Simulates buffering

slide-63
SLIDE 63

63

Frame

i

F

Oscilation Time

1  t

Simulates buffering

slide-64
SLIDE 64

64

Frame

i

F

Oscilation Time

2  t

Simulates buffering

slide-65
SLIDE 65

65

Frame

i

F

Oscilation Time

 , 4 , 3   t t

Simulates buffering

slide-66
SLIDE 66

66

Wave Packet propagation during a wave Frame

i

F

Frame

1  i

F

slide-67
SLIDE 67

67

Frame

i

F

Frame

1  i

F

Wave Packet propagation during a wave

slide-68
SLIDE 68

68

Conflict Graph

Each node is a packet Two packets are adjacent if their paths use a common edge in the frames and

i

F

1  i

F

slide-69
SLIDE 69

69

Frame

i

F

Frame

1  i

F

Share edge

Conflict graph

a

b

c a

b

c

Example

slide-70
SLIDE 70

70

The degree of any node is bounded by

) log(DN

Thus the conflict graph can be colored with

1 ) log(   DN 

colors

(A consequence of packet partitioning) 1 1 1 1 2 2 2 2 3 3

slide-71
SLIDE 71

71

Wave Frame

i

F

Frame

1  i

F

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

We send packets of each color seperately

slide-72
SLIDE 72

72

Wave Frame

i

F

Frame

1  i

F

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

First send packets of color 1

1 1 1 1 1

Packet paths don’t conflict Time needed:

)) (log(DN 

slide-73
SLIDE 73

73

Wave Frame

i

F

Frame

1  i

F

2 2 2 2 3 3 3

Similarly, send packets of color 2

1 1 1 1 1

Packet paths don’t conflict

2 2 2 2

slide-74
SLIDE 74

74

Wave Frame

i

F

Frame

1  i

F

3 3 3

Similarly, send packets of color 3

1 1 1 1 1

Packet paths don’t conflict

2 2 2 2 3 3 3

slide-75
SLIDE 75

75

Wave Frame

i

F

Frame

1  i

F

All packets have been delivered

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

slide-76
SLIDE 76

76

Wave time: Colors X 2 Frame size

)) ( (log ) log( 2 ) log(

2 DN

DN DN   

We can speed up the process by pipelining different colors:

)) (log(DN 

slide-77
SLIDE 77

77

i

F

1  i

F

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

Pipelining using Boats

Boat 1

Packets of color follow boat

i i

Frame Frame

slide-78
SLIDE 78

78

i

F

1  i

F

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

Pipelining using Boats

Boat 1

Packets of color follow boat

i i

Frame Frame

slide-79
SLIDE 79

79

i

F

1  i

F

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

Pipelining using Boats

Boat 1

Packets of color follow boat

i i

Frame Frame

slide-80
SLIDE 80

80

i

F

1  i

F

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

Pipelining using Boats

Boat 1

Packets of color follow boat

i i

deflected

Frame Frame

slide-81
SLIDE 81

81

i

F

1  i

F

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

Pipelining using Boats

Boat 1

Packets of color follow boat

i i

Boat 2

Back In position

Frame Frame

slide-82
SLIDE 82

82

i

F

1  i

F

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

Pipelining using Boats

Boat 1

Packets of color follow boat

i i

Boat 2

Frame Frame

slide-83
SLIDE 83

83

i

F

1  i

F

2 2 2 2 3 3 3

Pipelining using Boats

Boat 1

Packets of color follow boat

i i

Boat 2

1 1 1 1 1

Frame Frame

slide-84
SLIDE 84

84

i

F

1  i

F

2 2 2 2 3 3 3

Pipelining using Boats

Boat 1

Packets of color follow boat

i i

Boat 2

1 1 1 1 1

Frame Frame

slide-85
SLIDE 85

85

i

F

1  i

F

2 2 2 2 3 3 3

Pipelining using Boats

Boat 1

Packets of color follow boat

i i

Boat 2

1 1 1 1 1

Boat 3

Frame Frame

slide-86
SLIDE 86

86

i

F

1  i

F

2 2 2 2 3 3 3

Pipelining using Boats

Boat 1

Packets of color follow boat

i i

Boat 2

1 1 1 1 1

Boat 3

Frame Frame

slide-87
SLIDE 87

87

i

F

1  i

F

3 3 3

Pipelining using Boats

Boat 1

Packets of color follow boat

i i

2 2 2 2

Boat 2

1 1 1 1 1

Boat 3

Frame Frame

slide-88
SLIDE 88

88

i

F

1  i

F

3 3 3

Pipelining using Boats

Boat 1

Packets of color follow boat

i i

2 2 2 2

Boat 2

1 1 1 1 1

Boat 3

Frame Frame

slide-89
SLIDE 89

89

i

F

1  i

F

3 3 3

Pipelining using Boats Packets of color follow boat

i i

2 2 2 2

Boat 2

1 1 1 1 1

Boat 3

Frame Frame

slide-90
SLIDE 90

90

i

F

1  i

F

3 3 3

Pipelining using Boats Packets of color follow boat

i i

2 2 2 2

Boat 2

1 1 1 1 1

Boat 3

Frame Frame

slide-91
SLIDE 91

91

i

F

1  i

F

Pipelining using Boats Packets of color follow boat

i i

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

Boat 3

Frame Frame

slide-92
SLIDE 92

92

i

F

1  i

F

Pipelining using Boats Packets of color follow boat

i i

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

Boat 3

Frame Frame

slide-93
SLIDE 93

93

i

F

1  i

F

Pipelining using Boats Packets of color follow boat

i i

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

Frame Frame

slide-94
SLIDE 94

94

Wave time: Time until last boat reaches target level

)) (log( ) log( ) log( 4 ) log( 2 4 DN DN DN DN      

Number of colors Frame size

slide-95
SLIDE 95

95

  • Introduction
  • Centralized Algorithm
  • Distributed Algorithm
  • Conclusion

Talk Outline

slide-96
SLIDE 96

96

In the distributed version, we assume that every node knows parameters

N D C , ,

Nodes do not know the packet paths, except for the packets in them.

slide-97
SLIDE 97

97

The distributed algorithm is the same with the centralized, except for one thing: The conflict graph is colored in a distributed manner

slide-98
SLIDE 98

98

Distributed coloring – Basic Idea

  • 1. each packet chooses a random color

Between 0 and 2log(DN)

During a wave:

  • 2. each packet assumes the color is

correct and follows the respective boat

  • 3. For packets that conflict, the

process repeats

slide-99
SLIDE 99

99

This process repeats a logarithmic number of times, thus it gives an extra logarithmic factor in the performance

slide-100
SLIDE 100

100

  • Introduction
  • Centralized Algorithm
  • Distributed Algorithm
  • Conclusion

Talk Outline

slide-101
SLIDE 101

101

Conclusion

  • Centralized algorithm
  • Distributed Algorithm

Uses conflict graph coloring

) ) log( ( D DN C O  

Worse by a logarithmic factor Implements distributed coloring