Hard-Potato Routing Costas Busch, Maurice Herlihy, and Roger Wattenhofer Brown University 1
Hard-Potato Routing 2
Hard-Potato Routing 3
Hard-Potato Routing 4
Hard-Potato Routing n x n Mesh synchronous one message / link one-shot problem 5
Hot-Potato Routing 6
Hot-Potato Routing no buffers local decisions 7
Hot-Potato Routing no buffers local decisions simple hardware (optical networks) 8
Hot-Potato Routing: Conflicts 9
Hot-Potato Routing: Conflicts one message / link no buffers 10
Hot-Potato Routing: Conflicts one message / link no buffers deflection! 11
Hot-Potato Routing: Greedy 12
Hot-Potato Routing: Greedy Message prefers “good” link when there is no conflict. + simple + adaptive + very well in practice [Maxemchuk 89] 13
Hot-Potato Routing: New? Hot-Potato Routing [Baran 64] Mesh-like Hot-Potato Routing [Feige and Raghavan 92] [Kaklamanis, Krizanc, Rao 93] [Kaufmann, Lauer, Schroder 94] [Newman and Schuster 95] [Spirakis and Triantafillou 97] [Ben-Dor, Halevi, Schuster 98] [BHW 00] 14
Hard-Potato Routing: New? Hard Hot ! All papers tuned for permutation or random destinaton. This paper is about “hard” (“many -to- one”) routing. [Ben-Aroya, Eilam, Schuster 95] [Borodin, Rabani, Schieber 97] [Ben-Aroya, Newman, Schuster 97] [Ben-Dor, Halevi, Schuster 98] If n 2 messages are injected, they need O(n 2 ) time. We have the first algorithm that does better… 15
Lower Bound: Bandwidth # messages W = max # links 16
Lower Bound: Distance D = max distance 17
Our Result: log 3 n-competitive Lower Bound L = W (D+W) Our Algorithm needs O(L log 3 n) to route all messages with high probability. Remarks: L = W (n) Distributed algorithm (local decisions only). L does not have to be known in advance. Greedy. 18
General Problem Usual stubborn approach (often 1-bend path) does not work. 19
Our Algorithm Messages have priorities ? running high (excited) normal low 20
Our Algorithm deflection running with probability p! Messages have priorities running high (excited) normal low 21
Our Algorithm: running 22
Our Algorithm: running 23
Time Analysis: Intuition Running messages ? that want to take the ? opposite link always have priority. Therefore a running message can only be ? interrupted when “starting” or “turning” . What’s the probability? 24
Time Analysis: Intuition Short answer: Depends on traffic. ? There are two extremes of traffic that can interfere: “local” and “global”. And there is the special case of “starters”. 25
Time Analysis: Local Traffic Example: Interfering message is only one bend away… ? From the bandwidth lower bound we know that at most O(L) messages go into these two rectangles. ☺ 26
Time Analysis: Global Traffic Example: Interfering message is still many bends away… ? Possible destinations are much more! Up to O(n L)… But the interfering message also has made a lot of random choices! Traffic is the same. ☺ 27
Time Analysis: Start running Conflicting messages only have one chance to start running. We make worst-case assumptions on the position of possible conflicting messages. But before a message ? starts running it has to throw a coin. ☺ 28
Time Analysis: Probabilities If we knew L we could set p so that a message manages to run home with constant probability. p Since we do not know it, we c log t let p change over time so p(t) = that for a large enough t window p is in the right order that we still have constant probability to run home. time 29
Our Result: log 3 n-competitive Lower Bound L = W (D+W) Our Algorithm needs O(L log 3 n) to route all messages with high probability. Remarks: L = W (n) Distributed algorithm (local decisions only). L does not have to be known in advance. Greedy. 30
Future Work • More Dimensions • Arbitrary Network Topologies • Dynamic Analysis ( ) • “Easy” Problems where L = o(n) 31
Time Analysis: Details c log t p(t) = t In interval [c’ L log 3 n + 2n, 3 c’ L log 3 n] a message is absorbed with high probability (1-1/n 3 ). Therefore, all messages are absorbed in the same interval with probability 1-1/n. 32
Recommend
More recommend