MIT Technical Report MIT-LCS-TR-806, May 2000.

TCP-friendly Congestion Control for Real-time Streaming Applications

Deepak Bansal and Hari Balakrishnan M.I.T. Laboratory for Computer Science

Cambridge, MA 02139 g Email: fbansal,hari @lcs.mit.edu

Abstract ment in the , however, the protocols used by these applications must implement congestion control This paper introduces and analyzes a class of nonlinear con- that are stable and interact well with TCP. Such protocols gestion control algorithms called binomial algorithms, moti- are called “TCP compatible” [3] or “TCP fair”. They ensure vated in part by the needs of streaming audio and video ap- that the TCP connections using AIMD get their fair allo- plications for which a drastic reduction in transmission rate cation of in the presence of these protocols and upon congestion is problematic. Binomial algorithms gen- vice versa. One notion that has been proposed to capture

eralize TCP-style additive-increase by increasing inversely “TCP compatibility” is “TCP-friendliness”. It is well known k

proportional to a power of the current window (for TCP, that the throughput  of a flow with TCP’s AIMD conges-

k =¼

= ½

) ; they generalize TCP-style multiplicative-decrease tion control (increase factor « packet, decrease factor

Ô

Ð

=½=¾ Ô  » Ë=´Ê Ôµ

by decreasing proportional to a power of the current win- ¬ ) is related to its loss rate as ,where

Ð = ½

dow (for TCP, ). We show that there are an infinite Ë is the packet size [19, 25, 10, 26]. An is TCP-

Ô

» Ë=´Ê Ôµ

number of deployable TCP-friendly binomial algorithms, all friendly [20] if its throughput  with the same

· Ð =½ of which satisfy k , and that all binomial algorithms constant of proportionality as for a TCP connection with the

converge to fairness under a synchronized-feedback assump- same packet size and round-trip time.

· Ð > ¼; k; Ð  ¼ tion provided k . Our simulation results In this paper, we present and evaluate a new class of show that binomial algorithms interact well with TCP across nonlinear congestion control algorithms for Internet trans-

a RED gateway. We focus on two particular algorithms, port protocols and applications. Our work is motivated by

=½;Ð =¼

IIAD (inverse-increase/additive-decrease, k ) and two important goals. First, we seek to develop and analyze a

= Ð = ¼:5 SQRT ( k ), showing that they are well-suited to family of algorithms for applications such as Internet audio applications that do not react well to large TCP-style win- and video that do not react well to the large “factor-of-two” dow reductions. We also find that TCP-friendliness in terms rate reductions that a TCP-style multiplicative-decrease en- of the relationship between throughput and loss rate of an al- tails, because of the drastic degradations in user-perceived gorithm does not necessarily imply fairness relative to TCP quality that result. Second, we seek to achieve a deeper un- performance, especially for drop-tail bottleneck gateways. derstanding of TCP-compatible congestion control by gen- eralizing the class of linear control algorithms, and under- standing how a TCP-friendly algorithm competes with TCP 1 Introduction for bottleneck resources. An AIMD control algorithm may be expressed as:

The stability of the Internet to date has in large part been due

Û Û · «; «>¼

·Ê Ø to the congestion control and avoidance algorithms [15] im- I: Ø

plemented in its dominant transport protocol, TCP [28, 34].

Û ´½ ¬ µÛ ;¼ <¬ <½;

·ÆØ Ø D: Ø (1) Based on the principle of additive-increase/multiplicative- decrease (AIMD) [6], a TCP connection probes for extra where Á refers to the increase in window as a result of re- bandwidth by increasing its congestion window linearly with ceipt of one window of acknowledgements in a RTT and D

time, and on detecting congestion, reducing its window mul- refers to the decrease in window on detection of a loss by the

Û Ø Ê

tiplicatively by a factor of two. Under certain assumptions sender, Ø the window size at time , the round-trip time ¬ of synchronized feedback, Chiu and Jain have shown that an of the flow, and « and are constants. We have assumed a AIMD control scheme converges to a stable and fair operat- linear increase in window in the RTT. ing point [6], providing a sound basis for Jacobson’s algo- To better understand the notions of TCP-friendliness and rithms found in most current TCP implementations [1]. the trade-offs between the increase and decrease rules, we TCP is not well-suited for several emerging applications generalize the AIMD rules in the following way:

such as streaming and real-time audio and video because the

k

; «>¼ Û Û · «=Û

·Ê Ø I: Ø

reliability and ordering semantics it ensures increases end- Ø

Ð

Û Û ¬Û ;¼ <¬ <½

·ÆØ Ø

to-end delays and delay variations. To be safe for deploy- D: Ø (2) Ø

1

l Unstable = These rules generalize the class of linear controls. For k

1 Region

¼; Ð =½ = ½;Ð =½ , we get AIMD; for k , we get MIMD MIMD AIMD (multiplicative increase/multiplicative decrease used by slow Less

aggressive

= ½;Ð =¼ start in TCP [15]); for k , we get MIAD; and

0.5 SQRT

=¼;Ð =¼ for k we get AIAD, thereby covering the class of TCP all linear controls. friendly We call this family of algorithms binomial congestion MIAD0 AIAD IIAD control algorithms, because their control expressions involve -1 0 0.5 1 k Unstable the addition of two algebraic terms with different exponents. Region More

They are interesting because of their simplicity, and because aggressive

< ½ they possess the property that any Ð has a decrease that is in general less than a multiplicative decrease, a desir-

able property for streaming and real-time audio and video. k; Ð

Figure 1.The´ ) space of nonlinear controls from our

Ð k = ¼;Ð = ½

If there exist values of k and (other than )

· Ð = ½ for which binomial algorithms are TCP-friendly, then it pro- family, with the k line showing the set of TCP- vides a spectrum of potentially safe congestion management compatible controls. mechanisms that are usable by Internet applications which

do not react well to large and drastic rate reductions. It ¬ should be noted that varying « and also help in reduc- well with TCP AIMD across a wide range of network

ing the oscillations. However, they still keep the reduction conditions over a RED bottleneck gateway. ¬ multiplicative and as a result, the same value of « and can- not be used across wide range of bandwidth*delay values by ¯ TCP-friendliness vs. TCP compatibility. Over an application that desires an absolute bound on the inherent a wide range of parameters, we discover that oscillations due to congestion control algorithm. For that TCP-friendliness does not necessarily imply TCP- purpose (for example, if the layers in layered media are ad- compatibility. The unfairness stems from the buffer

management algorithms implemented at a congested ¬ ditively spaced), « and have to be made functions of cur- rent window values which is what binomial algorithms help gateway and how buffers are sized at a drop-tail (FIFO) achieve. gateway. Fortunately, an active queue management Our major finding is that TCP-friendly binomial conges- scheme like Random Early Drop (RED) at the bottle- tion control schemes do exist. Based on the analysis and neck link alleviates this unfairness problem by explic- simulation, we present the following findings: itly equalizing rates across flows. Hence,

while binomial algorithms are TCP-friendly (because

´; Ôµ

 Ô

¯ The - relationship. For the binomial family of con- they satisfy relationship, they become TCP-

½

·Ð·½

k compatible in the presence of RED gateways.

» ½=Ô

trols,  . In particular, the linear control

» ½=Ô protocols MIMD and AIAD have  ,which Figure 1 summarizes the qualitative features of a bi-

is significantly more aggressive than the AIMD TCP-

k; е nomial algorithms in the ´ space, including the points compatible relationship, while MIAD is unstable.

where it corresponds to the four linear controls, the line

k · Ð

¯ The rule. A binomial algorithm is TCP-friendly segment where it is TCP-friendly, and the regions where

· Ð =½ Ð  ½ « ¬ if and only if k and for suitable and . it is more and less aggressive than TCP AIMD. An in-

This implies that there is a wide range of TCP-friendly teresting observation that follows from this figure and our Ð

binomial controls parametrized by k and , and appli- analysis is that of all the TCP-friendly binomial algorithms

· Ð = ½;Ð  ½ cations can choose from this family depending on their ( k ) , AIMD is most aggressive in prob- needs and the level of rate degradation they can sus- ing for available bandwidth. In this sense, AIMD is the tain. Furthermore, we show that under a synchronous most efficient and best suited binomial algorithm for bulk

feedback assumption, all the binomial control proto- data transfer applications that can tolerate large reductions

 ¼ Ð  ¼

cols converge to fairness as long as k , and in available capacity upon encountering congestion. (Note

· Ð>¼

k . In particular, all the TCP-friendly binomial that we assume that window size is always greater than 1, so

k

=Ï < ½ algorithms converge to fair allocations. ½ ). This observation shows the suitability of bino- mial algorithms as a good theoretical framework for evalu-

¯ IIAD and SQRT control. Of this family, we evaluate ating additive increase/multiplicative decrease algorithms.

k; е

two interesting TCP-friendly algorithms in the ´ The rest of this paper is organized as follows. In Sec-

k =½;Ð =¼µ ´k =½=¾;Ð =½=¾µ space: ´ and . We call tion 2, we discuss and analyze the properties of binomial the first IIAD (inverse-increase/additive decrease) be- algorithms. In Section 3, we delve into the IIAD and SQRT cause its increase rule is inversely proportional to the controls, presenting several simulation results with RED current window, and the second SQRT because both its gateways and evaluating fairness with competing TCP con- increase is inversely proportional and decrease propor- nections. In Section 4, we discuss the interactions between tional to the square-root of the current window. Our binomial algorithms and TCP in the presence of drop-tail simulations show that both IIAD and SQRT interact gateways. We describe the performance results of our imple-

2 mentation of SQRT algorithm for an Internet audio applica- bandwidth, while a large value of Ð implies that the algorithm tion in Section 5. We compare our work to past research on displays large window reductions on encountering conges-

congestion management in Section 7 and conclude in Sec- tion. Thus, it would seem that there is a trade-off between k

tion 8. and Ð in order for for a binomial protocol to achieve a certain throughput at some loss rate. Indeed, in Section 2.3, we show that at any loss rate, the

2 Binomial congestion control algorithms

· Ð throughput depends on the sum of the two exponents, k . As a corollary, we find that a binomial algorithm is TCP-

In this section, we present and analyze the properties of bi-

· Ð =½ Ð  ½ friendly if and only if k and . We call this the

nomial congestion control algorithms. We start by providing

· Ð k rule, which represents a fundamental tradeoff between some intuition about the sample paths traversed by the con- probing aggressiveness and the responsiveness of window

gestion window in a binomial algorithm, and showing that

k; е reduction. Figure 1 shows the features of the ´ space.

it converges to fairness under simplified conditions of syn- ½ We consider schemes for which Ð> as unstable (Figure 1),

chronized feedback to sources. The intuition section makes

Û Û > Ø since there always exists a window size Ø (assuming

simplifying assumptions but later, we corroborate our results Ð

½ Û < ¬Û ¬

) above which Ø for any constant . It can be Ø by deriving an analytic formula that relates the throughput made stable by having it not cut down window by an amount of a binomial algorithm to the loss rate it observes. We then, more than the current window but that involves modifying use this formula to obtain the conditions under which a bi- the basic increase decrease rules and thus, we consider them

nomial algorithm is TCP-friendly.

· Ð  ½

unstable. Similarly, schemes for which k are also

· Ð  unstable because as k rule will show, does not decrease

2.1 Intuition with increasing Ô in this realm. As a result, the window for a connection will keep on increasing (or remain same) as loss We use the technique of Chiu and Jain and represent the two- rate is increased.

source case as a “phase plot,” where the axes correspond Ü to the current window sizes, i , of each source (for conve-

2.2 Convergence to fairness Ü nience, we normalize each i to a number between 0 and 1, so it represents the fraction of the total window size aggre- In this section, we show that a network with two sources gated across all competing sources). As the system evolves implementing the same binomial control algorithm with

with time, the two sources adjust their windows according to

 ¼ k; Ð converge to a fair and efficient operating point

the control equations, leading to a sample path in this phase

Ü = Ü =½=¾ k · Ð>¼ ¾ ( ½ ), provided that . The argument

space. The key to understanding binomial controls is to re- ¾ is easily extended to a network of Ò> sources by consid- alize how these paths move in the phase space. To start with, ering them pairwise. We assume that the network provides we summarize how linear controls behave [6]: synchronized feedback about congestion to all the sources2.

1. Additive-increase/decrease: Moves parallel to the 45Ó - We do not claim that this models the reality of Internet con- line. Additive-increase improves fairness (in the sense gestion well, but this analysis provides good insight into the

of Jain’s fairness index1), additive-decrease reduces it. results that follow.

Ü <Ü ¾

Without loss of generality, suppose ½ , which cor-

Ü = Ü ½

2. Multiplicative-increase/decrease: Moves along the line responds to points above the ¾ equi-fairness line

´Ü ;Ü µ ¾

connecting ½ to the origin. Fairness is un- in Figure 2 (an analogous argument can be made when

Ü < Ü ½

changed. ¾ ). First, consider the left-most picture that shows =¼ how a window increase evolves. When k , the increase Because binomial algorithms are non linear, their evolu- is additive, parallel to the 45 Ó -line (along line AB). When

tion in the phase plot is not always along straight line seg-

> ¼ k = ¼ k , the increase curve lies below the line since

ments. Figure 2 shows a portion of one such sample path Ü

the amount of increase in ½ is larger than the corresponding

highlighting the increase and decrease parts. For all val-

Ü Ü < Ü

½ ¾

increase in ¾ (note ). Therefore, it intersects the

k > ¼ Ü Ü ¾

ues of , the increase in ½ and are not equal—the

Ü · Ü =½ ¾ maximum-utilization line ½ at a point C, to the

smaller of the two values increases more than the larger one. =¼ right of where the k line intersects it. Such an increase

It is clear that this leads to a fairer allocation than if both

Ü · Ü ¾ improves efficiency, since ½ increases, and moves to-

sources did additive-increase by the same constant amount. wards a fairer allocation (i.e., towards the intersection of the

< ½ On the other hand, values of Ð in the decrease phase equi-fairness and maximum-utilization lines). worsen fairness. However, binomial algorithms still conver- Now, consider a window reduction. Observe that when

gence to fairness as we show in Section 2.2.

= ¼

Ð (additive decrease), the window reduction occurs

k Ð The parameters and represent the aggressiveness of along the 45 Ó line (along line DE), worsening fairness.

probing and conservativeness of congestion response of a bi-

= ½ When Ð , the decrease is multiplicative and moves nomial control algorithm. A small value for k implies that along the line to the origin without altering fairness. For

the algorithm is more aggressive in probing for additional

<Ð <½

¼ , the window reduction occurs along a curve with

½

Ò Ü ¾

For a network with connections each with a share i of a

È È ¾

¾ This is the same network model as in Chiu and Jain’s work [6].

f =´ Ü µ =´Ò Ü µ i

resource, the fairness index i [16].

3 k=-1 x2 Point of intersection with MUL x2 D x2 shifts right on each cycle k=0 o k>0 (see 45 lines as reference) F k>0 E Equi-fairness line B C l=0 0

x1 x1 x1

Figure 2. Sample path showing the convergence to fairness for an inverse increase proportional decrease algorithm.

shape as shown in the middle picture of Figure 2; this curve W

=¼ Ð =½ is in-between the previous two lines (Ð and lines)

and causes the system to evolve to an under-utilized region

· Ü < ½

Ü W ¾ of the curve where ½ . This curve lies strictly m (1/(k+1))

α β =¼

below the Ð line because the tangent at each point has a W(t)=((k+1) t/R) Wm

Ð Ð

Ü =Ü > ½ Ü >Ü ½

slope = when ¾ . Therefore, it intersects ½ ¾ N the maximum-utilization line at a point F which is closer to d the fair allocation point relative to the previous intersection of the sample path with that line. The key to the convergence argument is to observe that

the successive points of intersection of a binomial curve with

Ü · Ü =½ ¾ the maximum-utilization line ½ always progress

Td

Ü > Ü ½

toward the fair allocation point. When ¾ , this con-

Ü < Ü ½

tinually moves downwards, when ¾ , it continually t1 t2 t

Ü = Ü Ü = Ü

½ ½ ¾ moves upwards towards the ¾ point. Once ,

a binomial algorithm behaves exactly like a linear algorithm, Figure 3. Functional form of window vs time curve.

Ü = Ü ¾ moving on the ½ equi-fairness line.

It is easy to see that all we require in the above argu- Ð

ment is for at least one of k and to be larger than zero, Û

since the sample path needs to move to the right at some and linear interpolation of the window between Ø and

Û

·Ê

Ø :

= Ð = ¼ stage. When k , the algorithm is the linear

additive-increase/additive-decrease scheme, which does not

Ó ·½

converge. The window evolution here remains on the 45 - k

« Û «Ø dÛ

´Ü ;Ü µ

= µ = · C ¾

line passing through any point ½ , without moving to-

k

Û :Ê k ·½ Ê ward the fair allocation point. dØ This proof is valid under the synchronized feedback as- (3) sumption and shows that a network in which all sources im- plement the same binomial control algorithm converges to where C is an integration constant. a fair operating point. We note that it does not address the The functional form of this curve is shown in Figure 3.

case of different binomial algorithms coexisting in the same We are interested in two parameters marked in the figure:

Ì Æ D network. D , the time between two successive packet drops, and , the number of packets between two successive drops. Both these are independent of “time-shifting” the curve along the 2.3 Throughput horizontal (time) axis, which implies that one can arrange it such that a downward extrapolation of the curve passes We now analyze the throughput of a binomial algorithm through the origin. That is, without loss of generality and

as a function of the loss rate it experiences. We start with

Ì Æ C =¼ D with no change to D and , one can set .

the steady-state model studied for TCP by Lakshman and

Ï Û Ø Let Ñ be the maximum value of the window at time

Madhow [18] and Floyd [10]. Using the increase rule of Ø

¾ (Figure 3), at which a packet drop occurs signifying con- Equation 2, we get using a continuous fluid approximation gestion to the sender. Then, one can write expressions for

4

Ì Æ D D and as follows: random-loss model are modeled as Bernoulli trials where

each packet is independently lost with probability Ô.

Ì = Ø Ø

¾ ½

D We use the stochastic approximation technique for TCP

Ð performance described by Wang and Schwartz [36]. We

= Ï = Ï ¬Ï Û Û

Ñ Ñ Ø

Substituting Ø and in Equation

¾ ½ Ñ treat the window value after receiving an acknowledgment

3, we get

Ø Û

with sequence number , Ø , as a stochastic process and cal-

Ê culate its average value in the steady state. If we run the

k ·½ Ð k ·½

Ì = [Ï ´Ï ¬Ï µ ]

D Ñ Ñ

Ñ algorithm for a long time, the resulting congestion proba-

´k ·½µ

« bility (the number of window reductions over the number

k ·½

ÊÏ

Ô

Ñ

½ k ·½

Ð of packets sent) is . Then, in the steady state, the random

= [½ ´½ ¬Ï µ ]

Ñ

Û Û

«´k ·½µ Ø

process Ø evolves as follows: given , with probability

´½ Ôµ ·½

k , the packet is not lost and the sender’s window in-

ÊÏ

Ñ

Ð ½ ¾Ð ¾

k ·½

¬ ´Ï · Ç ´Ï µµ =

Û = Û · «=Û

Ñ Ñ

·½ Ø

creases, so Ø , whereas with probability

Ø «

Ô, the packet is lost, forcing the window to reduce giving

k ·Ð

¬ÊÏ

Ð

Ñ

½ Ð

Û = Û ¬Û

·½ Ø

Ø .

Ø

 ½ ¬<<Ï

(when Ð< and )(4)

Ñ «

Using this, we can calculate the average “drift” D in the

k ·½ Ð

Û = Û D ´Û µ=´½ Ôµ«=Û Ô¬ Û

Ø

·Ð

k window when . .

Ì Ï

The leading term in D therefore varies as , with

Ñ Û

Assuming that the stochastic process Ø has a stationary

the succeeding terms becoming increasingly insignificant. Û

distribution, Ø must have most of its probability around the Æ

D is the shaded area under the curve in Figure 3.

Û = Ï D ´Ï µ=¼ ×ØeadÝ

region for ×ØeadÝ such that . Thus:

½

 

Z

Ø

¾

k ·½

½

«Ø

k ·½

Æ = ´k ·½µ =Ê dØ

D

Ôµ«

(5) ´½

Ð

Ê

= Ô¬ Ï Ø

½ (9)

×ØeadÝ

k ·½ Ï

Calculating the integral, we get: ×ØeadÝ

«

½=´k ·Ð·½µ

µ Ï  ´ Ô<<½ µ

×ØeadÝ if (10)

¬Ô

½

¾·k Ð ½ ¾·k

Ï Æ = [½ ´½ ¬Ï µ ]

D

Ñ Ñ

´¾ · k µ«

We emphasize that Ô is the per-packet loss probability. As

Ï ½

shown in the steady-state analysis above, ×ØeadÝ is a good

Ð ½ ¾·k

 ¬ ´¾ · k µÏ

Ï (leading term)

Ñ Ñ Û

approximation to the time average of the random process Ø .

´¾ · k µ«

½ « ½

½=´k ·Ð·½µ

»   ´ µ

=´k ·Ð·½µ ½=´k ·Ð·½µ

The result, that ½

¬

ÊÔ Ô

¬

k ·Ð·½ Ï = (6) Ñ therefore follows for the random-loss model as well. « This relationship establishes the fact that for a given loss

The average throughput (in packets per second),  of a flow rate and identical conditions, TCP AIMD and a binomial al-

· Ð

using binomial congestion control is the number of packets gorithm satisfying k rule can achieve the same through- Æ

sent in each epoch between successive drops ( D )divided put. Further, it shows that for a given loss rate, two bi- Ì

by the duration between drops ( D ). The packet loss prob- nomial connections will achieve same throughput provided

Ô = ½=Æ  Ô Ï Ñ

ability, D . Writing and in terms of by other conditions are same.

Æ Ì D

substituting the expressions for D and yields:

½ «

=´k ·Ð·½µ

½ 3 Simulation results

µ =´

 (7)

½=´k ·Ð·½µ

¬ ÊÔ

In this section, we present the results of our ns-2 [24] simu-

½ »

 lations of binomial control algorithms. We start by investi-

=´k ·Ð·½µ Thus, ½ for a protocol in this family. This Ô gating the interactions between connections running a TCP- implies that for such a protocol to be TCP-friendly,  must

½ friendly binomial control algorithm (i.e., one that satisfies

vary as ½ , which implies that:

Ô

· Ð k the k rule) and TCP, as a function of , which deter-

mines how aggressive the window increase factor is. We

· Ð =½ k (8)

then investigate the performance of two specific members of

k =

To first order, choosing «=¬ to be the same as for TCP this family: IIAD (inverse-increase/additive-decrease;

½;Ð = ¼ = Ð = ¼:5 would achieve similar performance. Note that in our analy- )andSQRT(k ; this corresponds to an

sis above we have assumed a linear interpolation of window increase proportional to the square-root of the current win-

Û Û

Ø·Ê between Ø and i.e we assume an increase in window dow and a decrease proportional to it). We conclude this by one in a RTT for TCP rather than an increase by 1/w on section by studying the performance of IIAD and SQRT in receipt of each acknowledgement. the presence of multiple bottlenecks. These results also hold for the random-loss model first Our single bottleneck simulations used the topology

analyzed by Ott et al. in the context of TCP [25]. Un- shown in Figure 4. It consists of Ò connections sharing a

like in the steady-state model where losses happen period- bottleneck link with total bandwidth equal to b; all connec- Ï ically when the sender’s window reaches Ñ , losses in the tions have an identical round-trip propagation delay equal

5 source-1 sink-1 Fairness to TCP vs k for k+l=1 2 Fairness to TCP vs k for k+l=0.5 Fairness to TCP vs k for k+l=1.5 source-2 sink-2 100Mb 100Mb

100Mb 1.5 100Mb source-k sink-k 100Mb BW=b 100Mb Router-11ms Router-2 1 100Mb 100Mb TCP thruput/Binomial thruput

100Mb 100Mb 0.5 source-n sink-n

0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Figure 4. Simulation topology (delays of links for which no k delay is specified are all equal such that the round-trip time Figure 5. Ratio of the throughput of TCP AIMD to the for each connection = ÊÌ Ì ms).

throughput of a binomial algorithm, as a function of k .The

· Ð

algorithms that satisfy the k rule are the ones for which

· Ð =¼:5

this ratio is closest to unity. When k , the binomial

b ÊÌ Ì

to ÊÌ Ì (we change and in various simulations). algorithm obtains much higher throughput relative to TCP

· Ð =½:5 We implemented the transport protocol by modifying the and when k , TCP obtains much higher through- congestion avoidance algorithm used by TCP; we replaced put relative to binomial algorithm, as predicted by the anal-

AIMD with the binomial family. However, we did not mod- ysis. The error bars show the 95% confidence interval of =¿

ify the connection start-up or timeout routines; they continue the throughput ratio. In these experiments, b Mbps and =5¼ to use slow-start and timeouts as before. Thus, the effect of ÊÌ Ì ms. slow start and timeouts on connection throughput is same as for a normal TCP connection. Each source always has data to send, modeled using ns’s “FTP” application. In all our to that of TCP. These results also show that TCP-friendliness experiments, we simulated each topology and workload ten implies TCP-compatibility across RED gateways. times and calculated both the average and sample standard deviation of the observed values. The figures and graphs display this information. 3.2 IIAD Algorithm In this section, we present performance results using

Floyd and Jacobson’s Random Early Drop (RED) buffer We now turn to IIAD, which is relatively less aggressive in =½ management algorithm at the bottleneck gateway [12]. The the rate at which it probes for bandwidth ( k ), but at the

same time only reduces its window by a constant upon con-

b ¢ ÊÌ Ì

maximum queue size É at the bottleneck was set to ,

=¼ « ¬ the bandwidth-delay product of the path. The minimum and gestion ( Ð ). We choose the values of and such that

the theoretical throughput of IIAD is close to the through-

ÑiÒ ÑaÜ Øh maximum drop thresholds ( Øh and ) were set to

put of TCP AIMD. There are an infinite number of val-

:¾ ¢ É ¼:8 ¢ É

¼ and respectively, and the connections used ¬

a packet size of 1KByte. Each connection was started at uni- ues for « and corresponding to this; we pick one pair,

=½;¬ =¼:6

« .

; ¾] formly chosen random times in [¼ seconds and through-

We compare the fairness of IIAD relative to another

=½¼× Ø =¾¼× put was calculated from Ø to to give sufficient time for the connections to stabilize and to filter out startup IIAD instance and to a TCP/Reno sharing the same bottle-

transients. Later in the section, we also present results show- neck using the topology and workload in Figure 4. In these

= ¾

ing startup effects and impulse response of a binomial algo- experiments, Ò and each connection was started at a

; ¾] rithm on TCP and vice versa. random time in [¼ seconds. Each individual experiment

was conducted using a bottleneck bandwidth b of 1.5 Mbps

and the round-trip time ÊÌ Ì was varied between 50 ms and 3.1 TCP-compatibility 200 ms. Figure 6 plots the throughput ratio for two IIAD connec- Our first set of results (Figure 5) show how binomial al- tions on one curve and for one IIAD and one TCP connec- gorithms interact with each other and with TCP. To study

tion on the other curve. These results show that IIAD is fair Ð the effect of k and on TCP, we simulated two connec-

to both the IIAD and to TCP across a range of ÊÌ Ì val- =¾ tions (Ò ), one TCP and the other a binomial algorithm ues. However, the standard deviation of the results increases

parametrized by k . We show three sets of results correspond- ÊÌ Ì

as ÊÌ Ì increases. This is because as increases, each

· Ð ing to the three cases k equal to, less than, and greater connection takes a greater amount of time to reach the op- than ½. For these simple scenarios, these results validate the

timum available bandwidth. Furthermore, when persistent

· Ð k rule for TCP-friendliness, since the long-term through-

losses occur leading to a timeout (recall that these experi-

· Ð =½ put for the binomial algorithms for which k are close

6 2 80 IIAD conn throughput/another IIAD conn. thruput IIAD TCP conn throughput/IIAD conn. thruput AIMD

70

1.5 60

50

1 40

Ratio of throughputs 30

0.5 20

10

0 40 60 80 100 120 140 160 RTT(ms) 0 0 5 10 15 20

Figure 6. Ratio of throughputs of two connections sharing Figure 8. Congestion window variation for the IIAD and =

the bottleneck along with 95% confidence intervals ( Ò TCP Reno connections started at random times.

;b =½:5 ¾ Mbps).

crease behavior as a function of time. For want of space, ments use a modified TCP source and sink), the congestion we do not show the sequence trace for these two connec- window shrinks to one packet and slow start occurs. The ini- tions here, but the two connections quickly achieve the same tial start-up effects and response to timeouts take longer to slopes signifying that they share bandwidth well with each

stabilize at higher delays, resulting in the correspondingly other. We observed such good sharing across a range of b

higher variance. The start-up effects are exacerbated for and ÊÌ Ì values. IIAD because it is less aggressive than AIMD, and responds More interesting is the interaction between IIAD and relatively slower to any spare bandwidth. This is the reason TCP in terms of the evolution of their congestion windows that at higher delays, IIAD sometimes loses to TCP; the con- (Figure 8). We observe that the window values quickly be- nections experience losses during slow start and IIAD takes come similar, and even though the TCP connection started longer to ramp to its share of bandwidth. Figure 6 shows that later, it was able to obtain its share of bandwidth without IIAD and TCP AIMD are fair to each other over long time any difficulty. scales. We observed the same results and behavior across a 45 range of bottleneck bandwidths. IILD conn. 1 IILD conn. 2 40 50 IILD conn 1 IILD conn. 2 35 45

30 40

35 25

30 20 Window(packets)

25 15

20 Window (packets) 10

15 5

10 0 0 5 10 15 20 25 30 35 40 45 50 5 time(sec)

0 0 5 10 15 20 25

Time (sec) Figure 9. Slow start response of an IIAD flow to another =

long-running IIAD flow. In this experiment, b 1.5 Mbps, =

Figure 7. Congestion window evolution at the sender for ÊÌ Ì 50 ms.

; ¾]

two IIAD connections that start at random times in [¼ sec-

=½:5 ÊÌ Ì =5¼ onds. In this experiment, b Mbps and ms. We now consider the impulse-response behavior of the binomial control algorithms. Our experiences with these For one of these experiments, we look at the evolution experiments across several binomial algorithms have con- of the congestion window. Figure 7 shows this for the two vinced us that slow start (or a similar mechanism) is an im- IIAD connections, showing the expected increase and de- portant component of any practical protocol to ensure that a

7 250 connection converges relatively quickly, within a few ÊÌ Ì s IIAD conn 1 IIAD conn 2 IIAD conn 3 to the fair value. We show an example of this in Figure 9, IIAD conn 4 IIAD conn 5 which shows how slow start enables a new IIAD connection 200 TCP/Reno conn to catch up and share bandwidth with another long-running IIAD connection. 150

80 TCP conn. IILD conn.

70 100 Window (packets)

60

50 50

40 0 0 5 10 15 20 25 30 35 40 time (sec) Window(packets) 30

20 Figure 12. A TCP AIMD connection grabs its fair share in

=½6;b =9 the presence of many long-lived IIAD flows (Ò

10 =5¼ Mbps;ÊÌÌ ms). For clarity, we only show the win- 0 dow sizes of five IIAD connections and the TCP connection. 0 5 10 15 20 25 30 35 40 45 50 time(sec)

Figure 10. Response of a long-lived IIAD flow to a TCP =¾¼

(the impulse at Ø ), and is able to grab its share of band-

= ÊÌ Ì = impulse. In this experiment, b 1.5 Mbps and 50 width even in the presence of several other long-lived IIAD ms.

connections as can be seen from the TCP window evolution =¾5

after about Ø seconds. Conversely, Figure 13 shows the =¾¼ window evolution of an IIAD flow that starts at time Ø 45 seconds in the presence of five concurrent long-lived TCP TCP long lived IILD impulse connections (for clarity, we only plot the windows of two of 40 the TCPs). 35

30 3.3 SQRT algorithm results

25 We now investigate the performance of the SQRT algorithm,

20

= Ð =¼:5 which has k .

Window(packets)

=½ ¬ =¼:6 15 Although we use « and in the reported ex- periments; we found that performance is relatively insensi- 10

tive to small changes in ¬ . We do not report the results of all 5 the experiments we conducted with SQRT; in particular, we found that the long-term fairness of SQRT connections with 0 0 5 10 15 20 25 30 35 40 time(sec) each other and with TCP are high. We obtained results very

similar to Figure 6 (the IIAD experiments), across a wide b Figure 11. Response of a long-lived TCP flow to an IIAD range of ÊÌ Ì and values, showing that when the number

of connections is small, SQRT connections share bandwidth

=½:5 ÊÌ Ì =5¼ impulse. In this experiment, b Mbps and ms. fairly with each other and with TCP AIMD. SQRT differs from IIAD in its aggressiveness in increas- ing its window and in reducing its window upon congestion. We observe the same behavior when a new TCP AIMD As a result, the details of its interaction with TCP AIMD are connection impulse encounters a long-running IIAD, as different from those of IIAD. This is shown in Figure 14, shown in Figure 10. The results of the converse experiment where a TCP impulse encounters a long-running SQRT con- are shown in Figure 11, where an IIAD impulse meets a nection at the bottleneck. We see that the two connections long-lived TCP AIMD. These figures show that IIAD and converge to their share of the bandwidth in fewer number of TCP converge to their fair bandwidth share, with the im- round-trip times than in the TCP-IIAD case (Figure 10). pulses using slow start. Figure 15 plots the time evolution of the congestion win- These results hold when the number of connections is dow for concurrent SQRT and AIMD connections. As ex- increased as well. Figure 12 shows the window variation for pected, the window variations for SQRT are larger than for

five of fifteen concurrent IIAD flows sharing the bottleneck IIAD (Figure 8), but its variations are markedly smaller than =¾¼ link. At time Ø seconds, a TCP AIMD connection starts TCP. As with IIAD, this does not affect bandwidth sharing

8 160 80 TCP conn 1 AIMD alg TCP conn 2 SQRT alg IIAD conn 140 70

120 60

100 50

80 40

Window (packets) 60 Window (packets) 30

40 20

20 10

0 0 0 5 10 15 20 25 30 35 40 0 5 10 15 20 time (sec) time(sec)

Figure 13. An IIAD flow grabs its fair allocation in the Figure 15. Graph showing window variation for SQRT

= 6;b = 9 b =¿

presence of many long-lived TCP flows (Ò and TCP AIMD connections sharing the bottleneck (

=5¼ ;ÊÌÌ =5¼ Mbps;ÊÌÌ ms). For clarity, we only show the win- Mbps ms). dow sizes of two TCP connections and the IIAD connection.

80 TCP conn. 3.4 Multiple connections and multiple bottle- IILD conn.

70 necks

60 This section investigates the impact of scale on binomial al- gorithms along two dimensions: (i) increasing the number 50 of concurrent connections across a single bottleneck, and (ii)

40 investigating performance across multiple bottleneck links. To understand how several connections using different Window(packets) 30 TCP-friendly binomial algorithms interact with each other, our first series of experiments looks at several concurrent 20 connections running different algorithms sharing the bottle-

10 neck. The topology we use is same as in Figure 4 with

= 5¼ ÊÌ Ì = 5¼ b Mbps and ms. We choose values of

0

= f¼; ¼:¾5; ¼:5; ¼:75; ½g Ð =½ k 0 5 10 15 20 25 30 35 40 45 50 k and , and vary the total

time(sec)

k Ò=5 number of connections Ò. For each value of ,wesetup connections, and start each connection at a random time in

Figure 14. Response of a long-lived SQRT flow to a TCP

; ¾]

the interval [¼ seconds. In Figure 17, we plot the mean

= ¿ ÊÌ Ì = 5¼ impulse. In this experiment, b Mbps and value of Jain’s fairness index (ten runs for each data point) ms. along with 95% confidence intervals. To study the impact of multiple bottlenecks and back- ground traffic on the performance and fairness of binomial

as can be seen from the window plot. We observed similar algorithms, we simulated the topology shown in Figure 18. b results for a range of ÊÌ Ì and values, and when we scaled The maximum number of HTTP connections for each HTTP

Ò to higher values. source was set to five and all other parameters were set to Finally, we consider the sensitivity of our results to the the default values from ns-2 for the HTTP and CBR sources

value of ¬ in the binomial algorithms by showing our re- and sinks. The window variation for the TCP AIMD and sults for SQRT case (we obtained similar results for IIAD as IIAD sources are shown in figure 19. As can be seen from

well). Figure 16 plots the effect of ¬ on fairness to a TCP this figure, the bottleneck bandwidth gets distributed fairly connection sharing the bottleneck. We observe little varia- among these sources even in the presence of multiple bottle- tion in the throughput ratio, but notice that fairness to TCP necks. We observed the same behavior for other sources in

reduces at the extremes. When ¬ is close to 0, TCP AIMD this simulation and also when we replaced the IIAD source

loses and when ¬ is close to 1, SQRT loses. This is expected a SQRT source. behavior based on the magnitude of SQRT window reduc- tion upon congestion. 4 TCP friendliness vs TCP Compatibility

In this section, we study the interactions between binomial algorithms and TCP AIMD over a drop-tail bottleneck gate-

9 1.4 1.2 Beta Sensitivity Mixture of TCP-compatible algorithms

1.2 1

1 0.8

0.8

0.6

0.6 Jain's Fairness Index 0.4 0.4 TCP Throughput/SQRT Throughput

0.2 0.2

0 0 0.2 0.4 0.6 0.8 1 1.2 0 5 10 15 20 25 30 35 beta parameter Number (n) of connections

Figure 16. Plot showing fairness of SQRT to TCP/Reno Figure 17. Plot showing Jain’s Fairness Index as a func-

(throughput ratio) along with the 95% confidence-interval tion of the number of TCP-compatible connections sharing a

b =¿

for various values of ¬ of the SQRT algorithm ( Mbps, bottleneck. In each experiment, the total number of connec- =5¼

ÊÌ Ì ms). tions was divided equally into five categories corresponding

= ¼; ¼:¾5; ¼:5; ¼:75; ½ b = 5¼

to k . In these experiments, =5¼ Mbps, ÊÌ Ì ms. The (tiny) error-bars show 95% con- fidence intervals. way, observing some surprising effects. Figure 20 shows the window variation and bottleneck buffer occupancy for two connections, one TCP AIMD and the other IIAD, sharing a HTTP Src1 HTTP Sink1 CBR Sink1 drop-tail bottleneck gateway. We see that TCP starts losing TCP/Reno TCP Sink out and its window keeps on decreasing until it starts to os- 100Mb 100Mb 100Mb 100Mb 24ms 24ms 100Mb cillate below its fair share because no buffers are available to 24ms 24ms 24ms 10Mb 10Mb it. On the other hand, IIAD starts grabbing more and more Router-1 Router-2 Router-3 1ms 1ms bandwidth. We observed similar behavior with other bino- 100Mb 100Mb 24ms 24ms 100Mb 100Mb 100Mb mial algorithms as well. 24ms 24ms 24ms At first, we found this result puzzling because the theory IIAD Sink

IIAD

· Ð k · Ð =½ and the k rule had predicted that as long as , CBR Src1 HTTP Src2 HTTP Sink2 the long-term throughput of a binomial algorithm would be equal to TCP AIMD. However, closer examination of the Figure 18. Topology with multiple bottlenecks and back- bottleneck buffer occupancy revealed the problem. In a con- ground traffic. gested network, the “steady state” of the bottleneck queue is close to full. IIAD is less aggressive than AIMD, and when it reduces its window, does not completely flush the

queue. When a drop-tail gateway has been configured with gateways.

¢ ÊÌ Ì a queue size of b , it ensures that TCP-style “factor- In contrast, RED gateways are designed to accommodate of-two” multiplicative decrease brings the reducing connec- bursts and maintain small average queue sizes by providing tion’s contribution to the bottleneck occupancy down to (or early congestion indications. They seem ideally suited to close to) 0. This allows other competing connections to ramp binomial algorithms because they do not tie buffer sizing up and also ensures that sufficient buffers are available for closely to the precise details of window adjustment of the the window to increase before another “factor-of-two” re- end-points. Instead they vary the drop rate as a function of duction happens. In contrast, a non-AIMD TCP-friendly bi- queue size making all flows see the same drop rate. This is nomial algorithm, by its very design, ensures that window yet another among the many other compelling reasons for reductions are not drastic. As a result, it ends up with more the Internet infrastructure to move to a more active queue than its fair share of the bottleneck; and a window reduc- management scheme like RED. tion does not flush all of its packets from the queue. In fact, We do not view the TCP-unfairness of the binomial algo- the competing AIMD window oscillates as if it sees buffers rithms across drop-tail gateways as a deployment problem: equal to the additive decrease term (the amount of buffer first, the binomial algorithms obtain better throughput than freed by IIAD on a reduction) of the IIAD algorithm. The TCP AIMD with drop-tail gateways, which augurs well for result is that drop rates observed by the two flows competing applications using them (and also provide an incentive for at a drop-tail bottleneck are not equal. This argument also Internet Service Providers to move to better queue manage- shows how buffer provisioning is intimately tied to the win- ment schemes)! Second, any scalable scheme for detecting dow adjustment algorithm of the end-systems for drop-tail flows using more than their share of bandwidth would likely

10 300 20000 TCP/Reno VAT using SQRT cong ctrl IIAD

250

15000

200

150 10000 Congestion Window Window (in packets) 100

5000

50

0 0 0 5 10 15 20 25 30 15000 20000 25000 30000 35000 40000 time (in sec) Kernel Time (in units of 10ms)

Figure 19. Window variation vs. time for the topology with Figure 21. Window variation for a vat session using SQRT

multiple bottlenecks. congestion control with a bottleneck configured using Dum-

=5¼ ÊÌ Ì = 9¼¼ mynet (b Kbps, ms).

80 TCP IIAD Queue Size 18000 70 VAT using SQRT cong ctrl

16000 60 14000

50 12000

40 10000

30 Window/Queue Size 8000 Congestion Window 20 6000

4000 10

2000 0 0 5 10 15 20 time(sec) 0 3.155e+06 3.16e+06 3.165e+06 3.17e+06 3.175e+06 3.18e+06 3.185e+06 3.19e+06 Kernel Time (in units of 10ms) Figure 20. Plot showing window/queue size variation for

TCP/Reno and SQRT algorithms sharing the bottleneck with Figure 22. Window variation for a vat session using SQRT

=¿ ÊÌ Ì =5¼ drop-tail gateways(b Mbps, ms). congestion control across an Internet path. use an active queue management scheme and not a drop-tail 5 Implementation gateway, which would ensure that true fairness to TCP is achieved. We emphasize that the adverse interactions of the We have implemented the SQRT congestion control algo- binomial algorithms with TCP are primarily a consequence rithm in the Kernel (version 2.2.9) to provide con- of the ill effects of drop-tail queue management. gestion controlled UDP sockets. We experimented with the An important consequence of the above findings and ar- Internet audio conferencing tool, vat in unicast mode. Fig- guments is that TCP-friendliness does not necessarily imply ure 21 shows the congestion window variation for a transfer TCP-compatibility since the theory assumes that drop rates as a function of 10ms time intervals for an audio session be- for competing flows are equal at a gateway. We therefore tween two Linux machines. These machines were on the

conclude that justifying a congestion control algorithm as same LAN but had a pipe of bandwidth 50Kbit/s and ÊÌ Ì safe for deployment on the Internet purely on the basis of the 900ms between them, configured using Dummynet [8]. The TCP-friendly equation is dangerous. While our experience figure shows the effectiveness of SQRT congestion control indicates that this is reasonable with certain types of queue in alleviating the large TCP-style “factor-of-two” reductions. management (such as RED), it is incorrect when congestion The magnitude of oscillations are smaller than what AIMD occurs at a drop-tail gateway. We believe that deriving a set would observe. of sufficient conditions for TCP-fair congestion control in Figure 22 shows the congestion window variation for a drop-tail networks requires further research. vat transfer between two Linux machines, one at MIT and the other at University of California, Berkeley. Again, the

11 magnitude of oscillations are much smaller than with AIMD. 7 Related work The window keeps increasing because the bandwidth avail- able between these two machines was much higher than the There has been significant work over the past fifteen years 64Kbps, rate at which vat samples audio data. This graph in the area of management, especially also demonstrates the working of SQRT across the Internet, on end-system mechanisms. since the occasional reductions are not drastic. Chiu and Jain analyze the performance of linear controls, We note that our algorithms can be incorporated in the deriving the conditions for efficient convergence to fairness Congestion Manager (CM) architecture to provide applica- under a synchronized-feedback assumption [6]. They allude tions tunable congestion control [2]. The CM exports an API to non-linear controls and briefly discuss some of their prop- that allows applications to learn about and adapt to the net- erties, concluding that they seem more complex and inferior work conditions; this API can easily be extended to allow to linear controls. To our knowledge, a thorough analysis

an application to pick the parameter (k ) of a binomial algo- and evaluation of any family of nonlinear congestion control

· Ð rithm, with the CM using the k rule to ensure that the algorithms has not been done until now. We also focus on choice is TCP-friendly. An audio or video application can TCP-compatibility, recognizing the large deployed base of then, easily use one of the TCP-friendly binomial algorithms TCP AIMD algorithms. over a UDP-based transport protocol. While it is unlikely Much of the classical literature on end-system conges- that elastic applications that run well over TCP today will tion management was motivated primarily by reliable uni- use a non-AIMD binomial algorithm, an implementor can cast transport, and included both window- and rate-based change the TCP sender with little implementation effort. approaches. In addition to Jacobson’s TCP algorithms [15], In fact, a protocol may switch between different TCP- prominent examples and studies include Ramakrishnan and

friendly binomial algorithms in real-time, adapting to chang- Jain’s DECBit scheme that was linear with a multiplicative-

7=8 ing network conditions. In particular, it can probe more ag- decrease factor (¬ )of , rate-based control in the Ver- gressively if it observes no congestion for a while, and probe satile Message Transport Protocol (VMTP) [5], Clark et less aggressively otherwise. al.’s NETBLT [7], Keshav’s packet-pair approach (which re- quires flow isolation at congested routers) [17], and Faber et al.’s Dynamic Time Windows [9]. 6 Deployment of Binomial Controls in the In- Subsequent to the development and deployment of ternet TCP’s algorithms in the Internet, Wang and Crowcroft pro- posed “Tri-S” (slow start and search) [37] to improve TCP’s An issue of concern for wide scale deployment of IIAD algo- slow start. Brakmo and Peterson proposed TCP Vegas [4], rithms in the Internet may be that their relatively mild reduc- which attempted to improve TCP’s congestion avoidance tion in window on experiencing congestion may affect Inter- and loss recovery. More recently, a number of enhance- net stability. However, we believe that the primary threat to ments have been proposed to TCP congestion control, in- the Internet stability comes not from the flows using some cluding the persistent fast recovery of Newreno [14], selec- form of TCP-compatible congestion control but from flows tive acknowledgments (SACK) [22], and forward acknowl- that do not use any congestion control at all. Moreover, pre- edgments (FACK) [21]. RFC 2581 describes the recom- vention of congestion collapse does not require that flows mended algorithms for proper congestion control in TCP [1]. reduce their sending rate by half in response to a single con- [13] has formulated congestion control as a global optimiza- gestion indication. The binomial algorithms, being window tion problem and has proposed a class of congestion control based and TCP-friendly, cannot cause congestion collapse policies based on rewards and costs. simply by the fact that they send out data only in response While these TCP enhancements are interesting, signif- to receipt of successful acknowledgements (except during icant recent trends in Internet applications and traffic have timeouts) at the receiver. Moreover, in response to even a led to a renewed interest in in end-system congestion con- single loss, these algorithms reduce their window and hence trol protocols. Several emerging applications including uni- alleviate congestion by stopping data transmission till the cast audio and video are best transported over an application- network acknowledges (or delivers) sufficient data (equal to level protocol running over UDP, rather than over TCP be-

cutdown) after that loss. cause they do not require a fully-reliable in-order deliv- ¬ Another issue may be that « and values of TCP’s ery abstraction. Using TCP leads to a large delay varia- AIMD can be adjusted to provide a more stable congestion tion caused by retransmissions, and perceptual quality shows

control as against using binomial controls. As mentioned sudden degradations in the face of a TCP-style window re- ¬ earlier, adjusting « and can only provide relative and not duction for these applications. absolute (or fixed) bounds on oscillations due to congestion Much recent work has focused on congestion control for control. Moreover, binomial controls provide a framework adaptive applications. Rejaie et al.’s Rate Adaptation Pro- for studying window based congestion control for multime- tocol (RAP) uses AIMD, relying on frequent receiver ac- dia applications of which TCP AIMD is one possibility. knowledgments to adjust the sender’s rate [31]. They also propose a quality adaptation algorithm for discretely-layered streams at the receiver to handle the rate variations trig- gered by AIMD [30]. In the context of multicast, McCanne

12 et al.’s receiver-driven layered multicast (RLM) incorpo- viewed as another among many important reasons to elimi- rates a probing and rate reduction mechanism for layered nate drop-tail gateways from the Internet infrastructure. video [23]. Sisalem and Schulzrinne’s Loss-Delay-based We believe that the results presented in this paper lead to Adjustment (LDA) scheme uses an AIMD rate control at the a deeper understanding of the issues involved in the increase sender, using RTCP [32] for feedback [33]. Schemes like and decrease phases of a congestion management algorithm RAP and LDA can use a binomial algorithm (e.g., IIAD or and in the notions of TCP-friendliness and TCP-fairness. We SQRT) to avoid drastic rate reductions on encountering con- hope that our findings will spur further research into conges- gestion. tion control dynamics to obtain a fundamental understand- To combat the ill-effects of multiplicative decrease on ing of a future Internet with multiple coexisting congestion a single packet loss, various researchers have been look- control algorithms and protocols. ing at the class of “equation-based control algorithms” [20, 27, 35]. These are schemes where the sender measures the packet loss rate and round-trip time over some past time and Acknowledgments uses these estimates to determine a TCP-compatible trans- mission rate based on an equation relating TCP throughput This work was supported by research grants from the NTT to the loss rate [26]. The effectiveness of such schemes Corporation, DARPA (Grant No. MDA972-99-1-0014), and depends critically on the method used to estimate loss IBM Corporation. We thank David Andersen, John By- rate [29, 11]. It will be interesting to compare binomial al- ers, Dah Ming Chiu, David Clark, Sally Floyd, Allen Miu, gorithms with equation-based control. Srinivasan Seshan, Alex Snoeren, and Roshni Srinivasan for helpful comments on earlier drafts of this paper.

8 Concluding remarks References

In this paper we presented and evaluated a new family of [1] ALLMAN,M.,AND PAXSON,V. TCP Congestion Control. nonlinear congestion management algorithms, called bino- Internet Engineering Task Force, April 1999. RFC 2581. mial algorithms. They generalize the familiar class of linear

k [2] BALAKRISHNAN,H.,RAHUL,H.S.,AND SESHAN,S.An

Û = Û · «=Û

·Ö Ø

algorithms; during the increase phase, Ø Ø

Ð Integrated Congestion Management Architecture for Internet

Û = Û ¬Û

·ÆØ Ø

and on experiencing a loss , Ø .Weshowed Ø that a network with sources running the same binomial algo- Hosts. In Proc. ACM SIGCOMM (Sep 1999).

rithm converges to fairness under a synchronized-feedback [3] BRADEN,B.,CLARK,D.,CROWCROFT,J.,DAV I E ,B.,

· Ð > ¼ k Ð assumption if k and at least one of or is DEERING,S.,ESTRIN,D.,FLOYD,S.,JACOBSON,V., positive, and that the throughput of a binomial algorithm MINSHALL,G.,PARTRIDGE,C.,PETERSON, L., RA-

½ MAKRISHNAN,K.,SHENKER,S.,WROCLAWSKI,J.,AND

k ·Ð·½

» ½=Ô Ô  ,where is the loss rate it encounters. As ZHANG,L. Recommendations on Queue Management and

a corollary, a binomial algorithm is TCP-friendly if and only Congestion Avoidance in the Internet. Internet Engineering

· Ð =½ Ð  ½ k · Ð

if k and (the rule). Task Force, Apr 1998. RFC 2309.

· Ð The k rule represents a fundamental trade-off between probing aggressiveness and congestion responsiveness, with [4] BRAKMO,L.S.,O’MALLEY,S.W.,AND PETERSON,L.L. TCP Vegas: New Techniques for Congestion Detection and small values of Ð being less drastic in window reduction.

Avoidance. In Proc. ACM SIGCOMM ’94 (Aug. 1994).

< ½ Hence, we believe that binomial algorithms with Ð are well-suited to applications like audio and video that do not [5] CHERITON,D.,AND WILLIAMSON,C.VMTPastheTrans- react well to drastic multiplicative decrease. Our preliminary port Layer for High-Performance Distributed Systems. IEEE experiments seem to justify this hypothesis, although more Commun. Mag. (June 1989), 37–44. validation and research is needed before widespread deploy- [6] CHIU,D.-M.,AND JAIN, R. Analysis of the Increase and ment can be recommended. For applications that simply Decrease Algorithms for Congestion Avoidance in Computer want to transmit as much data as quickly as they can without Networks. Computer Networks and ISDN Systems 17 (1989),

worrying about the degree of rate variations while doing so, 1–14.

· Ð the k rule shows that AIMD is a very good strategy. Of all the TCP-friendly binomial algorithms, AIMD is the most [7] CLARK,D.,LAMBERT, M. L., AND ZHANG, L. NETBLT: efficient in aggressively probing for bandwidth. A High Throughput Transport Protocol. In Proc. ACM SIG- Our simulation results showed good performance and COMM (Aug. 1988).

interactions between binomial algorithms and TCP, espe- [8] Dummynet. hØØÔ:»»ÛÛÛºieغÙÒiÔiºiØ»~ÐÙig i»iÔ _

cially using RED. We also found that TCP-friendliness dÙÑÑÝÒeØ, Sept. 1998. does not necessarily imply TCP-compatibility in a network with drop-tail gateways—a binomial algorithm like IIAD or [9] FABER,T.,LANDWEBER, L., AND MUKHERJEE,A.Dy- namic Time Windows: Packet Admission Control with Feed- SQRT obtains higher long-term throughput than TCP be- back. In Proc. ACM SIGCOMM (1992). cause of a higher average buffer occupancy. Active queue management schemes like RED allow binomial algorithms [10] FLOYD,S.,AND FALL, K. Promoting the Use of End-to- and TCP to interact well with each other, which may be End Congestion Control in the Internet. IEEE/ACM Trans. on Networking 7, 4 (Aug. 1999).

13 [11] FLOYD,S.,HANDLEY,M.,PADHYE,J.,AND WIDMER, [29] RAMESH,S.,AND RHEE, I. Issues in Model-Based Flow J. Equation-Based Congestion Control for Unicast Applica- Control. Technical Report TR-99-15, Department of Com-

tions. hØØÔ:»»ÛÛÛºaciÖiºÓÖg»ØfÖc», June 2000. puter Science, North Carolina State University (1999).

[12] FLOYD,S.,AND JACOBSON, V. Random Early Detection [30] REJAIE,R.,HANDLEY,M.,AND ESTRIN, D. Quality Adap- Gateways for Congestion Avoidance. IEEE/ACM Transac- tation for Unicast audio and video. In Proc. ACM SIGCOMM tions on Networking 1, 4 (Aug. 1993). (September 1999).

[13] GOLESTANI,S.J.,AND S., B. A Class of End-to-End Con- [31] REJAIE,R.,HANDLEY,M.,AND ESTRIN,D.RAP:An gestion Control Algorithms for the Interney. In Proc. ICNP End-to-end Rate-based Congestion Control Mechanism for (1998). Realtime Streams in the Internet. In Proc. IEEE INFOCOM (March 1999). [14] HOE, J. C. Improving the Start-up Behavior of a Conges- tion Control Scheme for TCP. In Proc. ACM SIGCOMM ’96 [32] SCHULZRINNE,H.,CASNER,S.,FREDERICK,R.,AND JA- (Aug. 1996). COBSON,V. RTP: A Transport Protocol for Real-Time Ap- plications. Internet Engineering Task Force, Jan 1996. RFC [15] JACOBSON, V. Congestion Avoidance and Control. In Proc. 1889. ACM SIGCOMM (Aug 1988). [33] SISALEM,D.,AND SCHULZRINNE, H. The Loss-Delay Ad- [16] JAIN,R.The Art of Computer Systems Performance Analysis. justment Algorithm: A TCP-friendly Adaptation Scheme. In John Wiley and Sons, 1991. Proc. NOSSDAV (Jul 1998).

[17] KESHAV, S. Packet-Pair Flow Control. IEEE/ACM Transac- [34] STEVENS,W.R. TCP/IP Illustrated, Volume 1. Addison- tions on Networking (Feb. 1995). Wesley, Reading, MA, Nov 1994.

[18] LAKSHMAN,T.V.,AND MADHOW, U. The Performance of [35] TAN,W.,AND ZAKHOR, A. Real-time Internet Video Us- TCP/IP for Networks with High Bandwidth-Delay Products ing Error Resilient Scalable Compression and TCP-friendly and Random Loss. IEEE/ACM Trans. on Networking 5,3 Transport Protocol. IEEE Trans. on Multimedia (May 1999). (1997). [36] WANG,A.,AND SCHWARTZ, M. Achieving bounded fair- [19] LAKSHMAN,T.V.,MADHOW,U.,AND SUTER,B. ness for multicast and TCP traffic in the Internet. In Proc. Window-based Error Recovery and Flow Control with a Slow ACM SIGCOMM (September 1998). Acknowledgement Channel: A study of TCP/IP Performance. In Proc. Infocom 97 (April 1997). [37] WANG, Z., AND CROWCROFT, J. A New Congestion Con- trol Scheme: Slow Start and Search (Tri-S). ACM Computer [20] MAHDAVI,J.,AND FLOYD, S. The TCP-Friendly Website. Comm. Review 21, 1 (Jan. 1991), 32–43. http://www.psc.edu/networking/tcp friendly.html, 1998.

[21] MATHIS,M.,AND MAHDAVI, J. Forward Acknowledge- ment: Refining TCP Congestion Control. In Proc. ACM SIG- COMM (Aug 1996).

[22] MATHIS,M.,MAHDAVI,J.,FLOYD,S.,AND ROMANOW, A. TCP Selective Acknowledgment Options. Internet Engi- neering Task Force, 1996. RFC 2018.

[23] MCCANNE,S.,JACOBSON,V.,AND VETTERLI,M. Receiver-driven Layered Multicast. In Proc ACM SIGCOMM (Aug. 1996). [24] ns-2 Network Simulator. http://www-mash.cs.berkeley.edu/- ns/, 1998.

[25] OTT,T.,KEMPERMAN,J.,AND MATHIS,M.TheSta- tionary Distribution of Ideal TCP Congestion Avoidance. ftp://ftp.bellcore.com/pub/tjo/TCPwindow.ps, 1996.

[26] PADHYE,J.,FIROIU,V.,TOWSLEY,D.,AND KUROSE,J. Modeling TCP throughput: A Simple Model and its Empiri- cal Validation. In Proc. ACM SIGCOMM (Sept. 1998).

[27] PADHYE,J.,KUROSE,J.,TOWSLEY,D.,AND KOODLI,R. A Model Based TCP-friendly Rate Control Protocol. In Proc. NOSSDAV (July 1999).

[28] POSTEL,J.B. Transmission Control Protocol. Internet En- gineering Task Force, September 1981. RFC 793.

14