CS268 Reading
Review
Analysis and Simulation of a Fair Queueing Algorithm
Alan Demers, Srinivasan Keshav and Scott Shanker
Review by Feng Zhou
2/12/2003
The problem: FCFS based gateways have notorious problems like the
segregation effect and being vulnerable to misbehaved users. Fair Queueing
tries to solve these problems by introducing a more sophisticated queueing
mechanism and keeping more state about hosts and flows.
Key points:
- It is very good point to look at the interplay between the source flow
control, gateway routing and gateway queueing policies together as a whole.
Actually the simulations in this paper is done in this way, i.e. checking how
things work with different queueing policies and different source flow control
policies.
- The basic scheme of FQ is pretty straightforward. One queue is kept for
each user(defined as a peer pair). Then packets are taken from these queue in a
pseudo bit-by-bit round-robin pattern. The round-robin is done by keeping track
of the current "round" of transmission and transfer the packet with the smallest
finishing "round" number. It is easy to prove that this ensures truly
asymtotical fair allocation of bandwidth. By introducting a little bit of
history - the finish round of last packet - FQ can give more promptness to users
who utilize less than their fair share of bandwidth, which is important to
interactive applications like remote login.
- The experiments show very favorable results for FQ. However, just as the
authors admit, the deployment of FQ depends on whether it can keep up with line
speed. For example, from the algorithm description, it probably has to maintain
a priority queue of all head of queue packets. This incurs a log(n) time to
find the next packet to deliver and to insert the new packet. Given the large
number of users and high line speed. This doesn't seem to be trivial
problem.