The effect of bandwidth allocation policies on delay in unidirectional bus networks

  • Authors:
  • D. Manjunath;M. L. Molle

  • Affiliations:
  • Dept. of Comput. Sci., Toronto Univ., Ont.;-

  • Venue:
  • IEEE Journal on Selected Areas in Communications
  • Year:
  • 2006

Quantified Score

Hi-index 0.07

Visualization

Abstract

We consider the problem of allocating bandwidth fairly to each node in a shared, unidirectional bus network. We focus on the pi persistent protocol, since these are open loop policies designed to operate well in high speed networks, which have a very large bandwidth-delay product and feedback in the upstream direction is not available in a timely manner. First, we introduce an improvement to the basic pi persistent protocol, in which we replace random coin tosses with a deterministic counting algorithm, and thereby reduce the delays for all nodes for any given choice of {pi}. We then describe an exact method for calculating average packet delays and queue lengths in both the pi persistent and our new deterministic n out of m protocols, based on the regenerative approach of Georgiades et al. (1987). These delay results, together with simulation measurements, show that both of these protocols still waste some bandwidth. After presenting a lower bounding argument to show that some wasted bandwidth is inevitable in all such distributed access control schemes, assuming a passive bus without feedback in the upstream direction, we show that changing the bus to unidirectional point-to-point links between (very simple) active interfaces at each node allows us to construct distributed access schemes that require no upstream feedback and are both work conserving and fair. To illustrate how this can be done, we introduce the pi preemptive protocol, in which each node randomly inserts its own packets into the traffic arriving from upstream. We derive a simple and effective heuristic for calculating the preemption probability for each node, and use simulation to show how well it equalizes the delays at each node