Generalized Guaranteed Rate Scheduling Algorithms: A Framework

  • Authors:
  • Pawan Goyal;Harrick M. Vin

  • Affiliations:
  • -;-

  • Venue:
  • Generalized Guaranteed Rate Scheduling Algorithms: A Framework
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we define a class of generalized Guaranteed Rate (GR) scheduling algorithms that includes algorithms which allocate variable rate to packets of a flow. We demonstrate that several work conserving and non-work conserving algorithms that either only allocate rate or separate rate and delay allocation belong to GR. We define work conserving generalized Virtual Clock, Packet-by-Packet Generalized Processor Sharing and Self Clocked Fair Queuing scheduling algorithms that can allocate variable rate to the packets of a flow. We also define scheduling algorithms suitable for servers where packet fragmentation may occur. We demonstrate that if a class of rate controllers is employed for a flow in conjunction with any scheduling algorithm in GR, then the resulting non-work conserving algorithm also belongs to GR. This leads to the definition of several non-work conserving algorithms. We then present a method for deriving the delay guarantee of a network of servers when: (1) different rates are allocated to packets of a flow at different servers along the path and the bottleneck server for each packet may be different, and (2) packet fragmentation and/or reassembly may occur. This delay guarantee enables a network to provide various service guarantees to flows conforming to any specification. We illustrate this by utilizing delay guarantee to derive delay bounds for flows conforming to Leaky Bucket, Exponentially Bounded Burstiness and Flow Specification. Our method for determining these bounds is not only simple and valid in internetworks, but also leads to tighter results. We finally present architectural principles for the design of networks that employ scheduling algorithms in GR class. We demonstrate that GR class not only simplifies the design of networks, but also provides support for application with different characteristics and requirements.