490 likes | 622 Views
Routing without Flow Control Costas Busch Rensselaer Polytechnic Institute Maurice Herlihy Brown University Roger Wattenhofer Microsoft Research. The network: mesh. Discrete time Bi-directional links At most one packet per link direction. Dynamic Routing:.
E N D
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