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

About This Presentation
Title:

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

Description:

... one group. Send packets of Grouping A. Send packets of Grouping B. Packet ... Group 1. set of packets. Congestion. Dilation. 31. Partition the packets randomly ... – PowerPoint PPT presentation

Number of Views:69
Avg rating:3.0/5.0
Slides: 102
Provided by: costas
Learn more at: http://www.cs.rpi.edu
Category:

less

Transcript and Presenter's Notes

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


1
Efficient Bufferless Routing on Leveled
NetworksCostas BuschShailesh KelkarMalik
Magdon-IsmailRensselaer Polytechnic Institute

2
Talk Outline
  • Introduction
  • Centralized Algorithm
  • Distributed Algorithm
  • Conclusion

3
Leveled Networks
Level
0
1
2
3
L-1
L
4
Examples of Leveled Networks
0
1
2
3
3
4
5
6
2
1
0
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
the time until the last packet is absorbed
Routing Time
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
Busch, Magdon-Ismail, Mavronicolas WAOA04
Leveled Networks
Busch TCS04
Leveled networks in different routing
model Bhatt, Bilardi, Pucci, Ranade, Rosenberg,
Scwabe TC96
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
(No Transcript)
28
Packet Grouping A
Group 1
Group 2
Group 3
Packet Grouping B
Group 4
Group 5
29
  1. Send packets of Grouping A
  2. 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
30
Group 1
set of packets
Congestion
Dilation
31
Partition the packets randomly and uniformly
into sets
packets
of packets
32
Benefit congestion drops
Congestion
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
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
Absorption wave
A packet follows its path from source to
Destination along the wave
46
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 1
Wave 2
50
Sending packets of different packet sets
simultaneously
Wave 1
Wave 2
51
Sending packets of different packet sets
simultaneously
Wave 2
Wave 3
Wave 1
52
Sending packets of different packet sets
simultaneously
Wave 1
Wave 2
Wave 3
53
Sending packets of different packet sets
simultaneously
Wave 2
Wave 3
Wave C
54
Sending packets of different packet sets
simultaneously
Wave 2
Wave 3
Wave C
55
Sending packets of different packet sets
simultaneously
Wave 3
Wave C
56
Sending packets of different packet sets
simultaneously
Wave 3
Wave C
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
Wave duration
frames
Wave duration
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
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 dont conflict
Time needed
73
Similarly, 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
74
Similarly, 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
75
All packets have been delivered
Frame
Frame
3
1
2
1
2
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
1
2
1
1
2
3
1
Boat 1
deflected
Packets of color follow boat
81
Pipelining 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
82
Pipelining 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
83
Pipelining using Boats
Frame
Frame
3
3
2
2
2
2
3
Boat 1
Boat 2
Packets of color follow boat
84
Pipelining using Boats
Frame
Frame
3
2
3
2
2
2
3
Boat 1
Boat 2
Packets of color follow boat
85
Pipelining using Boats
Frame
Frame
3
2
3
2
2
2
3
Boat 1
Boat 2
Boat 3
Packets of color follow boat
86
Pipelining using Boats
Frame
Frame
3
3
2
2
2
3
2
Boat 1
Boat 2
Boat 3
Packets of color follow boat
87
Pipelining using Boats
Frame
Frame
3
3
3
Boat 1
Boat 2
Boat 3
Packets of color follow boat
88
Pipelining using Boats
Frame
Frame
3
3
3
Boat 1
Boat 2
Boat 3
Packets of color follow boat
89
Pipelining using Boats
Frame
Frame
3
3
3
Boat 2
Boat 3
Packets of color follow boat
90
Pipelining using Boats
Frame
Frame
3
3
3
Boat 2
Boat 3
Packets of color follow boat
91
Pipelining using Boats
Frame
Frame
2
2
2
2
Packets of color follow boat
92
Pipelining using Boats
Frame
Frame
2
2
2
2
Packets of color follow boat
93
Pipelining using Boats
Frame
Frame
3
2
2
3
2
3
2
Packets of color follow boat
94
Wave time
Time until last boat reaches target level
Frame size
Number of colors
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
Write a Comment
User Comments (0)
About PowerShow.com