Title: Efficient Bufferless Routing on Leveled Networks Costas Busch Shailesh Kelkar Malik Magdon-Ismail Rensselaer Polytechnic Institute
1Efficient Bufferless Routing on Leveled
NetworksCostas BuschShailesh KelkarMalik
Magdon-IsmailRensselaer Polytechnic Institute
2Talk Outline
- Introduction
- Centralized Algorithm
- Distributed Algorithm
- Conclusion
3Leveled Networks
Level
0
1
2
3
L-1
L
4Examples of Leveled Networks
0
1
2
3
3
4
5
6
2
1
0
Butterfly
Mesh
5Network Model
- Synchronous network (time steps)
One packet per direction, per time step
6Buffer-less nodes
Time 0
Packets are always moving
7Buffer-less nodes
Time 1
Packets are always moving
8Buffer-less nodes
Time 2
Packets are always moving
9Buffer-less nodes
Time 3
Packets are always moving
10Buffer-less nodes
Time 4
Packets are always moving
11Bufferless routing is interesting
- Optical networks
- Simple hardware implementations
- Works well in practice
Bartzis et al. EUROPAR 2000 Maxemchuck INFOCOM
1989
12the time until the last packet is absorbed
Routing Time
Objective
Minimize Routing Time
13Each packet has a pre-selected path
source
destination
Packet path is from left to right
14The packet follows the pre-selected path
source
destination
15The packet follows the pre-selected path
source
destination
16The packet follows the pre-selected path
source
destination
17There are packets
Each packet has its own path
18Dilation D The maximum length
of any path
Routing time
19Congestion C The maximum number of
packets traversing
any edge
Routing time
20Lower bound on Routing Time
Congestion
Dilation
We want algorithms with Routing Time close to
21Our Contributions
Both algorithms are randomized
Results hold with high probability
number of packets
22Related 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
23Bufferless 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
24Most related work
Arbitrary networks
Busch, Magdon-Ismail, Mavronicolas WAOA04
Leveled Networks
Busch TCS04
Leveled networks in different routing
model Bhatt, Bilardi, Pucci, Ranade, Rosenberg,
Scwabe TC96
25Talk Outline
- Introduction
- Centralized Algorithm
- Distributed Algorithm
- Conclusion
26Centralized Algorithm
A central node knows all the parameters of the
problem and computes a packet schedule
27(No Transcript)
28Packet Grouping A
Group 1
Group 2
Group 3
Packet Grouping B
Group 4
Group 5
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
We focus only in one group
30Group 1
set of packets
Congestion
Dilation
31Partition the packets randomly and uniformly
into sets
packets
of packets
32Benefit congestion drops
Congestion
packets
New Congestion w.h.p.
33Before partitioning
Edge
Congestion
34After partitioning
Expected one packet from each packet set
35Expected Congestion 1
(Congestion w.h.p.)
36We partition the levels into frames
number of frames
37We send packets from frame to frame
Wave
38We send packets from frame to frame
Wave Duration
Wave
39We send packets from frame to frame
Wave
40We send packets from frame to frame
Wave
41We send packets from frame to frame
Wave
42Injection wave
A packet follows its path from source to
Destination along the wave
43A packet follows its path from source to
Destination along the wave
44A packet follows its path from source to
Destination along the wave
45Absorption wave
A packet follows its path from source to
Destination along the wave
46Absorption wave
A packet follows its path from source to
Destination along the wave
47Sending packets of different packet sets
simultaneously
Wave 1
48Sending packets of different packet sets
simultaneously
Wave 1
49Sending packets of different packet sets
simultaneously
Wave 1
Wave 2
50Sending packets of different packet sets
simultaneously
Wave 1
Wave 2
51Sending packets of different packet sets
simultaneously
Wave 2
Wave 3
Wave 1
52Sending packets of different packet sets
simultaneously
Wave 1
Wave 2
Wave 3
53Sending packets of different packet sets
simultaneously
Wave 2
Wave 3
Wave C
54Sending packets of different packet sets
simultaneously
Wave 2
Wave 3
Wave C
55Sending packets of different packet sets
simultaneously
Wave 3
Wave C
56Sending packets of different packet sets
simultaneously
Wave 3
Wave C
57Sending packets of different packet sets
simultaneously
Wave C
58Sending packets of different packet sets
simultaneously
Wave C
59Sending packets of different packet sets
simultaneously
Wave C
60All packets have been absorbed!
61Routing Time
Time until last wave C leaves the network
Wave duration
frames
Wave duration
Time when wave C enters the network
Time that wave C needs to traverse the network
62Oscilation
Simulates buffering
Frame
Time
63Oscilation
Simulates buffering
Frame
Time
64Oscilation
Simulates buffering
Frame
Time
65Oscilation
Simulates buffering
Frame
Time
66Packet propagation during a wave
Frame
Frame
Wave
67Packet propagation during a wave
Frame
Frame
Wave
68Conflict Graph
Each node is a packet
Two packets are adjacent if their paths use a
common edge in the frames and
69Example
Frame
Frame
Share edge
Conflict graph
70The 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
71We send packets of each color seperately
Frame
Frame
3
3
1
2
2
2
1
1
1
2
1
3
Wave
72First 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 dont conflict
Time needed
73Similarly, send packets of color 2
Frame
Frame
3
3
1
2
1
2
2
2
2
1
2
1
2
2
3
1
Wave
Packet paths dont conflict
74Similarly, send packets of color 3
Frame
Frame
3
3
3
1
2
1
2
3
1
2
1
2
3
3
1
Wave
Packet paths dont conflict
75All packets have been delivered
Frame
Frame
3
1
2
1
2
3
1
2
1
2
3
1
Wave
76Wave time
Colors X 2 Frame size
We can speed up the process by pipelining
different colors
77Pipelining using Boats
Frame
Frame
3
3
1
2
2
2
1
1
1
2
1
3
Boat 1
Packets of color follow boat
78Pipelining using Boats
Frame
Frame
3
3
1
2
2
2
1
1
1
2
1
3
Boat 1
Packets of color follow boat
79Pipelining using Boats
Frame
Frame
3
3
1
2
2
2
1
1
1
2
1
3
Boat 1
Packets of color follow boat
80Pipelining using Boats
Frame
Frame
3
3
1
2
2
1
2
1
1
2
3
1
Boat 1
deflected
Packets of color follow boat
81Pipelining using Boats
Frame
Frame
3
3
1
2
2
1
2
1
1
2
3
1
Back In position
Boat 1
Boat 2
Packets of color follow boat
82Pipelining using Boats
Frame
Frame
3
1
3
2
1
2
2
1
2
1
3
1
Boat 1
Boat 2
Packets of color follow boat
83Pipelining using Boats
Frame
Frame
3
3
2
2
2
2
3
Boat 1
Boat 2
Packets of color follow boat
84Pipelining using Boats
Frame
Frame
3
2
3
2
2
2
3
Boat 1
Boat 2
Packets of color follow boat
85Pipelining using Boats
Frame
Frame
3
2
3
2
2
2
3
Boat 1
Boat 2
Boat 3
Packets of color follow boat
86Pipelining using Boats
Frame
Frame
3
3
2
2
2
3
2
Boat 1
Boat 2
Boat 3
Packets of color follow boat
87Pipelining using Boats
Frame
Frame
3
3
3
Boat 1
Boat 2
Boat 3
Packets of color follow boat
88Pipelining using Boats
Frame
Frame
3
3
3
Boat 1
Boat 2
Boat 3
Packets of color follow boat
89Pipelining using Boats
Frame
Frame
3
3
3
Boat 2
Boat 3
Packets of color follow boat
90Pipelining using Boats
Frame
Frame
3
3
3
Boat 2
Boat 3
Packets of color follow boat
91Pipelining using Boats
Frame
Frame
2
2
2
2
Packets of color follow boat
92Pipelining using Boats
Frame
Frame
2
2
2
2
Packets of color follow boat
93Pipelining using Boats
Frame
Frame
3
2
2
3
2
3
2
Packets of color follow boat
94Wave time
Time until last boat reaches target level
Frame size
Number of colors
95Talk Outline
- Introduction
- Centralized Algorithm
- Distributed Algorithm
- Conclusion
96In the distributed version, we assume that every
node knows parameters
Nodes do not know the packet paths, except for
the packets in them.
97The distributed algorithm is the same with the
centralized, except for one thing
The conflict graph is colored in a distributed
manner
98Distributed 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
99This process repeats a logarithmic number of
times, thus it gives an extra logarithmic factor
in the performance
100Talk Outline
- Introduction
- Centralized Algorithm
- Distributed Algorithm
- Conclusion
101Conclusion
Uses conflict graph coloring
Worse by a logarithmic factor
Implements distributed coloring