Analysis and Simulation of a Fair Queueing Algorithm A. Demers, S

advertisement
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
Download