Download presentation
Presentation is loading. Please wait.
Published byRosamond Philomena Henry Modified over 6 years ago
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.