766
Journal of Software 软件学报 Vol.18, No.3, March 2007
information of the flows rather than operating on per-flow queueing
[3−8]
. Although the proposed queue management
algorithms are more scalable, they usually need to take a tradeoff between the degree of fairness and scalability.
Recently, the stateless core architecture, or SCORE for short, has been proposed to achieve approximate
fairness and reasonable scalability simultaneously. The key technique used to implement the SCORE network is the
dynamic packet state (DPS), which inserts the flow state information into the header of the incoming packets. In the
SCORE/DPS architecture, routers are divided into edge routers and core routers. Edge routers maintain per-flow
state and insert it into the header of the incoming packet
[9−12]
. Core routers use the simple first-in first-out (FIFO)
queueing and drop the incoming packet based on the state information carried in its header when congestion occurs.
Unfortunately, the existing mechanisms based on SCORE/DPS architecture have the following limitations. First,
they label each packet passing through edge routers, which is not really necessary since only packets of
high-bandwidth flows will be dropped probabilistically when the network becomes congested. Moreover, it is
showed by recent measurement that most of the traffic is actually carried by a small number of flows, while the
large remaining amount of flows is very small both in size and lifetime
[4,13]
. So it is reasonable to just maintain the
state of these minority flows that tend to occupy more bandwidth and label their packets. Second, these mechanisms
deal equally with short flows and long flows. In fact, the throughput and delay of the short-lived transmission
control protocol (TCP) flows will deteriorate severely when competing with the long-lived one due to lack of
sufficient packets to activate duplicate acknowledgments and the dependence on timeout to detect packet loss.
Although several approaches have been proposed to deal with short flows preferentially, they cannot allocate
bandwidth fairly among the competing long flows
[14,15]
. Third, to the best of our knowledge, none of these proposed
SCORE/DPS mechanisms applies specific approach to control the queue length in routers, which corresponds to the
queueing delay experienced by the backlogged packets.
In order to address these issues, we propose a new fair bandwidth sharing mechanism in this paper. In the
mechanism, edge routers classify the flows into short and long based on the amount of traffic they send. The packets
of long flows are labeled with their flow rate while the packets of short flows are not labeled. Core routers allocate
the bandwidth of the output link to short flows as they need and allocate the remaining bandwidth fairly among the
contending long flows. The new mechanism with the name of fair PIP (FPIP) uses a well-designed active queue
management (AQM) algorithm, called proportional integral based series compensation and position feedback
compensation (PIP), to detect congestion and control the queue length
[16]
.
The rest of the paper is organized as follows. In Section 2, we describe FPIP in detail. In Section 3, the
performance of FPIP is evaluated through extensive simulations. In Section 4, we discuss some miscellaneous issues
related to the implementation of FPIP. Finally, we conclude in Section 5.
2 FPIP Framework
2.1 Overview
We present FPIP, a packet labeling and queue management mechanism that significantly simplifies the
operation of edge router and core router without affecting the performance of the mechanism by taking into account
the ubiquitous heavy-tailed distribution of the Internet traffic. Since the bandwidth demanded by short flows is
comparatively little, proper protection of short flows will not cause persistent congestion. Instead, the bandwidth
allocated to long flows should be limited for they tend to use up bandwidth more aggressively. Furthermore, in the
current Internet, long flows are mainly used to transfer the bulk data, which are not very sensitive to the packet loss
and delay. So, it is feasible to satisfy the bandwidth demands of short flows first and then fairly allocate the
remaining bandwidth among long flows. To achieve this goal, FPIP consists of a set of edge-router and core-router