320 likes | 565 Views
Hard-Potato Routing. Costas Busch, Maurice Herlihy, and Roger Wattenhofer Brown University. Hard-Potato Routing. Hard-Potato Routing. Hard-Potato Routing. Hard-Potato Routing. n x n Mesh synchronous one message / link one-shot problem. Hot-Potato Routing. Hot-Potato Routing.
E N D
Hard-Potato Routing Costas Busch, Maurice Herlihy, and Roger Wattenhofer Brown University
Hard-Potato Routing n x n Mesh synchronous one message / link one-shot problem
Hot-PotatoRouting no buffers local decisions
Hot-PotatoRouting no buffers local decisions simple hardware (optical networks)
Hot-PotatoRouting: Conflicts one message / link no buffers
Hot-PotatoRouting: Conflicts one message / link no buffers deflection!
Hot-PotatoRouting: Greedy Message prefers“good” link when there is no conflict. + simple + adaptive + very well in practice [Maxemchuk 89]
Hot-PotatoRouting: 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]
Hard ! Hot Hard-Potato Routing: New? 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 n2 messages are injected, they need O(n2) time. We have the first algorithm that does better…
Lower Bound: Bandwidth # messages W = max # links
Lower Bound: Distance D = max distance
Our Result: log3n-competitive Lower Bound L = W(D+W) Our Algorithm needs O(L log3n) 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.
Usual stubborn approach (often 1-bend path) does not work. General Problem
Messages have priorities running high (excited) normal low ? Our Algorithm
Our Algorithm deflection running with probability p! Messages have priorities running high (excited) normal low
? ? ? What’s the probability? Time Analysis: Intuition Running messagesthat want to take theopposite link alwayshave priority. Therefore a runningmessage can only beinterrupted when“starting” or “turning”.
Time Analysis: Intuition Short answer: Depends on traffic. ? There are two extremes oftraffic that can interfere: “local” and “global”. And there is the special caseof “starters”.
Time Analysis: Local Traffic Example: Interfering message is only one bend away… ? From the bandwidth lowerbound we know that at mostO(L) messages go into these two rectangles.
Time Analysis: Global Traffic Example: Interfering message is still many bends away… ? Possible destinations aremuch more! Up to O(n L)… But the interfering messagealso has made a lot ofrandom choices! Traffic isthe same.
Time Analysis: Start running Conflicting messages only have one chance to start running. We make worst-caseassumptions on the positionof possible conflictingmessages. But before a message starts running it has to throw a coin. ?
c log t p(t) = t Time Analysis: Probabilities If we knew L we could set p so that a message managesto run home with constant probability. p Since we do not know it, welet p change over time so that for a large enough window p is in the right order that we still have constant probability to run home. time
Our Result: log3n-competitive Lower Bound L = W(D+W) Our Algorithm needs O(L log3n) 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.
Future Work • More Dimensions • Arbitrary Network Topologies • Dynamic Analysis () • “Easy” Problems where L = o(n)
c log t p(t) = t Time Analysis: Details In interval [c’ L log3 n + 2n, 3 c’ L log3 n] a message is absorbed with high probability (1-1/n3). Therefore, all messages are absorbed in the sameinterval with probability 1-1/n.