FAST TCP: Fairness and Queuing Issues

advertisement
762
IEEE COMMUNICATIONS LETTERS, VOL. 9, NO. 8, AUGUST 2005
FAST TCP: Fairness and Queuing Issues
Liansheng Tan, Cao Yuan, and Moshe Zukerman, Senior Member, IEEE
Abstract— This letter considers problems of unfairness and
excessive variations of the router queue associated with FAST
TCP operations due to inaccurate estimation of the round-trip
propagation delay. Using a simple example, we explain unfairness
in FAST TCP caused by this inaccurate estimation. We also
present analytical and simulation performance studies and show
that improving this estimation by giving the first packet in every
flow priority can improve fairness and reduce queuing variations.
Index Terms— FAST TCP, Diffserv, priority queuing, roundtrip time (RTT), congestion control.
Fig. 1.
The dumbbell topology used in the simulations.
Fig. 2.
The active periods of the four flows.
I. I NTRODUCTION
F
AST TCP [3], [4], [5] is a new TCP congestion control
algorithm for high-speed long-distance networks; it aims
to rapidly stabilize networks into steady, efficient and fair
operating points. It uses queuing delay, in addition to packet
loss, as a congestion signal. Queuing delay provides a finer
measure of congestion and scales more naturally with network
capacity than packet loss probability does [4]. Using the
queuing delay as a congestion measure in its window updating
equation [5], allows FAST TCP to overcome difficulties [9]
encountered by currently used algorithms (such as TCP Reno
[1]) in networks with large bandwidth-delay products.
The window updating manipulations of FAST TCP rely on
estimating the round-trip propagation delay (RTPD) using a
parameter called baseRTT which is the minimum round-trip
time (RTT) observed so far. FAST TCP proposals [3], [4]
assume the usual first-in-first-out (FIFO) schedule in routers.
This leads to inaccurate estimation of RTPD by baseRTT
which results in unfairness [4], [8] and excessive variations
of routers’ queues. The contribution of this paper is twofold.
Firstly, we demonstrate that certain flows may consistently
experience higher queuing delay than others. This gives them
higher baseRTT value than others, so they estimate lower
queuing delay than they actually have and therefore they
obtain higher throughput than the less aggressive flows. Secondly, we examine the benefit achieved by improving RTPD
estimation by giving strict priority to the first packet (by
Diffserv) in every flow over all other traffic streams.
Manuscript received January 14, 2005. The associate editor coordinating the
review of this letter and approving it for publication was Dr. Nikos Nikolaou.
The work of the first two authors was supported by the National Natural
Science Foundation of China under Grant Number 60473085; the work of
the third author was supported by the Australian Research Council under
Grant Number DP0559131.
Liansheng Tan and Cao Yuan are with the Computer Science Department of Central China Normal University, Wuhan, PR. China (e-mail:
l.tan@mail.ccnu.edu.cn).
Moshe Zukerman is with the Australian Research Council Special Research
Center for Ultra-Broadband Information Networks (CUBIN), an affiliated
program of National ICT Australia, EEE Dept., The University of Melbourne,
Victoria, Australia (e-mail: mzu@unimelb.edu.au).
Digital Object Identifier 10.1109/LCOMM.2005.08023.
II. FAST TCP W INDOW C ONTROL AND ITS E QUILIBRIUM
In [4] the network model of window congestion control
algorithm is presented, where the network consists of a set of
links with finite capacities and is shared by a set of unicast
flows. Let us introduce the following notation used in [4] for
source i. The component wi is the congestion window, di
is the round-trip propagation delay, qi is the queuing delay
estimated by qi = RT T − di . FAST TCP adapts the source
window size periodically according to the following equation
di wi (t)
+ αi (wi (t), qi (t)) +(1−γ)wi (t),
wi (t+1) = γ
di + qi (t)
(1)
where
αi wi if qi = 0
αi (wi , qi ) =
otherwise.
αi
Subsequently, we rewrite (1) as
wi (t + 1) = wi (t) + γ(αi − xi (t)qi (t)),
(2)
where xi = wi /RT T is the sending rate of source i. From
(2), the unique equilibrium point (x∗i , qi∗ ) of the FAST TCP
system is
αi
(3)
x∗i = ∗ , qi∗ = RT T ∗ − di ,
qi
where RT T ∗ stands for the round-trip time when the router
queue reaches its equilibrium.
When the router queue reaches its equilibrium, every flow
has the same queuing time, by (3), during a period of traffic
congestion, each competing flow with the same value of αi
should theoretically obtain an equal share of the bottleneck
c 2005 IEEE
1089-7798/05$20.00 TAN et al.: FAST TCP: FAIRNESS AND QUEUING ISSUES
Fig. 3.
The sending rate of the four FAST TCP flows under FIFO.
link bandwidth. However, both the experimental results reported in [4] and our simulation results presented in the next
section do not demonstrate such equal sharing.
763
Fig. 4.
The router queue under FIFO.
of RTPD. A similar phenomenon also exists in Vegas [6], [7],
[11].
B. Analysis
III. FAST TCP UNDER FIFO
Considering FAST TCP under the FIFO schedule, we run
the following ns2 [2], [10] simulations on the dumbbell
network topology shown in Fig. 1 with the four FAST TCP
sender and receiver pairs (S1-D1, S2-D2, S3-D3 and S4-D4)
each with different active periods (flows) as shown in Fig.
2. For each flow, we set the parameter αi = 200 packets
(i = 1, 2, 3, 4) and set every packet size to 1 kbyte.
A. Demonstration of unfairness
In FAST TCP [4] the component di is the RTPD of
source i, but in actual implementation this value is set by
minimum RTT observed so far, which is called baseRTT.
Clearly, baseRTT may not be an accurate estimate of RTPD.
The two are equal only when the queuing delay of the packet
that experiences the minimum RTT for each flow is zero.
This is not the case in our example as shown in Fig. 4. A
late joining FAST TCP flow overestimates its RTPD because
ALL its packets experience significant queuing delay thus its
baseRTT is too high. Therefore it underestimates its queuing
delay relative to early joining FAST TCP flows. This makes
the late joining flows more aggressive thus obtaining higher
throughput. Considering the notation used in (3), the late
flow’s rate xi is greater than that of early joining flows.
Flows are said to become active one by one if the next
flow becomes active after the previously activated flow reaches
its equilibrium. Because FAST TCP reaches its equilibrium
quickly [4], the assumption that flows become active one by
one is reasonable. As shown in Fig. 4, while there is only one
flow in the link, the router queue size is 200 packets; as the
late joining flows become active one by one, the router queue
size reaches 520 packets, 916 packets and finally 1368 packets.
Theoretically, at equilibrium state every source with the same
value of α maintains the same number of packets in the router
queue. Therefore, increment of router queue should be equal
when the four flows join one by one. However, the simulation
results shown in Fig. 4 display more rapidly increasing router
queue length than expected. It is due to incorrect estimation
Let us now consider a general dumbbell network model with
n source-destination pairs. In this model, the single bottleneck
link is shared by a set of n unicast FAST TCP flows, identified
by their sources. We further assume that these flows become
active one by one.
For each FAST TCP Flow i, let xi be the sending rate
(i = 1, 2, · · · , n), which allocation is subject to the capacity
constraint:
(4)
x1 + x2 + · · · + xn = C,
where C is the capacity of the link and xi = αi /qi , qi is the
queuing delay. We assume that α1 = α2 = · · · = αn = α
and that the flows enter the router one by one, and let bi be
the increment of router queue when the ith flow enters the
link. When there is only one flow in the link: x1 = C, and
q1 = b1 /C. Using (3) and (4) we have 1/b1 = 1/α. When
the second flow enters the link, because it cannot obtain the
correct RTPD, it observes the queuing delay q2 = b2 /C, and
the first flow observes the queuing delay q1 = (b2 + b1 )/C,
with (3) and (4) we have 1/(b1 + b2 ) + 1/b2 = 1/α.
On the basis of the above analyses, we present the following
recursion procedure to calculate bi
1
1
=
b1
α
1
1
1
+
=
b1 + b 2
b2
α
1
1
1
1
+
+
=
b1 + b 2 + b 3
b2 + b 3
b3
α
..
.
(5)
1
1
1
1
+
+ ··· +
= .
b1 + · · · + bn
b2 + · · · + bn
bn
α
The summation b1 + b2 + · · · + bn is the router queue size,
and (b1 + b2 + · · · + bn )/C is the queuing delay. From (5),
we compute b1 = α, b2 = 1.618α, b3 = 1.9817α, and then
we can prove that bn+1 > bn , and bn is divergent. So when n
increases, bn increases rapidly. That is, the queuing delay of
late arriving flows increases rapidly with the number of flows.
This supports the argument that because of the use of baseRTT
764
IEEE COMMUNICATIONS LETTERS, VOL. 9, NO. 8, AUGUST 2005
Fig. 5. The sending rate of the four FAST TCP flows under the PQ scheme.
Fig. 6.
to estimate RTPD, the unfairness is likely to increase with the
number of flows.
results on the sending rate of the four FAST TCP flows and
the router queue under the PQ scheme are displayed in Figs. 5
and 6, respectively. Just as the theory indicates, the simulation
results demonstrate that, by using the PQ schedule, fairness at
the equilibrium state is successfully achieved among the FAST
TCP flows. If n FAST TCP flows maintain the same bottleneck
router queue length using the same α value, each flow will
obtain a 1/n portion of the bottleneck link bandwidth, and
subsequently the increase of router queue size is lower than
under the FIFO schedule.
IV. FAST TCP WITH P RIORITY Q UEUE
We propose to improve the estimation of RTPD for FAST
TCP by using packet marking and priority queue (PQ). A
similar idea of using PQ has been used in [11]. However,
according to our method, only one flow needs to send one high
priority packet, while according to [11] many high priority
packets are sent, i.e., out-of-band (OB) control packets, which
may overload the priority queue.
PQ gives strict priority to specially marked packets so they
are sent without queuing delay. This scheme provides the
feasibility for FAST TCP to estimate RTPD accurately. We
make a small modification in the FIFO mechanism of FAST
TCP by marking the type of service (ToS) with the highest
priority for the first packet of each flow and assign other
packets the normal priority. When the highest priority packet
enters the router, it will be dispatched immediately even if the
router buffer is not empty. By doing so, FAST TCP obtains
better RTPD estimation.
We now show that FAST TCP can estimate RTPD accurately using the above method. The equilibrium-sending rate
of each flow is x∗i = αi /qi , we still assume that α1 = α2 =
· · · = αn = α, the increment bi is calculated by the follow
recursion procedure:
1
1
=
b1
α
1
1
1
+
=
b1 + b 2
b1 + b 2
α
1
1
1
1
+
+
=
b1 + b 2 + b 3
b1 + b 2 + b 3
b1 + b 2 + b 3
α
..
.
1
1
1
1
+
+ ··· +
= .
b1 + · · · + bn
b1 + · · · + bn
b1 + · · · + bn
α
(6)
Using (4), we solve (6) to obtain: b1 = b2 = · · · = bn = α
and x1 = x2 = · · · = xn = C/n.
To further study the performance of FAST TCP under this
PQ schedule, we now repeat the simulation of Section 3. The
model and the parameter settings are kept as before; we only
change the FIFO queuing schedule in the PQ. The simulation
The router queue under the PQ scheme.
V. F INAL R EMARKS
We have demonstrated the benefits of giving priority to
some packets to better estimate baseRTT in FAST TCP for the
case of a single bottleneck model. However, in the case of a
real network, there are many effects that need to be discovered
and understood before implementation. For example, with
many short flows, the priority queue itself could be congested
and when the network topology changes, the RTPD estimation
may not be accurate.
R EFERENCES
[1]
M. Allman, V. Paxson, and W. Stevens, “TCP congestion control,” IETF
RFC2581, Apr. 1999.
[2] T. Cui and L. Andrew, “FAST TCP simulator module for ns-2, version
1.1” (online). Available: http://www.cubinlab.ee.mu.oz.au/ns2fasttcp.
[3] C. Jin, D. Wei, and S. H. Low, “FAST TCP for high-speed long-distance
networks,” Internet draft draft-jwl-tcp-fast-01.txt (online). Available:
http://netlab.caltech.edu/pub/papers/draft-jwl-tcp-fast-01.txt.
[4] C. Jin, D. Wei, and S. H. Low, “FAST TCP: Motivation, architecture,
algorithms, performance,” in Proc. IEEE INFOCOM 2004, vol. 4, Mar.
2004, pp. 2490-2501.
[5] C. Jin et al., “FAST TCP: from theory to experiments,” IEEE Network,
vol. 19, pp. 4-11, Jan./Feb. 2005.
[6] R. J. La, J. Walrand, and V. Anantharam, “Issues in TCP Vegas” (online). Available: http://www.eecs.berkeley.edu/ ananth/19992001/Richard/IssuesInTCPVegas.pdf.
[7] S. H. Low, L. L. Peterson, and L. Wang, “Understanding Vegas: a duality
model,” Journal of the ACM, vol. 49, pp. 207-235, Mar. 2002.
[8] M. Mehyar, D. Spanos, and S. H. Low, “Optimization flow control with
estimation error,” in Proc. IEEE INFOCOM 2004, vol. 2, March 2004,
pp. 984-992.
[9] F. Paganini, Z. Wang, J. C. Doyle, and S. H. Low, “Congestion control
for high performance, stability, and fairness in general networks,”
IEEE/ACM Trans. Networking, vol. 13, pp. 43-56, Feb. 2005.
[10] USC/ISI, Los Angeles, CA. The Network Simulator - ns-2 (online).
Available: http://www.isi.edu/nsnam/ns/.
[11] Y. Xia, D. Harrison, S. Kalyanaraman, K. Ramachandran, and
A. Venkatesan, “Accumulation-based congestion control,” IEEE/ACM
Trans. Networking, vol. 13, pp. 69-80, Feb. 2005.
Download