Start-time Fair Queuing: A Algorithm for Integrated

Services Networks and

Pawan Goyal Harrick M. Vin Haichen Cheng

Department of Computer Sciences

The University of Texas at Austin

Taylor Hall

Austin TX

Email fpawang vinhcchenggcsutexasedu

Phone

Fax

Citation Technical Report TR-96-02, Department of Computer Sciences, University of Texas at Austin.

This research was supp orted in part by IBM Graduate Fellowship Intel the National Science Foundation

Research Initiation Award CCR NASA Mitsubishi Electric Research Lab oratories MERL and

Sun Microsystems Inc i Start-time Fair Queuing: A Scheduling Algorithm for Integrated Services Packet Switching Networks

Abstract We present Start-time Fair Queuing (SFQ) algorithm that is computationally ef®cient, achieves fairness regardless of variation in a server capacity, and has the smallest fairnessmeasure amongall known fair schedulingalgorithms. We analyze its throughput, single server delay, and end-to-end delay guarantee for variable rate Fluctuation Constrained (FC) and Exponentially Bounded Fluctuation (EBF) servers. We show that SFQ is better suited than Weighted Fair Queuing for integrated services networks and it is strictly better than Self ClockedFair Queuing. To support heteroge- neous services and multiple protocol families in integrated servicesnetworks, we presenta hierarchical SFQ scheduler and derive its performance bounds. Our analysis demonstrates that SFQ is suitable for integrated services networks since it: (1) achieves low average as well as maximum delay for low-throughput applications (e.g., interactive audio, telnet, etc.); (2) provides fairness which is desirable for VBR video; (3) provides fairness, regardless of variation in server capacity, for throughput-intensive, ¯ow-controlled data applications; (4) enables hierarchical link sharing which is desirable for managing heterogeneity; and (5) is computationally ef®cient.

1 Introduction

1.1 Motivation Integrated services networks are required to support a variety of applications (e.g., audio and video conferencing, multimedia information retrieval, ftp, telnet, WWW, etc.) with a wide range of Qualityof Service (QoS) requirements. Whereas continuous media applications such as audio and video conferencing require the network to provide QoS guarantees with respect to bandwidth, packet delay, and loss; applications such as telnet and WWW require low delay and packet loss. Throughputintensive applicationslikeftp, on theother hand, require networkresources tobe allocated such that the throughput is maximized. A network meets these requirements primarily by appropriately scheduling its resources. To determine the characteristics of a suitable scheduling algorithm, consider the requirements of some of the principal applications envisioned for integrated services networks:

Audio applications: To maintain adequate interactivityfor such applications, scheduling algorithmsmust provide low average and maximum delay.

Video applications: Variable bit rate (VBR) video sources, which are expected to impose signi®cant requirements on network resources, have unpredictable as well as highly variable bit rate requirement at multiple time-scales [12]. These features impose two key requirements on network resource management: ± Due to the dif®culty in predicting the bit rate requirement of VBR video sources, video channels may utilize more than the reserved bandwidth. As long as the additional bandwidth used is not at the expense of other channels (i.e., if the channel utilizes idle bandwidth), it should not be penalized in the future by reducing its bandwidth allocation. ± Due to multiple time-scale variation in the bit rate requirement of video sources, to achieve ef®cient utilization of resources, a network will have to over-book available bandwidth. Since such over-booking may yield persistent congestion, a network should provide some QoS guarantees even in the presence of congestion. Real-time scheduling algorithms that are unfair, such as Virtual Clock [22], Delay EDD [21], etc., penalize

channels for the use of idlebandwidth and do not provide any QoS guarantee in the presence of congestion [16].

Fair scheduling algorithms, on the other hand, guarantee that, regardless of prior usage or congestion, bandwidth would be allocated fairly[16]. Hence, fair scheduling algorithms are desirable for video applications.

Data applications: To support low-throughput,interactive data applications (e.g., telnet), scheduling algorithms must providelowaverage delay. On theotherhand, tosupport throughput-intensive, ¯ow-controlledapplications in heterogeneous, large-scale, decentralized networks, scheduling algorithms must allocate bandwidth fairly [5, 13, 17]. Due to the coexistence of VBR video sources and data sources in integrated services networks, the bandwidth available to data applications may vary signi®cantly over time. Consequently, the fairness property of the scheduling algorithm must hold regardless of variation in server capacity. Hence, in summary, a suitable scheduling algorithm for integrated services networks should: (1) achieve low average as well as maximum delay for low throughput applications (e.g., interactive audio, telnet, etc.); (2) provide fairness for VBR video; and (3) provide fairness, regardless of variation in server capacity, for throughput-intensive, ¯ow-controlleddata applications. Furthermore, since such networkswillsupporta widevarietyof services and multiple protocol families, the scheduling algorithm should facilitate hierarchical link sharing [7, 18]. Finally, it should be computationally ef®cient (so as to facilitate its implementation in high-speed networks). A scheduling algorithm that achieves all of these objectives is the subject of investigation in this paper.

1.2 Relation To Previous Work Each unit of data transmission at the network level is a packet. We refer to the sequence of packets transmitted by a source as a ¯ow [22]. Each packet within a ¯ow is serviced by a sequence of servers (or switching elements) along the path from the source to the destination in the network. Before we describe fair scheduling algorithms proposed in the literature, let us consider the precise meaning of fair allocation of link bandwidth. Intuitively, allocation of link bandwidth is fair if equal bandwidth is allocated in every time interval to all

the ¯ows. This concept generalizes to weighted fairness in which the bandwidth must be allocated in proportion

r f W t t

f 1 2

to the weights associated with the ¯ows. Formally, if f is the weight of ¯ow and is the aggregate

t t t t

2 1 2

length of packets served in the interval 1 (a packet is considered to have been served in the interval

t t t t

2 1 2

if it starts and ®nishes service within 1 ), then an allocation is fair if, for all intervals in which both

W (t t )

W (t t )

f 1 2

m 1 2

m

¯ows f and are backlogged, . Clearly, this is an idealized de®nition of fairness as it

r r

f m

assumes that ¯ows can be served in in®nitesimally divisible units. The objective of fair packet scheduling algorithms

W (t t )

W (t t )

f 1 2

m 1 2

j j

is to ensure that is as close to 0 as possible. However, it has been shown in [8] that

r r

f m

W (t t )

W (t t )

f 1 2

m 1 2

j t t j H f m 2

if a packet scheduling algorithm guarantees that for all intervals 1 , then

r r

f m

max

max

l

l

f 1

max max

m

f m l l f m

H , where and denote the maximum lengths of packets of ¯ow and ,

m

f

2 r r

f m

respectively.

f m Several fair scheduling algorithms that achieve value of H close to the lower bound have been proposed in the literature. The earliest known fair scheduling algorithm is Weighted Fair Queuing (WFQ) [5] (also referred to as Packet-by-Packet Generalized Processor Sharing (PGPS) [16]). WFQ was designed to emulate a hypothetical

bit-by-bit server1 in which the number of bits of a ¯ow served in a round is proportional to the weight of the ¯ow. Since packets can not be serviced a bit at a time, WFQ emulates bit-by-bit round robin by

scheduling packets in the increasing order of their departure times in the hypotheticalserver. To compute thisdeparture

j j l

order, WFQ associates two tags, a start tag and a ®nish tag, with every packet of a ¯ow. Speci®cally, if p and

f f

j j

th

f Ap p

denote the j packet of ¯ow and its length, respectively, and if denotes the arrival time of packet at the

f f

j j j

p F p p

server, then start tag S and ®nish tag of packet are de®ned as:

f f f

j j j 1

S p maxfv Ap F p g j

f f f

j

l

f

j j

F p S p j

f f

r

f

1

In a scheduling algorithm is considered fair if it emulates weighted bitbybit round robin server This denition b ecomes

cumb ersome when the link capacity uctuates over time Hence we use the denition given in

0

p v t t

where F and is de®ned as the round number that wouldbe in progress at time if the packets were being

f

t

serviced in a bit-by-bit weighted round robin manner. Formally, v is de®ned as:

C dv t

P

dt r

j

j B (t)

B t t where C is the capacity of the server and is the set of backlogged ¯ows at time in the bit-by-bit round robin

server. WFQ then schedules packets in the increasing order of their ®nish tags.

2

f m

It has been conjectured that WFQ achieves a H value that is close to the lower bound [19]. Surprisingly,

f m

however, the following example illustrates that H is at least a factor of two away from the lower bound.

max

max

l

l

f

m

f m f m c

Example 1 Consider ¯ows and such that . For ease of exposition, let and be the only

r r

f m

max 1 2

l F p c F p c

¯ows at the server. Let ¯ow f send two packets of length at time . Hence, and . Let

f f f

max

l

3c

1 max 2 3 1 2

m

l l l l F p c F p

¯ow m send packets at time such that and . Then, , , and

m m m m m m

2 2

3 1 1 2 3 2 1

F p c p p p p p t p

. Let WFQ schedule the packet in the order . Let 1 be the time at which starts

m m m m m

f f

3 max

t p W t t l W t t

m 1 2 f 1 2

service and 2 be the time at which ®nishes service. Then, and . Hence,

m m

max max

max max max

l l

W (t t ) l l l

W (t t )

f f 1 2 f

m 1 2

m m m

j H f m j

. Therefore, for WFQ, we conclude that for

r r r r r r r

f m m f m f m m

any arbitrary ¯ows f and .

t Observe that implementation of WFQ requires computation of v , which in turn requires simulation of bit-by-bit round robin server in real time. This simulation is computationally expensive. Furthermore, as the following example illustrates, since WFQ is based on the assumption that the capacity of a server is constant, it fails to provide fairness

over servers with time varying capacity.

C

Example 2 Let the capacity of the server that WFQ is emulating be C pkts/s, . Let the actual server capacity

f m

be 1 pkt/sin [0,1)and C pkt/s in [1,2). Consider two ¯ows and bothof which have unit lengthpackets and weights

j

j C f F p j C m

of1 pkt/s. Let ¯ow f send packets at time . Hence, for¯ow , ; . Let ¯ow become

f

f

backlogged at t and be backlogged during the interval [1,2]. Since only ¯ow is backloged during [0,1), using

1

v C m F p C

(3), we get . Hence, for ¯ow , . Since WFQ schedules packets in the increasing order of

m

C W C W W

m f

®nish tags, we get: f and . However, for fair allocation of bandwidth,

W C C

and m should both be . Since can be chosen arbitrarily, this example illustrates the unfairness that can result when the actual capacity is lower than the capacity being assumed.

A similar example can also be constructed for the case when the the actual capacity of the server is higher than the assumed capacity. Thus, WFQ fails to provide fairness over variable rate servers. As we will outline in Section 3, to be useful for hierarchical link sharing [7, 18], a scheduling algorithm must provide fairness over variable rate servers. Consequently, WFQ fails to meet two key requirements of a fair scheduling algorithm for integrated services

networks. Observe that it may be possible to extend WFQ to provide fairness over variable rate servers by changing

t C t the de®nition of v as given in (3) to be a function of time varying server capacity . However, due to the

unpredictable and multiple time-scale variation in VBR video bit rate, it may not be possible to accurately estimate

t v t C . Furthermore, this would make the computation of even more expensive, thereby making WFQ infeasible for high speed networks. Fair Queuing based on Start-time (FQS), proposed in [11], computes start tag and ®nish tag of a packet exactly as in WFQ. However, instead of scheduling packets in the increasing order of ®nish tags, it schedules packets in the

increasing order of start tags. Though FQS has advantages for processor scheduling, it is not known to have any

t advantage over WFQ for scheduling packets in a network. Moreover, since it utilizes v as de®ned in (3), it has all the disadvantages of WFQ. Self Clocked Fair Queuing (SCFQ), originally proposed in [4] and later analyzed in [8], was designed to reduce

the computational complexity of fair scheduling algorithms like WFQ. SCFQ also schedules packets in the increasing

t

order of ®nish tags. However, it achieves ef®ciency over WFQ by approximating v with the ®nish tag of the packet

2

Though it may b e surprising fairness prop erties of WFQ have not b een rigorously established using either of the fairness denitions

Scheduling Deviation in fairness Deviation in delay Fairness over algorithm from optimal algorithm from WFQ variable rate servers WFQ At least a factor of 2 0 Unfair

FQS At least a factor of 2 Not known Unfair

P

max

l

n

n2Q^n6=f

SCFQ At most a factor of 2 ?3 C DRR Unbounded Dependent on ?3 weight assignment

Table 1 : Summary of fair scheduling algorithms

max

max

l

l

f

m

H f m

in service at time t. It has been shown that the value of for SCFQ is which is only a factor of

r r

f m two away from the lower bound (i.e., its fairness measure is at most that of WFQ) [8]. The main limitationof SCFQ is

that it increases the maximum delay incurred by the packets signi®cantly. Speci®cally, if Q is the set of ¯ows served

P

max

l

n

n2Q^n6=f f

by a server and C its capacity, then packets of ¯ow may incur more delay in SCFQ than in WFQ C [9]. This may be unacceptably large in many cases.

WFQ and SCFQ sort and schedule packets in the increasing order of ®nish tags. Hence, per packet computational

l og Q Q complexity is O where is the number of ¯ows served by the server. To reduce this per packet computational complexity, De®cit Round Robin (DRR) was proposed in [19]. It is a derivative of weighted round robin algorithm

designed to accommodate variable length packets of a ¯ow. Though the per packet computational complexity of DRR

is O per packet, it has the followingtwo limitations:

max

max

l

l

f

m

H f m min r

Q n

1. Thevalueof for DRR is when n , which can deviate arbitrarily away

r r

f m

max max

r r l l m

from that of fair scheduling algorithms like SCFQ. For instance, if f and ,

m

f

f m

then H for DRR is , which is 50 times larger than the corresponding value for SCFQ. Clearly,

f m appropriate choice of weights can make this factor as high as desired. Since absolute values of H have no physical meaning, the relative values are important. 2. The maximum delay incurred by packets serviced by a DRR server can be arbitrarily high. To observe this,

consider a weighted round robin server with all packets of size l (DRR is equivalent to weighted round robin

server in such a scenario). It is easily observed that a lower bound on maximum delay of a packet of ¯ow f is

P

lr

n

2Q^n6=f

n . Since weights can be arbitrary, the lower bound can be arbitrarily high. C The properties of WFQ, FQS, SCFQ and DRR are summarized in Table 1. As it illustrates, the design of a fair schedulingalgorithmthat is: (1) computationallyef®cient, (2) provides fairness over variable rate servers, (3) facilitates hierarchical link sharing, and (4) has good delay properties is an open problem.

1.3 Research Contributions of This Paper

In this paper, we present Start-time Fair Queuing (SFQ) algorithm that is computationally ef®cient and allocates

max

max

l

l

f

m

bandwidth fairly regardless of variation in a server rate. We show that it has a fairness measure of ,

r r

f m which is only a factor two away from the lower bound and is at least as good as the fairness measure of all known fair scheduling algorithms. We analyze the throughput, single server delay, and end-to-end delay guarantee of SFQ. To accommodate links whose capacity ¯uctuates over time (for example, ¯ow-controlled and broadcast medium links), this analysis is carried out for servers which can be modeled as either Fluctuation Constrained (FC) or Exponentially Bounded Fluctuation (EBF) servers [15]. To the best of our knowledge, this is the ®rst analysis of a fair or a real-time

scheduling algorithm for such servers. To support hierarchical link sharing, we present a hierarchical SFQ scheduler.

3

It app ears that SCFQ and DRR may achieve fairness over variable rate servers However this has neither b een formally

demonstrated nor articulated

We build upon the analysis of FC and EBF servers and analyze the throughput,delay and end-to-end delay guarantees of a ¯ow when the link bandwidth is hierarchically partitioned. The analysis is simple and conceptually elegant. We demonstrate that the hierarchical SFQ scheduler, in addition to supporting heterogeneity, can be used to achieve separation of delay and throughput allocation as well as delay shifting (i.e., reduction of delay of a set of ¯ows while increasing the delay of other ¯ows). Our analysis demonstrates that: (1) SFQ is better suited than WFQ for integrated services networks since it provides signi®cantly smaller average and maximum packet delay for low-throughput applications and ef®ciently achieves fairness over variable rate servers; (2) SFQ is strictly better than SCFQ since maximum packet delay in SFQ is considerably smaller than in SCFQ and both have same the fairness measure and implementation complexity; (3) SFQ is strictly better than FQS since it has lower complexity and achieves fairness over variable rate servers without increasing the maximum packet delay; and (4) SFQ provides considerably better fairness properties and smaller maximum delay than DRR. We demonstrate that SFQ is suitable for integrated services networks since it: (1) achieves low average as well as maximum delay for low-throughput applications (e.g., interactive audio, telnet, etc.); (2) provides fairness which is desirable for VBR video; (3) provides fairness, regardless of variation in server capacity, for throughput-intensive, ¯ow-controlled data applications; (4) enables hierarchical link sharing which is desirable for managing heterogeneity; and (5) is computationally ef®cient. The rest of the paper is structured as follows. We present SFQ algorithm and analyze its fairness, throughput, single server delay guarantee, and end-to-end delay guarantee in Section 2. We discuss hierarchical link sharing in Section 3 and present our implementation of SFQ for an ATM network interface in Solaris 2.4 environment in Section 4. Finally, Section 5 summarizes our results.

2 Start-time Fair Queuing

In Start-time Fair Queuing algorithm (SFQ) two tags, a start tag and a ®nish tag, are associated with each packet.

However, unlike WFQ and SCFQ, packets are scheduled in the increasing order of the start tags of the packets.

t t Furthermore, v is de®ned as the start tag of the packet in service at time . The complete algorithm is de®ned as

follows:

j j

S p

1. On arrival, a packet p is stamped with start tag , computed as:

f f

j j j 1

S p maxfv Ap F p g j

f f f

j j

p p

where F , the ®nish tag of packet , is de®ned as:

f f

j

l

f

j j

F p S p j

f f

r

f

0

F p r f

where and f is the weight of ¯ow .

f

v t

2. Initiallythe server virtual time is 0. During a busy period, the server virtual time at time t, , is de®ned to be

v t equal to the start tag of the packet in service at time t. At the end of a busy period, is set to the maximum

of ®nish tag assigned to any packets that have been serviced by time t. 3. Packets are serviced in increasing order of the start tags; ties are broken arbitrarily (some tie breaking rules may

be more desirable than others and are discussed in Section 2.3).

t

As is evident from the de®nition, the computation of v in SFQ is inexpensive since it only involves examining the

l og Q start tag of packet in service. Hence, the computational complexity of SFQ is same as SCFQ, which is O per

packet, where Q is the number of ¯ows at the server. Traditionally, scheduling algorithms have been analyzed only for servers whose service rate does not vary over time. However, service rate of ¯ow-controlled, broadcast medium and wireless links may ¯uctuate over time. Fluctuation in service rate may also occur due to variability in CPU capacity available for processing packets (for example, a CPU constrained IP router may not have suf®cient CPU capacity to process packets when routing updates occur). If a server is shared by multiple types of traf®c with some traf®c types being given priority over the other,

then for lower priority traf®c, the link appears as a server with ¯uctuating service rate. In order to accommodate such scenarios, we analyze SFQ for servers with bounded ¯uctuation in service rate. Two server models, termed Fluctuation Constrained (FC) server and Exponentially Bounded Fluctuation (EBF)

server, that have bounded ¯uctuation in service rate and are suitable for modeling many variable rate servers have been

C

introduced in [15]. A FC server has two parameters; average rate C (bits/s) and burstiness (bits). Intuitively, an

C FC server, in any interval during a busy period, does at most less work than an equivalent constant rate server.

Formally,

C C t t 2

De®nition 1 A server is a Fluctuation Constrained (FC) server with parameters , if for all intervals 1

W t t 2

in a busy period of the server, the work done by the server, denoted by 1 , satis®es:

W t t C t t C

1 2 2 1

EBF server is a stochastic relaxation of FC server. Intuitively,the probabilityof work done by an EBF server deviating

4

from the average rate by more than , decreases exponentially with . Formally,

C B C

De®nition 2 A server is an Exponentially Bounded Fluctuation (EBF) server with parameters ,if for

t t W t t

2 1 2

all intervals 1 in a busy period of the server, the work done by the server, denoted by , satis®es:

P W t t C t t C B e

1 2 2 1

In what follows, we analyze the fairness of SFQ for any variable rate server, and its throughput and delay

C guarantees for FC and EBF servers. Since a FC server is a constant rate server, the following analysis is also valid for constant rate servers. We present the proofs of only few results; the rest of the proofs are presented in the appendix.

2.1 Fairness Guarantee

W (t t )

W (t t )

f 1 2

m 1 2

j f j

To prove that SFQ is fair, we need to prove a boundon for any interval in which both ¯ows

r r

f m

m W t t

1 2 and are backlogged. We achieve this objective by establishing a lower and an upper boundon f in Lemmas

1 and 2, respectively.

f t t 2

Lemma 1 If ¯ow is backlogged throughout the interval 1 , then in a SFQ server:

max

r v v l W t t

f 2 1 f 1 2

f

v v t v v t

1 2 2

where 1 and .

max

W t t r v v l

1 2 f 2 1

Proof: Since f , if , (8) holds trivially. Hence, consider the case where

f

max k

r v v l p f v v

2 1 1 2

f . Let packet be the ®rst packet of ¯ow , that receives service in the open interval .

f f

max

f t t r v v l

2 f 2 1

Since ¯ow is backlogged during the interval 1 and , such a packet exists. Furthermore,

f

k 1 k 1 k 1

k k k

p F p S p F p p p

S . To observe this, let us suppose . This implies packet arrives after

f f f f f f

®nishes service. There are two cases to consider:

k 1

k

p t t f t t p

1 2

®nishes service at time 1 . Since ¯ow is backlogged during the interval , packet can not

f f

k 1

arrive after p ®nishes service. Hence, this is a contradiction.

f

k 1

p t t f t t

1 2

®nishes service at time 1 . Since ¯ow is backlogged during the interval , this implies packet

f

k k k

p Ap t v Ap v 1

arrives at time 1 . Since virtual time of system is non decreasing function of time, .

f f f

k 1

k k k k

p v v S p v S p maxfv Ap F p g

2 1

As packet is serviced in the open interval 1 , . But .

f f f f

f

k 1

k k k

v Ap v S p v S p F p 1

Since 1 and , we conclude which is a contradiction.

f f f f

4

The EBF server as presented here has an extra parameter C However this parameter do es not change the denition

signicantly

k 1 k 1 k 1

k k k

F p F p F p p S p S p

Hence, S . But by de®nition. Hence, we conclude . Since

f f f

f f f

k1

max

l

l

k 1 k 1 k 1

f f

F p v S p v F p v

1 1

1 , . Hence,

f f f

r r

f f

max

l

f

k

S p v

1

f

r

f

k +m

p v v 2

Let be the last packet to receive service in the virtual time interval 1 . Hence,

f

k +m

F p v

2 f

From (9) and (10), we conclude:

max

l

f

k +m k

F p S p v v

2 1

f

f

r

f

f v v 2

But since ¯ow is backlogged in the interval 1 , from (4) and (5) we know:

n=m k +n

X

l

f

k +m

k

F p S p

f

f

r

f

n=0

k +n n=m

X

l

f

k +m k

F p S p

f

f

r

f

n=0

Hence, from (13) and ( 11), we get:

k +n n=m

max

X

l l

f f

v v

2 1

r r

f f

n=0

n=m

X

k +n

max

r v v l l

f 2 1

f

f

n=0

P

n=m

k +n

W t t l

1 2

Since f , the lemma follows.

n=0 f

t t 2

Lemma 2 In a SFQ server, during any interval 1 :

max

W t t r v v l

f 1 2 f 2 1

f

v v t v v t

1 2 2 where 1 and .

Proof:

f v v v

2 1

From the de®nition of SFQ, the set of ¯ow packets served in the interval 1 have service tag at least and v

at most 2 . Hence, the set can be partitioned into two sets:

v v 2

This set, denoted by D, consists of packets that have service tag at least 1 and ®nish time at most . Formally,

k k

v g v F p D fk jv S p

2 2 1

f f

From (4) and (5), we conclude:

X

k

l r v v

f 2 1

f

k D

v v 2 This set, denoted by E, consists of packets that have service tag at most 2 and ®nish time greater than .

Formally,

k k

E fk jv S p v F p v g

1 2 2

f f

Clearly, at most one packet can belong to this set. Hence,

X

k max

l l

f f

k E

700 WFQ: Source 2 SFQ: Source 2 SFQ: Source 3 600 WFQ: Source 3

500

1 400

300

2.5 Mb/s Packet Number Received 2 Switch 200

Destination 100 3

0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 Time

Figure 1 : (a)The network topology used for the simulations and (b) Comparison of the number of packets received by sources 2 and 3 in WFQ and SFQ

From (18) and (20) we conclude that (16) holds. Since unfairness between two ¯ows in any interval is maximum when one ¯ow receives maximum possible service

and the other minimum service, Theorem 1 follows directly from Lemmas 1 and 2.

t t f m 2 Theorem 1 For any interval 1 in which ¯ows and are backlogged during the entire interval, the difference

in the service received by two ¯ows at a SFQ server is given as:

max

max

l

W t t W t t l

f 1 2 f m 1 2

m

j j

r r r r

f m f m

Theorem 1 demonstrates that fairness measure of SFQ is at most a factor of 2 away from an optimal fair packet scheduling algorithm. Furthermore, it demonstrates that SFQ has the smallest fairness measure among all the known scheduling algorithms (see Table 1). Observe that to establish Theorem 1, we did not make any assumptions about the service rate of the server. Hence, Theorem 1 holds regardless of the characteristics of the server. This demonstrates that SFQ achieves fair allocation of bandwidth over variable rate servers, and thus meets a fundamental requirement of fair scheduling algorithms for integrated services networks. This is an important advantage over WFQ that does not allocate bandwidth fairly over variable rate servers. To experimentally evaluate the relative performance of SFQ and WFQ, we simulated 3 ¯ows with the same destination traversing a single switch using REAL network simulator (see Figure 1 (a)). Source 1 transmitted a MPEG compressed VBR video sequence with average rate 1.21 Mb/s using 50 bytes packets 5 . Sources 2 and 3 were TCP Reno sources and used 200 bytes packets. The link capacity between the switch and the destination was 2.5 Mb/s. The scheduling algorithm at the switch gave higher priority to source 1 packets and scheduled source 2 and 3 packets using either WFQ or SFQ. Consequently, the output link at the switch appeared as a variable rate server to sources 2 and 3. The WFQ implementation used the link capacity to compute the ®nish tags. Source 3 was made active 500 ms after sources 1 and 2, and the network was simulated for onesecond. Figure 1(b) plots the sequence number of packets of sources 2 and 3 received by the destination when WFQ and SFQ were used. As the ®gure demonstrates, source 2 received unfair advantage over source 3 when WFQ was used. Speci®cally, when WFQ was used, during the 500ms interval after source 3 became active, whereas the destination received only 48 packets from source 3, it received 331 packets from source 2. On the other hand, when SFQ was used, it received 189 packets and 190 packets from sources 2 and 3, respectively. Furthermore, during the ®rst 435 ms after source 3 was started, the number of source 3 packets received by the destination in WFQ and SFQ was 2 and 145, respectively. This experimentally validates the superiority

of SFQ over WFQ for achieving fair allocation of bandwidth over variable rate servers.

5

The video sequence was derived by digitizing and compressing television serial Frasier

2.2 Throughput Guarantee

In the previous sections, we have not assigned any interpretation to the weight of a ¯ow. To establish the throughput

r f

and delay guarantee of a ¯ow, we will henceforth interpret f as the rate assigned to ¯ow . Theorems 2 and 3 establish the throughput guaranteed to a ¯ow by a SFQ FC and EBF server, respectively, when appropriate admission control

procedures are used.

P

r C Q C C

Theorem 2 If is the set of ¯ows served by a SFQ FC server with parameters , and n , then

nQ

t t f W t t

2 f 1 2

for all intervals 1 in which ¯ow is backlogged throughout the interval, is given as:

P

max

l

C

n

nQ

max

W t t r t t r r l

f 1 2 f 2 1 f f

f

C C

c

v t v W v v

1 1 2

Proof: Let and let 1 denote the aggregate length of packets served by the server in the virtual

v v 2

time interval 1 . Then, from Lemma 2 we conclude:

X X

max

c

W v v r v v l

1 2 n 2 1

n

nQ nQ

P

r C

Since n ,

nQ

X

max

c

W v v C v v l

1 2 2 1

n

nQ v

De®ne 2 as:

P

max

l

C

n

nQ

v v t t

2 1 2 1

C C

Then from (24), we conclude:

P

max

X

l

C

n

nQ

max

c

W v v C v t t v l

1 2 1 2 1 1

n

C C

nQ

C t t C

2 1

b b

t v t v T w w

2 2 Let be such that 2 . Also, let be the time taken by server to serve packets with aggregate length in

its busy period. Then,

c

b

t t T W v v

2 1 1 2

t T C t t C

1 2 1

From the de®nition of Fluctuation Constrained server, we get:

w C

T w

C C

From (29) and (30) we get:

C C t t C

2 1

b

t t

2 1

C C

t 2

From Lemma 1 we know that:

max

b

W t t r v v l

f 1 2 f 2 1

f

b

t t 2

Since 2 , using (25) we get:

P

max

l

C

n

nQ

max

r l W t t r t t r

f f 1 2 f 2 1 f

f

C C

P

Q C B C r C

Theorem 3 If is the set of ¯ows served by a SFQ EBF server with parameters ,and n ,

nQ

t t f W t t

2 f 1 2

then for all intervals 1 in which ¯ow is backlogged throughout the interval, is given as:

P

max

l

C

n

nQ

max

P W t t r t t r r r l B e

f 1 2 f 2 1 f f f

f

C C C

The throughput guarantees of other fair scheduling algorithms have not been established. However, it can be shown that for constant rate servers, when similar admission control procedure is used, the throughput guarantee of neither WFQ nor SCFQ is better than that of SFQ. Observe that throughput guarantees derived in Theorems 2 and 3 for SFQ have a recursive structure. Speci®cally, thethroughputguaranteed to a ¯ow by an FC or an EBF SFQ server is also ¯uctuation constrained or has exponentially bounded ¯uctuation, respectively. We will exploit this recursive structure to analyze performance bounds when a link bandwidth is hierarchically partitioned.

2.3 Delay Guarantee SFQ algorithm, as de®ned so far, only allocates constant rate to the packets of a ¯ow. However, due to the multiple time-scale variation of VBR video, to achieve ef®cient utilization of network resources, a server may be required to

allocate variable rate to packets of a video ¯ow. To support variable rate allocation, we generalize SFQ by extending

j j j j

p p F p

the de®nition of service tags. Let r be the rate assigned to packet . Then ®nish tag of packet , is de®ned

f f f f

as:

j

l

f

j j

j S p F p

f f

j

r f Start tag of a packet and the system virtual time are de®ned as before. We now prove the delay guarantee of the generalized SFQ algorithm. Clearly, a server can provide a bound on delay only if its capacity is not exceeded. However, when variable rate

is allocated to the packets of a ¯ow, the intuitivemeaning of capacity not being exceeded needs to be de®ned precisely.

f v R v

To do so, let rate function for ¯ow at virtual time , denoted by f , be de®ned as the rate assigned to the packet v

that has start tag less than v and ®nish tag greater than . Formally,

j j j

v F p j S p

r if

f f f

R v f

otherwise C

Let Q be the set of ¯ows served by the server. Then a FC or EBF server with average rate , is de®ned to have

P

R v C v

exceeded its capacity at virtual time if n . If the capacity of a SFQ server is not exceeded, then it

nQ j

guarantees a deadline to a packet based on its expected arrival time. Expected arrival time of packet p that has been

f

j j j

E AT p r

assigned rate r , denoted by , is de®ned as:

f f f

j 1

l

f

j 1 j 1 j j j

r E AT p maxfAp r E AT p g j

f f f f f

j 1

r

f

0 0

p r

where E AT . A deadline guarantee based on expected arrival time has been referred to as delay

f f

guarantee [9, 14]. Theorems 4 and 5 establish the delay guarantee of SFQ for FC and EBF servers, respectively.

P

Q C C R v C

Theorem 4 If is the set of ¯ows served by a SFQ FC server with parameters and n

nQ

j j

v p L p

for all , then the departure time of packet at the server, denoted by SFQ , is given by:

f f

j

max

X

l

C l

f

j j j

n

L p E AT p r

SFQ

f f f

C C C

nQn=f

Proof: Let set H be de®ned as follows:

m m

H fmjm S p v Ap g

f f

j

k

k j H v v Ap v S p 2

Let be largest integer in . Also, let 1 and . Observe that as the server virtual

f f

j

k p

time is set to the maximum ®nish tag assigned to any packet at the end of a busy period, packet p and are served in

f

f

f v v 2

the same busy period of a server. From the de®nition of SFQ, the set of ¯ow packets served in the interval 1

v v 2

have start tag at least 1 and at most . Hence, the set can be partitioned into two sets:

v v 2

This set consists of packets that have start tag at least 1 and ®nish tag at most . Formally the set of packets

n D

of ¯ow , denoted by n , in thisset is:

m m

D fmjv S p v F p v g

n 1 2 2

n n

m m

R v F p r n

Then, from the de®nition of n and , we know that the cumulative length of such ¯ow packets

n

f

v v AP v v

2 n 1 2

served by the server in the virtual time interval 1 , denoted by , is given as:

Z

v

2

AP v v R v dv

n 1 2 n

v

1

P

AP v v

1 2

Hence, aggregate length of packets in this set, n , is given as:

nQ

Z

v

2

X X

AP v v R v dv

n 1 2 n

v

1

nQ nQ

Z

v

2

X

R v dv

n

v

1

nQ

Z

v

2

C dv

v

1

C v v

2 1

k+n

P

l

n=j k 1

j j

f

r v S p k v v

2 2 1

+n

But since , from the de®nition of , k . Hence,

f f n=0

r

f

n=j k 1

k +n

X X

l

f

AP v v C

n 1 2

k +n

r

f

n=0

nQ

v v 2

This set consists of packets that have start tag at most 2 and ®nish tag greater than . Formally, the set of

n E

packets of ¯ow , denoted by n , inthis set is

m m

E fmjv S p v F p v g

n 1 2 2

n n

n E fj g

Clearly, at most one packet of ¯ow can belong to this set. Furthermore, f . Hence, the maximum

aggregate length of packets in this set is:

X

j

max

l l

n

f

nQn=f

c

W v v v v

1 2 2

Hence, the aggregate length of packets served by the server in the interval 1 , denoted by , is:

n=j k 1

k +n

X X

l

f

j

max

c

l l W v v C

1 2

n

f

k +n

r

f

n=0

nQn=f

w w Let T be the time taken by server to serve packets with aggregate length in a busy period. From the de®nition

of Fluctuation Constrained server, we get:

C w

T w

C C

j

p v v v

1 2

Since packet departs at system virtual time 2 and all the packets served in the virtual time interval are f

served in the same busy period of the server, we get:

j

k

c

Ap T W v v L p

1 2 SFQ

f

f

k+n

P P

l

n=j k 1

j

f

max

l l C

k+n

n

nQn=f f n=0

r

C

f j

k

L p Ap

SFQ

f

f

C C

j n=j k 1

k +n

max

X X

l l

C l

f f

j

n

k

L p Ap

SFQ

f

f

k +n

C C C

r

f

n=0

nQn=f

From (37) we get

j

max

X

l

l C

f

j j j

n

E AT p r L p

SFQ

f f f

C C C

nQn=f

P

R v Q C B C

Theorem 5 If is the set of ¯ows served by a SFQ EBF server with parameters and n

nQ

j j

C v p L p

for all , then the departure time of packet at the server, denoted by SFQ , is given by:

f f

j

max

X

l

l C

f

j j j

n

A

P L p E AT p r B e

SFQ

f f f

C C C C

nQn=f

The delay guarantee derived in Theorems 4 and 5 is independent of a tie breaking rule that a SFQ server may use when more than one packet have the same start tag. Though a tie breaking rule does not effect the delay guarantee, it can be used by a server to achieve different objectives. For example, a tie-breaking rule may give higher priority to interactive, low-throughput applications to reduce the average delay. Theorems 4 and 5 can be used to determine delay guarantee even when a server has ¯ows with different priorities and services them inthe priorityorder(such a scenario may occur in an integrated services network with different traf®c types). To illustrate, consider a server that services ¯ows with two priorities and uses SFQ to schedule the packets of

lower priority¯ows. If the bandwidthrequirement of ¯ows that are given higher prioritycan be characterized by a leaky bucket with average rate and burstiness (such a characterization may be enforced by shaping the higher priority

¯ows through a leaky bucket), then the residual bandwidth available to the lower priority ¯ows can be modeled as

C ¯uctuation constrained with parameters . Hence, Theorem 4 can be used to determine the delay guaranteeof the lower priority ¯ows. Similarly, if the aggregate arrival process of the high priority¯ows can be modeled as poisson process, then the residual bandwidth can be modeled as EBF server [15] and Theorem 5 can be used to determine the delay guarantee. Theorem 4 demonstrates that maximum delay of a packet in SFQ is signi®cantly smaller than in SCFQ. Speci®cally,

a tightbound on the departure time of a packet at a constant rate server employing SCFQ, given in [9], is:

j

max

X

l

l

f

j j j

n

L p E AT p r

SCFQ

f f f

j

C

r

f

nQn=f

C Since for a constant rate server, the difference in maximum delay that a packet may incur at servers employing

SCFQ and SFQ is:

j j

l l

f f

j

C

r

f

j j

l

Clearly, maximum delay in SFQ is much smaller than in SCFQ. To illustrate numerically, when r 64Kb/s, 200

f f

bytes and C=100Mb/s, the difference is 24.4ms. If there are K servers on the path of a ¯ow, this difference increases by

K a factor of K . For instance, the difference increases to 122ms for . Similarly, the difference increases linearly with the packet size.

60 Flows =100 SFQ 50 Flows =150 WFQ Flows =200

50

40

40 30

30 20 Delay (ms) Difference in delay(s) 20 10

0 10

-10 0 0 200 400 600 800 1000 0.7 0.75 0.8 0.85 0.9 0.95 Rate(Kb/s) Average Utilization

Figure 2 : (a)Difference in maximum delay in WFQ and SFQ (b) Comparison of average delay in WFQ and SFQ

Theorem 4 demonstrates that SFQ does not couple bandwidth and delay allocation. This enables it to provide

lower maximum delay to low-throughputapplicationsas compared to WFQ that inversely couples delay and bandwidth

j j

p

allocation. To observe this, consider the difference in the maximum delay experienced by packet p , denotedby ,

f f

j

l

j j j

f l

max

r p E AT p l max

in WFQ and SFQ. Since WFQ guarantees that packet will be transmitted by j where

f f f

C

r f

is the maximum packet length at the server, we get:

j j

max

X

l l

l l

f max f

j

n

p

f

j

C C C

r

f

nQn=f

j j j

max

l l r p l l r f

To gain a qualitative understanding of , let max and . Then,

n

f f f

l j Q j l

j

p

f

r C

f

j

p

Hence, if:

f

r

f

j Q j C This shows that maximum delay of packets of a ¯ow in SFQ is smaller thaninWFQ ifthefractionofthelinkbandwidth

used by the ¯ow is at most 1 , which is expected to be true for low-throughputapplications. This is also illustrated

jQj1 by Figure 2(a), which plots the reduction in delay in SFQ for different number of ¯ows and ¯ow rates, assuming 200 bytes packet and link capacity of 100Mb/s. As the ®gure shows, the reduction is higher for lower throughput ¯ows. To compare the delay performance of WFQ and SFQ, consider a network link that is servicing 70 ¯ows (possibly video ¯ows) with rate 1Mb/s and 200 ¯ows (possibly audio ¯ows) with rate 64Kb/s. In such a scenario, whereas the maximum delay of the packets of ¯ow with rate 64 Kb/s reduces by 20.39ms in SFQ, the maximum delay of 1Mb/s ¯ows increases by 2.48 ms. Hence, SFQ reduces the maximum delay of low throughput ¯ows signi®cantly without an appreciable increase in the delay of high throughput ¯ows. SFQ not only reduces the maximum delay as compared to WFQ, but is also expected to lower the average delay of low-throughput applications. This is because whereas SFQ schedules packets in the increasing order of start tags, and thereby schedules packets at the earliest possible instant; WFQ schedules packets in increasing order of ®nish tag, and thus delays a packet as long as possible. To validatethis hypothesis, we simulated a switch that was shared by high and low throughput ¯ows carrying poisson traf®c. The link capacity was 1Mb/s and the packet size was 200 bytes. Seven high-throughput¯ows with average rate 100Kb/sshared the switch with varying number of low-throughput¯ows with average rate 32Kb/s. The number of low-throughput ¯ows was varied from 2 to 10 and the switch was simulated for 1000 seconds. Figure 2(b) compares the average packet delay of low-throughput ¯ows in WFQ and SFQ at varying

levels of link utilization. As the ®gure illustrates, the average delay of low-throughput ¯ows is signi®cantly higher in WFQ than in SFQ. In fact, at 80.81% link utilization, the average delay is 53%, higher in WFQ than in SFQ. Hence, SFQ provides lower maximum as well as average delay to low-throughput applications as compared to WFQ. As is evident from the de®nition of the expected arrival time, two key properties of the delay guarantee of SFQ for a ¯ow are: (1) it is independent of the behavior of other sources at the server, and thereby isolates the ¯ow; and (2) it is independent of a traf®c characterization. Whereas the isolation property enables a server to provide stronger guarantees to the ¯ow and is highly desirable when sources may be malicious [2, 5, 14, 17], independence of delay guarantee from traf®c characterization enables a server to provide various QoS guarantees to ¯ows conforming to any speci®cation [9]. To enable a network of servers to provide similar guarantees, in what follows, we derive end-to-end delay guarantee.

2.4 End-to-End Delay Guarantee

The objective is to determine the deadline guarantee of a network of servers based on the expected arrival time of a th

packet at the ®rst server on the path of a ¯ow [9]. To do so, let the i server along the path of a ¯ow be denoted as K server i. Also, let there be servers on the path of a ¯ow and let each of the server guarantee a deadline to a packet

based on its expected arrival time. Then, the network guarantees a deadline to a packet based on its expected arrival

th K

time at the K server. Observe that the expected arrival time of a packet at server is dependent on departure time

K of packet at server K , which, in turn, is dependent on expected arrival time of the packet at server . Using this argument recursively, a network of servers can guarantee a deadline to a packet based on the expected arrival time of the packet at the ®rst server. This method has been used in [9] to derive end-to-end delay guarantee of a network of servers that employ algorithms in the class of Guaranteed Rate (GR) scheduling algorithms. However, the end-to-end delay guarantee presented in [9] assumes that each of the server provides a deterministic bound on the departure time of a packet. Consequently, even though SFQ belongs to GR, the guarantee is not applicable to a network which may have some SFQ EBF servers. To analyze such networks, we generalize the method presented in [9].

Observe that SFQ delay guarantee for both FC and EBF servers can be rewritten as:

j j j j

B e r E AT p P L p

SFQ

f f f f

j

max

P

l

l

j (C )

f

n

B

Substituting , and , yields the delay guarantee for FC server.

f nQn=f

C C C

j

max

P

l

l

(C )

j

f

n

C

Substituting and , on the other hand, yields the delay guarantee for EBF

f nQn=f

C C C server. Hence, we will use (61) to derive the end-to-end delay guarantee. Furthermore, to facilitate interoperability with other scheduling algorithms, we will only require each server on the path of a ¯ow to guarantee a deadline which is similar to (61). We ®rst relate the expected arrival time of a packet at adjacent servers in Theorem 6 and then use it

to derive end-to-end delay guarantee in Corollary 1.

ii+1

i i

Let be an upper bound on the propagation delay between servers and . Also, let all the variables of

j j ji ji

i r r

server i be identi®ed by superscript , i.e., and are identi®ed as and , respectively. Henceforth in this

f f f f f section, we will refer to a single ¯ow f , and, hence drop the subscript from all the variables.

Theorem 6 If scheduling algorithm at server i guarantees that:

i

i j i j ji ji i

P L p E AT p r B e

i j j

p p i

where L is the time at which packet departs server , then:

i

i+1 j ji i j ji ni ii+1 i

P E AT p br E AT p br max f g B e

n[1j ]

ji ji ji+1

r minfr r g where b .

Corollary 1 If scheduling algorithm at each server on the path of a ¯ow satis®es (62), and there are K servers on

the path of the ¯ow, then:

1

n=K n=K 1 n=K

P

X X X

n=K

1

n nn+1 mn K j 1 j j

n

n=1

B e max f g P L p E AT p rb

m[1j ]

n=1 n=1 n=1

K j j j jn

L p p K rb min rb

[1K ] where is the time at which packet leaves server , and n .

As Corollary 1 illustrates, the end-to-end guarantee, like the single server guarantee, is based on the expected arrival time ofa packet and hence is independent ofthe behavior of other ¯ows and any particular ¯ow characterization. Moreover, it can be used to determine various QoS parameters like upper bound on end-to-end delay, packet loss probability and buffer requirement for any traf®c speci®cation [9] (see Section A.5 for a brief exposition of method for deriving end-to-end delay bounds and a bound for ¯ows conforming to leaky bucket). Hence, such a guarantee is highly desirable. To derive Corollary 1, we have only required the scheduling algorithm at each server to satisfy (62). Hence, any scheduling algorithm that satis®es (62) (for example, Virtual Clock, WFQ, and SCFQ) can interoperate to provide end-to-end guarantee. Furthermore, Corollary 1 can be used for an internetwork of FC and EBF servers. Finally, the proof method of Theorem 6 and Corollary 1 can be used to derive end-to-end delay guarantee even when packet may be fragmented and reassembled in the network. Hence, SFQ can provide guarantees in heterogeneous internetworking environments.

2.5 Discussion SFQ borrows the notion of ªself-clockingº i.e., computing system virtual time based on a tag of a packet in service, from SCFQ to achieve ef®ciency. However, it provides signi®cantly lower delay than SCFQ while achieving the same fairness measure. Hence, using fairness, throughput, delay, and computational complexity as performance metrics, we conclude that SFQ is strictly better than SCFQ.

SFQ is similar in spirit to FQS which also schedules packets in the increasing order of start tags. However, as

t FQS uses v as de®ned in (3), it is computationallyexpensive and fails to allocate bandwidth fairly over variable rate

servers. Furthermore, as Theorem 1 and Table 1 show, its fairness measure is no smaller than that of SFQ. Finally, Q since in FQS, all Q ¯ows can become active simultaneously, and consequently packets can have the same start tag, the bound on the departure time of a packet in FQS cannot be smaller than in SFQ. Hence, SFQ has many advantages but no disadvantages over FQS. A key advantage of SFQ over WFQ, in addition to lower implementation complexity, is that it achieves fairness over variable rate servers while WFQ does not. Moreover, it provides considerably lower maximum and average delay to low-throughput applications than WFQ. Since low-throughput applications like audio and telnet are more delay sensitive than high-throughputapplications like video and ftp, this feature is highly desirable. In case delay guarantee of WFQ is required, as we show in Appendix B, SFQ can be combined with non work-conserving Virtual Clock to derive Fair airport scheduling algorithmthat provides the delay guarantee of WFQ and ef®ciently achieves fairness even over variable rate servers. Thus, since SFQ addresses the drawbacks of WFQ while achieving its delay guarantee if desired, it is better suited than WFQ for integrated services networks. Finally, since SFQ provides a bound on maximum delay that does not depend on the weights of other ¯ows and has a bounded deviation from an optimal fair scheduling algorithm, it has better fairness and delay properties than DRR. To summarize, we have shown that SFQ: (1) achieves low average as well as maximum delay for low-throughput applications; (2) provides fairness, regardless of variation in a server rate; (3) has a fairness measure that is at least as good as that of all the known fair scheduling algorithms; and (4) is computationally ef®cient. In the next section, we show that it enables hierarchical link sharing, and thus meets all the requirements of a scheduling algorithm for integrated services networks.

3 Hierarchical Link Sharing

Hierarchical link sharing is an ideal mechanism for managing heterogeneity in integrated services networks [7, 18]. It can be used by a network to support services that provide heterogeneous QoS as well as multiple protocol families that support different traf®c types and/or congestion control mechanisms. For example, a network can support hard and soft real-time, as well as best effort services by partitioning the link bandwidth between them as per the expected requirements of each of the service. To support high and low reliability soft real-time services, the bandwidth of soft real-time service may be further partitioned. Similarly, the bandwidth of the best effort services may be further partitioned between throughput intensive and interactive services. A key advantage of hierarchical link sharing is that it provides isolation between different services while enabling similar services to share resources. Hence, incompatible congestion control algorithms can coexist while compatible algorithms reap the advantages of sharing. For example, while high and low reliability soft real-time services get

the bene®ts of sharing, the hard real-time service is isolated from the overbooking that may occur in soft real-time services, and the congestion control algorithm that may be used by the best effort services. Hierarchical link sharing also facilitates use of different resource allocation methods for different services. This is desirable as hard real-time services may use a scheduling algorithm that performs well when there is no overbooking; soft real-time services may prefer to use a scheduling algorithm that provides QoS guarantees and/or minimizes deadline violations in presence of overbooking [1]; and best effort services may use a fair scheduler for throughput intensive ¯ow-controlled data applications. The requirements of hierarchical link sharing is speci®ed by a tree, referred to as link-sharingstructure, in which each node, other than possibly leaf nodes, denotes an aggregation of ¯ows [7]. Each node in the tree is referred to as a class and has a weight associated with it. The objective of a mechanism implementing hierarchical link sharing is to distribute the bandwidth allocated to a class among its subclasses fairly, i.e., in proportion to the weights [18]. This objective can be achieved by a hierarchical scheduler that considers each class, other than the leaf classes, as a virtual server and uses a fair scheduler to schedule the virtual servers. However, as the following example illustrates, the scheduler used must allocate bandwidth fairly even over variable rate servers. Example 3 Consider a link sharing structure in which classes A and B are subclasses of the root class. Let classes C and D be subclasses of class A and let each class have weight 1. Initially, let there be no packets in class B. Hence, class A gets the full link bandwidth. When class B also becomes active, the bandwidthavailable to class A (and hence to subclasses C and D) reduces to 50% of the link bandwidth. Consequently, to fairly partition the bandwidth of class A between subclasses C and D, the scheduler must be able to allocate bandwidth fairly over variable rate servers. SFQ is the only scheduling algorithm that has been demonstrated to allocate bandwidth fairly even over variable rate servers. In what follows, we present a hierarchical SFQ scheduler for link sharing. Hierarchical SFQ scheduler is simple. It uses SFQ to schedule each class; treating each subclass as a ¯ow. The scheduling of packets occurs recursively: the scheduler for root class schedules the subclasses; the scheduler of subclasses in turn schedule their subclasses. Since SFQ fairly allocates bandwidth regardless of the server behavior, this simple recursive hierarchical scheduling ensures that bandwidth allocated to a class is fairly allocated between the subclasses and thereby achieves the objective of hierarchical link sharing. Moreover, in contrast to link sharing

mechanism in [7], it provides bounds on various performance measures: f

Throughput Guarantee: Consider a class that is a subclass of the root class. Let the link be FC server

C C Q f

with parameters and let the set of the subclasses of the root class be denoted by . Then, if class

r f

has been assigned rate f , from Theorem 2 we conclude that the virtual server corresponding to is a FC server

with parameters:

P

max

l

C

n

nQ

max

r r r l

f f f

f

C C Similarly, using Theorem 3, we conclude that if the link is an EBF server, then the virtual server corresponding

to f is a EBF server. Hence, if the link is an FC or EBF server, then the virtual servers corresponding to the subclasses of the root class are FC or EBF servers, respectively. Using the argument recursively, we conclude that if the link is a FC or EBF server, then each of the virtual server in the hierarchical structure is a FC or EBF server, respectively. Consequently, Theorems 2 and 3 can be used to determine the throughput guarantee of the ¯ows.

Delay Guarantee: Since each of the virtual server is either FC or EBF server, Theorems 4 and 5 can be used to determine the single server delay guarantee of the ¯ows.

End-to-End Delay Guarantee: Since the single server delay guarantee when a ¯ow is hierarchically scheduled satis®es (62), Corollary 1 can be used to determine the end-to-end delay guarantee. The elegance of the above analysis is in its simplicity. This simplicity demonstrates the generality of the analysis

of SFQ servers presented in Section 26 .

6

We would like to warn the reader of a p otential pitfall It is p ossible that some may reach the conclusion that this analysis

would hold even if the throughput of a server was mo deled by a Service Burstiness server which is similar to a FC server

However even though the throughput guaranteed to a ow by a Virtual Clo ck server conforms to Service Burstiness it can b e

shown that Virtual Clo ck when used for hierarchical link sharing provides no guarantees

Hierarchical SFQ scheduler not only achieves the objectives of hierarchical link sharing, but can also be used to achieve several other objectives. For example it can be used to achieve:

Separation of delay and throughput allocation: Observe that SFQ does not allocate delay and throughput separately. However, it may be desirable to do so for some ¯ows. This can be achieved by aggregating the ¯ows for which separation of delay and throughput is desirable into one class and then using a scheduling algorithm that achieves such a separation for that class. Though conceptually simple, since the throughput of a class ¯uctuates over time, the algorithm used must be able to achieve the separation over variable rate servers. In Theorem 7, we show that Delay EDD can achieve this over a FC server. Since the throughput of a class is ¯uctuation constrained, Delay EDD can be used to achieve the objective.

We ®rst de®ne Delay EDD and then prove its delay guarantee for a FC server. Delay EDD on arrival of packet

j j

f D p

p of ¯ow assigns it a deadline, denoted by , and schedules packets in increasing order of deadline.

f f

j

D p

is de®ned as:

f

j j

D p E AT p r d

f f

f f

j j

d f r r l l

f f

where f is the deadline of ¯ow packets, , and .

f f

Theorem 7 If Q is the set of ¯ows serviced by the server and

X

t d r l

n n n

t maxf g t

l C

n

nQ

C C

and the server is a FluctuationConstrained Delay EDD server, then the time at which the transmission

j j

p L p

of packet is completed, denoted by EDD , is:

f f

C l

max

j j

D p L p

EDD

f f

C C

Due to high computational complexity, it may not be feasible to employ (67) as the schedulability test. Hence, conditions stronger than (67) which have lower computational complexity have been developed in [23]. The theorem holds under the stronger conditions as well.

Delay shifting: This involves the reduction of the maximum delay of certain ¯ows at the expense of increasing

C C

the delay of others. To illustrate, let the server be a FC server with parameters and let the set of ¯ows l

served by it be denoted by Q. For ease of exposition, let the packet length of each ¯ow be . Hence, using j

Theorem 4, for packet p :

f

jQj l C l

j j

L p E AT p r

SFQ f

f f

C C C

Q K Q Q f K

Now, let the set be partitioned into sets 1 and let them be hierarchically scheduled. Let ¯ow

Q Q C

n n belong to partition i and the rate assigned to partition be denoted by . To determine delay guarantee of

¯ow f when it is hierarchically scheduled, observe from (65) that the virtual server corresponding to partition

C ( (C )+K l)

j

i

Q C l p f i

i is a FC server with parameters . Hence, the departure time of packet of ¯ow ,

f

C

j

d

L p

denoted by SFQ , is given as:

f

C ( (C )+K l)

i

l

l jQ j l

i

j j

C

d

L p E AT p r

SFQ f

f f

C C C

i i i

jQ j l C K l

i

j

E AT p r

f

f

C C i From (69) and (71), we conclude that the bound on the departure time would be smaller when the ¯ow is

hierarchically scheduled if:

jQ j l C K l jQjl C

i

C C C C i

60 Weight =1 Weight =2 Weight =3 Stream Stream Stream 50 Head Head Head

40

30 SFQ SFQ SFQ SFQ Module Module Module Driver Rate(Mb/s) 20

10

ATM Device Driver 0 0 200 400 600 800 1000 Time(s)

Figure 3 : (a) SFQ scheduler implementation (b) Throughput of the connections

C jQ j

i i

jQj K C Hence, by ensuring that (73) is satis®ed for the partitions which require lower delay, delay shifting can be achieved.

4 Implementation

We have implemented SFQ scheduler for a FORE Systems ATM network interface in Solaris 2.4. Since network protocols in Solaris are implemented using streams, the SFQ scheduler is implemented as a streams module and driver (see Figure 3). The driver is used to maintain a hierarchical link sharing structure, created via ioctl()calls, for a network interface. The module, on the other hand, is used to schedule packets. We have modi®ed the FORE API for opening a

connection to include the weight of a connection and its class as parameters 7 . To experimentally validate the implementation of the scheduler, we initiated three connections with weights 1, 2, and 3. Each of the connection terminated after transmitting 500,000 4KB packets. Figure 3 shows the throughput received by each connection. As it demonstrates, when all the three connections were active, they received throughput inthe ratio1:2:3. When the connectionwithweight 3 terminated, thethroughputof theother twoconnections increased but still remained in the ratio 1:2. Finally, when only one connection remained, it received the full link bandwidth. The throughput of the interface in this experiment was 48Mb/s which was the same without the SFQ scheduler (i.e., the scheduler did not impose any overhead). Observe from Figure 3 that SFQ scheduler achieved fair allocation even though the realizable bandwidth of the interface varied over time. This demonstrates the feasibility of employing SFQ for scheduling network interface in operating systems where the processing capacity available for a network interface varies over time.

5 Concluding Remarks

In this paper, we presented Start-time Fair Queuing (SFQ) algorithm that is computationally ef®cient, achieves fairness regardless of variation in a server capacity, and has the smallest fairness measure among all known fair scheduling algorithms. We analyzed its throughput, single server delay, and end-to-end delay guarantee for variable rate Fluctuation Constrained (FC) and Exponentially Bounded Fluctuation (EBF) servers. This is the ®rst analysis of any fair or real-time scheduling algorithm for such servers. Our analysis demonstrated that SFQ is better suited than WFQ for integrated services networks and it is strictly better than SCFQ and FQS. To support heterogeneous services and multiple protocol families in integrated services networks, we presented a hierarchical SFQ scheduler.

We derived performance bounds for ¯ows that are hierarchically scheduled using a conceptually simple and elegant

7

We assume that there is an authentication mechanism to verify the class and the weight

method. Finally, we presented an implementation of SFQ scheduler and demonstrated that it achieves fair allocation of bandwidth. In summary, we demonstrated that SFQ: (1) achieves low average as well as maximum delay for low throughput applications (e.g., interactive audio, telnet, etc.); (2) provides fairness which is desirable for VBR video; (3) provides fairness, regardless of variation in server capacity, for throughput-intensive, ¯ow-controlled data applications; (4) enables hierarchical link sharing which is desirable for managing heterogeneity; and (5) is computationally ef®cient. Thus, SFQ meets the requirements of a suitable scheduling algorithm for integrated services networks.

REFERENCES

[1] S. Baruah, G. Koren, B. Mishra, A. Raghunathan, L. Rosier, and D. Shasha. On-line Scheduling in the Presence of Overload. In Proceeding of Foundations of Computer Science, pages 100±110, 1991. [2] D.D. Clark, S. Shenker, and L. Zhang. Supporting Real-Time Applications in an Integrated Services Packet Network. In Proceedings of ACM SIGCOMM, pages 14±26, August 1992. [3] R.L. Cruz. Service Burstiness and Dynamic Burstiness Measures: A Framework. Journal of High Speed Networks, 2:105±127, 1992. [4] J. Davin and A. Heybey. A Simulation Study of Fair Queueing and Policy Enforcement. Computer Communication Review, 20(5):23±29, October 1990. [5] A. Demers, S. Keshav, and S. Shenker. Analysis and Simulation of a Fair Queueing Algorithm. In Proceedings of ACM SIGCOMM, pages 1±12, September 1989. [6] N. Figuera and J. Pasquale. Leave-in-Time: A New Service Discipline for Real-Time Communication in a Packet-Switching Data Network. In Proceedings of ACM SIGCOMM'95, pages 207±218, 1995. [7] S. Floyd and V. Jacobson. Link-sharing and Resource Management Models for Packet Networks. IEEE/ACM Transactions on Networking, 3(4), August 1995. [8] S.J. Golestani. A Self-Clocked Fair Queueing Scheme for High Speed Applications. In Proceedings of INFO- COM'94, 1994. [9] P. Goyal, S. S. Lam, and H. M. Vin. Determining End-to-End Delay Bounds In Heterogeneous Networks. In ACM/Springer-Verlag Multimedia Systems Journal (to appear), 1996. Also appeared in the Proceedings of the Workshop on Network and Operating System Support for Digital Audio and Video, April 1995. [10] P. Goyal and H. M. Vin. Generalized Guaranteed Rate Scheduling Algorithms: A Framework. Technical Report TR-95-30, The University of Texas at Austin, July 1995. [11] A. Greenberg and N. Madras. How Fair is Fair Queuing. The Journal of ACM, 39(3):568±598,July 1992. [12] M. Grossglauser, S. Keshav, and D. Tse. RCBR: A Simple and Ef®cient Service for Multiple Time-Scale Traf®c. In Proceedings of ACM SIGCOMM'95, 1995. [13] S. Keshav. A Control-Theoretic Approach to Flow Control. In Proceedings of ACM SIGCOMM'91, pages 3±15, 1991. [14] S.S. Lam and G.G. Xie. Burst Scheduling: Architecture and Algorithm for Switching Packet Video. In Proceedings of INFOCOM'95, April 1995. [15] K. Lee. Performance Bounds in Communication Networks With Variable-Rate Links. In Proceedings of ACM SIGCOMM'95, pages 126±136, 1995. [16] A.K. Parekh. A Generalized Processor Sharing Approach to Flow Control in Integrated Services Networks. PhD thesis, Department of Electrical Engineering and Computer Science, MIT, 1992. [17] S. Shenker. Making Greed Work in Networks: A Game-Theoretic Analysis of Switch Service Disciplines. In Proceedings of ACM SIGCOMM'94, pages 47±57, 1994.

[18] S. Shenker, L. Zhang, and D. Clark. A Scheduling Service Model and a Scheduling Architecture for an Integrated Services Packet Networks. Available via anonymous ftp from ftp://ftp.parc.xerox.com/pub/arch®n.ps, 1995. [19] M. Shreedhar and G. Varghese. Ef®cient Fair Queuing Using De®cit Round Robin. In Proceedings of ACM SIGCOMM'95, pages 231±242, 1995. [20] O. Yaron and M. Sidi. Performance and Stability of Communication Networks via Robust Exponential Bounds. In IEEE/ACM Transactions on Networking, volume 1, pages 372±385, 1993. [21] H. Zhang and S. Keshav. Comparison of Rate-Based Service Disciplines. In Proceedings of ACM SIGCOMM, pages 113±121, August 1991. [22] L. Zhang. VirtualClock: A New Traf®c Control Algorithm for Packet Switching Networks. In Proceedings of ACM SIGCOMM'90, pages 19±29, August 1990. [23] Q. Zheng and K. Shin. On the Abilitiy of Establishing Real-Time Channels in Point-to-Point Packet-switching Networks. IEEE Transactions on Communications, 42(3):1096±1105, March 1994.

A Appendix

A.1 Proof of Theorem 3

c

v t v W v v

1 1 2

Proof: Let 1 and let denote the aggregate length of packets served by the server in the virtual

v v 2

time interval 1 . Then, from Lemma 2 we conclude:

X X

max

c

W v v r v v l

1 2 n 2 1

n

nQ nQ

P

r C

Since n ,

nQ

X

max

c

W v v C v v l

1 2 2 1

n

nQ v

De®ne 2 as:

P

max

l

C

n

nQ

v v t t

2 1 2 1

C C C

Then from (75), we conclude:

P

max

X

l

C

n

nQ

max

c

W v v C v t t v l

1 2 1 2 1 1

n

C C C

nQ

C t t C

2 1

b b

v t v T w t

2 2 Let 2 be such that . Also, let be random variable denoting the time taken by server to serve

packets with aggregate length w in its busy period. Then:

c

b

P t t P t T W v v t

2 2 1 1 2 2

c

P T W v v t t

1 2 2 1

P T w t t P W t t w

1 1 2

Since 2 , we get:

c

b

P t t P W t t W v v

2 2 1 2 1 2

P W t t C t t C

1 2 2 1

B e

max

b

P t t P W t t r v v l

2 2 1 2 f 2 1

From Lemma 1 we know that f . Hence, using (83) we get:

f

max

B e P W t t r v v l

f 1 2 f 2 1 f

v

From (76) (the de®nition of 2 ) we get:

P

max

l

C

n

nQ

max

P W t t r t t r r r l B e

f 1 2 f 2 1 f f f

f

C C C

P

max

l

C

n

nQ

max

r r l B e P W t t r t t r

f f f 1 2 f 2 1 f

f

C C C

A.2 Proof of Theorem 5

w w Proof: Let T be the random variable denoting the time taken by server to serve packets of aggregate length in

a busy period. From the de®nition of Exponentially Bounded Fluctuation server, we get:

P W t t C t t C B e

1 2 2 1

C

P W t t C t t B e

1 2 2 1

C C

P T w t t P W t t w

1 1 2

Since 2 , we get:

C

P T C t t t t B e

2 1 2 1

C C

k v v 2

De®ne , 1 and as in the proof of Theorem 4. Then:

j

k

c

L p Ap T W v v

SFQ 1 2

f

f

c c

W v v C C W v v

1 2 1 2

j

k

c

P T W v v P L p Ap

1 2 SFQ

f

f

C C C C C C

From (89) we get:

c

W v v C

1 2

j

k

B e P Ap L p

SFQ

f

f

C C C

c

W v v 2

Substituting the upper bound on 1 from (49), we get:

j

n=j k 1

k +n

max

X X

l l

C l

f f

j

k n

A

Ap L p P B e

SFQ

f

f

k +n

C C C C

r

f

n=0

nQn=f

j

max

X

l

l C

f

j j j

n

A

L p E AT p r P

SFQ

f f f

C C C C

nQn=f

A.3 Proof of Theorem 6

Proof: The proof is by induction on j .

Base Case: j

i+1 1 1i i+1 1

E AT p rb A p

From (62) we know:

i

i 1 ii+1 i 1 1i 1i ii+1 i

P L p E AT p br B e

i+1 1 i 1 1i 1i ii+1

P A p E AT p br

i+1 1 1i i 1 1i ni ii+1

P E AT p rb E AT p br max f g

n[11]

Hence (63) holds for j .

j m

Induction Hypothesis: Assume (63) holds for .

j m

Induction: We need to show (63) holds for .

m

l

i+1 m+1 m+1i i+1 m+1 i+1 m mi

g E AT p rb maxfA p E AT p br

mi

rb

There are two cases to consider:

m

l

i+1 m+1 i+1 m mi

A p E AT p rb

: From (99) we get:

mi

br

i+1 m+1 m+1i i+1 m+1

E AT p br A p

From (62) we know:

i

i m+1 ii+1 i m+1 m+1i m+1i ii+1 i

P L p E AT p br B e

i+1 m+1 i m+1 m+1i m+1i ii+1

P A p E AT p br

i+1 m+1 m+1i i m+1 m+1i ni ii+1

P E AT p br E AT p rb max f g

n[1m+1]

m

l

i+1 m+1 i+1 m mi

A p E AT p rb

: From (99) we get:

mi

br

m

l

i+1 m+1 m+1i i+1 m mi

E AT p br E AT p rb

mi

rb

From the induction hypothesis, we know:

i

i+1 m mi i m mi ni ii+1 i

P E AT p br E AT p br max f g B e

n[1m]

m m

l l

i m mi ni ii+1 i+1 m mi

E AT p br max f g P E AT p br

mi mi

n[1m] rb rb

m

l

i m mi i m+1 m+1i

E AT p br E AT p br

Since , using (104) we get:

mi

br

i

i+1 m+1 m+1i i m+1 m+1i ni ii+1 i

P E AT p br E AT p rb max f g B e

n[1m+1]

j m From (103), (107) and the induction hypothesis, we conclude that (63) holds for . Hence, the theorem follows.

A.4 Proof of Corollary 1

Proof: De®ne:

n+1 j n+1 j j n j j mn nn+1

D p E AT p rb E AT p rb max n K

m[1j ]

Also let:

K +1 j K j K j j mK

D p L p E AT p br max

m[1j ]

j jn1

r rb

Since b , from Theorem 6 we get:

n1

n j n1

P D p B e n K

n n1 n1

B Hence D is an Exponentially bounded random variable with parameters and [15]. Similarly from

Theorem 5, we know:

K

K +1 j K

P D p B e

K +1 j K K

p B

Hence, D is an Exponentially Bounded variable with parameters and . From [20] we know that sum

D D B B

K 1 K 1 K

of Exponentially Bounded variables 1 with parameters and is also an Exponentially

P P

n=K n=K +1

1

n j

P

B D p

n

Bounded variable with parameters and 1 . Hence, is an Exponentially

n=1 n=2

n=K

n n=1

Bounded variable. Therefore,

1

n=K n=K +1

P

X X

n=K

1

n n j

n

n=1

B e D p P

n=1 n=2

1

n=K n=K +1

P

X X

n=K

1

n n j

n

n=1

B e D p P

n=1 n=2

Now,

n=K 1 n=K n=K +1

X X X

nn+1 mn n j K j 1 j j

max f g D p L p E AT p br

m[1j ]

n=1 n=1 n=2 Hence, the corollary follows from substituting(114) in (113).

A.5 Deriving End-to-End Delay Bounds

j j j K j 1 j K j

p d L p A p L p

Let d be the end-to-end delay experienced by packet . Then where is the time

j 1 j

K A p

at which packet p leaves server and is the arrival time of the packet at the ®rst server. Substituting

K j j 1 j

p d A p

L in (64), we get:

1

n=K

P

X

n=K

1

n j 1 j j 1 j

n

n=1

B e P d E AT p br A p

n=1

P P

n=K n=K 1

mn nn+1

max f g

[1j ]

where m . The only term in (115) that depends on ¯ow behavior and

n=1 n=1

j

l

1 j 1 j j 1 j j 1 j j j

A p p br A p e E AT p br e

is unknown is E AT . Let . Ifaboundon is known, then bound

j

br

1 j j 1 j j

p br A p e

on E AT can be determined. Observe that can interpreted as the queuing delay experienced by

j j e packet p at a server with variable capacity; the capacity being the bottleneck rate for the packet in service. Hence,

can be determined by a single server queuing analysis for any ¯ow speci®cation. Speci®cally, it has been shown in [9]

j

l

j j j

r rb e e

that if a ¯ow conforms to leaky bucket with parameters , then . Substituting in (115) we

r j r get a delay bound for ¯ows conforming to leaky bucket. Delay bounds for other ¯ow speci®cations likeb Exponentially Bounded Burstiness [20] process can be similarly derived.

A.6 Proof of Theorem 7

Proof: From (66) and (37), we conclude that the cumulative length of packets of ¯ow n that arrive in the interval

t t t AP t t

2 2 n 1 2

1 and have deadline less than or equal to , denoted by , is given as:

t t d r

2 1 n n

AP t t l

n 1 2 n

l

n

j

p t

We now prove the theorem by contradiction. Let (68) not hold for packet . Also, let 0 be the beginning of the

f

j j

p t D p t t

1 2

busy period in which is served and 2 . Let be the greatest time less than during the busy period

f f

t t t t

1 1

at which a packet with deadline greater than 2 is scheduled. If such a does not exist, set . Since the

0

j

t L p EDD

packets are scheduled in the earliest deadline ®rst order, all the packets scheduled in the interval 1 arrive

f

t t t

2 2

in the interval 1 and have deadline at most . Hence, the aggregate length of packets served in the interval

P

j

+

t L p l AP t t

1 EDD max 2

is at most n . Since the server is ¯uctuation constrained, we get:

1

f nQ

P

+

AP t t l

n 2 max C

1

nQ

j

L p t

EDD 1

f

C C

Rate Regulator

Virtual Clock Guaranteed Service Queue Server

Server

SFQ Auxilary Service Queue Server

Figure 4 : Fair Airport scheduler

+

t t t

Using (116) and (67) with 2 , we get:

1

l C

max

j

+

L p t t t

EDD 1 2

1

f

C C

l C

max

t

2

C C

j j (C )

l

max

L p t p 2

This contradicts the assumption that EDD . Hence such a packet does not exist and the

f f

C C theorem follows.

B Fair Airport Scheduling Algorithm

The objective of Fair Airport (FA) scheduling algorithm is to ef®ciently achieve fairness even over variable rate links while achieving the delay guarantee of WFQ. The algorithm is inspired by and derives its name from the class of Airport scheduling algorithms proposed in [3]. In an Airport scheduling algorithm, every packet of a ¯ow on arrival joins a rate regulator for the ¯ow and an Auxiliary Service Queue (ASQ). Once a packet passes through the rate regulator, it joins a Guaranteed Service Queue (GSQ) if it has not been serviced by ASQ by then. The server is work conserving and services packets from either GSQ or ASQ but gives priority to GSQ. The scheduling algorithms for GSQ and ASQ may be different. Observe that if both GSQ and ASQ schedulers guarantee fair allocationof bandwidth, thenthe aggregate allocation of bandwidth would be fair. Furthermore, if the GSQ scheduler has the same delay guarantee as WFQ, then as ASQ only services a packet earlier than it would have been served via GSQ, the combined algorithm at the server would have the same delay guarantee as WFQ. Hence, the objective is to design: (1) a GSQ scheduler that is fair and has the same delay guarantee as WFQ and (2) ASQ scheduler that is fair. In FA scheduler (see Figure 4), we use VirtualClock and SFQ for GSQ and ASQ, respectively 8 . The complete scheduling algorithm is de®ned as follows:

1. On arrival, a packet of a ¯ow joins the rate regulator for the ¯ow and ASQ.

8

As we show in Theorem Virtual Clo ck is able to achieve fair allo cation of bandwidth of GSQ due to the rate regulator

used in FA server

j j

p L p

2. The departure time of packet from the rate controller, RC , is given as:

f f

j j

RC

L p E AT p r

RC f

f f

j j

RC

E AT p p r

where f is the expected arrival time of packet computed at the rate controller using only the

f f

j p

subsequence of packets of ¯ow f that were serviced through GSQ prior to . For simplicity of exposition, we

f

j

r r

have assumed f . f

3. The ASQ scheduler is SFQ as de®ned in Section 2. The GSQ scheduler is Virtual Clock which on arrival of

j

l

j

f

GS Q

E AT p r

a packet in GSQ, timestamps it with f and schedules the packets in increasing order of

f

r

f

j j

GS Q

E AT p r p

timestamps. f is the expected arrival time of packet computed at the GSQ by using only the

f f

j p

subsequence of packets of ¯ow f that were serviced through GSQ prior to . f 4. A packet is removed from the rate regulator when it starts service in the ASQ. 5. A packet that has become eligible in GSQ is dequeued from ASQ only after it has been serviced by the GSQ. On removal of such a packet, the start tag of the next packet in the ASQ (if such a packet exists) is set to the start tag of the packet being removed. 6. The server gives priority to GSQ over ASQ. However, it does not preempt the transmission of a packet from

ASQ.

Since Virtual Clock as well as SFQ compute timestamps/tags in O time and schedule packets in increasing

l og Q order of the timestamps/tags, the per packet computational complexity of FA is O . Though it may appear that

every packet is inserted into the priority queue of both SFQ and Virtual Clock servers, it is not the case. In fact, if

n n packets of a ¯ow arrive in the ¯ows busy period, a total of at most insertions occur in either of the priority queues. This is so because: (1) every packet that is inserted into the priority queue of the VC server is served by it,

and (2) due to rule 5 of the algorithm, if k packets of a ¯ow are inserted into SFQ priority queue during the ¯ows busy

n period, then at least k packets are served by SFQ server. Consequently, at most insertions and compuations of timestamps/tags occurs. Hence, the implementation complexity of FA is the same as that of non work-conserving dynamic priority algorithms like Jitter EDD which is lower than that of WFQ. We now show that FA is fair as well as has the same delay guarantee as WFQ in Theorems 8 and Theorem 9, respectively.

To prove Theorem 8 we ®rst derive lower and upper bounds on the service received by a ¯ow through GSQ in

GS Q AS Q

t t t t W W t t

1 2 1 2 2

Lemmas 3 and 4, respectively. Let and be the service received by ¯ow during 1

f f

from GSQ and ASQ, respectively. Let the minimum capacity of the FA server be C , i.e., the work done by the server

l

max

t t C t t l

2 2 1 max

in any busy period 1 is at least . Also, let where is the maximum length of a packet C

serviced by the server.

P

r C Q C

Lemma 3 If is the set of ¯ows served by a FA server with minimum capacity and n , then for any

nQ

t t 2

interval 1 in which the ¯ow is backlogged throughout the interval:

GS Q

max

t t r t t l W

1 2 f 2 1

f

f

j

th

p j f f t t 2

Proof: Let packet refer to the packet of ¯ow serviced by GSQ. Since ¯ow is backlogged during 1 ,

f

m

t t p 2

the maximum value of the expected arrival time of the ®rst packet that is served via GSQ in the interval 1 , , is:

f

max

l

f

GS Q m

E AT p r t

f 1

f

r

f

j

P

l

j j

f

GS Q n

p E AT p r p r C f

Since n , Virtual Clock guarantees that packet departs by . Hence, if

f f f nQ

r

f

t t 2

is the last packet served in the interval 1 , then:

max

l

f

GS Q n

E AT p r t

f 2

f

r f

m+k

P

l

k =mn1

f

RC m RC n

r r E AT p E AT p f

Since the ¯ow is backlogged, f . It has been shown in [10]

f f

k =0

r f

that:

j j

GS Q RC

E AT p r E AT p r

f f

f f

when the rate controller satis®es (120). Hence, we get:

m+k k =mn1

X

l

f

GS Q n GS Q m

E AT p r E AT p r

f f

f f

r

f

k =0

k =mn1 m+k

max

X

l

l

f f

GS Q m

t E AT p r

2 f

f

r r

f f

k =0

max

l

f

t t

2 1

r

f

P

k =mn1

GS Q

m+k

W l t t 2

Since 1 , the lemma follows.

k =0

f f

P

r C Q C

Lemma 4 If is the set of ¯ows served by a FA server with minimum capacity and n , then for any

nQ

t t 2

interval 1 in which the ¯ow is backlogged throughout the interval:

GS Q

max

W t t r t t l

1 2 f 2 1

f

f

P

j

th

r C p j f

Proof: Let packet refer to the packet of ¯ow serviced by GSQ. Since n , Virtual Clock guarantees

nQ f

j

l

j j

f

GS Q m

r p E AT p t t p

f 2

that packet departs by . Hence, the ®rst packet to be serviced within 1 , , must

f

f f

r f

be such that:

m

l

f

GS Q m

E AT p r t

f 1

f

r

f t

Since the rate regulator ensures that at all time t, the expected arrival time of the packets in GSQ is at most , we know

n

t t p 2

that last packet that is served in 1 , , is such that:

f

GS Q n

E AT p r t

f 2 f

From the de®nition of expected arrival time, we know:

m+k k =mn1

X

l

f

GS Q n GS Q m

r E AT r E AT p p

f f

f f

r

f

k =0

m+k k =mn

n

X

l l

f f

GS Q m GS Q n

r r E AT p E AT p

f f

f f

r r

f f

k =0

GS Q n GS Q m

E AT p r E AT p r f

Using the bounds on f and , we get:

f f

k =mn m+k

n m

X

l

l l

f f f

t t

2 1

r r r

f f f

k =0

P

k =mn

GS Q

m+k

l W t t 2

Since 1 ,

k =0

f f

GS Q

max

r t t l W t t

f 2 1 1 2

f f

P

Q C r C

Theorem 8 If is the set of ¯ows served by a FA server with minimum capacity and n , then for any

nQ

t t f m 2 interval 1 such that ¯ows and are backlogged during the entire interval, the difference in the service received

by two ¯ows is given as:

max

max

l

W t t W t t l

f 1 2 m 1 2 f

m

j j

r r r r

f m f m

AS Q

W t t 2

Proof: To derive a bound on 1 observe that f

Since a packet is removed from the ASQ only when it has been service either through ASQ or GSQ, whenever a ¯ow is backlogged in the system, it is also backlogged in the ASQ.

Whenever a packet is serviced from the GSQ, the start tag of the next packet in the ASQ isset to the start tag of

the packet. Hence (13) and (18) continue to hold.

t t

Since (13) holds and the ¯ow is backlogged in ASQ during interval 2 , Lemma 1 is valid for ASQ. Similarly, since

(18) holds, Lemma 2 is valid for ASQ. Hence, from Lemmas 1 and 2, we conclude:

AS Q

max max

r v t l W t t r v v l

f 2 1 1 2 f 2 1

f f

f

v v t v v t

2 1 1 where 2 and . The theorem follows from (136) and Lemmas 3 and 4.

In proving Theorem 8, we have only required the server to have minimum capacity C . Hence, it holds even if the

server capacity ¯uctuates as long as it is greater than C .

P

r C Q C

Theorem 9 If is the set of ¯ows served by a FA server with minimum capacity and n , then the

nQ

j j

p L p

departure time of packet at the server, denoted by FA , is given as:

f f

j

l

f

j j

L p E AT p r

FA f

f f

r

f j

Proof: Consider packet p . It may be served through ASQ or GSQ. Let us consider the two cases:

f

P

j

p r C

Packet is serviced through GSQ: If n , then from [6] we know that VirtualClock guarantees that

f nQ

j 9

packet p will be transmitted by :

f

j

max

l

l

f

j

GS Q

E AT p r

f

f

r C f

It has been shown in [10] that:

j j

GS Q RC

E AT p r E AT p r

f f

f f

j j

RC

E AT p r E AT p r f

when the rate controller satis®es (120). Since f , from (138) and (139) we

f f j

conclude that (137) holds for packet p .

f

j j j

RC

r p p t t E AT p

Packet is serviced through ASQ: Packet starts service from ASQ at time only if f .

f f f

j j j

l

RC

max

p t E AT p r E AT p r f

Hence, packet departs by . Since f , we conclude that (137) holds

f f f

C j

for packet p .

f

j

l

j j

f

r p E AT p

Since WFQ also guarantees that packet departs by f , the delay guarantee of FA is the

f f

r f same as WFQ. Hence, as FA has lower implementation complexity and achieves fair allocation of resources even over

variable rate servers, even though it has a larger fairness measure, it is better than WFQ.

l

9

max

Since the server do es not preempt ASQ one may exp ect that the packet delay may increase by However the term

C

l

max

in the b ound on departure time o ccurs due to the nonpreemptibility of a lower priority packet that may b e in service

C

when a higher priority packet arrives the packet in service in ASQ can b e considered to b e packet with the lowest priority in the busy p erio d of GSQ