review: Analysis and Simulation of a Fair Queuing Algorithm
- What is the best way to
fairly queue packets from multiple users?
Should queues be determined by number of packets or packet
size? How can we allocate the
bandwidth fairly? What protection
do we have against malicious flows?
- A proposal of a queuing
mechanism for the fair distribution of network bandwidth. An evaluation and combination of previous
works into a queuing algorithm and formulas.
The quantities Fi and Si remained unchanged when a packet is dropped. This is because the packet is dropped only if
it is received into a full queue and is the largest user of the aggregate
queue. This means a malicious user which
attempts to flood the queue and does not reduce his queue because of lost, pays
the time constraint of the queue for each packet, even those that are dropped.
A parameter for promptness is kept to reward a user
that does not have a filled queue. This
time parameter is subtracted from the packet wait time in the queue, and grows
larger with decreasing use of the bandwidth.
This mechanism gives faster latency for those who do not use their
entire bandwidth. This is perfect for
web browsers, who because of their small traffic size,
will get faster service.
The packets are distributed not just by packet arrival
time, but also by the number of bits per packet. This means that smaller packets will leave
the queue quicker than larger to prevent users from packing many smaller
packets into one large packet.
- Critique the main
System researchers and
builders should recognize that it is very difficult to make assumptions
about what should be considered fair.
In most situations fairness is perceived to be the max-min
definition assuming all users have both equal rights to the resource and
equal goals in its use. This
assumption is only accurate in very few situations. Fairness is dependant on the goals of
the users whether it is bandwidth or latency, and a more formal definition
must be created in order to extend research in how we can maximize it. This paper even brings another definition
into question. That of what do you
consider a user of a queue? Should
this be by source, destination, process, or source-destination pair? Each has both its advantages and
disadvantages, with the best method being dependant on the intentions of
the users. A more concrete
definition of user is necessary to properly allocate bandwidth between
- Significance- 4 I believe
that the article is ground breaking in that they are able to accomplish
what they want in a simple and efficient manner. Much of their work is an extension on
others, but it is remarkable that they can make it all work
together. But the true performance
gain is not as high as a revolutionary breakthrough.
- Convincing- 5 I believe the article to be
very convincing. The beauty of the
article is how simple it is. The
state the goals they wish to achieve and how they go about doing it with
the simplest method of implementation.
The reason it is so convincing is the each piece seems to be
obvious and all the pieces are able to work together. The test is done for many situations
and does not seem to hide any bad results.