Analysis and Simulation of a Fair Queueing Algorithm A. Demers, S
Download
Report
Transcript Analysis and Simulation of a Fair Queueing Algorithm A. Demers, S
Analysis and Simulation of a Fair
Queueing Algorithm
A. Demers, S. keshav, and S. Shenker
Wireless/Mobile
Network Lab
임상택
Table of Contents
Introduction
Fair Queueing
–
–
–
Motivation
Definition of algorithm
Properties of Fair Queueing
Flow Control Algorithms
Simulations
Discussion
Introduction
The rapid growth, in both use and size, of computer
networks ⇒ methods of congestion control
Congestion control
–
–
At the source point ⇒ flow control algorithms
At the gateway point ⇒ routing and queueing algorithms
Queueing algorithms can be though of as allocating
three nearly independent quantities
–
–
–
Bandwidth(which packets get transmitted)
Promptness(when do those packets get transmitted)
Buffer space(which packets are discarded by the gateway)
Fair Queueing
Motivation
–
–
The requirement that the queueing algorithm
allocate bandwidth and buffer space fairly
Nagle’s Fair Queueing flaw
–
The gateway should provide service that does not
depend on a packet’s time of arrival
lack of consideration of packet lengths( long packets
get more bandwidth than short packets, not fairly.)
Max-min fairness criterion
Definition of algorithm
–
It is simple to Allocate buffer space fairly
–
by dropping packets, when necessary from the flow with the
largest queue
Allocate bandwidth fairly
Pure Round-robin service fails to guarantee a fair allocation
⇒ Because of variations in packet sizes
Bit-by-bit round robin (BR) fashion ( as in a head-of-queue
processor sharing discipline )
–
Allocates fairly ⇒ Since at every instant in time each flow is
receiving its fair share
R(t) : the number of rounds made in the round-robin up to time t
Nac(t) : the number of active sessions that have bits in their queue at time t
μ : the line-speed of the gateway’s outgoing line
R
t
N ac (t )
A Packet of size P whose first bit gets serviced at time t0 will have its last bit
serviced P rounds later
–
At time t, R(t) = R(t0) + P
tiα : arrival time at the gateway that packet i belonging to flow α
Siα, Fiα : values of R(t) when the packet started and finished service
Piα : packet size
Fiα = Siα + Piα , Siα = MAX(Fi-1α , R(tiα))
Since R(t) is a strictly monotonically increasing function, the ordering of Fiα
values is the same as the ordering of the finishing times
Bit-by-bit round robin is unrealistic ⇒ Emulate this algorithm by packet-bypacket transmission scheme.
A natural Way to emulate BR algorithm
–
Fiα define the sending order of the packets
–
The smallest value of Fiα
Promptness allocation
–
Give more promptness (less delay) to users who utilize less than their fair share of
bandwidth
–
Biα , nonnegative parameter δ
Biα = Siα + Piα , Siα = MAX(Fi-1α , R(tiα)-δ)
–
Sending order is determined by the B’s, not the F’s
–
This gives slightly faster service to packets that arrive at an inactive conversation
–
Two extreme cases δ = 0 and δ = ∞
R(tiα)<=Fi-1α , flow α is active ⇒ δ is irrelevant and Biα depends only on the
finishing number of the previous packet
R(tiα)>Fi-1α , flow α is inactive
⇒ δ = 0, Biα = Piα + R(tiα)
⇒ δ = ∞, Biα = Piα + Fi-1α
Buffer space
–
When the queue is full and new packet arrives, the last packet from the source using
the most buffer space is dropped
–
When packet is dropped, F’s and S’s unchanged
Small penalty for ill-behaved hosts
Properties of Fair Queueing
Flow Control Algorithms
Simulations
Discussion