Presentation is loading. Please wait.

Presentation is loading. Please wait.

Efficient Bufferless Routing on Leveled Networks Costas Busch Shailesh Kelkar Malik Magdon-Ismail Rensselaer Polytechnic Institute.

Similar presentations


Presentation on theme: "Efficient Bufferless Routing on Leveled Networks Costas Busch Shailesh Kelkar Malik Magdon-Ismail Rensselaer Polytechnic Institute."— Presentation transcript:

1 Efficient Bufferless Routing on Leveled Networks Costas Busch Shailesh Kelkar Malik Magdon-Ismail Rensselaer Polytechnic Institute

2 Talk Outline Introduction Centralized Algorithm Distributed Algorithm
Conclusion

3 Leveled Networks Level: 1 2 3 L-1 L

4 Examples of Leveled Networks
1 2 3 3 4 5 6 2 1 Butterfly Mesh

5 Network Model Synchronous network (time steps) Bi-directional links
One packet per direction, per time step

6 Buffer-less nodes Time 0 Packets are always moving

7 Buffer-less nodes Time 1 Packets are always moving

8 Buffer-less nodes Time 2 Packets are always moving

9 Buffer-less nodes Time 3 Packets are always moving

10 Buffer-less nodes Time 4 Packets are always moving

11 Bufferless routing is interesting:
Optical networks Simple hardware implementations Works well in practice: Bartzis et al.: EUROPAR 2000 Maxemchuck: INFOCOM 1989

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

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

14 The packet follows the pre-selected path
source destination

15 The packet follows the pre-selected path
source destination

16 The packet follows the pre-selected path
source destination

17 There are packets Each packet has its own path

18 Dilation D: The maximum length
of any path Routing time:

19 Congestion C: The maximum number of
packets traversing any edge Routing time:

20 Lower bound on Routing Time:
Congestion Dilation We want algorithms with Routing Time close to:

21 Our Contributions Centralized Algorithm: Distributed Algorithm:
Both algorithms are randomized Results hold with high probability : number of packets

22 Related Work Networks with buffers Leveled networks:
Leighton, Maggs, Ranade, Rao: J. Algorithms 1992 Arbitrary networks: [Leighton - Maggs - Rao, Combinatorica 94] [BS99, LMR99, MV99, OR97, RT96]

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]

24 Most related work Arbitrary networks: Leveled Networks:
Busch, Magdon-Ismail, Mavronicolas WAOA’04 Leveled Networks: Busch TCS’04 Leveled networks in different routing model: Bhatt, Bilardi, Pucci, Ranade, Rosenberg, Scwabe TC’96

25 Talk Outline Introduction Centralized Algorithm Distributed Algorithm
Conclusion

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

27

28 Packet Grouping A Packet Grouping B Group 1 Group 2 Group 3 Group 4

29 Send packets of Grouping A Send packets of Grouping B
Increases routing time by only a factor of 2 Packet Grouping A Group 1 Group 2 Group 3 Packets in different groups can be sent simultaneously Group 1 We focus only in one group

30 Group 1 set of packets Congestion Dilation

31 Partition the packets randomly and uniformly into sets
#of packets

32 Benefit: congestion drops
packets New Congestion w.h.p.

33 Before partitioning Edge Congestion

34 After partitioning Expected one packet from each packet set

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

36 We partition the levels into frames
# number of frames:

37 We send packets from frame to frame
Wave

38 We send packets from frame to frame
Wave Duration: Wave

39 We send packets from frame to frame
Wave

40 We send packets from frame to frame
Wave

41 We send packets from frame to frame
Wave

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

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

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

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

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

47 Sending packets of different packet sets simultaneously
Wave 1

48 Sending packets of different packet sets simultaneously
Wave 1

49 Sending packets of different packet sets simultaneously
Wave 2 Wave 1

50 Sending packets of different packet sets simultaneously
Wave 2 Wave 1

51 Sending packets of different packet sets simultaneously
Wave 3 Wave 2 Wave 1

52 Sending packets of different packet sets simultaneously
Wave 3 Wave 2 Wave 1

53 Sending packets of different packet sets simultaneously
Wave C Wave 3 Wave 2

54 Sending packets of different packet sets simultaneously
Wave C Wave 3 Wave 2

55 Sending packets of different packet sets simultaneously
Wave C Wave 3

56 Sending packets of different packet sets simultaneously
Wave C Wave 3

57 Sending packets of different packet sets simultaneously
Wave C

58 Sending packets of different packet sets simultaneously
Wave C

59 Sending packets of different packet sets simultaneously
Wave C

60 All packets have been absorbed!

61 Routing Time = Time until last wave C leaves the network Time when
duration Wave duration #frames Time when wave C enters the network Time that wave C needs to traverse the network

62 Oscilation Simulates buffering Frame Time

63 Oscilation Simulates buffering Frame Time

64 Oscilation Simulates buffering Frame Time

65 Oscilation Simulates buffering Frame Time

66 Packet propagation during a wave
Frame Frame Wave

67 Packet propagation during a wave
Frame Frame Wave

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

69 Example Frame Frame Share edge Conflict graph

70 Thus the conflict graph can be colored with
The degree of any node is bounded by 1 3 (A consequence of packet partitioning) 2 2 1 1 3 2 2 1 Thus the conflict graph can be colored with colors

71 We send packets of each color seperately Frame Frame
3 3 1 2 2 2 1 1 1 2 1 3 Wave

72 First send packets of color 1 Frame Frame
3 3 1 1 1 2 2 2 1 1 1 1 1 2 1 3 1 Wave Packet paths don’t conflict Time needed:

73 Similarly, send packets of color 2 Frame Frame
3 3 2 1 2 1 2 2 2 1 2 1 2 2 3 1 Wave Packet paths don’t conflict

74 Similarly, send packets of color 3 Frame Frame
2 1 2 1 3 1 2 1 2 3 3 1 Wave Packet paths don’t conflict

75 All packets have been delivered Frame Frame
3 2 1 2 1 3 1 2 1 2 3 1 Wave

76 Wave time: Colors X 2 Frame size We can speed up the process by pipelining different colors:

77 Pipelining using Boats Frame Frame
3 3 1 2 2 2 1 1 1 2 1 3 Boat 1 Packets of color follow boat

78 Pipelining using Boats Frame Frame
3 3 1 2 2 2 1 1 1 2 1 3 Boat 1 Packets of color follow boat

79 Pipelining using Boats Frame Frame
3 3 1 2 2 2 1 1 1 2 1 3 Boat 1 Packets of color follow boat

80 Pipelining using Boats Frame Frame
3 3 1 2 2 2 1 1 1 2 3 1 Boat 1 deflected Packets of color follow boat

81 Pipelining using Boats Frame Frame
3 3 1 2 2 2 1 1 1 2 3 1 Back In position Boat 2 Boat 1 Packets of color follow boat

82 Pipelining using Boats Frame Frame
3 1 3 2 2 1 2 1 2 1 3 1 Boat 2 Boat 1 Packets of color follow boat

83 Pipelining using Boats Frame Frame
1 3 3 2 2 2 2 3 Boat 2 Boat 1 Packets of color follow boat

84 Pipelining using Boats Frame Frame
1 3 2 3 2 2 2 3 Boat 2 Boat 1 Packets of color follow boat

85 Pipelining using Boats Frame Frame
1 3 2 3 2 2 2 3 Boat 3 Boat 2 Boat 1 Packets of color follow boat

86 Pipelining using Boats Frame Frame
1 3 3 2 2 2 3 2 Boat 3 Boat 2 Boat 1 Packets of color follow boat

87 Pipelining using Boats Frame Frame
2 1 3 3 3 Boat 3 Boat 2 Boat 1 Packets of color follow boat

88 Pipelining using Boats Frame Frame
2 1 3 3 3 Boat 3 Boat 2 Boat 1 Packets of color follow boat

89 Pipelining using Boats Frame Frame
2 3 1 3 3 Boat 3 Boat 2 Packets of color follow boat

90 Pipelining using Boats Frame Frame
2 1 3 3 3 Boat 3 Boat 2 Packets of color follow boat

91 Pipelining using Boats Frame Frame
3 Boat 3 1 2 2 2 2 Packets of color follow boat

92 Pipelining using Boats Frame Frame
3 Boat 3 1 2 2 2 2 Packets of color follow boat

93 Pipelining using Boats Frame Frame
1 3 2 2 3 2 3 2 Packets of color follow boat

94 Wave time: Time until last boat reaches target level Number of colors Frame size

95 Talk Outline Introduction Centralized Algorithm Distributed Algorithm
Conclusion

96 In the distributed version,
we assume that every node knows parameters Nodes do not know the packet paths, except for the packets in them.

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

98 Distributed coloring – Basic Idea
During a wave: each packet chooses a random color Between 0 and 2log(DN) 2. each packet assumes the color is correct and follows the respective boat 3. For packets that conflict, the process repeats

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

100 Talk Outline Introduction Centralized Algorithm Distributed Algorithm
Conclusion

101 Conclusion Centralized algorithm Uses conflict graph coloring
Distributed Algorithm Worse by a logarithmic factor Implements distributed coloring


Download ppt "Efficient Bufferless Routing on Leveled Networks Costas Busch Shailesh Kelkar Malik Magdon-Ismail Rensselaer Polytechnic Institute."

Similar presentations


Ads by Google