1 Costas Busch Õ(Congestion + Dilation) Hot-Potato Routing on Leveled Networks Costas Busch Rensselaer Polytechnic Institute
2 Leveled Networks Congestion + Dilation Hot-Potato Routing Our Algorithm Future Work Talk Outline
3 Leveled Networks Level: 0123L-1L
4 Examples of Leveled Networks 0123 Butterfly Mesh
5 Synchronous network One packet per link direction Network Model One time step per link traversal Bi-directional links
6 Leveled Networks Congestion + Dilation Hot-Potato Routing Our Algorithm Future Work Talk Outline
7 Congestion + Dilation source destination Each packet has a pre-selected path
8 source destination The packet follows the pre-selected path
9 source destination The packet follows the pre-selected path
10 source destination The packet follows the pre-selected path
11 source destination The packet follows the pre-selected path
12 source destination The packet follows the pre-selected path
13 source destination The packet follows the pre-selected path
14 absorbed The packet follows the pre-selected path
15 Each packet has its own path There are packets
16 Dilation D: The maximum length of any path Routing time:
17 Congestion C: The maximum number of packets traversing any edge Routing time:
18 Lower bound on routing time: There could be paths with length Lower bound:
19 Networks with buffers
20 Networks with buffers Leveled networks: Leighton, Maggs, Ranade, Rao: J. Algorithms 1992 Arbitrary networks: Leighton, Maggs, Rao: Combinatorica 1994 Leighton, Maggs, Richa: Combinatorica 1999 Meyer auf der Heide, Sheideler: J. Algorithms 1999 Ostrovsky, Rabani: STOC 1997 Rabani, Tardos: STOC 1996
21 What about buffer-less networks?
22 Leveled Networks Congestion + Dilation Hot-Potato Routing Our Algorithm Future Work Talk Outline
23 Hot-Potato Routing Nodes are buffer-less:
24 Nodes are buffer-less:
25 Nodes are buffer-less: Time 0
26 Nodes are buffer-less: Time 1 conflict
27 deflected Nodes are buffer-less: Time 2
28 Nodes are buffer-less: Time 3 conflict
29 Nodes are buffer-less: Time 4 deflected
30 Nodes are buffer-less: Time 5
31 Nodes are buffer-less: Time 6
32 original pre-selected path Path lengths may grow arbitrarily large
33 actual path followed Path lengths may grow arbitrarily large original pre-selected path
34 Hot-potato routing is interesting: Optical networks Simple hardware implementations Work well in practice: Bartzis et al.: EUROPAR 2000 Maxemchuck: INFOCOM 1989
35 Goal: Find a hot-potato algorithm with time close to optimal No previous work for leveled networks (and arbitrary networks) Bhatt et al.: ESA 1993 Only work known (but for different problem) :
36 Our contribution: A new hot-potato routing algorithm with time With high probability:
37 Leveled Networks Congestion + Dilation Hot-Potato Routing Our Algorithm Future Work Talk Outline
38 Our Algorithm Online algorithm: Local algorithm: routing decisions are taken at real time routing decisions at a node depend only on the node’s state
39 packets
40 Partition the packets randomly and uniformly into sets packets
41 Partition the packets randomly and uniformly into sets congestion
42 We route each set in a separate frame
43 We route each set in a separate frame
44 We route each set in a separate frame
45 pre-selected path Routing a packet
46 Phase 1 Routing a packet
47 Routing a packet Phase 2
48 Routing a packet Phase 3
49 Routing a packet Phase 4
50 Routing a packet Phase 5
51 Routing a packet Phase 6
52 Routing a packet Phase 7
53 Routing a packet Phase 8
54 Routing a packet Phase 9
55 Routing a packet Phase 10
56 Routing a packet Phase 11
57 Routing a packet Phase 12
58 Routing a packet set
59 Phase 1 Routing a packet set
60 Routing a packet set Phase 2
61 Routing a packet set Phase 3
62 Routing a packet set Phase 4
63 Routing a packet set Phase 5
64 Routing a packet set Phase 6
65 Routing a packet set Phase 7
66 Routing a packet set Phase 8
67 Routing a packet set Phase 9
68 Routing a packet set Phase 10
69 Routing a packet set Phase 11
70 Routing a packet set Phase 12
71 Routing many packet sets
72 Phase 1 Routing many packet sets
73 Routing many packet sets Phase 2
74 Routing many packet sets Phase 3
75 Routing many packet sets Phase 4
76 Routing many packet sets Phase 5
77 Routing many packet sets Phase 6
78 Routing many packet sets Phase 7
79 Routing many packet sets Phase 8
80 Routing many packet sets Phase 9
81 Routing many packet sets Phase 10
82 Routing many packet sets Phase 11
83 Routing many packet sets Phase 12
84 Routing many packet sets Phase 13
85 Routing many packet sets Phase 14
86 Routing many packet sets Phase 15
87 Routing many packet sets Phase 16
88 Routing many packet sets Phase 17
89 Routing many packet sets Phase 18
90 #frames X frame length + Total time: #phases phase duration X X
91 Phase k Start Packets may appear anywhere
92 Phase k End Packets are accumulated at the right end
93 Phase k+1 Start
94 Phase k+1 Start Free from packets
95 Phase k+1 Start Packets from set are injected here
96 Phase k+1 End
97 Phase k+2 Start
98 Phase k
99 Phase k -- Round 1 Target Column
100 Phase k -- Round 1 Target Column
101 Phase k -- Round 2 Target Column
102 Phase k -- Round 2 Target Column
103 Phase k -- Round 3 Target Column
104 Phase k+1
105 Phase k
106 Phase k -- Round 1 Target Column
107 Phase k -- Round 1 Target Column
108 Phase k -- Round 2 Target Column
109 Phase k -- Round 3 Target Column
110 Phase k+1
111 Duration of Round: Number of packets that Reach target column at each round: #Rounds needed:
112 Leveled Networks Congestion + Dilation Hot-Potato Routing Our Algorithm Future Work Talk Outline
113 Future Work Decrease logarithmic factors Generalize to arbitrary networks