Frame-based

Fair

Queueing

A

New

Traffic

Scheduling

Algorithm

for

Packet-Switched

Networks

Dimitrios

Stiliadis

Anujan

Varma

July

Baskin

Center

for

Computer

Engineering

Information

Sciences

University

of

California

Santa

Cruz

Santa

Cruz

CA

USA

abstract

In

this

paper

we

introduce

and

analyze

frame-based

fair

queueing

a

novel

traffic

scheduling

algorithm

for

packet-switched

networks

The

algorithm

provides

end-to-end

delay

bounds

identical

to

those

of

PGPS

-LRB-

packet-level

generalized

processor

sharing

-RRB-

without

the

complexity

of

simulating

the

fluid-model

system

in

the

background

as

required

in

PGPS

The

algorithm

is

therefore

ideally

suited

for

implementation

in

packet

switches

supporting

a

large

number

of

sessions

Implementations

of

the

algorithm

are

described

for

both

general

packet

switches

supporting

variable

packet

sizes

and

ATM

switches

supporting

fixed-size

cells

In

addition

we

prove

that

the

algorithm

is

fair

in

the

sense

that

sessions

are

not

penalized

for

excess

bandwidth

they

received

while

other

sessions

were

idle

Frame-based

fair

queueing

belongs

to

a

general

class

of

scheduling

algorithms

which

we

call

Rate-Proportional

Servers

This

class

of

algorithms

provides

the

same

end-to-end

delay

and

burstiness

bounds

as

PGPS

but

allows

more

flexibility

in

the

design

and

implementation

of

the

algorithm

We

provide

a

systematic

analysis

of

this

class

of

schedulers

and

obtain

bounds

on

their

fairness

This

research

is

supported

by

the

NSF

Young

Investigator

Award

No

Introduction

Many

future

applications

of

computer

networks

such

as

distance

education

remote

collaboration

and

teleconferencing

will

rely

on

the

ability

of

the

network

to

provide

Quality-of-Service

-LRB-

QoS

-RRB-

guarantees

These

guarantees

are

usually

in

the

form

of

bounds

on

end-to-end

delay

bandwidth

delay

jitter

-LRB-

variation

in

delay

-RRB-

packet

loss

rate

or

a

combination

of

these

parameters

Broadband

packet

networks

based

on

ATM

-LRB-

Asynchronous

Transfer

Mode

-RRB-

are

currently

enabling

the

integration

of

traffic

with

a

wide

range

of

characteristics

within

a

single

communication

network

QoS

guarantees

can

also

be

provided

in

conventional

packet

networks

by

the

use

of

proper

packet

scheduling

algorithms

in

the

packet

switches

Providing

QoS

guarantees

in

a

packet

network

requires

the

use

of

traffic

scheduling

algorithms

in

the

switches

-LRB-

or

routers

-RRB-

The

function

of

a

scheduling

algorithm

is

to

select

for

each

outgoing

link

of

the

switch

the

packet

to

be

transmitted

in

the

next

cycle

from

the

available

packets

belonging

to

the

flows

sharing

the

output

link

Implementation

of

the

algorithm

may

be

in

hardware

or

software

Because

of

the

small

size

of

the

ATM

cell

the

scheduling

algorithm

must

usually

be

implemented

in

hardware

in

an

ATM

switch

In

a

packet

network

with

larger

packet-sizes

such

as

the

current

Internet

the

algorithm

can

be

implemented

in

software

Several

service

disciplines

are

known

in

the

literature

for

bandwidth

allocation

and

transmission

scheduling

in

output-buffered

switches

In

general

schedulers

can

be

characterized

as

work-conserving

or

non-work-conserving

A

scheduler

is

work-conserving

if

the

server

is

never

idle

when

a

packet

is

buffered

in

the

system

A

non-work-conserving

server

may

remain

idle

even

if

there

are

available

packets

to

transmit

A

server

may

for

example

postpone

the

transmission

of

a

packet

when

it

expects

a

higher-priority

packet

to

arrive

soon

even

though

it

is

currently

idle

When

the

transmission

time

of

a

packet

is

short

as

is

typically

the

case

in

an

ATM

network

however

such

a

policy

is

seldom

justified

Non-work-conserving

algorithms

are

also

used

to

control

delay

jitter

by

delaying

packets

that

arrive

early

-LSB-

-RSB-

Work-conserving

servers

always

have

lower

average

delays

than

non-work-conserving

servers

Examples

of

work-conserving

schedulers

include

Generalized

Processor

Sharing

-LRB-

GPS

-RRB-

-LSB-

-RSB-

Weighted

Fair

Queueing

-LSB-

-RSB-

VirtualClock

-LSB-

-RSB-

Delay-Earliest-DueDate

-LRB-

Delay-EDD

-RRB-

-LSB-

-RSB-

Weighted

Round

Robin

-LSB-

-RSB-

and

Deficit

Round

Robin

-LSB-

-RSB-

On

the

other

hand

Hierarchical-Round-Robin

-LRB-

HRR

-RRB-

-LSB-

-RSB-

Stop-and-Go

queueing

-LSB-

-RSB-

and

Jitter-Earliest-DueDate

-LSB-

-RSB-

are

non-work-conserving

schedulers

Another

classification

of

schedulers

is

based

on

their

internal

structure

-LSB-

-RSB-

According

to

this

classification

there

are

two

main

architectures

sorted-priority

and

frame-based

In

a

sorted-priority

scheduler

there

is

a

global

variable

usually

referred

to

as

the

virtual

time

associated

with

each

outgoing

link

of

the

switch

Each

time

a

packet

arrives

or

gets

serviced

this

variable

is

updated

A

timestamp

computed

as

a

function

of

this

variable

is

associated

with

each

packet

in

the

system

Packets

are

sorted

based

on

their

timestamps

and

are

transmitted

in

that

order

VirtualClock

Weighted

Fair

Queueing

and

Delay-EDD

follow

this

architecture

Two

factors

determine

the

implementation

complexity

of

all

sorted-priority

algorithms

First

the

complexity

of

updating

the

priority

list

and

selecting

the

packet

with

the

highest

priority

is

at

least

O

-LRB-

log

V

-RRB-

where

V

is

the

number

of

connections

sharing

the

outgoing

link

The

second

is

the

complexity

of

calculating

the

timestamp

associated

with

each

packet

this

factor

depends

heavily

on

the

algorithm

For

example

maintaining

the

virtual

time

in

Weighted

Fair

Queueing

requires

the

processing

of

a

maximum

of

V

events

during

the

transmission

of

a

single

packet

whereas

timestamps

in

VirtualClock

can

be

calculated

in

O

-LRB-

-RRB-

time

In

a

frame-based

scheduler

time

is

split

into

frames

of

fixed

or

variable

length

Reservations

of

sessions

are

made

in

terms

of

the

maximum

amount

of

traffic

the

session

is

allowed

to

transmit

during

a

frame

period

Hierarchical

Round

Robin

and

Stop-and-Go

Queueing

are

frame-based

schedulers

that

use

a

constant

frame

size

As

a

result

the

server

may

remain

idle

if

sessions

transmit

less

traffic

than

their

reservations

over

the

duration

of

a

frame

In

contrast

Weighted

Round

Robin

and

Deficit

Round

Robin

schedulers

allow

the

frame

size

to

vary

within

a

maximum

Thus

if

the

traffic

from

a

session

is

less

than

its

reservation

a

new

frame

can

be

started

early

Therefore

both

of

these

schedulers

are

work-conserving

A

traffic

scheduling

algorithm

must

possess

several

desirable

features

to

be

useful

in

practice

Isolation

of

flows

The

algorithm

must

isolate

an

end-to-end

session

from

the

undesirable

effects

of

other

-LRB-

possibly

misbehaving

-RRB-

sessions

That

is

the

algorithm

must

be

able

to

maintain

the

QoS

guarantees

for

a

session

even

in

the

presence

of

other

misbehaving

flows

Note

that

isolation

is

necessary

even

when

policing

mechanisms

are

used

to

shape

the

flows

at

the

entry

point

of

the

network

as

the

flows

may

accumulate

burstiness

within

the

network

Low

end-to-end

delays

The

algorithm

must

provide

end-to-end

delay

guarantees

for

individual

sessions

In

particular

it

is

desirable

that

the

end-to-end

delay

of

a

session

depends

only

on

its

bandwidth

reservation

and

is

independent

of

the

behavior

of

other

sessions

Utilization

The

algorithm

must

utilize

the

link

bandwidth

efficiently

Fairness

The

available

link

bandwidth

must

be

divided

among

the

connections

sharing

the

link

in

a

fair

manner

Two

algorithms

with

the

same

maximum

delay

guarantee

may

have

significantly

different

fairness

characteristics

An

unfair

scheduling

algorithm

may

offer

widely

different

service

rates

to

two

connections

with

the

same

reserved

rate

over

short

intervals

Simplicity

of

implementation

The

scheduling

algorithm

must

have

a

simple

implementation

In

an

ATM

network

the

available

time

for

completing

a

scheduling

decision

is

very

short

At

SONET

speeds

the

transmission

time

of

an

cell

is

less

than

s.

For

higher

speeds

the

available

time

is

even

less

This

forces

a

hardware

implementation

In

packet

networks

with

larger

packet

sizes

and/or

lower

speeds

a

software

implementation

may

be

adequate

but

scheduling

decisions

must

still

be

made

at

a

rate

close

to

the

arrival

rate

of

packets

Scalability

The

algorithm

must

perform

well

in

switches

with

a

large

number

of

connections

as

well

as

over

a

wide

range

of

link

speeds

Based

only

on

the

end-to-end

delay

bounds

and

fairness

properties

Generalized-ProcessorSharing

-LRB-

GPS

-RRB-

is

an

ideal

scheduling

discipline

-LSB-

-RSB-

GPS

multiplexing

is

defined

with

respect

to

a

fluid-model

where

packets

are

considered

to

be

infinitely

divisible

The

share

of

bandwidth

reserved

by

session

i

is

represented

by

a

real

number

OEi

Let

B

-LRB-

o

t

-RRB-

be

the

set

of

connections

that

are

backlogged

in

the

interval

-LRB-

o

t

-RSB-

If

r

is

the

rate

of

the

server

the

service

Wi

-LRB-

o

t

-RRB-

offered

to

a

connection

i

that

belongs

in

B

-LRB-

o

t

-RRB-

is

proportional

to

OEi

That

is

Wi

-LRB-

o

t

-RRB-

OEi

P

-LRB-

o

t

-RRB-

OEj

r

-LRB-

t

o

-RRB-

The

minimum

service

that

a

connection

can

receive

in

any

interval

of

time

is

OEi

PVj

OEj

r

-LRB-

t

o

-RRB-

where

V

is

the

maximum

number

of

connections

that

can

be

backlogged

in

the

server

at

the

same

time

Thus

GPS

serves

each

backlogged

session

with

a

minimum

rate

equal

to

its

reserved

rate

at

each

instant

in

addition

the

excess

bandwidth

available

from

sessions

not

using

their

reservations

is

distributed

among

all

the

backlogged

connections

at

each

instant

in

proportion

to

their

individual

reservations

This

results

in

perfect

isolation

ideal

fairness

and

low

end-to-end

session

delays

A

packet-by-packet

version

of

the

algorithm

known

as

PGPS

or

Weighted

Fair

Queueing

was

defined

in

terms

of

a

virtual

clock

that

is

increased

with

rate

equal

to

P

-LRB-

o

t

-RRB-

OEi

A

GPS

system

is

simulated

in

parallel

with

the

packet-by-packet

system

in

order

to

identify

the

set

of

connections

that

are

backlogged

at

each

time

The

virtual

time

v

-LRB-

t

-RRB-

is

a

piecewise

linear

function

of

the

real

time

t

and

its

slope

changes

depending

on

the

number

of

busy

sessions

and

their

service

rates

At

the

arrival

of

a

new

packet

the

virtual

time

must

be

calculated

first

Then

the

time-stamp

TSi

associated

with

the

kth

packet

of

virtual

channel

i

is

calculated

as

TSki

max

-LRB-

TSk

i

v

-LRB-

t

-RRB-

-RRB-

L

OEi

where

L

is

the

size

of

the

kth

packet

A

maximum

of

V

events

may

be

triggered

in

the

GPS

simulator

during

the

transmission

of

one

packet

Thus

the

process

overhead

for

completing

a

scheduling

decision

is

O

-LRB-

V

-RRB-

In

order

to

reduce

this

complexity

an

approximate

implementation

of

GPS

multiplexing

was

proposed

in

-LSB-

-RSB-

and

was

later

analyzed

in

-LSB-

-RSB-

under

the

name

Self-Clocked

Fair

Queueing

-LRB-

SCFQ

-RRB-

In

this

implementation

the

timestamp

of

an

arriving

packet

is

computed

based

on

the

packet

currently

in

service

Thus

if

TScur

denotes

the

timestamp

of

the

packet

in

service

and

if

the

new

packet

is

the

kth

packet

of

session

i

the

timestamp

of

the

new

packet

is

calculated

as

TSki

max

-LRB-

TScur

TSk

i

-RRB-

L

OEi

This

approach

reduces

the

complexity

of

the

algorithm

greatly

However

the

price

paid

is

the

reduced

level

of

isolation

among

the

sessions

causing

the

end-to-end

delay

bounds

to

grow

linearly

with

the

number

of

sessions

that

share

the

outgoing

link

-LSB-

-RSB-

Thus

the

worst-case

delay

of

a

session

can

no

longer

be

controlled

just

by

controlling

its

reservation

as

is

possible

in

PGPS

The

higher

end-to-end

delay

also

affects

the

burstiness

of

sessions

within

the

network

increasing

the

buffer

requirements

The

VirtualClock

scheduling

algorithm

provides

the

same

end-to-end

delay

and

burstiness

bounds

as

PGPS

with

a

simple

timestamp

computation

algorithm

but

the

price

paid

is

in

terms

of

fairness

A

backlogged

session

in

the

VirtualClock

server

can

be

starved

for

an

arbitrary

period

of

time

as

a

result

of

excess

bandwidth

it

received

from

the

server

when

other

sessions

were

idle

-LSB-

-RSB-

A

scheduling

algorithm

that

combines

the

delay

and

burstiness

behavior

of

PGPS

simple

timestamp

computations

and

bounded

unfairness

has

so

far

remained

elusive

Our

objective

in

this

paper

is

to

develop

an

analytical

framework

for

the

design

of

such

algorithms

and

in

particular

present

a

novel

scheduling

algorithm

based

on

this

framework

called

Frame-based

Fair

Queueing

Frame-based

fair

queueing

-LRB-

FFQ

-RRB-

is

a

sorted-priority

algorithm

and

therefore

uses

timestamps

to

order

packet

transmissions

However

it

requires

only

O

-LRB-

-RRB-

time

for

the

timestamp

calculation

independent

of

the

number

of

sessions

sharing

the

server

At

the

same

time

the

end-to-end

delay

guarantees

of

FFQ

are

identical

to

those

obtained

from

a

corresponding

PGPS

server

In

addition

the

server

is

fair

in

the

sense

that

connections

are

always

served

proportionally

to

their

reservations

when

they

are

backlogged

and

are

not

penalized

for

an

arbitrary

amount

of

time

for

bandwidth

they

received

while

the

system

was

empty

The

algorithm

uses

a

framing

approach

similar

to

that

used

in

frame-based

schedulers

to

update

the

state

of

the

system

the

transmission

of

packets

however

is

still

based

on

timestamps

The

rest

of

this

paper

is

organized

as

follows

In

Section

we

present

some

definitions

and

a

brief

summary

of

the

concept

of

Latency-Rate

Servers

-LRB-

or

LR-servers

-RRB-

-LSB-

-RSB-

LR-servers

provide

a

general

framework

for

modeling

the

worst-case

behavior

of

scheduling

algorithms

All

work-conserving

servers

known

to

us

can

be

modeled

using

this

framework

In

Section

we

define

a

class

of

scheduling

algorithms

called

Rate-Proportional

Servers

which

provide

the

same

worst-case

delay

behavior

as

GPS

but

allow

the

design

of

algorithms

with

a

wide

range

of

fairness

characteristics

We

derive

bounds

on

the

end-to-end

delay

and

burstiness

in

a

network

of

rateproportional

servers

and

analyze

their

fairness

behavior

In

Section

we

define

the

frame-based

fair

queueing

algorithm

and

show

that

it

is

a

rate-proportional

server

The

basic

algorithm

is

defined

using

the

fluid

model

but

its

extension

to

the

packet-level

version

is

straightforward

In

Section

we

present

two

implementation

of

the

frame-based

fair

queueing

algorithm

the

first

for

a

general

packet

network

with

variable-size

packets

and

the

second

for

ATM

networks

with

fixed-size

cells

The

latter

takes

into

account

the

constraints

of

a

hardware

implementation

Finally

some

concluding

remarks

are

presented

in

Section

Appendix

A

contains

the

proofs

of

many

lemmas

and

theorems

while

Appendix

B

provides

some

results

from

simulations

of

the

FFQ

algorithm

Preliminaries

We

assume

a

packet

switch

where

a

set

of

V

connections

share

a

common

output

link

The

terms

connection

flow

and

session

will

be

used

synonymously

We

denote

with

aei

the

rate

allocated

to

connection

i

We

assume

that

the

servers

are

non-cut-through

devices

Let

Ai

-LRB-

o

t

-RRB-

denote

the

arrivals

from

session

i

during

the

interval

-LRB-

o

t

-RSB-

and

Wi

-LRB-

o

t

-RRB-

the

amount

of

service

received

by

session

i

during

the

same

interval

In

a

system

based

on

the

fluid

model

both

Ai

-LRB-

o

t

-RRB-

and

Wi

-LRB-

o

t

-RRB-

are

continuous

functions

of

t.

However

in

the

packet-by-packet

model

we

assume

that

Ai

-LRB-

o

t

-RRB-

increases

only

when

the

last

bit

of

a

packet

is

received

by

the

server

likewise

Wi

-LRB-

o

t

-RRB-

is

increased

only

when

the

last

bit

of

the

packet

in

service

leaves

the

server

Thus

the

fluid

model

may

be

viewed

as

a

special

case

of

the

packet-by-packet

model

with

infinitesimally

small

packets

Figure

Intervals

-LRB-

-RSB-

and

-LRB-

-RSB-

are

two

different

busy

periods

Definition

A

system

busy

period

is

a

maximal

interval

of

time

during

which

the

server

is

never

idle

During

a

system

busy

period

the

server

is

always

transmitting

packets

Definition

A

backlogged

period

for

session

i

is

any

period

of

time

during

which

packets

belonging

to

that

session

are

continuously

queued

in

the

system

Let

Qi

-LRB-

t

-RRB-

represent

the

amount

of

session

i

traffic

queued

in

the

server

at

time

t

that

is

Qi

-LRB-

t

-RRB-

Ai

-LRB-

t

-RRB-

Wi

-LRB-

t

-RRB-

A

connection

is

backlogged

at

time

t

if

Qi

-LRB-

t

-RRB-

Definition

A

session

i

busy

period

is

a

maximal

interval

of

time

-LRB-

-RSB-

such

that

for

any

time

t

-LRB-

-RSB-

packets

of

connection

i

arrive

with

rate

greater

than

or

equal

to

aei

or

Ai

-LRB-

t

-RRB-

aei

-LRB-

t

-RRB-

A

session

busy

period

is

the

maximal

interval

of

time

during

which

if

the

session

were

serviced

with

exactly

the

guaranteed

rate

it

would

be

remain

continuously

backlogged

-LRB-

Figure

-RRB-

Multiple

session-i

busy

periods

may

appear

during

a

system

busy

period

The

session

busy

period

is

defined

only

in

terms

of

the

arrival

function

and

the

allocated

rate

It

is

important

to

realize

the

basic

distinction

between

a

session

backlogged

period

and

a

session

busy

period

The

latter

is

defined

with

respect

to

a

hypothetical

system

where

a

backlogged

connection

i

is

serviced

at

a

constant

rate

aei

while

the

former

is

based

on

the

actual

system

where

the

instantaneous

service

rate

varies

according

to

the

number

of

active

connections

and

their

service

rates

Thus

a

busy

period

may

contain

intervals

during

which

the

actual

backlog

of

session

i

traffic

in

the

system

is

zero

this

occurs

when

the

session

receives

an

instantaneous

service

rate

of

more

than

aei

during

the

busy

period

For

a

given

session-i

backlogged

period

the

corresponding

busy

period

can

be

longer

In

addition

if

-LRB-

-RSB-

is

a

busy

period

for

session

i

multiple

backlogged

periods

may

occur

in

the

actual

system

during

the

interval

-LRB-

-RSB-

The

beginning

of

a

busy

period

is

always

caused

by

the

arrival

of

a

packet

into

the

system

Since

we

are

interested

in

a

worst-case

analysis

of

the

system

the

session

busy

period

provides

us

a

convenient

means

to

bound

the

queueing

delays

within

the

system

In

-LSB-

-RSB-

we

introduced

a

general

model

for

traffic

scheduling

algorithms

called

Latency-Rate

-LRB-

LR

-RRB-

servers

Any

server

in

this

class

is

characterized

by

two

parameters

latency

i

and

minimum

allocated

rate

aei

Let

us

assume

that

the

jth

busy

period

of

connection

i

starts

at

time

o

We

denote

by

WSi

j

-LRB-

o

t

-RRB-

the

total

service

provided

to

the

packets

of

the

connection

that

arrived

after

time

o

and

until

time

t

by

server

S.

Notice

that

the

total

service

offered

to

connection

i

in

this

interval

WSi

-LRB-

o

t

-RRB-

may

actually

be

more

than

WSi

j

-LRB-

o

t

-RRB-

since

some

packets

from

a

previous

busy

period

that

are

still

queued

in

the

system

may

be

serviced

as

well

Definition

A

server

S

belongs

in

the

class

LR

if

and

only

if

for

all

times

t

after

time

o

that

the

j-th

busy

period

started

and

until

the

packets

that

arrived

during

this

period

are

serviced

WSi

j

-LRB-

o

t

-RRB-

max

-LRB-

aei

-LRB-

t

o

Si

-RRB-

-RRB-

Si

is

the

minimum

non-negative

number

that

can

satisfy

the

above

inequality

The

right-hand

side

of

the

above

equation

defines

an

envelope

to

bound

the

minimum

service

offered

to

session

i

during

a

busy

period

It

is

easy

to

observe

that

the

latency

Si

represents

the

worst-case

delay

seen

by

a

session-i

packet

arriving

into

an

empty

queue

For

a

fluid-model

server

this

is

the

worst-case

delay

until

the

first

bit

of

the

packet

is

transmitted

for

a

packet-by-packet

server

Si

denotes

the

maximum

delay

before

the

last

bit

of

the

packet

is

serviced

The

maximum

delay

through

a

network

of

LR-servers

can

be

computed

from

the

knowledge

of

the

latencies

of

the

individual

servers

and

the

traffic

model

Thus

the

theory

of

LR-servers

allows

us

to

determine

tight

upper-bounds

on

end-to-end

delays

in

a

network

of

servers

where

the

servers

on

a

path

may

not

all

use

the

same

scheduling

algorithm

The

function

WSi

j

-LRB-

o

t

-RRB-

may

be

a

step

function

in

a

packet-by-packet

scheduler

As

in

the

case

of

Wi

-LRB-

o

t

-RRB-

we

update

WSi

j

-LRB-

o

t

-RRB-

only

when

the

last

bit

of

a

packet

has

been

serviced

Only

in

the

case

of

a

fluid-server

packets

can

be

arbitrarily

small

and

thus

WSi

j

-LRB-

o

t

-RRB-

may

be

continuous

To

determine

end-to-end

delay

bounds

we

assume

that

traffic

from

session

i

at

the

source

is

leaky-bucket

shaped

-LSB-

-RSB-

That

is

Ai

-LRB-

o

t

-RRB-

oei

aei

-LRB-

t

o

-RRB-

during

any

time

interval

-LRB-

o

t

-RSB-

Also

we

assume

that

session

i

is

allocated

a

minimum

rate

of

aei

in

the

network

We

state

without

proof

the

following

key

result

from

-LSB-

-RSB-

Theorem

The

maximum

delay

DKi

and

the

maximum

backlog

QKi

of

session

i

after

the

Kth

node

in

an

arbitrary

network

of

LR-servers

are

bounded

as

DKi

oei

aei

K

X

j

-LRB-

Sj

-RRB-

i

QKi

oei

aei

K

X

j

-LRB-

Sj

-RRB-

i

where

-LRB-

Sj

-RRB-

i

is

the

latency

of

the

jth

server

on

the

path

of

the

session

Server

Latency

Fairness

Complexity

GPS

PGPS

Liaei

Lmax

r

max

-LRB-

Liaei

Ci

Ljaej

Cj

Lmax

aej

Liaei

Lmax

aei

Ljaej

-RRB-

where

Ci

min

-LRB-

-LRB-

V

-RRB-

Lmax

aei

max

n

V

-LRB-

Ln

aen

-RRB-

-RRB-

O

-LRB-

V

-RRB-

SCFQ

Liaei

Lmax

r

-LRB-

V

-RRB-

Liaei

Ljaej

O

-LRB-

log

V

-RRB-

VirtualClock

Liaei

Lmax

r

O

-LRB-

log

V

-RRB-

Deficit

Round

Robin

-LRB-

OEi

-RRB-

r

O

-LRB-

-RRB-

Weighted

Round

Robin

-LRB-

F?OEi

Lc

-RRB-

r

Fr

O

-LRB-

-RRB-

Table

Latency

fairness

and

implementation

complexity

of

several

work-conserving

servers

Li

is

the

maximum

packet

size

of

session

i

and

Lmax

the

maximum

packet

size

among

all

the

sessions

Ci

is

the

maximum

normalized

service

that

a

session

may

receive

in

a

PGPS

server

in

excess

of

that

in

the

GPS

server

In

weighted

round-robin

and

deficit

round-robin

F

is

the

frame

size

and

OEi

is

the

amount

of

traffic

in

the

frame

allocated

to

session

i.

Lc

is

the

size

of

the

fixed

packet

-LRB-

cell

-RRB-

in

weighted

round-robin

This

theorem

allows

us

to

calculate

bounds

on

end-to-end

delays

and

buffer

requirements

for

an

arbitrary

topology

network

where

the

only

constraint

is

that

individual

switches

use

scheduling

algorithms

belonging

to

the

class

LR

Furthermore

all

known

work-conserving

schedulers

such

as

GPS

PGPS

Weighted

Round

Robin

Self-Clocked

Fair

Queueing

VirtualClock

and

Deficit-Round-Robin

have

been

shown

to

be

LR-servers

-LSB-

-RSB-

In

Table

we

summarize

the

latencies

of

many

well-known

work-conserving

schedulers

along

with

bounds

on

their

fairness

and

implementation

complexity

The

fairness

parameter

in

the

table

is

the

maximum

difference

in

normalized

service

offered

by

the

scheduler

to

two

connections

over

any

interval

during

which

both

connections

are

continuously

backlogged

The

implementation

complexity

is

at

least

O

-LRB-

V

-RRB-

for

all

sorted-priority

schedulers

The

packet-by-packet

approximation

of

GPS

-LRB-

PGPS

-RRB-

has

the

lowest

latency

among

all

the

packet-by-packet

servers

thus

from

Theorem

PGPS

has

the

lowest

bounds

on

end-to-end

delay

and

buffer

requirements

However

PGPS

also

has

the

highest

implementation

complexity

VirtualClock

has

the

same

latency

as

PGPS

but

is

not

a

fair

algorithm

-LSB-

-RSB-

Notice

however

that

of

the

other

algorithms

suffers

from

such

a

high

level

of

unfairness

In

SCFQ

as

well

as

the

round-robin

schedulers

latency

is

a

function

of

the

number

of

connections

that

share

the

output

link

In

a

broadband

network

the

resulting

end-to-end

delay

bounds

may

be

prohibitively

large

The

GPS

scheduler

provides

ideal

fairness

by

offering

the

same

normalized

service

to

all

backlogged

connections

at

every

instant

of

time

Thus

if

we

represent

the

total

amount

of

service

received

by

each

session

by

a

function

then

these

functions

can

be

seen

to

grow

at

the

same

rate

for

each

backlogged

session

Golestani

-LSB-

-RSB-

introduced

such

a

function

and

called

it

virtual

time

Virtual

time

of

a

backlogged

session

is

a

function

whose

rate

of

growth

at

each

instant

is

exactly

the

rate

of

service

provided

to

it

by

the

scheduler

at

that

instant

Similarly

we

can

define

a

global

virtual-time

function

that

increases

at

the

rate

of

the

total

service

performed

by

the

scheduler

at

each

instant

during

a

server-busy

period

In

a

GPS

scheduler

the

virtual

times

of

all

backlogged

connections

are

identical

at

every

instant

and

is

equal

to

the

global

virtual

time

This

is

achieved

by

setting

the

virtual

time

of

a

connection

to

the

global

virtual

time

when

it

becomes

backlogged

and

then

increasing

the

former

at

the

rate

of

the

instantaneous

normalized

service

received

by

the

connection

during

the

backlogged

period

This

allows

an

idle

connection

to

receive

service

immediately

once

it

becomes

backlogged

resulting

in

zero

latency

We

introduce

such

a

function

to

represent

the

state

of

each

connection

in

a

scheduler

and

call

it

potential

The

potential

of

a

connection

is

a

non-decreasing

function

of

time

during

a

systembusy

period

When

connection

i

is

backlogged

its

potential

increases

exactly

by

the

normalized

service

it

received

That

is

if

Pi

-LRB-

t

-RRB-

denotes

the

potential

of

connection

i

at

time

t

then

during

any

interval

-LRB-

o

t

-RSB-

within

a

backlogged

period

for

session

i

Pi

-LRB-

t

-RRB-

Pi

-LRB-

o

-RRB-

Wi

-LRB-

o

t

-RRB-

aei

Note

that

the

potentials

of

all

connections

can

be

initialized

to

zero

at

the

beginning

of

a

systembusy

period

since

all

state

information

can

be

reset

when

the

system

becomes

idle

From

the

above

definition

of

potentials

it

is

clear

that

a

fair

algorithm

must

attempt

to

increase

the

potentials

of

all

backlogged

connections

at

the

same

rate

the

rate

of

increase

of

the

system

potential

Thus

the

basic

objective

is

to

equalize

the

potential

of

each

connection

Sorted-priority

schedulers

such

as

GPS

PGPS

SCFQ

and

VirtualClock

all

attempt

to

achieve

this

objective

However

in

our

definition

of

potential

we

did

not

specify

how

the

potential

of

a

connection

is

updated

when

it

is

idle

except

that

the

potential

is

non-decreasing

Scheduling

algorithms

differ

in

the

way

they

update

the

potentials

of

idle

connections

Ideally

during

every

time

interval

that

a

connection

i

is

not

backlogged

its

potential

must

increase

by

the

normalized

service

that

the

connection

could

receive

if

it

were

backlogged

We

will

call

this

service

the

missed

service

of

connection

i

denoted

by

Si

-LRB-

-RRB-

If

the

potential

of

an

idle

connection

is

increased

by

the

service

it

missed

it

is

easy

to

see

that

when

the

connection

becomes

busy

again

its

potential

will

be

identical

to

that

of

other

backlogged

connections

in

the

system

allowing

it

to

receive

service

immediately

One

way

to

update

the

potential

of

a

connection

when

it

becomes

backlogged

is

to

define

a

system

potential

that

keeps

track

of

the

progress

of

the

total

work

done

by

the

scheduler

The

system

potential

P

-LRB-

t

-RRB-

is

a

non-decreasing

function

of

time

When

an

idle

session

i

becomes

backlogged

at

time

t

its

potential

Pi

-LRB-

t

-RRB-

can

be

set

to

P

-LRB-

t

-RRB-

to

account

for

the

service

it

missed

Schedulers

use

different

functions

to

maintain

the

system

potential

giving

rise

to

widely

different

delay

and

fairness-behaviors

In

general

the

system

potential

at

time

t

can

be

defined

as

a

non-decreasing

function

of

the

potentials

of

the

individual

connections

before

time

t

and

the

real

time

t.

Figure

Evolution

of

the

potential

and

offered

service

for

two

connections

in

the

GPS

multiplexer

P

-LRB-

t

-RRB-

F

-LRB-

-LRB-

t

-RRB-

-LRB-

t

-RRB-

PV

-LRB-

t

-RRB-

t

-RRB-

-LRB-

-RRB-

For

example

the

GPS

server

initializes

the

potential

of

newly

backlogged

connection

to

that

of

a

connection

currently

backlogged

in

the

system

That

is

P

-LRB-

t

-RRB-

Pi

-LRB-

t

-RRB-

for

any

i

B

-LRB-

t

-RRB-

where

B

-LRB-

t

-RRB-

is

the

set

of

backlogged

connections

at

time

t

The

VirtualClock

scheduler

on

the

other

hand

initializes

the

potential

of

a

connection

to

the

real

time

when

it

becomes

backlogged

so

that

P

-LRB-

-RRB-

We

will

later

show

how

the

choice

of

the

function

P

-LRB-

t

-RRB-

influences

the

delay

and

fairness

behavior

of

the

scheduler

The

concept

of

potential

is

illustrated

with

respect

to

a

GPS

scheduler

in

Figure

Let

us

assume

that

only

two

connections

with

rates

are

continuously

serviced

for

the

interval

of

time

-LRB-

-RSB-

By

the

definition

of

the

GPS

multiplexer

they

are

serviced

with

rates

proportional

to

the

reserved

and

therefore

their

potentials

increase

by

exactly

the

same

amount

During

the

interval

-LRB-

-RSB-

no

traffic

arrives

for

connection

and

it

is

thus

receiving

no

service

Connection

is

exclusively

serviced

during

this

interval

and

its

potential

is

increasing

by

the

normalized

service

it

receives

Traffic

from

connection

arrives

at

the

server

again

at

time

and

the

two

connections

are

again

serviced

proportional

to

their

reservations

Since

connection

was

absent

from

the

system

during

the

interval

-LRB-

-RSB-

it

lost

some

service

compared

to

the

other

connection

that

was

busy

The

service

it

lost

is

equal

to

the

service

that

the

other

connection

received

during

the

same

interval

Connection

will

never

receive

this

service

We

therefore

see

that

during

the

interval

-LRB-

-RSB-

the

potential

of

connection

should

increase

by

exactly

the

same

amount

as

that

of

connection

although

it

is

not

in

the

system

Thus

when

connection

becomes

backlogged

again

the

potential

of

the

two

connections

will

be

equal

and

they

will

be

serviced

proportional

to

their

requests

If

we

Figure

Evolution

of

the

potential

and

offered

service

for

two

connections

in

the

SCFQ

multiplexer

take

into

account

this

definition

of

the

potential

the

scheduling

algorithm

can

be

defined

as

the

process

that

tries

to

equalize

the

potential

of

all

backlogged

connections

and

adjusts

the

potential

of

the

connections

when

they

are

not

in

the

system

The

utility

of

the

system

potential

function

P

-LRB-

t

-RRB-

is

in

estimating

the

amount

of

service

missed

by

a

connection

while

it

was

idle

In

an

ideal

server

like

GPS

the

system

potential

is

always

equal

to

the

potential

of

the

connections

that

are

currently

backlogged

and

are

thus

receiving

service

However

this

approach

requires

that

all

connections

can

receive

service

at

the

same

time

In

a

packet-by-packet

scheduler

we

need

to

relax

this

constraint

since

only

one

connection

can

be

serviced

at

a

time

In

the

next

section

we

will

formulate

the

necessary

conditions

that

the

system

potential

function

must

satisfy

in

order

for

the

server

to

have

zero

latency

The

self-clocked

fair

queueing

-LRB-

SCFQ

-RRB-

algorithm

is

a

self-contained

approach

to

estimate

the

system

potential

function

The

potential

of

the

system

is

estimated

by

the

potential

of

the

connection

that

is

currently

being

serviced

Packets

are

transmitted

in

increasing

order

of

their

finishing

potential

Consider

again

the

example

we

used

earlier

to

present

the

evolution

of

the

potential

function

in

a

GPS

server

Assume

a

fluid-model

server

based

on

the

SCFQ

algorithm

The

evolution

of

the

potentials

of

the

two

connections

is

shown

in

Figure

The

objective

of

the

algorithm

is

to

service

the

backlogged

connections

in

such

a

way

that

their

potentials

will

be

equalized

Therefore

if

a

connection

has

a

lower

potential

than

others

it

will

be

exclusively

serviced

until

its

potential

catches

up

with

the

potentials

of

others

In

Figure

connection

becomes

backlogged

again

at

time

and

is

assigned

a

potential

equal

to

the

finishing

potential

of

the

packet

being

serviced

-LRB-

-RRB-

Thus

connection

will

receive

no

service

until

time

and

will

be

be

serviced

at

a

rate

proportional

to

its

reservation

after

This

behavior

is

different

from

that

in

GPS

where

an

idle

connection

starts

to

receive

service

immediately

when

it

becomes

backlogged

The

above

example

illustrates

that

if

the

potential

of

a

newly

backlogged

connection

is

estimated

higher

than

the

potential

of

the

connections

currently

being

serviced

the

former

may

have

to

wait

for

one

packet

to

be

transmitted

from

each

of

the

other

connections

before

it

can

be

serviced

This

results

in

a

latency

that

is

proportional

to

the

number

of

active

connections

Thus

since

the

potential

of

a

newly

backlogged

connection

is

set

to

the

system

potential

the

system

potential

should

not

be

allowed

to

exceed

the

potential

of

backlogged

connections

to

achieve

zero

latency

in

a

fluid

server

Although

we

have

used

a

fluid

server

to

illustrate

this

point

the

concept

applies

to

a

packet-by-packet

server

as

well

In

the

next

section

we

formalize

these

intuitive

results

and

define

a

class

of

schedulers

to

achieve

low

latency

Rate-Proportional

Servers

We

now

use

the

concept

of

potential

introduced

in

the

last

section

to

define

a

general

class

of

schedulers

which

we

call

Rate-Proportional

Servers

-LRB-

RPS

-RRB-

We

will

first

define

these

schedules

based

on

the

fluid

model

and

later

extend

the

definition

to

the

packet-by-packet

version

These

schedulers

are

characterized

by

their

service

discipline

which

adjusts

the

instantaneous

service

rate

to

individual

backlogged

connections

so

as

to

equalize

their

potentials

In

addition

the

definition

also

requires

that

the

system

potential

P

-LRB-

t

-RRB-

be

maintained

at

or

below

the

potential

of

any

connection

backlogged

at

time

t

at

every

instant

of

time

the

server

is

busy

This

ensures

that

a

newly

backlogged

connection

acquires

a

starting

potential

not

higher

that

of

any

other

connection

currently

backlogged

in

the

system

enabling

it

to

receive

service

immediately

Thus

a

rate-proportional

server

is

a

zero-latency

server

However

beyond

this

constraint

we

do

not

define

exactly

how

the

system

potential

function

P

-LRB-

t

-RRB-

is

synthesized

giving

rise

to

a

range

of

possible

scheduling

algorithms

in

this

class

For

example

GPS

and

VirtualClock

are

rate-proportional

servers

but

their

system-potential

functions

are

quite

different

Self-clocked

fair

queueing

on

the

other

hand

is

not

a

rate-proportional

server

since

it

does

not

meet

the

constraint

on

the

systempotential

function

We

can

now

define

the

RPS

class

of

scheduler

formally

We

denote

the

set

of

backlogged

connections

at

time

t

by

B

-LRB-

t

-RRB-

Definition

A

rate

proportional

server

has

the

following

properties

Rate

aei

is

allocated

to

connection

i

and

VX

i

aei

r

where

r

is

the

total

service

rate

of

the

server

A

potential

function

Pi

-LRB-

t

-RRB-

is

associated

with

each

connection

i

in

the

system

describing

the

state

of

the

connection

at

time

t

This

function

must

satisfy

the

following

properties

-LRB-

a

-RRB-

When

a

connection

is

not

backlogged

its

potential

remains

constant

-LRB-

b

-RRB-

If

a

connection

becomes

backlogged

at

time

o

then

Pi

-LRB-

o

-RRB-

max

-LRB-

Pi

-LRB-

o

-RRB-

P

-LRB-

o

-RRB-

-RRB-

-LRB-

-RRB-

-LRB-

c

-RRB-

For

every

time

t

o

that

the

connection

remains

backlogged

the

potential

function

of

the

connection

is

increased

by

the

normalized

serviced

offered

to

that

connection

during

the

interval

-LRB-

o

t

-RSB-

That

is

Pi

-LRB-

t

-RRB-

Pi

-LRB-

o

-RRB-

Wi

-LRB-

o

t

-RRB-

aei

-LRB-

-RRB-

The

system

potential

function

P

-LRB-

t

-RRB-

describes

the

state

of

the

system

at

time

t.

Two

main

conditions

must

be

satisfied

for

the

function

P

-LRB-

t

-RRB-

-LRB-

a

-RRB-

For

any

any

interval

-LRB-

-RSB-

during

a

system

busy

period

P

-LRB-

-RRB-

P

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

b

-RRB-

The

system

potential

is

always

less

than

or

equal

to

the

potential

of

all

backlogged

connections

at

time

t

That

is

P

-LRB-

t

-RRB-

min

-LRB-

t

-RRB-

-LRB-

Pj

-LRB-

t

-RRB-

-RRB-

-LRB-

-RRB-

Connections

are

serviced

at

each

instant

t

according

to

their

instantaneous

potentials

as

per

the

following

rules

-LRB-

a

-RRB-

Among

the

of

backlogged

connections

only

the

set

of

connections

with

the

minimum

potential

at

time

t

is

serviced

-LRB-

b

-RRB-

Each

connection

in

this

set

is

serviced

with

an

instantaneous

rate

proportional

to

its

reservation

so

as

to

increase

the

potentials

of

the

connections

in

this

set

at

the

same

rate

The

above

definition

specifies

the

properties

of

the

system

potential

function

for

constructing

a

zero-latency

server

but

does

not

define

it

precisely

In

practice

the

system

potential

function

must

be

chosen

such

that

the

scheduler

can

be

implemented

efficiently

When

we

introduce

the

frame-based

fair

queueing

algorithm

in

the

next

section

it

will

become

clear

how

this

definition

can

be

used

to

design

a

practical

scheduling

algorithm

GPS

multiplexing

is

a

rate-proportional

server

where

the

system

potential

is

always

equal

to

the

potential

of

the

backlogged

connections

Since

the

service

rate

offered

to

the

connections

is

proportional

to

their

reservations

at

every

instant

the

normalized

service

they

receive

during

an

interval

-LRB-

-RSB-

is

always

greater

than

-LRB-

-RRB-

Thus

the

amount

of

service

received

by

a

connection

i

backlogged

during

the

interval

-LRB-

-RRB-

is

given

by

Wi

-LRB-

-RRB-

aei

-LRB-

-RRB-

and

therefore

P

-LRB-

-RRB-

P

-LRB-

-RRB-

Pi

-LRB-

-RRB-

Pi

-LRB-

-RRB-

Wi

-LRB-

-RRB-

aei

VirtualClock

is

a

rate-proportional

server

as

well

Consider

a

server

where

the

system

potential

function

is

defined

as

P

-LRB-

t

-RRB-

t

It

is

easy

to

verify

that

such

a

server

satisfies

all

the

properties

of

a

rate-proportional

server

Consider

a

packet-by-packet

server

that

transmits

packets

in

increasing

order

of

their

finishing

potentials

Such

a

server

is

equivalent

to

the

packet-by-packet

VirtualClock

server

-LRB-

t

-RRB-

P

-LRB-

t

-RRB-

iP

-LRB-

t

-RRB-

i

Initially

backlogged

connections

Figure

An

example

illustrating

the

evolution

of

potential

functions

in

a

rateproportional

server

We

now

proceed

to

show

that

every

rate-proportional

server

is

a

zero-latency

server

This

will

establish

that

this

class

of

servers

provide

the

same

upper-bounds

on

end-to-end

delay

as

GPS

To

prove

this

result

we

first

introduce

the

following

definitions

Definition

A

session-i

active

period

is

a

maximal

interval

of

time

during

a

system

busy

period

over

which

the

potential

of

the

session

is

not

less

than

the

potential

of

the

system

Any

other

period

will

be

considered

as

an

inactive

period

for

session

i

The

concept

of

active

period

is

useful

in

analyzing

the

behavior

of

a

rate-proportional

scheduler

When

a

connection

is

in

an

inactive

period

it

can

not

be

backlogged

and

therefore

can

not

be

receiving

any

service

On

the

other

hand

an

active

period

need

not

be

the

same

as

a

backlogged

period

for

the

connection

Since

in

a

rate-proportional

server

the

potential

of

a

connection

can

be

below

the

system

potential

only

when

the

connection

is

idle

a

transition

from

inactive

to

active

state

can

occur

only

by

the

arrival

of

a

packet

of

a

connection

that

is

currently

idle

whose

potential

is

below

that

of

the

system

A

connection

in

an

active

period

may

not

receive

service

throughout

the

active

period

since

a

rate-proportional

server

services

only

connections

with

the

minimum

potential

at

each

instant

However

it

always

receives

service

at

the

beginning

of

the

active

period

since

its

potential

is

set

equal

to

the

system

potential

at

that

time

We

can

view

the

evolution

of

the

potential

function

as

in

Figure

Assume

that

the

system

potential

is

always

maintained

below

the

potential

of

every

backlogged

connection

At

time

connection

i

i

becomes

active

and

receives

all

the

bandwidth

trying

to

achieve

the

same

potential

as

the

rest

of

the

connections

At

time

a

second

connection

i

becomes

active

and

the

service

of

i

is

temporarily

suspended

The

potentials

of

the

two

new

connections

become

equal

at

during

the

interval

-LRB-

-RSB-

each

of

them

receives

service

proportional

to

its

reservation

so

that

their

potentials

remain

equal

That

is

Wi

-LRB-

-RRB-

aei

Wi

-LRB-

-RRB-

aei

At

the

potentials

of

i

and

i

become

equal

to

that

of

other

connections

already

backlogged

in

the

system

therefore

from

all

backlogged

connections

in

the

system

receive

service

proportional

to

their

allocated

rates

If

another

new

connection

becomes

active

after

time

service

to

all

the

connections

will

be

suspended

until

the

new

connection

reaches

the

same

potential

In

addition

if

a

connection

finishes

service

the

instantaneous

service

rates

of

other

backlogged

connections

will

increase

because

of

the

work-conserving

nature

of

the

scheduler

However

a

connection

may

be

temporarily

suspended

if

it

has

received

more

than

its

allocated

bandwidth

earlier

during

the

same

active

period

Since

LR-servers

are

defined

in

terms

of

busy

periods

it

is

necessary

to

establish

the

correspondence

between

busy

periods

and

active

periods

in

a

rate-proportional

server

We

will

now

show

that

the

beginning

of

a

busy

period

is

the

beginning

of

an

active

period

as

well

Lemma

If

o

is

the

beginning

of

a

session-i

busy

period

in

a

rate-proportional

server

then

o

is

also

the

beginning

of

an

active

period

for

session

i

A

proof

of

this

lemma

is

given

in

Appendix

A

When

connection

i

becomes

active

its

potential

is

the

minimum

among

all

backlogged

connections

enabling

it

to

receive

service

immediately

However

if

a

subsequent

connection

j

becomes

active

during

the

busy

period

of

connection

i

then

the

service

of

i

may

be

temporarily

suspended

until

the

potentials

of

i

and

j

become

equal

In

the

following

lemma

we

derive

a

lower

bound

on

the

amount

of

service

received

by

connection

i

during

an

active

period

Lemma

Let

o

be

the

time

at

which

a

connection

i

becomes

active

in

a

rate-proportional

server

Then

at

any

time

t

o

that

belongs

in

the

same

active

period

the

service

offered

to

connection

i

is

Wi

-LRB-

o

t

-RRB-

aei

-LRB-

t

o

-RRB-

This

lemma

is

proved

in

Appendix

A.

Intuitively

this

result

asserts

that

the

service

of

a

backlogged

connection

is

suspended

only

if

it

has

received

more

service

than

its

allocated

rate

earlier

during

the

active

period

A

session

busy

period

may

actually

consist

of

multiple

session

active

periods

In

order

to

prove

that

a

rate

proportional

server

is

an

LR

server

with

zero

latency

we

need

to

prove

that

for

every

time

t

after

the

beginning

of

the

j-th

busy

period

at

time

o

Wi

j

-LRB-

o

t

-RRB-

aei

-LRB-

t

o

-RRB-

The

above

lemmas

lead

us

to

one

of

our

key

results

Theorem

A

rate-proportional

server

belongs

to

the

class

LR

and

has

zero

latency

The

main

argument

for

proving

this

theorem

is

that

during

inactive

periods

the

connection

is

not

backlogged

and

is

thus

receiving

no

service

By

Lemma

the

connection

can

receive

less

than

its

allocated

bandwidth

only

during

an

inactive

period

However

since

no

packets

are

waiting

to

be

serviced

in

an

inactive

period

the

connection

busy

period

must

have

ended

by

then

The

formal

proof

is

provided

in

Appendix

A.

Thus

the

definition

of

rate-proportional

servers

provides

us

a

tool

to

design

scheduling

algorithms

with

zero

latency

Since

both

GPS

and

VirtualClock

can

be

considered

as

rate-proportional

servers

by

Theorem

they

have

the

same

worst-case

delay

behavior

Packet-by-Packet

Rate-Proportional

Servers

In

the

previous

section

we

defined

the

rate

proportional

servers

using

a

fluid-model

where

packets

from

different

connections

can

be

served

at

the

same

time

with

different

rates

However

in

a

real

system

only

one

connection

can

be

serviced

at

each

time

and

in

addition

packets

can

not

be

split

in

smaller

units

A

packet-by-packet

rate

proportional

server

can

be

defined

in

terms

of

the

fluid-model

as

one

that

transmits

packets

in

increasing

order

of

their

finishing

potential

Let

us

assume

that

when

a

packet

from

connection

i

finishes

service

in

the

fluid

server

the

potential

of

connection

i

is

TSi

We

can

use

this

finishing

potential

to

timestamp

packets

and

schedule

them

in

increasing

order

of

their

time-stamps

We

call

such

a

server

a

packet-by-packet

rate-proportional

server

-LRB-

PRPS

-RRB-

In

the

following

we

denote

the

maximum

packet

size

of

session

i

as

Li

and

the

maximum

packet

size

among

all

the

sessions

as

Lmax

In

order

to

analyze

the

performance

of

a

packet-by-packet

rate-proportional

server

we

will

bound

the

difference

of

service

offered

between

the

packet-by-packet

server

and

the

fluid-server

when

the

same

pattern

of

arrivals

is

applied

to

both

the

servers

Let

us

assume

that

the

service

offered

to

session

i

during

the

interval

-LRB-

o

t

-RSB-

by

the

fluid

server

is

WFi

-LRB-

o

t

-RRB-

and

by

the

packet-bypacket

server

is

WPi

-LRB-

o

t

-RRB-

Let

us

assume

that

the

kth

packet

leaves

the

system

under

the

PRPS

service

discipline

at

time

tPk

The

same

packet

leaves

the

RPS

server

at

time

tFk

Using

a

similar

approach

as

the

one

used

for

GPS

servers

-LSB-

-RSB-

we

can

prove

the

following

lemma

Lemma

For

all

packets

in

a

packet-by-packet

rate-proportional

server

tPk

tFk

Lmax

r

If

we

include

the

partial

service

received

by

packets

in

transmission

the

maximum

lag

in

service

for

a

session

i

in

the

packet-by-packet

server

occurs

at

the

instant

when

a

packet

starts

service

Let

us

denote

with

Wi

-LRB-

t

-RRB-

the

service

offered

to

connection

i

at

time

t

if

this

partial

service

is

included

At

the

instant

when

the

kth

packet

starts

service

in

PRPS

W

Fi

-LRB-

tk

-RRB-

W

Fi

-LRB-

tk

Lmax

r

-RRB-

Lmax

W

Pi

-LRB-

tk

-RRB-

Lmax

Thus

we

can

state

the

following

corollary

Corollary

At

any

time

t

WFi

-LRB-

t

-RRB-

WPi

-LRB-

t

-RRB-

Lmax

In

order

to

be

complete

we

also

have

to

bound

the

amount

by

which

the

service

of

a

session

in

the

packet-by-packet

server

can

be

ahead

of

that

in

the

fluid-server

Packets

are

serviced

in

PRPS

in

increasing

order

of

their

finishing

potentials

If

packets

from

multiple

connections

have

the

same

finishing

potential

then

one

of

them

will

be

selected

for

transmission

first

by

the

packet-by-packet

server

causing

the

session

to

receive

more

service

temporarily

than

in

the

fluid

server

In

order

to

bound

this

additional

service

we

need

to

determine

the

service

that

the

connection

receives

in

the

fluid-server

The

latter

in

turn

requires

knowledge

of

the

potentials

the

other

connections

sharing

the

same

outgoing

link

We

will

use

the

following

lemma

to

derive

such

an

upper

bound

Lemma

Let

-LRB-

t

-RSB-

be

a

server-busy

period

in

the

fluid

server

Let

i

be

a

session

backlogged

in

the

fluid

server

at

time

t

such

that

i

received

more

service

in

the

packet-by-packet

server

in

the

interval

-LRB-

t

-RSB-

Then

there

is

another

session

j

backlogged

in

the

fluid

server

at

time

t

with

Pj

-LRB-

t

-RRB-

Pi

-LRB-

t

-RRB-

that

received

more

service

in

the

fluid

server

than

in

the

packet-by-packet

server

during

the

interval

-LRB-

t

-RSB-

A

proof

of

this

lemma

can

be

found

in

Appendix

A

We

will

now

use

the

above

lemma

and

a

method

similar

to

the

one

presented

in

-LSB-

-RSB-

for

the

PGPS

server

to

find

an

upper

bound

for

the

amount

of

service

a

session

may

receive

in

PRPS

as

compared

to

that

in

the

fluid

server

Lemma

At

any

time

t

W

Pi

-LRB-

t

-RRB-

W

Fi

-LRB-

t

-RRB-

min

-LRB-

-LRB-

V

-RRB-

Lmax

aei

max

n

V

-LRB-

Ln

aen

-RRB-

-RRB-

Lemma

establishes

two

distinct

upper

bounds

for

the

excess

service

received

by

a

session

in

the

packet-by-packet

server

A

formal

proof

of

the

lemma

is

given

in

Appendix

A

but

we

provide

some

intuition

here

on

these

bounds

Consider

any

session

i

backlogged

in

both

servers

By

Lemma

any

backlogged

session

in

the

packet-by-packet

server

may

lag

in

service

by

as

much

as

Lmax

from

the

fluid

server

Thus

in

an

extreme

case

every

backlogged

session

excluding

i

may

be

lagging

in

service

by

Lmax

in

the

packet-by-packet

server

Since

the

server

is

work-conserving

session

i

can

therefore

be

ahead

in

the

packet-by-packet

server

by

as

much

as

-LRB-

V

-RRB-

Lmax

where

V

is

the

number

of

sessions

sharing

the

outgoing

link

The

bound

of

-LRB-

V

-RRB-

Lmax

may

be

too

loose

in

many

cases

The

second

bound

in

the

lemma

provides

a

much

tighter

bound

in

those

cases

To

illustrate

this

bound

let

us

assume

that

Li

aei

max

n

V

-LRB-

Ln

aen

-RRB-

Assume

two

packets

arrive

at

the

server

simultaneously

one

from

session

i

and

the

other

from

a

second

session

j.

Assume

that

the

packets

are

assigned

the

same

finishing

potential

If

the

packets

start

service

in

the

fluid

server

at

time

t

they

also

finish

service

simultaneously

at

time

t

Li

aei

If

the

packet-by-packet

transmits

the

session-j

packet

first

the

service

received

by

session

j

in

the

packet-by-packet

server

can

be

ahead

by

Liaei

aej

This

reasoning

gives

rise

to

the

second

upper-bound

of

Lemma

Delay

Analysis

Based

on

the

bounds

on

the

discrepancy

between

the

service

offered

by

the

packet-by-packet

server

and

that

by

the

fluid

server

at

any

time

during

a

session

busy

period

we

can

bound

the

performance

of

the

PRPS

system

using

the

worst-case

performance

of

the

fluid-system

Thus

we

will

now

prove

that

a

packet-by-packet

rate

proportional

server

is

an

LR-server

and

estimate

its

latency

Let

us

assume

that

a

packet

from

connection

i

leaves

the

PRPS

system

at

time

tP

and

the

fluid-system

at

time

tF

Then

by

Lemma

tPk

tFk

Lmax

r

For

the

analysis

of

a

network

of

LR

servers

it

is

required

that

the

service

is

bounded

for

any

time

after

the

beginning

of

a

busy

period

In

addition

we

can

only

consider

that

a

packet

left

the

packet-by-packet

server

if

all

of

its

bits

have

left

the

server

These

requirements

are

necessary

in

order

to

provide

accurate

bounds

for

the

traffic

burstiness

inside

the

network

Therefore

just

before

time

tP

Lmax

r

the

whole

packet

has

not

yet

departed

the

packet-by-packet

server

Let

Li

be

the

maximum

packet

size

of

connection

i

The

service

offered

to

connection

i

in

the

packet-by-packet

server

will

be

equal

to

the

service

offered

to

the

same

connection

in

the

fluid

server

until

time

tP

minus

this

last

packet

Therefore

the

service

received

by

session

i

during

the

jth

busy

period

in

the

packet-by-packet

server

is

given

by

WPi

j

-LRB-

o

t

-RRB-

WFi

j

-LRB-

o

t

Lmax

r

-RRB-

Li

max

-LRB-

aei

-LRB-

t

o

Lmax

r

-RRB-

Li

-RRB-

by

Theorem

max

-LRB-

aei

-LRB-

t

o

Lmax

r

Li

aei

-RRB-

-RRB-

-LRB-

-RRB-

Hence

we

can

state

the

following

corollary

Corollary

A

packet-by-packet

rate

proportional

server

is

an

LR

server

and

its

latency

is

Lmax

r

Li

aei

Note

that

this

latency

is

the

same

as

that

of

PGPS

Thus

any

packet-by-packet

rateproportional

server

has

the

same

upper

bound

on

end-to-end

delay

and

buffer

requirements

as

those

of

PGPS

when

the

traffic

in

the

session

under

observation

is

shaped

by

a

leaky

bucket

Although

all

servers

in

the

RPS

class

have

zero

latency

their

fairness

characteristics

can

be

widely

different

Therefore

we

take

up

the

topic

of

fairness

in

the

next

section

and

derive

bounds

on

the

fairness

of

rate-proportional

servers

Fairness

of

Rate-Proportional

Servers

In

our

definition

of

rate-proportional

servers

we

specified

only

the

conditions

the

system

potential

function

must

satisfy

to

obtain

zero

latency

but

did

not

explain

how

the

choice

of

the

actual

function

affects

the

behavior

of

the

scheduler

The

choice

of

the

system-potential

function

has

a

significant

influence

on

the

fairness

of

service

provided

to

the

sessions

In

the

last

section

we

showed

that

a

backlogged

session

in

a

rate-proportional

server

receives

an

average

service

over

an

active

period

at

least

equal

to

its

reservation

However

significant

discrepancies

may

exist

in

the

service

provided

to

a

session

over

the

short

term

among

scheduling

algorithms

belonging

to

the

RPS

class

The

scheduler

may

penalize

sessions

for

service

received

in

excess

of

their

reservations

at

an

earlier

time

Thus

a

backlogged

session

may

be

starved

until

others

receive

an

equivalent

amount

of

normalized

service

leading

to

short-term

unfairness

Since

in

a

fluid-model

rate-proportional

server

backlogged

connections

are

serviced

at

the

same

normalized

rate

in

steady

state

unfairness

in

service

can

occur

only

when

an

idle

connection

becomes

backlogged

If

the

estimated

system

potential

at

that

time

is

far

below

that

of

the

backlogged

connections

the

new

connection

may

receive

exclusive

service

for

a

long

time

until

its

potential

rises

to

that

of

other

backlogged

connections

This

behavior

can

be

illustrated

with

respect

to

the

VirtualClock

algorithm

The

system

potential

in

VirtualClock

grows

at

the

rate

of

real

time

regardless

of

the

potentials

of

the

sessions

in

the

system

Thus

the

potential

of

a

connection

receiving

more

service

than

its

reserved

rate

will

continue

to

diverge

from

the

system

potential

Should

an

idle

connection

become

active

later

the

connection

that

received

the

excess

service

will

be

penalized

severely

This

shows

that

to

avoid

short-term

unfairness

the

system

potential

should

be

maintained

close

to

that

of

backlogged

connections

receiving

service

We

will

formalize

this

idea

and

show

that

if

the

difference

between

the

system

potential

and

those

of

individual

backlogged

sessions

is

bounded

the

unfairness

is

also

bounded

In

VirtualClock

the

difference

between

the

system

potential

and

the

potential

of

individual

backlogged

connections

can

not

be

bounded

Thus

the

unfairness

is

also

not

bounded

This

can

be

seen

as

a

result

of

the

scheduler

performing

an

averaging

process

on

the

rate

of

service

provided

to

individual

sessions

In

VirtualClock

the

averaging

interval

can

be

arbitrarily

long

The

GPS

scheduler

on

the

other

hand

occupies

the

opposite

extreme

where

no

memory

of

past

bandwidth

usage

of

connections

is

maintained

Every

backlogged

connection

has

the

same

potential

at

all

times

in

a

GPS

server

giving

rise

to

its

ideal

fairness

behavior

In

practice

the

scheduling

algorithm

must

trade

off

short-term

unfairness

with

other

desirable

properties

such

as

low

latency

and

ease

of

implementation

The

ideal

fairness

behavior

of

GPS

is

compromised

in

self-clocked

fair

queueing

but

the

difference

in

potentials

is

still

bounded

Therefore

SCFQ

can

be

considered

as

a

fair

scheduling

algorithm

However

SCFQ

is

not

a

rate-proportional

server

as

it

allows

the

system

potential

to

exceed

that

of

a

backlogged

connection

resulting

in

worse

delay

behavior

There

is

no

common

accepted

method

for

estimating

the

fairness

of

a

scheduling

algorithm

In

general

we

would

like

the

system

to

always

serve

connections

proportional

to

their

reservations

and

never

penalize

connections

for

bandwidth

they

received

earlier

The

measure

of

fairness

that

we

will

use

is

an

extension

of

the

definition

presented

for

SCFQ

-LSB-

-RSB-

Let

us

assume

that

at

time

o

two

connections

i

j

become

greedy

requesting

an

infinite

amount

of

bandwidth

Thus

the

two

connections

will

be

continuously

backlogged

in

the

system

after

time

o

A

scheduler

is

considered

as

fair

if

the

difference

in

normalized

service

offered

to

the

two

connections

i

j

during

any

interval

of

time

-LRB-

-RSB-

after

time

o

is

bounded

That

is

Wi

-LRB-

-RRB-

aei

Wj

-LRB-

-RRB-

aej

FR

-LRB-

-RRB-

where

FR

is

a

measure

of

the

fairness

of

the

algorithm

Note

that

the

requirement

of

an

infinite

supply

of

packets

from

sessions

i

and

j

arises

because

we

require

the

two

sessions

to

be

backlogged

at

every

instant

after

o

in

each

of

the

schedulers

we

study

Since

for

the

same

arrival

pattern

the

backlogged

periods

of

individual

sessions

can

vary

across

schedulers

a

comparison

of

fairness

of

different

scheduling

algorithms

can

yield

misleading

results

without

this

condition

When

the

connections

have

an

infinite

supply

of

packets

after

time

o

they

will

be

continuously

backlogged

in

the

interval

-LRB-

-RSB-

irrespective

of

the

scheduling

algorithm

used

Thus

to

compare

the

fairness

of

different

schedulers

we

can

analyze

each

of

the

schedulers

with

the

same

arrival

pattern

and

determine

the

difference

in

normalized

service

offered

to

the

two

connections

in

a

specified

interval

of

time

Let

us

denote

with

P

the

maximum

difference

between

the

system

potential

and

the

potential

of

the

connections

being

serviced

in

a

rate-proportional

server

The

following

theorem

formalizes

our

basic

result

on

the

fairness

properties

of

rate-proportional

servers

Theorem

If

the

system

potential

function

in

a

rate-proportional

server

never

lags

behind

more

than

a

finite

amount

P

from

the

potential

of

the

connections

that

are

serviced

in

the

system

the

difference

in

normalized

service

offered

to

any

two

connections

during

any

interval

of

time

that

they

are

continuously

backlogged

is

also

bounded

by

P

That

is

if

P

then

for

all

i

j

B

-LRB-

-RRB-

during

the

interval

-LRB-

-RSB-

Wi

-LRB-

-RRB-

aei

Wj

-LRB-

-RRB-

aej

P

A

proof

of

this

theorem

is

given

in

Appendix

A

The

theorem

applies

to

the

fluid

system

A

real

system

can

only

use

a

packet-by-packet

rate-proportional

server

We

will

now

expand

the

above

theorem

to

prove

that

a

similar

relationship

holds

for

the

packet-by-packet

version

of

the

algorithm

Let

us

define

Ci

as

Ci

min

-LRB-

-LRB-

V

-RRB-

Lmax

aei

max

n

V

-LRB-

Ln

aen

-RRB-

-RRB-

That

is

Ci

is

the

maximum

normalized

service

that

a

connection

can

receive

over

any

interval

in

the

packet-by-packet

server

in

excess

of

that

offered

by

the

fluid-server

Theorem

In

a

packet-by-packet

rate-proportional

server

for

every

time

interval

-LRB-

-RSB-

after

time

o

that

both

connections

became

greedy

Wi

-LRB-

o

t

-RRB-

aei

Wj

-LRB-

o

t

-RRB-

aej

max

-LRB-

P

Li

aei

Ci

P

Lj

aej

Cj

Lmax

aej

Li

aei

Lmax

aei

Lj

aej

-RRB-

-LRB-

-RRB-

A

proof

of

this

theorem

can

be

found

in

Appendix

A

Since

PGPS

is

a

packet-by-packet

rate

proportional

server

with

P

we

obtain

the

following

result

on

the

fairness

of

a

PGPS

scheduler

by

setting

P

in

Eq

-LRB-

-RRB-

Corollary

For

a

PGPS

scheduler

Wi

-LRB-

o

t

-RRB-

aei

Wj

-LRB-

o

t

-RRB-

aej

max

-LRB-

Li

aei

Ci

Lj

aej

Cj

Lmax

aej

Li

aei

Lmax

aei

Lj

aej

-RRB-

It

can

be

shown

that

the

above

bound

is

tight

For

example

consider

the

case

where

connection

i

is

already

backlogged

in

the

system

and

assume

that

connection

j

becomes

backlogged

at

time

o

Then

connection

i

may

have

received

an

additional

amount

of

service

equal

to

Ci

in

the

PGPS

server

If

Pi

-LRB-

o

-RRB-

is

the

potential

of

connection

i

at

time

o

the

finishing

potential

of

the

next

packet

of

connection

i

is

Fi

Pi

-LRB-

o

-RRB-

Ci

Liaei

Connection

j

will

see

a

starting

potential

of

Pj

-LRB-

o

-RRB-

Pi

-LRB-

o

-RRB-

and

is

therefore

exclusively

serviced

until

the

timestamps

of

its

packets

become

greater

than

Fi

The

total

normalized

service

that

connection

j

may

receive

while

connection

i

is

waiting

is

bounded

by

Ci

Liaei

Frame-based

Fair

Queueing

Our

analysis

of

rate-proportional

servers

in

the

previous

section

was

based

only

on

the

properties

of

the

potential

functions

We

established

that

every

rate-proportional

server

belongs

to

the

class

of

LR-servers

with

zero

latency

and

showed

that

their

unfairness

can

be

bounded

by

bounding

the

difference

between

the

system

potential

and

the

potentials

of

backlogged

connections

In

this

section

we

introduce

a

novel

scheduling

algorithm

called

frame-based

fair

queueing

-LRB-

FFQ

-RRB-

and

prove

that

it

is

a

rate-proportional

server

The

algorithm

is

defined

in

this

section

in

terms

of

the

fluid

model

Later

in

the

next

section

we

will

present

a

self-contained

approach

for

implementing

a

packet-by-packet

version

of

the

algorithm

without

requiring

the

parallel

simulation

of

the

fluidmodel

The

basic

difficulty

in

the

design

of

a

scheduling

algorithm

in

the

RPS

class

is

in

maintaining

the

system

potential

function

We

use

a

potential

function

that

can

be

calculated

in

a

simple

way

and

use

a

framing

mechanism

to

bound

its

difference

P

from

the

potential

of

a

backlogged

connection

The

fluid

version

of

the

frame-based

fair

queueing

-LRB-

FFQ

-RRB-

algorithm

is

defined

as

follows

FFQ

is

a

rate-proportional

server

and

therefore

follows

all

the

conditions

in

Definition

That

is

at

each

instant

it

services

only

the

set

of

backlogged

connections

with

the

minimum

potential

and

connections

in

this

set

are

serviced

at

rates

proportional

to

their

reservations

We

assume

that

a

rate

aei

is

allocated

to

connection

i.

Let

ri

aei

r

denote

the

fraction

of

the

link

rate

allocated

to

connection

i

We

split

the

time

in

frames

and

assume

that

F

bits

may

transmitted

during

a

frame

period

Furthermore

let

us

define

T

as

the

frame

period

Then

T

F

r

We

define

OEi

as

OEi

ri

F

aei

T

OEi

denotes

the

amount

of

session

i

traffic

that

can

be

serviced

during

one

frame

If

a

connection

is

backlogged

its

potential

is

increasing

by

the

normalized

service

offered

to

it

Thus

when

OEi

bits

are

serviced

from

connection

i

its

potential

will

increase

by

OEi

aei

T

We

impose

one

more

restriction

on

the

value

of

OEi

that

if

Li

is

the

maximum

packet

size

for

connection

i

then

Li

OEi

-LRB-

-RRB-

That

is

the

largest

packet

of

a

connection

can

be

transmitted

during

a

frame

period

We

denote

the

current

frame

in

progress

at

time

t

by

f

-LRB-

t

-RRB-

The

function

f

-LRB-

t

-RRB-

is

a

step

function

When

the

system

is

empty

f

-LRB-

t

-RRB-

is

reset

to

and

the

potentials

of

all

connections

are

also

reset

to

When

the

potentials

of

all

backlogged

connections

become

equal

to

T

the

value

of

f

-LRB-

t

-RRB-

is

increased

by

T

Similarly

when

the

potentials

of

all

connections

reach

the

value

k

T

for

any

integer

k

the

function

f

-LRB-

t

-RRB-

is

stepped

up

to

k

T

In

a

fluid

server

all

backlogged

connections

reach

the

value

k

T

at

the

same

time

However

in

a

packet-by-packet

server

this

is

not

the

case

In

order

to

allow

frame

updates

to

occur

only

when

a

packet

finishes

or

starts

service

in

the

packet-by-packet

server

we

relax

the

above

update

rule

for

f

-LRB-

t

-RRB-

in

the

packet-by-packet

version

of

the

algorithm

as

follows

f

-LRB-

t

-RRB-

can

be

updated

to

the

value

k

T

at

any

time

after

all

backlogged

connections

reach

the

potential

k

T

and

before

their

potentials

become

higher

than

-LRB-

k

-RRB-

T

Thus

we

update

the

frame

at

time

t

when

both

of

the

following

conditions

hold

The

potentials

of

all

backlogged

connections

belong

in

the

next

frame

That

is

Pi

-LRB-

t

-RRB-

f

-LRB-

t

-RRB-

T

B

-LRB-

t

-RRB-

-LRB-

-RRB-

where

B

-LRB-

t

-RRB-

is

the

set

of

connections

currently

backlogged

Pi

-LRB-

t

-RRB-

f

-LRB-

t

-RRB-

i

V

Note

that

the

above

conditions

may

hold

at

different

instants

of

time

Updating

the

system

potential

function

at

any

time

during

these

intervals

will

result

in

a

valid

algorithm

Let

us

assume

that

we

decide

to

update

the

frame

at

time

o

Then

at

time

o

we

set

f

-LRB-

o

-RRB-

f

-LRB-

o

-RRB-

T

-LRB-

-RRB-

where

o

is

the

instant

just

before

the

update

occurred

The

system

potential

is

estimated

in

terms

of

the

function

f

-LRB-

t

-RRB-

which

keeps

track

of

the

progress

of

the

total

work

performed

by

the

server

When

f

-LRB-

t

-RRB-

is

updated

say

at

time

o

the

system

potential

is

set

to

P

-LRB-

o

-RRB-

max

-LRB-

P

-LRB-

o

-RRB-

f

-LRB-

o

-RRB-

-RRB-

-LRB-

-RRB-

At

any

other

time

t

the

system

potential

is

computed

as

P

-LRB-

t

-RRB-

P

-LRB-

o

-RRB-

-LRB-

t

o

-RRB-

-LRB-

-RRB-

where

o

is

the

last

instant

of

time

when

an

update

occurred

If

P

-LRB-

t

-RRB-

is

used

to

initialize

the

potential

of

a

connection

when

it

becomes

backlogged

it

is

easy

to

see

that

the

potential

of

every

backlogged

connection

can

not

be

less

than

P

-LRB-

t

-RRB-

at

any

time

t

The

potential

of

a

connection

i

can

drift

away

from

P

-LRB-

t

-RRB-

within

a

frame

but

the

discrepancy

is

corrected

when

the

next

frame-update

occurs

Thus

the

frame

update

mechanism

is

the

means

by

which

FFQ

bounds

the

difference

between

the

system

potential

and

the

potentials

of

individual

connections

The

maximum

interval

between

successive

updates

acts

as

bound

for

the

difference

in

potentials

P

A

tight

bound

for

P

will

be

derived

later

Performance

Bounds

for

Frame-based

Fair

Queueing

In

this

section

we

show

that

FFQ

belongs

to

the

class

of

rate-proportional

servers

Note

that

in

our

description

of

FFQ

we

did

not

define

exactly

the

time

when

the

frame

is

updated

but

instead

defined

an

interval

during

which

the

update

must

occur

We

will

show

that

this

is

sufficient

to

prove

that

frame-based

fair-queueing

is

a

rate-proportional

server

This

flexibility

in

updating

the

frame

will

allow

us

to

provide

a

simple

implementation

for

the

packet-by-packet

version

of

the

algorithm

We

now

prove

a

sequence

of

two

lemmas

to

classify

frame-based

fair

queueing

as

a

rateproportional

server

Lemma

If

the

system

potential

function

is

updated

as

described

by

the

frame-based

fair

queueing

algorithm

then

for

any

interval

-LRB-

-RSB-

during

a

system

busy

period

P

-LRB-

-RRB-

P

-LRB-

-RRB-

-LRB-

-RRB-

Proof

Assume

that

the

busy

period

under

observation

started

at

time

If

no

frame

updates

occurred

during

the

interval

-LRB-

-RSB-

then

the

lemma

is

true

by

Eq

-LRB-

-RRB-

Now

consider

the

case

when

one

or

more

frame

updates

occurred

during

the

interval

-LRB-

-RSB-

Let

ok

be

the

instants

in

this

interval

just

after

a

frame

update

and

ok

the

corresponding

instants

just

before

the

update

Then

by

equations

-LRB-

-RRB-

and

-LRB-

-RRB-

P

-LRB-

-RRB-

P

-LRB-

ok

-RRB-

-LRB-

ok

-RRB-

P

-LRB-

ok

-RRB-

-LRB-

ok

-RRB-

P

-LRB-

ok

-RRB-

-LRB-

ok

-RRB-

Proceeding

similarly

P

-LRB-

-RRB-

P

-LRB-

-RRB-

-LRB-

-RRB-

P

-LRB-

-RRB-

-LRB-

-RRB-

P

-LRB-

-RRB-

-LRB-

-RRB-

Lemma

If

the

system

potential

function

is

updated

as

described

by

the

frame-based

fair

queueing

algorithm

then

P

-LRB-

t

-RRB-

Pi

-LRB-

t

-RRB-

B

-LRB-

t

-RRB-

-LRB-

-RRB-

Proof

We

will

prove

that

if

P

-LRB-

t

-RRB-

Pi

-LRB-

t

-RRB-

at

any

instant

t

during

a

system

busy

period

then

P

-LRB-

t

t

-RRB-

Pi

-LRB-

t

t

-RRB-

Since

P

-LRB-

-RRB-

Pi

-LRB-

-RRB-

this

will

provide

an

inductive

proof

for

all

instants

of

time

at

which

the

system

is

busy

We

need

to

consider

two

cases

Case

No

frame

updates

occurred

during

the

interval

-LRB-

t

t

t

-RRB-

Assume

if

possible

that

Pi

-LRB-

t

t

-RRB-

P

-LRB-

t

t

-RRB-

for

some

connection

i

We

can

choose

t

as

the

minimum

interval

of

time

such

that

Pi

-LRB-

t

-RRB-

P

-LRB-

t

-RRB-

and

Pi

-LRB-

t

t

-RRB-

P

-LRB-

t

t

-RRB-

Then

i

is

a

session

with

minimum

potential

during

the

interval

-LRB-

t

t

t

-RSB-

Therefore

it

is

serviced

with

rate

at

least

aei

during

this

interval

Thus

the

potential

of

session

i

at

-LRB-

t

t

-RRB-

must

be

at

least

Pi

-LRB-

t

-RRB-

aei?t

aei

P

-LRB-

t

-RRB-

t

P

-LRB-

t

t

-RRB-

Thus

the

result

is

true

by

contradiction

Case

A

frame

update

occurred

at

time

t.

Let

t

denote

the

instant

just

before

the

update

and

t

the

instant

just

after

the

update

Then

by

Eq

-LRB-

-RRB-

Pi

-LRB-

t

-RRB-

f

-LRB-

t

-RRB-

T

-LRB-

-RRB-

The

new

system

potential

after

the

update

is

given

by

P

-LRB-

t

-RRB-

max

-LRB-

P

-LRB-

t

-RRB-

f

-LRB-

t

-RRB-

T

-RRB-

-LRB-

-RRB-

Using

equations

-LRB-

-RRB-

and

-LRB-

-RRB-

as

well

as

the

fact

that

Pi

-LRB-

t

-RRB-

P

-LRB-

t

-RRB-

Pi

-LRB-

t

-RRB-

P

-LRB-

t

-RRB-

-LRB-

-RRB-

Theorem

Frame-based

fair

queueing

is

a

rate-proportional

server

Proof

It

is

sufficient

to

prove

that

frame-based

fair

queueing

has

all

the

properties

of

Definition

Lemmas

and

prove

that

the

system

potential

function

satisfies

the

two

main

conditions

imposed

by

the

definition

The

rest

of

the

conditions

are

satisfied

by

the

definition

of

the

algorithm

Therefore

frame-based

fair

queueing

is

a

rate-proportional

server

Since

we

proved

that

every

rate-proportional

server

is

an

LR-server

with

zero

latency

frame-based

fair

queueing

is

also

an

LR-server

with

zero

latency

Therefore

it

provides

the

same

upper

bound

on

end-to-end

delay

as

GPS

in

a

network

of

servers

Fairness

of

Frame-based

Fair

Queueing

Since

frame-based

fair

queueing

is

a

rate-proportional

server

in

order

to

analyze

its

fairness

it

is

sufficient

to

prove

that

the

difference

between

the

system

potential

and

the

potential

of

any

backlogged

connection

is

always

bounded

We

can

state

the

following

Lemma

Lemma

For

every

connection

i

that

is

backlogged

at

time

t

Pi

-LRB-

t

-RRB-

P

-LRB-

t

-RRB-

OEi

r

Proof

While

a

connection

is

backlogged

in

the

FFQ

server

its

potential

is

increasing

by

the

normalized

service

offered

to

it

The

system

potential

on

the

other

hand

is

increased

in

two

cases

While

the

frame

is

not

changing

it

is

increased

by

the

real

time

and

when

the

frame

changes

it

becomes

at

least

equal

to

the

starting

potential

of

the

current

frame

Let

us

assume

that

the

current

time

is

t

The

next

frame-update

will

occur

after

the

time

when

all

backlogged

connections

have

crossed

the

current

frame

Since

OEi

Li

this

will

occur

before

the

potential

of

any

connection

becomes

greater

than

f

-LRB-

t

-RRB-

T

The

largest

difference

between

the

system

potential

and

a

connection

potential

will

appear

just

before

the

frame

update

At

this

time

Pi

-LRB-

t

-RRB-

f

-LRB-

t

-RRB-

-LRB-

-RRB-

and

P

-LRB-

t

-RRB-

f

-LRB-

t

-RRB-

OEi

r

-LRB-

-RRB-

Subtracting

Eq

-LRB-

-RRB-

from

-LRB-

-RRB-

Pi

-LRB-

t

-RRB-

P

-LRB-

t

-RRB-

OEi

r

Note

that

the

fastest

way

for

the

potential

of

a

connection

to

reach

the

value

Pi

-LRB-

t

-RRB-

from

the

time

that

the

frame

was

last

updated

is

through

its

normalized

service

However

by

the

time

the

next

frame

update

occurs

the

system

potential

function

would

have

increased

by

at

least

the

time

to

service

OEi

bits

of

connection

i

This

bounds

the

difference

in

potentials

to

OEir

The

above

bound

applies

to

the

fluid

server

The

packet-by-packet

version

of

frame-based

fair

queueing

described

in

the

next

section

guarantees

that

a

frame

update

will

always

occur

before

the

finishing

potential

of

any

packet

becomes

greater

than

f

-LRB-

t

-RRB-

Thus

when

we

estimate

the

fairness

of

the

packet-by-packet

algorithm

-LRB-

PFFQ

-RRB-

the

maximum

difference

between

the

starting

potential

of

a

connection

and

the

finishing

potential

of

any

other

connection

is

still

bounded

by

OEir

Using

the

general

proof

of

Theorem

for

rate-proportional

servers

and

the

fact

that

T

F

r

it

is

easy

to

show

that

Corollary

For

any

two

connections

i

j

that

are

continuously

backlogged

in

the

interval

-LRB-

-RSB-

in

the

PFFQ

server

Wi

-LRB-

-RRB-

aei

Wj

-LRB-

-RRB-

aej

max

-LRB-

OEi

r

Li

aei

OEi

r

Lj

aej

Lmax

aej

Li

aei

Lmax

aei

Lj

aej

-RRB-

The

fairness

of

the

algorithm

depends

on

the

selection

of

the

frame

size

The

latter

in

turn

depends

on

the

maximum

packet

size

of

each

connection

and

its

minimum

bandwidth

allocation

Thus

the

algorithm

is

especially

suited

to

application

in

ATM

networks

where

the

packets

are

transmitted

in

terms

of

small

cells

and

the

frame

size

can

be

kept

small

Notice

however

that

the

frame

size

does

not

affect

the

latency

of

the

server

as

is

the

case

in

frame-based

schedulers

such

as

weighted-round-robin

and

deficit-round-robin

In

addition

some

short-term

unfairness

is

unavoidable

in

any

packet-level

scheduler

We

have

already

seen

in

Theorem

that

the

difference

in

normalized

service

received

by

two

connections

can

be

proportional

to

the

number

of

backlogged

connections

even

in

a

PGPS

server

Most

applications

can

tolerate

a

small

amount

of

short-term

unfairness

as

long

as

the

unfairness

is

bounded

Implementation

of

Frame-Based

Fair

Queueing

In

the

last

section

we

described

frame-based

fair

queueing

and

showed

that

it

is

a

rateproportional

server

A

straightforward

implementation

of

the

algorithm

will

be

similar

to

that

of

any

other

rate-proportional

server

That

is

the

fluid

server

is

simulated

in

parallel

and

packets

are

transmitted

in

increasing

order

of

their

finishing

potentials

This

approach

however

is

very

expensive

since

up

to

V

events

may

be

triggered

in

the

simulator

of

the

fluid

model

during

the

service

time

of

one

packet

This

results

in

an

algorithm

with

O

-LRB-

V

-RRB-

time

complexity

that

is

not

acceptable

in

a

high-speed

network

We

will

now

describe

how

we

can

extract

the

information

needed

by

the

scheduler

from

the

packet-by-packet

system

itself

without

requiring

the

parallel

simulation

of

the

fluid

server

The

resulting

algorithm

has

O

-LRB-

-RRB-

implementation

complexity

We

will

first

describe

a

general

algorithm

for

use

with

variable-size

packets

and

then

present

an

even

more

simplified

version

for

ATM

networks

where

all

packets

are

of

the

same

size

We

first

prove

the

following

lemma

that

enables

us

to

find

a

suitable

time

to

update

the

frame

in

FFQ

by

using

only

information

extracted

from

the

packet-by-packet

system

Let

us

first

define

the

starting

potential

sji

of

a

packet

j

of

connection

i

as

the

potential

of

the

connection

when

packet

j

starts

being

serviced

in

the

corresponding

fluid

server

Let

B

-LRB-

t

-RRB-

denote

the

set

of

backlogged

sessions

at

time

t

in

the

packet-by-packet

server

Lemma

Assume

that

at

time

t

for

each

backlogged

session

in

the

packet-by-packet

system

the

starting

potential

of

its

first

packet

belongs

in

the

next

frame

That

is

sji

f

-LRB-

t

-RRB-

T

B

-LRB-

t

-RRB-

Then

the

potential

of

each

backlogged

session

in

the

fluid

server

is

also

greater

than

f

-LRB-

t

-RRB-

T

Proof

We

will

prove

the

lemma

by

contradiction

Let

us

denote

with

i

the

connection

with

the

minimum

potential

in

the

fluid

server

and

let

us

assume

that

the

potential

of

connection

i

is

less

than

f

-LRB-

t

-RRB-

T

Connection

i

has

received

until

time

t

more

service

in

the

packet-by-packet

server

than

in

the

fluid-server

By

Lemma

there

is

another

connection

k

with

potential

Pk

-LRB-

t

-RRB-

Pi

-LRB-

t

-RRB-

that

has

received

less

service

in

the

packet-by-packet

server

than

in

the

fluid-server

Let

sk

be

the

starting

potential

of

the

packet

that

is

being

serviced

in

the

fluid-server

at

time

t

from

connection

k

Then

sk

Pk

-LRB-

t

-RRB-

and

thus

sk

f

-LRB-

t

-RRB-

T

This

is

a

contradiction

The

intuition

behind

the

lemma

is

that

we

can

determine

a

valid

update

time

for

the

frame

by

using

information

extracted

by

the

packet-by-packet

server

The

scheduler

can

keep

track

of

all

the

connections

that

are

backlogged

and

have

packets

with

starting

potential

in

the

next

frame

When

the

starting

potentials

of

the

packets

at

the

head

of

the

queue

of

all

backlogged

sessions

have

crossed

the

frame

we

know

that

the

potentials

of

the

connections

in

the

fluid-system

have

also

crossed

the

frame

Therefore

the

crossing

time

of

the

last

connection

is

a

valid

time

to

update

the

frame

and

the

system

potential

function

This

can

be

seen

better

by

an

example

Let

us

assume

that

the

frame

size

F

is

set

to

cells

Assume

that

connections

reserved

of

the

output

link

bandwidth

and

connection

reserved

half

of

the

link

bandwidth

At

time

a

packet

of

size

arrives

for

each

of

the

connections

and

packets

of

size

arrive

for

connection

The

timestamps

of

the

packets

of

connection

will

be

and

the

timestamp

of

the

packet

of

each

if

the

other

connections

will

all

be

This

means

that

all

packets

from

connection

may

be

serviced

first

in

the

packet-by-packet

system

At

this

time

the

potential

of

all

connections

in

the

fluid-system

will

be

equal

to

Only

at

the

time

that

all

packets

with

finish

time

equal

to

finish

service

under

the

packet-by-packet

system

will

the

potential

of

all

connections

in

the

fluid-system

be

as

well

At

this

time

all

backlogged

connections

will

have

a

packet

with

a

starting

potential

of

greater

or

equal

to

and

the

frame

can

be

updated

Implementation

for

General

Packet-Switched

Networks

Without

loss

of

generality

we

can

assume

that

the

service

rate

of

the

server

is

Thus

the

time

to

transmit

F

bits

is

also

equal

to

F

A

fraction

ri

of

the

output

link

bandwidth

is

allocated

to

connection

i

and

therefore

OEi

F

ri

bits

can

be

sent

from

connection

i

during

a

frame

An

additional

requirement

is

that

the

maximum

packet

size

must

be

less

than

OEi

so

that

a

single

packet

can

be

transmitted

within

one

frame

On

the

arrival

of

a

packet

it

is

stamped

with

a

timestamp

equal

to

the

potential

of

the

connection

when

the

packet

finishes

service

Packets

are

then

serviced

in

increasing

order

of

their

timestamps

When

a

packet

finishes

service

a

frame

update

mechanism

is

used

to

calculate

the

new

system

potential

On

the

arrival

of

a

packet

the

following

algorithm

is

executed

temp

P

-LRB-

Time

since

last

update

of

P

-RRB-

F

start

max

-LRB-

TSi

-LRB-

k

-RRB-

temp

-RRB-

TSi

-LRB-

k

-RRB-

start

Li

-LRB-

k

-RRB-

OEi

if

-LRB-

bstartc

bTSi

-LRB-

k

-RRB-

c

-RRB-

then

-LRB-

if

finishg

potential

is

in

next

frame

-RRB-

B

-LSB-

bstartc

-RSB-

B

-LSB-

bstartc

-RSB-

mark

packet

endif

An

explanation

of

the

algorithm

follows

The

variable

P

keeps

track

of

the

system

potential

P

is

a

floating-point

number

with

two

parts

the

integer

part

representing

the

current

frame

number

and

the

fractional

part

representing

the

elapsed

real

time

since

the

last

frame

update

On

arrival

of

a

packet

the

current

potential

is

estimated

in

the

variable

temp

scaled

to

the

frame

size

The

starting

potential

of

the

packet

is

then

computed

as

the

maximum

of

the

finishing

potential

of

its

previous

packet

and

the

system

potential

The

packet

is

then

stamped

with

its

finishing

potential

computed

from

knowledge

of

its

length

and

the

reserved

rate

If

the

starting

and

finishing

potentials

of

the

packet

belong

to

different

frames

the

current

packet

is

one

that

crosses

over

to

the

next

frame

Therefore

the

packet

is

marked

to

indicate

that

this

is

the

first

packet

of

the

session

to

cross

over

to

the

next

frame

In

addition

a

counter

is

incremented

to

keep

track

of

the

number

of

connections

that

have

crossed

over

into

the

new

frame

The

algorithm

maintains

one

counter

per

frame

to

keep

track

of

the

number

of

sessions

whose

packets

cross

into

the

frame

Later

when

the

marked

packet

is

scheduled

for

transmission

the

corresponding

counter

is

decremented

when

the

counter

reaches

zero

the

potentials

of

all

the

backlogged

connections

have

crossed

over

to

the

next

frame

and

a

frame

update

can

be

performed

The

array

of

counters

B

is

used

to

count

the

number

of

connections

that

have

packets

with

a

starting

potential

in

each

frame

Although

an

infinite

number

of

frames

may

need

to

be

serviced

in

practice

the

number

of

distinct

frames

in

which

the

potentials

of

queued

packets

can

fall

into

is

limited

by

the

buffer

size

allocated

to

the

connections

Thus

if

bi

denotes

the

buffer

space

allocated

to

connection

i

the

size

of

the

array

B

can

be

limited

to

M

max

i

V

d

bi

OEi

e

If

M

is

rounded

up

to

the

nearest

power

of

then

the

array

can

be

addressed

with

the

Me

least

significant

bits

of

the

current

frame

number

Obviously

instead

of

the

array

a

linked-list

implementation

of

the

counters

can

be

used

as

well

On

the

departure

of

a

packet

the

following

algorithm

is

executed

to

update

the

state

of

the

system

We

assume

that

the

current

packet

being

transmitted

is

the

kth

packet

of

connection

i.

P

P

Li

-LRB-

k

-RRB-

F

-LRB-

update

system

potential

-RRB-

if

-LRB-

frame-index

bTSi

-LRB-

k

-RRB-

c

-RRB-

then

if

-LRB-

B

-LSB-

frame-index

-RSB-

-RRB-

then

if

-LRB-

current

packet

is

marked

-RRB-

then

B

-LSB-

frame-index

-RSB-

B

-LSB-

frame-index

-RSB-

end

if

end

if

if

-LRB-

B

-LSB-

frame-index

-RSB-

-RRB-

then

-LRB-

update

frame

-RRB-

frame-index

bTSi

-LRB-

k

-RRB-

c

P

max

-LRB-

frame-index

P

-RRB-

end

if

end

if

The

system

potential

is

first

increased

by

the

transmission

time

of

the

current

packet

The

variable

frame-index

keeps

track

of

the

index

of

the

frame

currently

in

progress

If

the

packet

currently

being

transmitted

has

a

finishing

potential

within

the

next

frame

and

if

the

packet

is

marked

-LRB-

first

packet

from

the

connection

to

cross

the

frame

-RRB-

the

counter

corresponding

to

the

current

frame

is

decremented

If

the

counter

becomes

zero

the

session

being

serviced

is

the

last

to

cross

the

current

frame

and

both

the

frame

number

and

the

system

potential

can

be

updated

Implementation

for

ATM

Networks

Although

the

algorithm

described

above

can

be

applied

to

an

ATM

network

in

this

section

we

present

a

simplified

version

suitable

for

hardware

implementation

In

ATM

networks

the

available

time

for

completing

a

scheduling

decision

is

very

short

At

SONET

speeds

the

transmission

time

of

a

cell

is

less

than

s.

For

higher

speeds

the

available

time

is

even

less

Therefore

it

is

desirable

that

the

scheduling

algorithm

be

implementable

without

floating-point

operations

bb

frame

indexTimestamp

Figure

Timestamp

is

formed

by

the

index

of

the

current

frame

plus

an

offset

A

frame-crossing

point

of

the

connection

is

detected

when

the

-LRB-

b

-RRB-

th

bit

of

the

timestamp

flips

during

the

timestamp

computation

The

time

axis

is

again

split

in

frames

with

a

maximum

frame

size

of

F

We

require

that

F

is

a

power

of

two

The

unit

of

time

is

the

time

required

to

transmit

one

cell

at

the

link

rate

Therefore

F

is

the

time

required

to

transmit

F

ATM

cells

on

the

output

link

As

before

let

us

assume

that

a

fraction

ri

of

the

output

link

bandwidth

is

allocated

to

connection

i.

Then

during

a

frame

there

are

OEi

credits

allocated

to

connection

i

where

OEi

dF

rie

This

means

that

no

more

than

OEi

cells

may

be

transmitted

from

connection

i

during

one

frame

If

all

connections

were

busy

during

a

frame

period

then

by

the

end

of

the

frame

each

connection

would

have

sent

exactly

OEi

cells

thus

satisfying

its

bandwidth

reservation

and

the

size

of

the

frame

would

be

F

However

if

some

connections

are

absent

during

a

frame

then

the

real

time

at

which

all

of

the

active

connections

complete

sending

their

cells

belonging

to

the

frame

will

occur

earlier

We

define

the

system

potential

P

-LRB-

t

-RRB-

as

the

current

frame

number

multiplied

by

the

maximum

frame

size

plus

the

units

of

time

that

passed

since

the

last

update

of

the

frame

Forcing

the

frame

size

to

be

a

power

of

two

enables

the

multiplication

step

to

be

implemented

as

a

shift

operation

over

b

F

bits

When

the

server

is

idle

the

system

potential

is

reset

to

zero

The

variable

P

that

denotes

the

system

potential

function

in

the

algorithm

is

composed

of

two

fields

as

shown

in

Figure

The

b

least

significant

bits

indicate

the

time

that

passed

since

the

beginning

of

the

frame

and

the

remaining

bits

indicate

the

index

of

the

current

frame

A

timestamp

TSi

-LRB-

k

-RRB-

is

associated

with

the

kth

cell

of

connection

i

The

format

of

the

timestamp

is

the

same

as

that

of

the

system

potential

function

P

That

is

the

b

least

significant

bits

indicate

the

time

within

the

frame

and

the

most

significant

bits

indicate

the

frame

during

which

this

cell

must

depart

the

system

If

a

cell

has

a

timestamp

whose

frame

index

field

is

larger

than

that

of

the

previous

cell

it

marks

the

point

at

which

the

connection

crosses

a

frame

When

such

as

cell

is

serviced

subsequent

cells

from

the

connection

will

be

treated

as

belonging

to

the

next

frame

The

frame

crossing

point

is

detected

when

during

the

calculation

of

the

timestamp

the

-LRB-

b

-RRB-

th

bit

of

the

timestamp

flips

In

an

ATM

switch

cell

arrivals

can

be

processed

at

the

end

of

transmission

of

each

cell

On

the

arrival

of

the

kth

cell

in

the

server

the

timestamp

TSi

-LRB-

k

-RRB-

associated

with

the

cell

is

calculated

according

to

the

following

algorithm

The

operation

x

y

indicates

shift

of

operand

x

by

y

bits

The

constant

b

is

equal

to

F

start

max

-LRB-

TSi

-LRB-

k

-RRB-

P

-RRB-

-LRB-

get

starting

potential

of

cell

-RRB-

TSi

-LRB-

k

-RRB-

start

-LRB-

compute

timestamp

-RRB-

if

-LRB-

-LRB-

start

b

-RRB-

-LRB-

TSi

-LRB-

k

-RRB-

b

-RRB-

-RRB-

then

-LRB-

-LRB-

b

-RRB-

th

bit

of

timestamp

flipped

-RRB-

B

-LSB-

start

b

-RSB-

B

-LSB-

start

b

-RSB-

mark

cell

endif

Cells

are

serviced

in

increasing

order

of

their

timestamps

The

cells

that

represent

framecrossing

points

for

the

connections

are

marked

As

in

the

general

version

of

the

algorithm

a

counter

is

decremented

during

the

transmission

of

each

such

cell

and

the

frame

is

updated

when

the

counter

becomes

zero

The

following

algorithm

summarizes

the

actions

performed

to

update

the

system

potential

when

a

cell

departs

the

server

P

P

if

-LRB-

frame-index

-LRB-

TSi

-LRB-

k

-RRB-

b

-RRB-

-RRB-

then

if

-LRB-

B

-LSB-

frame-index

-RSB-

-RRB-

then

if

-LRB-

cell

is

marked

-RRB-

then

B

-LSB-

frame-index

-RSB-

B

-LSB-

frame-index

-RSB-

end

if

end

if

if

-LRB-

Bframe-index

-RSB-

-RRB-

then

frame-index

TSi

-LRB-

k

-RRB-

b

P

max

-LRB-

frame-index

b

P

-RRB-

end

if

end

if

The

algorithm

is

essentially

the

same

as

the

one

presented

in

the

previous

section

However

we

take

advantage

of

the

fact

that

only

integers

are

used

and

replace

the

floating

point

operations

in

the

original

algorithm

by

shifts

In

addition

the

priority

list

implementation

can

be

simplified

as

well

by

using

the

techniques

described

in

-LSB-

-RSB-

Conclusions

In

this

paper

we

introduced

and

analyzed

frame-based

fair

queueing

a

novel

traffic

scheduling

algorithm

with

application

in

both

ATM

and

general

packet

networks

The

algorithm

provides

the

same

end-to-end

delay

guarantees

as

a

PGPS

server

if

the

input

traffic

is

leaky-bucket

shaped

We

also

analyzed

the

fairness

properties

of

the

algorithm

and

showed

that

the

difference

in

normalized

service

offered

to

any

two

connections

that

are

continuously

backlogged

is

always

bounded

The

main

advantage

of

the

algorithm

compared

to

PGPS

is

that

it

does

not

require

simulation

of

the

fluid

server

enabling

it

to

be

implemented

in

a

simple

and

efficient

manner

All

the

information

needed

for

the

algorithm

can

be

extracted

from

the

packet-by-packet

server

itself

The

design

of

a

traffic

scheduling

algorithm

involves

an

inevitable

tradeoff

among

its

delay

complexity

of

implementation

and

fairness

Among

the

three

the

delay

and

implementation

complexity

are

clearly

the

most

important

criteria

for

the

use

of

an

algorithm

in

a

real

system

In

addition

to

minimizing

the

end-to-end

delay

in

a

network

of

servers

the

delay

behavior

of

an

ideal

algorithm

must

include

-LRB-

i

-RRB-

insensitivity

to

traffic

patterns

of

other

sessions

-LRB-

isolation

-RRB-

-LRB-

ii

-RRB-

delay

bounds

that

are

independent

of

the

number

of

sessions

sharing

the

outgoing

link

and

-LRB-

iii

-RRB-

ability

to

control

the

delay

bound

of

a

session

by

controlling

only

its

bandwidth

reservation

SCFQ

simplifies

the

timestamp

computation

of

PGPS

considerably

but

at

the

expense

of

seriously

degrading

its

delay

behavior

VirtualClock

on

the

other

hand

has

both

simple

implementation

and

delay

bounds

identical

to

that

of

PGPS

but

its

fairness

behavior

makes

it

unacceptable

for

many

applications

Frame-based

fair

queueing

maintains

the

same

delay

behavior

of

PGPS

and

has

a

simple

implementation

still

providing

fairness

to

individual

sessions

Apart

from

the

scheduling

algorithm

itself

a

major

contribution

of

this

paper

is

in

developing

a

framework

for

designing

schedulers

with

low

latency

and

bounded

fairness

This

framework

of

rate-proportional

servers

-LRB-

RPS

-RRB-

provides

valuable

insight

into

the

behavior

of

scheduling

algorithms

It

is

hoped

that

this

framework

will

lead

to

the

development

of

other

algorithms

in

the

future

Further

work

will

include

the

analysis

of

frame-based

fair

queueing

under

probabilistic

input

traffic

models

such

as

the

exponentially-bounded-burstiness

model

-LSB-

-RSB-

We

also

plan

to

implement

the

algorithm

in

hardware

using

our

FPGA-based

ATM

Simulation

Testbed

-LSB-

-RSB-

A

network

of

switches

will

be

simulated

in

order

to

evaluate

the

performance

of

the

algorithm

in

conjunction

with

variable-bit-rate

traffic

References

-LSB-

-RSB-

D.

Verma

D.

Ferrari

and

H.

Zhang

Guaranteeing

delay

jitter

bounds

in

packet

switching

networks

in

Tricomm

April

-LSB-

-RSB-

A.

K.

Parekh

and

R.

G.

Gallager

A

generalized

processor

sharing

approach

to

flow

control

the

single

node

case

in

Proceedings

of

INFOCOM

vol

pp.

-LCB-

May

-LSB-

-RSB-

A.

Demers

S.

Keshav

and

S.

Shenker

Analysis

and

simulation

of

a

fair

queueing

algorithm

Internetworking

Research

and

Experience

vol

no.

pp.

-LCB-

-LSB-

-RSB-

L.

Zhang

VirtualClock

a

new

traffic

control

algorithm

for

packet

switching

networks

ACM

Transactions

on

Computer

Systems

vol

pp.

-LCB-

May

-LSB-

-RSB-

D.

Ferrari

and

D.

Verma

A

scheme

for

real-time

channel

establishment

in

wide-area

networks

IEEE

Journal

on

Selected

Areas

in

Communications

vol

pp.

-LCB-

April

-LSB-

-RSB-

M.

Katevenis

S.

Sidiropoulos

and

C.

Courcoubetis

Weighted

round-robin

cell

multiplexing

in

a

general-purpose

ATM

switch

chip

IEEE

Journal

on

Selected

Areas

in

Communications

vol

pp.

-LCB-

October

-LSB-

-RSB-

M.

Shreedhar

and

G.

Varghese

Efficient

Fair

Queueing

using

Deficit

Round

Robin

in

Proc

SIGCOMM

September

-LSB-

-RSB-

C.

Kalmanek

H.

Kanakia

and

S.

Keshav

Rate

controlled

servers

for

very

high-speed

networks

in

IEEE

Global

Telecommunications

Conferece

pp.

-LCB-

December

-LSB-

-RSB-

S.

Golestani

A

framing

strategy

for

congestion

management

IEEE

Journal

on

Selected

Areas

in

Communications

vol

pp.

-LCB-

September

-LSB-

-RSB-

H.

Zhang

and

S.

Keshav

Comparison

of

rate

based

service

disciplines

in

Proceedings

of

ACM

SIGCOMM

pp.

-LCB-

-LSB-

-RSB-

J.

Davin

and

A.

Heybey

A

simulation

study

of

fair

queueing

and

policy

enforcement

Computer

Communication

Review

vol

pp

-LCB-

October

-LSB-

-RSB-

S.

Golestani

A

self-clocked

fair

queueing

scheme

for

broadband

applications

in

Proceedings

of

INFOCOM

pp.

-LCB-

IEEE

April

-LSB-

-RSB-

D.

Stiliadis

and

A.

Varma

Latency-rate

servers

A

general

model

for

analysis

of

traffic

scheduling

algorithms

Tech

Rep.

U.C.

Santa

Cruz

Dept.

of

Computer

Engineering

July

-LSB-

-RSB-

J.

Turner

New

directions

in

communications

-LRB-

or

which

way

to

the

information

age

-RRB-

IEEE

Communications

Magazine

vol

pp.

-LCB-

October

-LSB-

-RSB-

J.

Rexford

A.

Greenberg

and

F.

Bononi

A

fair

leaky-bucket

shaper

for

atm

networks

AT&T

unpulbished

report

-LSB-

-RSB-

J.

L.

Rexford

A.

Greenberg

and

F.

Bonomi

Hardware

efficient

fair

queueing

architectures

for

high-speed

networks

in

Proceedings

of

INFOCOM

IEEE

-LSB-

-RSB-

O.

Yaron

and

M.

Sidi

Performance

and

stability

of

communication

networks

via

robust

exponential

bounds

IEEE/ACM

Transactions

on

Networking

vol

pp.

-LCB-

June

-LSB-

-RSB-

A.

Varma

and

D.

Stiliadis

FAST

an

FPGA-based

simulation

testbed

for

ATM

switching

systems

in

Interop

Engineer

Conference

April

Appendix

A

Proofs

of

Main

Results

Proof

of

Lemma

We

will

prove

the

lemma

by

contradiction

Assume

if

possible

that

time

o

is

not

the

beginning

of

an

active

period

We

have

two

cases

Case

Time

o

belongs

in

inactive

period

Since

connection

i

was

not

busy

before

time

o

and

it

becomes

busy

at

time

o

a

packet

must

have

arrived

But

then

the

potential

of

the

connection

would

have

become

equal

to

the

system

potential

and

thus

o

is

the

beginning

of

an

active

period

Case

An

active

period

started

at

time

o

and

is

currently

in

progress

Then

for

every

time

t

-LRB-

oo

o

-RSB-

we

must

have

Pi

-LRB-

t

-RRB-

P

-LRB-

t

-RRB-

-LRB-

A.

-RRB-

During

the

interval

-LRB-

o

-RSB-

the

potential

of

connection

i

has

only

increased

by

the

normalized

service

offered

to

connection

i.

Therefore

at

any

time

t

during

the

interval

-LRB-

o

-RSB-

Pi

-LRB-

t

-RRB-

Pi

-LRB-

-RRB-

Wi

-LRB-

t

-RRB-

aei

-LRB-

A.

-RRB-

But

since

is

the

beginning

of

an

active

period

Pi

-LRB-

-RRB-

P

-LRB-

-RRB-

-LRB-

A.

-RRB-

From

equations

-LRB-

A.

-RRB-

and

-LRB-

A.

-RRB-

Pi

-LRB-

t

-RRB-

Pi

-LRB-

-RRB-

P

-LRB-

t

-RRB-

P

-LRB-

-RRB-

-LRB-

t

-RRB-

-LRB-

A.

-RRB-

Therefore

from

equations

-LRB-

A.

-RRB-

and

-LRB-

A.

-RRB-

Wi

-LRB-

t

-RRB-

aei

-LRB-

o

-RRB-

-LRB-

A.

-RRB-

Before

time

the

system

was

not

backlogged

and

therefore

we

can

write

Ai

-LRB-

t

-RRB-

Wi

-LRB-

t

-RRB-

aei

-LRB-

t

-RRB-

Thus

time

belongs

in

the

same

busy

period

as

any

time

t

in

the

interval

-LRB-

o

-RSB-

Therefore

time

o

can

not

be

the

beginning

of

a

busy

period

Proof

of

Lemma

Let

us

consider

any

time

t

during

the

connection

active

period

By

the

definition

of

active

period

Pi

-LRB-

t

-RRB-

P

-LRB-

t

-RRB-

-LRB-

A.

-RRB-

and

Pi

-LRB-

o

-RRB-

P

-LRB-

o

-RRB-

-LRB-

A.

-RRB-

From

the

definition

of

rate-proportional

servers

we

also

know

that

P

-LRB-

t

-RRB-

P

-LRB-

o

-RRB-

-LRB-

t

o

-RRB-

-LRB-

A.

-RRB-

From

equations

-LRB-

A.

-RRB-

-LRB-

A.

-RRB-

and

-LRB-

A.

-RRB-

we

can

easily

conclude

that

Pi

-LRB-

t

-RRB-

Pi

-LRB-

o

-RRB-

-LRB-

t

o

-RRB-

-LRB-

A.

-RRB-

During

an

active

period

the

potential

of

a

connection

is

only

increased

by

the

normalized

service

offered

to

it

Therefore

Pi

-LRB-

t

-RRB-

Pi

-LRB-

o

-RRB-

Wi

-LRB-

o

t

-RRB-

aei

t

o

-LRB-

A.

-RRB-

From

equations

-LRB-

A.

-RRB-

and

-LRB-

A.

-RRB-

Wi

-LRB-

o

t

-RRB-

aei

-LRB-

t

o

-RRB-

-LRB-

A.

-RRB-

Proof

of

Theorem

Let

us

again

trace

the

evolution

of

the

potential

function

of

connection

i

We

can

split

the

busy

period

in

intervals

during

which

the

connection

is

in

active

or

inactive

states

During

an

inactive

period

the

connection

is

not

receiving

any

service

and

no

packets

from

the

connection

are

backlogged

in

the

system

We

will

prove

the

theorem

by

contradiction

Let

us

denote

with

t

the

first

time

such

that

Wi

-LRB-

o

t

-RRB-

aei

-LRB-

t

o

-RRB-

-LRB-

A.

-RRB-

Assume

that

t

belongs

to

a

busy

period

that

started

at

time

o

We

distinguish

two

cases

Case

Time

t

belongs

in

an

active

period

Let

us

denote

with

ta

the

time

that

this

active

period

started

We

know

from

Lemma

that

ta

o

Then

since

t

ta

Wi

-LRB-

o

ta

-RRB-

aei

-LRB-

ta

o

-RRB-

-LRB-

A.

-RRB-

From

Lemma

we

also

know

that

for

time

t

that

belongs

in

the

same

active

period

Wi

-LRB-

ta

t

-RRB-

aei

-LRB-

t

ta

-RRB-

-LRB-

A.

-RRB-

From

equations

-LRB-

A.

-RRB-

and

-LRB-

A.

-RRB-

we

can

conclude

that

Wi

-LRB-

o

t

-RRB-

aei

-LRB-

t

o

-RRB-

-LRB-

A.

-RRB-

Case

Time

t

is

part

of

an

inactive

period

Consider

time

t

t

At

this

time

we

know

that

Wi

-LRB-

o

t

t

-RRB-

aei

-LRB-

t

t

o

-RRB-

-LRB-

A.

-RRB-

Since

the

connection

is

in

an

inactive

period

there

are

no

packets

backlogged

from

that

connection

and

therefore

Wi

-LRB-

o

t

t

-RRB-

Ai

-LRB-

o

t

t

-RRB-

-LRB-

A.

-RRB-

In

addition

no

packets

were

serviced

from

the

connection

in

the

interval

-LRB-

t

t

t

-RSB-

or

Wi

-LRB-

o

t

t

-RRB-

Wi

-LRB-

o

t

-RRB-

-LRB-

A.

-RRB-

It

is

clear

that

no

arrivals

of

session-i

packets

occurred

during

the

interval

-LRB-

t

t

t

-RRB-

if

there

was

an

arrival

during

this

interval

the

connection

would

have

entered

an

active

period

Thus

Ai

-LRB-

o

t

t

-RRB-

Ai

-LRB-

o

t

-RRB-

-LRB-

A.

-RRB-

From

equations

-LRB-

A.

-RRB-

-LRB-

A.

-RRB-

-LRB-

A.

-RRB-

and

-LRB-

A.

-RRB-

we

can

conclude

that

Ai

-LRB-

o

t

-RRB-

aei

-LRB-

t

o

-RRB-

-LRB-

A.

-RRB-

This

means

that

time

t

does

not

belong

in

the

same

busy

period

as

t

t.

Proof

of

Lemma

Assume

that

a

system-busy

period

starts

in

both

servers

at

time

Let

the

packets

transmitted

by

the

PRPS

system

during

the

system-busy

period

be

numbered

k

in

their

order

of

transmission

Since

both

servers

are

work-conserving

the

system-busy

period

must

end

in

both

at

the

same

time

However

the

order

in

which

the

last

bit

of

packets

leave

the

system

in

the

fluid

server

can

be

different

from

that

in

the

packet-by-packet

server

because

multiple

packets

can

be

in

service

at

the

same

time

in

the

former

Therefore

we

need

to

consider

two

cases

Case

The

last

bits

of

packets

k

left

the

fluid

server

before

the

last

bit

of

the

kth

packet

Then

the

time

of

departure

of

the

last

bit

of

the

kth

packet

in

the

fluid

server

denoted

by

tFk

must

satisfy

tFk

r

kX

j

Lj

-LRB-

A.

-RRB-

where

Lj

is

the

size

of

the

jth

packet

and

r

the

service

rate

on

the

outgoing

link

The

corresponding

departure

time

of

the

last

bit

of

the

kth

packet

in

the

packet-by-packet

server

is

given

by

tPk

r

kX

j

Lj

-LRB-

A.

-RRB-

From

-LRB-

A.

-RRB-

and

-LRB-

A.

-RRB-

tPk

tFk

-LRB-

A.

-RRB-

Case

Now

consider

the

case

when

one

or

more

of

the

packets

k

were

still

in

service

in

the

fluid

server

when

the

last

bit

of

the

kth

packet

left

the

server

Among

this

set

of

packets

let

the

packet

with

the

largest

index

be

the

mth

packet

m

k

with

a

length

of

Lm

This

packet

left

the

packet-by-packet

server

at

time

tPm

and

started

transmission

at

LPm

Lmr

At

this

point

packets

m

m

k

had

not

arrived

in

the

system

if

they

had

they

would

have

received

timestamps

lower

than

that

of

packet

m

and

therefore

would

have

been

serviced

earlier

than

m

in

the

packet-by-packet

server

Also

the

packets

m

m

m

k

were

serviced

completely

in

the

fluid

server

before

packet

k

left

the

system

Since

packets

m

m

k

were

serviced

completely

during

the

interval

-LRB-

tPm

Lmr

tFk

-RSB-

we

must

have

tFk

-LRB-

tPm

Lm

r

-RRB-

r

kX

j

m

Lj

or

tFk

tPm

r

kX

j

m

Lj

Lm

r

-LRB-

A.

-RRB-

But

tPk

tPm

r

kX

m

Lj

-LRB-

A.

-RRB-

From

-LRB-

A.

-RRB-

and

-LRB-

A.

-RRB-

and

noting

that

Lm

Lmax

tPk

tFk

Lmax

r

-LRB-

A.

-RRB-

Thus

combining

-LRB-

A.

-RRB-

and

-LRB-

A.

-RRB-

we

get

the

upper

bound

as

tPk

tFk

Lmax

r

Proof

of

Lemma

Since

both

servers

are

work-conserving

it

is

clear

that

if

session

i

receives

more

service

in

the

packet-by-packet

server

then

there

must

be

another

backlogged

session

j

that

has

received

less

service

in

the

interval

-LRB-

t

-RSB-

We

only

need

to

prove

that

Pj

-LRB-

t

-RRB-

Pi

-LRB-

t

-RRB-

for

one

such

session

j

We

will

distinguish

two

cases

Case

Session

i

has

the

maximum

potential

among

the

backlogged

sessions

in

the

fluid

server

at

time

t

In

this

case

Pj

-LRB-

t

-RRB-

Pi

-LRB-

t

-RRB-

for

every

backlogged

session

j.

Case

There

are

other

sessions

at

time

t

with

potentials

higher

than

that

of

i.

Let

S

be

the

set

of

sessions

with

potentials

higher

than

Pi

-LRB-

t

-RRB-

at

time

t

in

the

fluid

server

Then

by

the

definition

of

rate-proportional

servers

these

connections

are

not

receiving

service

at

time

t

in

the

fluid

server

Let

o

be

the

most

recent

time

when

a

session

from

the

set

S

was

in

service

in

the

fluid

server

Then

during

the

interval

-LRB-

o

t

-RSB-

of

the

connections

in

the

set

S

were

serviced

by

the

fluid

server

Furthermore

the

current

backlogged

period

of

session

i

started

at

or

after

time

o

otherwise

a

connection

from

the

set

S

would

not

have

been

serviced

just

before

o

Thus

during

the

interval

-LRB-

o

t

-RSB-

session

i

received

less

service

in

the

fluid

server

than

in

the

packet-by-packet

server

and

sessions

in

the

set

S

received

no

service

in

the

former

Hence

there

must

be

another

session

j

that

received

more

service

in

the

fluid

server

during

the

interval

-LRB-

o

t

-RSB-

Since

j

S

it

follows

that

Pj

-LRB-

t

-RRB-

Pi

-LRB-

t

-RRB-

Proof

of

Lemma

Both

RPS

and

PRPS

are

work-conserving

servers

Let

us

assume

that

a

connection

i

has

received

more

service

in

the

packet-by-packet

server

than

in

the

fluid-server

In

the

worst

case

every

other

backlogged

session

may

have

received

less

service

in

the

former

By

Lemma

any

backlogged

session

in

the

packet-by-packet

server

may

lag

in

service

by

as

much

as

Lmax

from

the

fluid

server

Thus

in

an

extreme

case

every

backlogged

session

excluding

i

may

be

lagging

in

service

by

Lmax

in

the

packet-by-packet

server

Since

the

servers

are

work-conserving

session

i

must

be

ahead

in

service

in

the

packet-by-packet

server

by

an

amount

equal

to

the

total

lag

of

all

other

sessions

That

is

W

Pi

-LRB-

t

-RRB-

W

Fi

-LRB-

t

-RRB-

-LRB-

V

-RRB-

Lmax

A

tighter

bound

may

be

obtained

in

some

cases

Let

us

denote

with

tki

the

time

a

packet

k

from

session

i

finishes

service

in

the

PRPS

system

The

maximum

difference

in

service

seen

by

session

i

between

the

two

servers

will

occur

at

time

tki

Let

Lki

denote

the

size

of

packet

k

This

packet

started

service

in

the

PRPS

system

at

time

oki

tki

Lkir

We

will

distinguish

two

cases

for

the

time

oki

Case

W

Pi

-LRB-

oki

-RRB-

W

Fi

-LRB-

oki

-RRB-

Then

we

can

write

W

Pi

-LRB-

tki

-RRB-

W

Pi

-LRB-

oki

-RRB-

Lki

W

Fi

-LRB-

oki

-RRB-

Lki

W

Fi

-LRB-

tki

-RRB-

Lki

W

Fi

-LRB-

tki

-RRB-

aei

max

n

V

-LRB-

Ln

aen

-RRB-

-LRB-

A.

-RRB-

The

last

inequality

follows

from

the

fact

that

Lki

aei

max

n

V

-LRB-

Ln

aen

-RRB-

Case

W

Pi

-LRB-

oki

-RRB-

W

Fi

-LRB-

oki

-RRB-

Let

F

ki

be

the

finishing

potential

of

packet

k

of

session

i

in

the

fluid

server

Pi

-LRB-

tki

-RRB-

is

the

potential

of

session

i

in

the

fluid

server

at

time

tki

and

F

ki

the

corresponding

potential

in

the

packet-by-packet

server

Then

at

tki

session

i

will

have

to

receive

an

additional

amount

of

service

equal

to

aei

-LRB-

F

ki

P

-LRB-

tki

-RRB-

-RRB-

in

the

fluid

server

to

catch

up

with

the

potential

in

the

packet-by-packet

server

Thus

W

Pi

-LRB-

tki

-RRB-

W

Fi

-LRB-

tki

-RRB-

aei

-LRB-

F

ki

Pi

-LRB-

tki

-RRB-

-RRB-

aei

-LRB-

F

ki

Pi

-LRB-

oki

-RRB-

-RRB-

since

Pi

-LRB-

tki

-RRB-

Pi

-LRB-

oki

-RRB-

-LRB-

A.

-RRB-

At

time

oki

session

i

has

received

less

service

in

the

fluid

server

as

compared

to

the

packet-by-packet

server

Therefore

by

Lemma

there

is

another

session

j

backlogged

in

the

fluid

server

at

time

oki

with

potential

Pj

-LRB-

oki

-RRB-

Pi

-LRB-

oki

-RRB-

that

has

received

more

service

in

the

fluid

server

Let

the

packet

in

service

of

this

session

at

time

oki

in

the

fluid

server

be

the

mth

packet

Let

Smj

and

Fmj

denote

the

potentials

of

session

j

in

the

fluid

server

when

this

packet

begins

and

ends

service

respectively

Then

Smj

Pj

-LRB-

oki

-RRB-

Since

the

packet

has

not

completed

service

in

the

packet-by-packet

server

Fmj

F

ki

Thus

we

have

Pi

-LRB-

oki

-RRB-

Pj

-LRB-

oki

-RRB-

Smj

-LRB-

A.

-RRB-

and

F

ki

Fmj

-LRB-

A.

-RRB-

Substituting

for

F

ki

and

Pi

-LRB-

tki

-RRB-

in

Eq

-LRB-

A.

-RRB-

from

equations

-LRB-

A.

-RRB-

and

-LRB-

A.

-RRB-

respectively

W

Pi

-LRB-

tki

-RRB-

W

Fi

-LRB-

tki

-RRB-

aei

-LRB-

F

mj

Smj

-RRB-

aei

Lj

aej

aei

max

n

V

-LRB-

Ln

aen

-RRB-

-LRB-

A.

-RRB-

This

completes

the

proof

of

Lemma

Proof

of

Theorem

Consider

time

Without

loss

of

generality

let

us

assume

that

at

time

Pj

-LRB-

-RRB-

Pi

-LRB-

-RRB-

Since

connection

i

is

backlogged

Pi

-LRB-

-RRB-

P

-LRB-

-RRB-

-LRB-

A.

-RRB-

We

also

know

that

Pj

-LRB-

-RRB-

P

-LRB-

-RRB-

P

-LRB-

A.

-RRB-

Since

both

sessions

are

backlogged

in

the

interval

-LRB-

-RSB-

their

potentials

in

this

interval

have

increased

only

by

the

normalized

service

offered

to

the

two

connections

Therefore

Pi

-LRB-

-RRB-

Pi

-LRB-

-RRB-

Wi

-LRB-

-RRB-

aei

-LRB-

A.

-RRB-

and

Pj

-LRB-

-RRB-

Pj

-LRB-

-RRB-

Wj

-LRB-

-RRB-

aej

-LRB-

A.

-RRB-

At

time

the

potential

of

connection

i

can

not

be

more

than

that

of

connection

j.

Let

us

denote

their

difference

with

x.

Then

x

Pj

-LRB-

-RRB-

Pi

-LRB-

-RRB-

-LRB-

A.

-RRB-

From

equations

-LRB-

A.

-RRB-

-LRB-

A.

-RRB-

and

-LRB-

A.

-RRB-

Wi

-LRB-

-RRB-

aei

Pj

-LRB-

-RRB-

P

-LRB-

-RRB-

x

-LRB-

A.

-RRB-

Similarly

from

equations

-LRB-

A.

-RRB-

and

-LRB-

A.

-RRB-

Wj

-LRB-

-RRB-

aej

Pj

-LRB-

-RRB-

P

-LRB-

-RRB-

P

-LRB-

A.

-RRB-

From

equations

-LRB-

A.

-RRB-

and

-LRB-

A.

-RRB-

we

can

easily

conclude

that

Wi

-LRB-

-RRB-

aei

Wj

-LRB-

-RRB-

aej

P

x

P

-LRB-

A.

-RRB-

If

Pj

-LRB-

-RRB-

Pi

-LRB-

-RRB-

we

can

derive

in

the

same

way

that

Wj

-LRB-

-RRB-

aej

Wi

-LRB-

-RRB-

aei

P

-LRB-

A.

-RRB-

Therefore

j

Wi

-LRB-

-RRB-

aei

Wj

-LRB-

-RRB-

aej

j

P

-LRB-

A.

-RRB-

Thus

if

P

is

finite

the

difference

in

normalized

service

offered

to

any

two

backlogged

connections

is

also

bounded

Proof

of

Theorem

Let

us

assume

without

loss

of

generality

that

before

time

o

session

i

was

not

backlogged

Note

that

since

both

sessions

have

an

infinite

supply

of

packets

from

time

o

the

timestamp

of

every

packet

is

calculated

from

that

of

the

previous

packet

of

the

same

session

Let

us

denote

with

Ski

and

Smj

the

starting

potentials

of

the

first

packet

in

the

queue

for

sessions

i

and

j

respectively

Also

let

us

denote

with

Fni

and

F

lj

the

finishing

potentials

of

the

last

packet

serviced

from

the

two

sessions

before

time

Case

Ski

Smj

We

will

separate

the

problem

into

two

sub-cases

First

let

us

assume

that

at

least

one

packet

was

serviced

from

session

j

after

time

o

Then

Fm

j

Smj

and

F

ki

Fm

j

Since

the

maximum

packet

size

for

session

i

is

Li

Smj

Li

aei

Ski

-LRB-

A.

-RRB-

Now

consider

the

sub-case

when

no

other

packet

was

serviced

from

j

after

time

o

Then

Smj

Pj

-LRB-

o

-RRB-

Cj

-LRB-

A.

-RRB-

We

also

know

that

Ski

Pi

-LRB-

o

-RRB-

-LRB-

A.

-RRB-

By

subtracting

-LRB-

A.

-RRB-

from

-LRB-

A.

-RRB-

Smj

Ski

-LRB-

Pj

-LRB-

o

-RRB-

Pi

-LRB-

o

-RRB-

-RRB-

Cj

P

Cj

-LRB-

A.

-RRB-

Therefore

combining

the

two

subcases

Smj

Ski

max

-LRB-

P

Cj

Li

aei

-RRB-

-LRB-

A.

-RRB-

The

service

offered

to

session

i

in

the

interval

-LRB-

-RSB-

is

equal

to

the

difference

in

time-stamps

Fni

Ski

Also

Fni

F

lj

Lj

aej

Therefore

Wi

-LRB-

o

t

-RRB-

aei

Fni

Ski

F

lj

Ski

Lj

aej

-LRB-

A.

-RRB-

Similarly

the

normalized

service

offered

to

session

j

is

equal

to

the

difference

between

the

timestamps

That

is

Wj

-LRB-

o

t

-RRB-

aej

F

lj

Smj

-LRB-

A.

-RRB-

Therefore

Wi

-LRB-

o

t

-RRB-

aei

Wj

-LRB-

o

t

-RRB-

aej

Smj

Ski

Lj

aej

max

-LRB-

P

Cj

Li

aei

-RRB-

Lj

aej

-LRB-

A.

-RRB-

Similarly

we

can

write

that

Ski

Smj

-LRB-

A.

-RRB-

For

session

j

F

lj

Fni

Li

aei

-LRB-

A.

-RRB-

and

Wj

-LRB-

o

t

-RRB-

aej

F

lj

Smj

Fni

Smj

Li

aei

-LRB-

A.

-RRB-

For

session

i

Wi

-LRB-

o

t

-RRB-

aei

Fni

Ski

-LRB-

A.

-RRB-

Subtracting

-LRB-

A.

-RRB-

from

-LRB-

A.

-RRB-

Wj

-LRB-

o

t

-RRB-

aej

Wi

-LRB-

o

t

-RRB-

aei

-LRB-

Ski

Smj

-RRB-

Li

aei

-LRB-

A.

-RRB-

Li

aei

-LRB-

A.

-RRB-

Case

Ski

Smj

In

order

to

estimate

a

tight

bound

we

will

need

to

separate

the

problem

into

several

sub-cases

Subcase

-LRB-

a

-RRB-

The

starting

potential

of

session

i

was

estimated

by

the

system

potential

Then

this

is

the

first

packet

that

will

be

serviced

from

session

i

after

time

o

Since

Pi

-LRB-

o

-RRB-

Ski

Smj

and

Pi

-LRB-

o

-RRB-

Pj

-LRB-

o

-RRB-

from

the

definition

of

rate-proportional

servers

session

j

received

less

service

in

the

packet-by-packet

server

than

in

the

fluid

server

Therefore

for

the

normalized

service

offered

to

connection

j

between

time

o

and

we

can

write

Wj

-LRB-

o

-RRB-

aej

Fni

Ski

Li

aei

W

Gj

-LRB-

o

-RRB-

W

Fj

-LRB-

o

-RRB-

aej

Wi

-LRB-

-RRB-

aei

Li

aei

Lmax

aej

-LRB-

A.

-RRB-

This

means

that

the

maximum

normalized

service

that

can

be

offered

to

session

j

is

bounded

by

the

maximum

increase

in

the

potential

of

session

i

plus

the

excess

normalized

service

that

session

j

received

in

the

packet-by-packet

server

Since

the

service

is

non-decreasing

we

have

Wj

-LRB-

o

-RRB-

Wj

-LRB-

-RRB-

Therefore

Wj

-LRB-

-RRB-

aej

Wi

-LRB-

-RRB-

aei

Li

aei

Lmax

aej

-LRB-

A.

-RRB-

Subcase

-LRB-

b

-RRB-

The

starting

potential

of

the

kth

packet

of

connection

i

was

computed

from

the

potential

of

the

-LRB-

k

-RRB-

th

packet

Again

we

will

have

to

consider

several

sub-problems

First

of

all

let

us

assume

that

there

was

another

packet

serviced

from

connection

i

after

time

o

Since

Ski

F

k

i

and

Fmj

F

k

i

we

can

write

Ski

Lj

aej

Smj

-LRB-

A.

-RRB-

or

equivalently

Ski

Smj

Lj

aej

-LRB-

A.

-RRB-

Now

let

us

assume

that

there

is

no

other

packet

serviced

from

session

i

after

time

o

Then

the

packet-by-packet

server

has

offered

more

service

to

session

i

until

time

o

than

the

fluid

system

Let

us

denote

with

t

the

time

at

which

the

-LRB-

k

-RRB-

th

packet

was

serviced

from

session

i

If

session

j

was

backlogged

at

time

t

then

F

aj

Lj

aej

F

k

i

F

aj

-LRB-

A.

-RRB-

for

some

packet

a

of

connection

j

But

since

F

k

i

Ski

and

Smj

F

aj

Ljaej

we

can

conclude

that

Ski

Smj

Lj

aej

-LRB-

A.

-RRB-

If

connection

j

was

not

backlogged

at

time

t

then

when

it

becomes

backlogged

at

some

time

t

t

o

Pj

-LRB-

t

-RRB-

Pi

-LRB-

t

-RRB-

P

and

Saj

Pj

-LRB-

t

-RRB-

for

some

packet

a

of

connection

j

The

second

inequality

follows

from

the

fact

that

the

fluid-server

can

only

be

behind

the

packet-by-packet

server

for

connection

j

at

time

t

since

the

packet-bypacket

server

is

not

backlogged

Also

Smj

Saj

Therefore

Smj

Pi

-LRB-

t

-RRB-

P

We

also

know

from

Lemma

that

F

k

i

Ski

Pi

-LRB-

t

-RRB-

Ci

Subtracting

Ski

Smj

P

Ci

-LRB-

A.

-RRB-

Therefore

from

equations

-LRB-

A.

-RRB-

-LRB-

A.

-RRB-

and

-LRB-

A.

-RRB-

Ski

Smj

max

-LRB-

P

Ci

Lj

aej

-RRB-

For

session

j

the

maximum

service

offered

in

the

interval

-LRB-

-RSB-

will

be

Wj

-LRB-

o

t

-RRB-

aej

F

lj

Smj

Fni

Smj

Li

aei

-LRB-

A.

-RRB-

For

session

i

Wi

-LRB-

o

t

-RRB-

aei

Fni

Ski

-LRB-

A.

-RRB-

Subtracting

Wj

-LRB-

o

t

-RRB-

aej

Wi

-LRB-

o

t

-RRB-

aei

Ski

Smj

Li

aei

max

-LRB-

P

Ci

Lj

aej

-RRB-

Li

aei

-LRB-

A.

-RRB-

Finally

if

session

i

has

received

more

normalized

service

in

this

interval

we

can

write

Wi

-LRB-

o

t

-RRB-

aei

Fni

Ski

F

lj

Ski

Lj

aej

-LRB-

A.

-RRB-

and

Wj

-LRB-

o

t

-RRB-

aej

F

lj

Smi

-LRB-

A.

-RRB-

By

subtracting

and

using

the

assumption

that

Ski

Smi

Wi

-LRB-

o

t

-RRB-

aei

Wj

-LRB-

o

t

-RRB-

aej

Lj

aej

-LRB-

A.

-RRB-

Combining

equations

-LRB-

A.

-RRB-

-LRB-

A.

-RRB-

-LRB-

A.

-RRB-

-LRB-

A.

-RRB-

and

-LRB-

A.

-RRB-

we

can

conclude

that

j

Wi

-LRB-

o

t

-RRB-

aei

Wj

-LRB-

o

t

-RRB-

aej

j

max

-LRB-

P

Li

aei

Ci

P

Lj

aej

Cj

Lmax

aej

Li

aei

-RRB-

-LRB-

A.

-RRB-

A

symmetrical

argument

for

the

case

where

session

j

becomes

backlogged

after

i

will

complete

the

proof

of

the

theorem

Appendix

B

Simulation

Results

This

appendix

provides

some

simulation

results

to

further

illustrate

the

ability

of

framebased

fair

queueing

-LRB-

FFQ

-RRB-

to

provide

low

session

latencies

and

isolation

from

other

misbehaving

flows

We

simulated

the

packet-by-packet

version

of

the

algorithm

-LRB-

PFFQ

-RRB-

as

applied

to

a

single

output

port

of

an

ATM

switch

For

comparison

we

also

simulated

the

self-clocked

fair-queueing

-LRB-

SCFQ

-RRB-

algorithm

since

its

implementation

complexity

is

comparable

to

that

of

FFQ

Our

model

consists

of

eight

sessions

sharing

the

same

output

link

The

reservation

of

each

of

these

sessions

is

shown

in

Table

An

ON-OFF

traffic

model

was

used

to

generate

traffic

within

each

session

The

traffic

was

then

shaped

through

a

leaky

bucket

Since

our

interest

is

in

evaluating

the

delay

in

the

scheduler

rather

than

the

effect

of

input

burstiness

we

selected

a

oe

of

for

each

connection

We

also

assumed

that

one

session

-LRB-

session

-RRB-

is

misbehaving

attempting

to

transmit

more

than

its

reservation

We

assumed

an

infinite

number

of

buffers

causing

session

to

remain

backlogged

throughout

the

simulation

With

this

model

we

measured

the

delays

and

bandwidth

allocations

received

by

all

the

sessions

A

summary

of

our

results

is

presented

in

Table

Delays

are

shown

in

the

table

in

terms

of

cell-transmission

times

The

upper

bounds

for

delay

for

each

session

in

the

two

servers

computed

using

Theorem

are

as

shown

in

Table

Both

the

average

and

maximum

delays

of

session

which

has

reserved

of

the

link

bandwidth

are

substantially

lower

in

the

PFFQ

server

as

compared

to

the

SCFQ

server

PFFQ

provides

a

maximum

end-to-end

delay

of

for

this

session

By

using

Theorem

the

maximum

end-to-end

delay

for

virtual

channel

can

be

computed

as

The

delays

of

sessions

-LCB-

are

also

lower

in

the

PFFQ

server

The

higher

delays

experienced

in

the

SCFQ

server

are

a

result

of

its

poor

isolation

properties

The

SCFQ

algorithm

provided

more

service

to

session

than

its

reservation

sacrificing

the

delays

of

other

channels

In

contrast

the

PFFQ

is

able

to

provide

stricter

isolation

and

does

not

allow

the

misbehaving

connection

to

influence

the

end-to-end

delays

of

the

other

connections

This

example

verifies

the

excellent

isolation

properties

of

PFFQ

An

important

property

of

PFFQ

is

that

the

maximum

latency

seen

by

a

session

can

be

controlled

by

varying

its

reservation

That

is

increasing

the

reservation

results

in

a

corresponding

decrease

in

the

latency

affecting

both

the

maximum

and

average

delays

in

a

real

system

as

is

the

case

in

a

GPS

server

With

SCFQ

on

the

other

hand

the

delay

bound

is

much

less

affected

by

the

reservation

of

the

session

The

simulation

results

in

Table

verify

this

important

property

In

this

set

of

simulations

the

reservations

of

the

individual

sessions

are

identical

to

those

in

Table

but

all

sessions

are

transmitting

within

their

reservations

Again

both

the

average

and

maximum

delays

seen

by

session

are

substantially

lower

in

the

PFFQ

server

as

compared

to

the

SCFQ

server

The

delays

of

sessions

-LCB-

are

slightly

higher

in

PFFQ

owing

to

their

lower

reservations

but

the

differences

are

small

Thus

the

simulations

in

this

appendix

illuminate

some

of

the

important

properties

of

the

frame-based

fair

queueing

algorithm

Session

Reserved

Arrival

PFFQ

SCFQ

Bandwidth

Rate

Avg

Delay

Max

Delay

Avg

Delay

Max

Delay

Table

Comparison

of

delays

from

a

simulation

of

PFFQ

and

SCFQ

algorithms

The

eight

sessions

shown

share

the

same

output

link

Delays

are

measured

in

terms

of

celltransmission

times

Session

is

misbehaving

while

others

are

transmitting

within

their

reservations

Session

PFFQ

SCFQ

Table

Analytical

delay

bounds

for

the

sessions

in

the

simulation

Session

Reserved

Arrival

PFFQ

SCFQ

Bandwidth

Rate

Avg

Delay

Max

Delay

Avg

Delay

Max

Delay

Table

Comparison

of

delays

from

a

simulation

of

PFFQ

and

SCFQ

algorithms

The

eight

sessions

shown

share

the

same

output

link

Delays

are

measured

in

terms

of

celltransmission

times

All

sessions

are

transmitting

within

their

reservations

delay bounds
fair queueing
fairness
packet scheduling