General Dynamic Routing with Per-Packet Delay Guarantees of O(Distance + 1/Session Rate)

  • Authors:
  • Matthew Andrews;Antonio Fernández;Mor Harchol-Balter;Tom Leighton;Lisa Zhang

  • Affiliations:
  • -;-;-;-;-

  • Venue:
  • SIAM Journal on Computing
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

A central issue in the design of modern communication networks is that of providing performance guarantees. This issue is particularly important if the networks support real-time traffic such as voice and video. The most critical performance parameter to bound is the delay experienced by a packet as it travels from its source to its destination.We study dynamic routing in a connection-oriented packet-switching network. We consider a network with arbitrary topology on which a set of sessions is defined. For each session i, packets are injected at a rate ri to follow a predetermined path of length di. Due to limited bandwidth, only one packet at a time may advance on an edge (link). Session paths may overlap subject to the constraint that the total rate of sessions using any particular edge is at most $1-\varepsilon$ for any constant $\varepsilon \in (0,1)$.We address the problem of scheduling the sessions at each switch, so as to minimize worst-case packet delay and queue buildup at the switches. We show the existence of a periodic schedule that achieves a delay bound of O(1/ri+di) with only constant-size queues at the switches. This bound is asymptotically optimal for periodic schedules.A consequence of this result is an asymptotically optimal schedule for the static routing problem, wherein all packets are present at the outset. We obtain a delay bound of O(ci + di) for packets on path Pi, where di is the number of edges in Pi and ci is the maximum congestion along edges in Pi. This improves upon the previous known bound of O(c + d), where d = maxi di and c = maxi ci.We also present a simple distributed algorithm that, with high probability, delivers every session-i packet to its destination within O(1/ri+di\log(m/rmin)) steps of its injection, where r min is the minimum session rate and m is the number of edges in the network. Our results can be generalized to (leaky-bucket constrained) bursty traffic, where session i tolerates a burst size of bi. In this case, our delay bounds become O(bi/ri + di) and O(bi/ri+di\log(m/rmin)), respectively.