Dynamic Hot-Potato Routing Algorithm for Fully Utilizing Network Links
This paper presents a novel dynamic routing algorithm that operates without flow control, ensuring all free links in a network are utilized effectively. By adopting hot-potato routing principles, packets are injected continuously and forwarded immediately, optimizing delivery times. The algorithm guarantees injection time while allowing for rapid conflict resolution among packets through states such as running, excited, and sleeping. Our analysis covers time efficiency, stability, and future enhancements needed for arbitrary network topologies devoid of randomization.
Dynamic Hot-Potato Routing Algorithm for Fully Utilizing Network Links
E N D
Presentation Transcript
Routing without Flow ControlCostas BuschRensselaer Polytechnic InstituteMaurice HerlihyBrown UniversityRoger WattenhoferMicrosoft Research
The network: mesh • Discrete time • Bi-directional links • At most one packet per link direction
Dynamic Routing: Packets are injected continuously destination
A new packet can be injected when there is a free link: A link direction is empty
Most dynamic routing algorithms use flow control: Don’t utilize all the free links Disadvantage: Network is under-utilized
Our Routing Algorithm: • No flow control • Utilizes all the free links Advantage: Network is fully-utilized
Features of our algorithm: • Dynamic • Hot potato • Optimal delivery time: • Injection time guaranty:
Talk Outline • The Algorithm • Time Analysis • Stability • Future Work
Hot-Potato Routing: • Nodes are buffer-less • Packets are immediately forwarded
Conflicts Conflict
Conflicts Deflected
Priorities: high low Packet states: Running Excited Active Sleeping
Sleeping packet destination Random destination
Sleeping packet destination Follows a path to destination
Sleeping packet becomes Active with probability
Active packet Follows a greedy path
Active packet Follows a greedy path
Active packet A conflict situation
Active packet Conflict A conflict situation
Active packet Deflected A conflict situation
Active packet becomes Excited with probability Deflected A conflict situation
Excited packet Follows a one-bend path
Excited packet becomes Running Follows a one-bend path
Running packet Follows a one-bend path
Talk Outline • The Algorithm • Time Analysis • Stability • Future Work
Good condition for a column: at most non-sleeping packets with destination in the column
Expected delivery time for one packet: (when the destination column is in good condition)
In expected time steps becomes active We will show: An active packet is delivered in expected time steps Initially a packet is sleeping
Interrupting a one-bend path Excited Time 1
Interrupting a one-bend path Running Time 2
Interrupting a one-bend path Excited Running Time 2
Interrupting a one-bend path Running Running Time 3
Interrupting a one-bend path Running conflict Running Time 4
Interrupting a one-bend path deflected Active Running Time 5
No interruption probability: Excitement probability Number of non-sleeping packets with destinations in same column
No interruption probability: constant (when the destination column is in good condition)
Expected number of deflections until success: Expected delivery time for an active packet: Probability of success after a deflection:
Talk Outline • The Algorithm • Time Analysis • Stability • Future Work
Divide time in time periods: Examine the condition of a column
1 time period Good condition Bad condition
1 time period Good condition Bad condition 4n time periods
1 time period Good condition Bad condition
Proof Outline In a time period: • At most new non-sleeping • packets are generated with • destinations in the column • At least non-sleeping packets • are delivered (if )
Good condition Bad condition 4n time periods
Proof Outline In a time period: • At most new non-sleeping • packets are generated with • destinations in the column • At least non-sleeping packets • are delivered
Consequences: • Most of the time, the columns • are in good condition • Each packet is delivered in • expected time
Talk Outline • The Algorithm • Time Analysis • Stability • Future Work
Arbitrary network topologies • De-randomization: • Determistic destinations • No randomized algorithm • Small number of packets