Top Banner
1 Bimodal Congestion Avoidance and Control Paul C. Attie, Adrian Lahanas, and Vassilis Tsaoussidis Abstract—We introduce an alternative approach to con- gestion avoidance and control, which has the potential to in- crease efficiency and fairness in multiplexed channels. Our approach, Bimodal Congestion Avoidance and Control, is based on the principles of Additive Increase Multiplicative Decrease. It is designed to better exploit the system prop- erties during equilibrium, without trading off responsive- ness for smoothness. In addition, it is capable of achieving convergence to fairness in only two congestion cycles. As a result, both efficiency and fairness are improved, respon- siveness is not degraded, and smoothness is significantly im- proved when the system is in equilibrium. We provide a the- oretical analysis for both static and dynamic environments and we discuss the potential of our approach for packet net- works. Our experiments confirm that Bimodal Congestion Avoidance and Control as a component of the Transmission Control Protocol outperforms the traditional scheme. Index Terms—AIMD, fairness, congestion control. I. I NTRODUCTION Internet congestion avoidance and control is largely based on the behavior of transport protocols. Compet- ing flows continuously adjust their windows upwards or downwards, trying to follow the network dynamics with regard to the available bandwidth or the alarming signals of congestion. Since no centralized authority controls the actions of the transmitting sources, the competing flows make decisions independently, based on the system sig- nal provided. By default, this signal is a packet drop due to congestion, and is detected through a timeout at the source. Alternatively, a sophisticated router may mark or drop packets when congestion boosts up. The primary concern of any congestion avoidance and control algo- rithm is to avoid a congestive collapse; a backward adjust- ment is needed when congestion boosts up. Furthermore, resolving contention efficiently requires fair bandwidth al- location and efficient bandwidth exploitation. Internet applications are currently governed by the rules of Additive Increase Multiplicative Decrease (AIMD), an algorithm proposed by Chiu and Jain in [1] as the most efficient approach to resource management. Jacobson in [2] exploited experimentally the mechanism’s potential in College of Computer Science,Northeastern University,Boston, Mas- sachusetts 02115 TCP [3], integrating AIMD with transmission tactics suit- able for congestion avoidance and control. Since then, the algorithm has become the major component of TCP’s [2] congestion avoidance and control and, in turn, has signi- fied an operational point for the Internet. According to AIMD principles, congestion should trigger a drastic re- sponse from the senders (multiplicative decrease) to avoid a congestive collapse, a major concern in packet networks of the last decade. In addition, the algorithm is designed to be responsive to fluctuations of bandwidth availability due to varying contention; this is managed by a continu- ous probing mechanism through additive increase of re- source consumption. Chiu and Jain have shown that ad- ditive increase multiplicative decrease guarantees conver- gence to fairness. That is, all flows will eventually con- verge to a fair-share. The flows will converge to fairness faster when the multiplicative decrease is larger, but then, bandwidth will be further underutilized; moreover, appli- cations will experience severe transmission gaps. Hence, although smoothness is certainly a desirable behavior, it works against fairness: the smoother the adjustment, the longer convergence to fairness takes. Key information for the sources to determine action is whether congestion is due to increasing contention (i.e., new flows joining), or due to increasing bandwidth con- sumption of the existing flows (additive increase). The former calls for rapid downward adjustments, in order to allow space for the new flows attempting to utilize the sys- tem’s bandwidth. The latter calls for a moderate response, since the system limitations relevant to the number of par- ticipating flows have already been discovered. Thus, a relatively small decrease in bandwidth consumption fol- lowed by more additive probing is sufficient. Further- more, a piece of information that enables efficient conges- tion avoidance is the “fair-share” of the total bandwidth that each flow should be allocated, at any point during the system’s execution. If the fair-share were known, then the sources could avoid congestion by adjusting immedi- ately after the fair-share was discovered, to a new state where the bandwidth allocation of each flow is exactly its fair-share. Obviously, such a system could utilize band- width fully and fairly. However, bandwidth availability is not only a matter of channel capacity but is also de- pendent upon the number of participating flows, and the
12

Bimodal congestion avoidance and control

Apr 10, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Bimodal congestion avoidance and control

1

Bimodal Congestion Avoidance and ControlPaul C. Attie, Adrian Lahanas, and Vassilis Tsaoussidis

Abstract—We introduce an alternative approach to con-gestion avoidance and control, which has the potential to in-crease efficiency and fairness in multiplexed channels. Ourapproach, Bimodal Congestion Avoidance and Control, isbased on the principles of Additive Increase MultiplicativeDecrease. It is designed to better exploit the system prop-erties during equilibrium, without trading off responsive-ness for smoothness. In addition, it is capable of achievingconvergence to fairness in only two congestion cycles. Asa result, both efficiency and fairness are improved, respon-siveness is not degraded, and smoothness is significantly im-proved when the system is in equilibrium. We provide a the-oretical analysis for both static and dynamic environmentsand we discuss the potential of our approach for packet net-works. Our experiments confirm that Bimodal CongestionAvoidance and Control as a component of the TransmissionControl Protocol outperforms the traditional scheme.

Index Terms—AIMD, fairness, congestion control.

I. INTRODUCTION

Internet congestion avoidance and control is largelybased on the behavior of transport protocols. Compet-ing flows continuously adjust their windows upwards ordownwards, trying to follow the network dynamics withregard to the available bandwidth or the alarming signalsof congestion. Since no centralized authority controls theactions of the transmitting sources, the competing flowsmake decisions independently, based on the system sig-nal provided. By default, this signal is a packet drop dueto congestion, and is detected through a timeout at thesource. Alternatively, a sophisticated router may mark ordrop packets when congestion boosts up. The primaryconcern of any congestion avoidance and control algo-rithm is to avoid a congestive collapse; a backward adjust-ment is needed when congestion boosts up. Furthermore,resolving contention efficiently requires fair bandwidth al-location and efficient bandwidth exploitation.

Internet applications are currently governed by the rulesof Additive Increase Multiplicative Decrease (AIMD), analgorithm proposed by Chiu and Jain in [1] as the mostefficient approach to resource management. Jacobson in[2] exploited experimentally the mechanism’s potential in

College of Computer Science,Northeastern University,Boston, Mas-sachusetts 02115

TCP [3], integrating AIMD with transmission tactics suit-able for congestion avoidance and control. Since then, thealgorithm has become the major component of TCP’s [2]congestion avoidance and control and, in turn, has signi-fied an operational point for the Internet. According toAIMD principles, congestion should trigger a drastic re-sponse from the senders (multiplicative decrease) to avoida congestive collapse, a major concern in packet networksof the last decade. In addition, the algorithm is designedto be responsive to fluctuations of bandwidth availabilitydue to varying contention; this is managed by a continu-ous probing mechanism through additive increase of re-source consumption. Chiu and Jain have shown that ad-ditive increase multiplicative decrease guarantees conver-gence to fairness. That is, all flows will eventually con-verge to a fair-share. The flows will converge to fairnessfaster when the multiplicative decrease is larger, but then,bandwidth will be further underutilized; moreover, appli-cations will experience severe transmission gaps. Hence,although smoothness is certainly a desirable behavior, itworks against fairness: the smoother the adjustment, thelonger convergence to fairness takes.

Key information for the sources to determine action iswhether congestion is due to increasing contention (i.e.,new flows joining), or due to increasing bandwidth con-sumption of the existing flows (additive increase). Theformer calls for rapid downward adjustments, in order toallow space for the new flows attempting to utilize the sys-tem’s bandwidth. The latter calls for a moderate response,since the system limitations relevant to the number of par-ticipating flows have already been discovered. Thus, arelatively small decrease in bandwidth consumption fol-lowed by more additive probing is sufficient. Further-more, a piece of information that enables efficient conges-tion avoidance is the “fair-share” of the total bandwidththat each flow should be allocated, at any point during thesystem’s execution. If the fair-share were known, thenthe sources could avoid congestion by adjusting immedi-ately after the fair-share was discovered, to a new statewhere the bandwidth allocation of each flow is exactly itsfair-share. Obviously, such a system could utilize band-width fully and fairly. However, bandwidth availabilityis not only a matter of channel capacity but is also de-pendent upon the number of participating flows, and the

Page 2: Bimodal congestion avoidance and control

2

transmitting behavior of the sources. Since applicationsmay finish their tasks, or since new flows may enter thesystem, bandwidth availability needs to be persistently de-tected at every single step of operation; for example, oncethe fair-share is discovered, flows cannot simply adjust tothat value and remain there for their lifetime, since, in thatcase, bandwidth that eventually becomes available whensome flows leave the system will remain unexploited.

Current systems do not distinguish between conges-tion due to increasing contention or due to increasing re-source consumption, and hence lack a key component ofthe decision-making process. We provide here a simplemethod which enables this distinction; our algorithm ex-plicitly calculates the fair-share and continuously moni-tors its dynamics. Furthermore, we go beyond the algo-rithmic improvements by proposing a congestion controlscheme which is suitable for packet networks. Our pro-posal is based on the observation that a system in equilib-rium (no flows joining or leaving) need not adjust rapidlybackwards during congestion, since the cause of conges-tion in equilibrium is not the increasing contention, butinstead, the increasing (but fair) resource consumption.When not in equilibrium (i.e., during convergence) thesources indeed adjust with rapid decrease. Since the fair-share can be calculated, the adjustment need not be grad-uated but can be immediate. The combined tactics, dur-ing equilibrium and during convergence, lead to improvedsmoothness and faster convergence to fairness. Practi-cally, since additive increase is a key bandwidth-detectingmechanism, flows need to adjust slightly below the levelof the detected fair-share to allow for continuous band-width probing. Hence, from our perspective, upwardsand downwards adjustments need to operate in associa-tion with the system state, i.e., determine action based onwhether the system is in equilibrium (fair-share is known)or not (fair-share is unknown). Due to this property, wecall our scheme bimodal congestion avoidance and con-trol.

We also note that the modifications presented here donot favor efficiency at the cost of fairness; nor do theyfavor smoothness at the cost of responsiveness, or viceversa. Therefore, we do not attempt here to optimize thebalancing trade of the additive increase parameter � andthe multiplicative decrease parameter

�within the frame

of TCP limitations (i.e., efficiency) and application re-quirements (i.e., smoothness) but instead we attempt toimprove efficiency and fairness of TCP without degrad-ing its potential for congestion avoidance. A protocol canexploit bandwidth well and avoid congestion only if it isresponsive. In this context, the goal of the present workis in marked distinction with the TCP-Friendly protocols

which take a useful but somewhat confined perspective,since they favor smoothness at the expense of responsive-ness (see [4]).

We organize the paper as follows. Section II presentsour congestion control algorithm. Section III presents atheoretical analysis of the algorithm, and establishes somecorrectness properties for it. Section IV discusses relatedwork. Section V presents some experimental evaluationof our algorithm and discusses our experimental setup.Section VI presents some discussion of our results, andSection VII concludes.

II. THE ALGORITHM

A. Technical Assumptions

We assume the model of Chiu and Jain[1]: congestionis indicated by feedback from the network to the users(flows) in the form of a congestion bit: if the bit is set,this indicates congestion, and each flow then decreases itsusage multiplicatively, while if the bit is not set, then eachflow increases its usage additively. We assume the controlsystem model (with synchronous feedback) of [1], wheretime is divided into small intervals (steps), and each flowsets its load at the beginning of each interval based onthe congestion bit fed back to it during the previous inter-val. This is also similar to the synchronous rounds-basedmodel of distributed computing [5, part 1].

B. Definitions, Goals and Metrics

In the context of our system behavior we define the fol-lowing measurement units:

A cycle is the phase starting immediately after a sys-tem congestion feedback of 1 (indicating congestion) andending at the next event of congestion when the systemcongestion bit fed back is again 1. Hence, a cycle consistsof one multiplicative decrease step followed by a numberof additive increase steps.

A step reflects each window adjustment towards con-vergence in response to the congestion bit fed back by thesystem (0 or 1). Hence, a step during additive increaseinvolves an increment of one ( ����� ) resource unit perflow, and each increase step involves � packets more thanthe previous step ( � being the number of flows). In thecontext of our system, the number of steps matches thenumber of RTTs.

We set five distinct goals:

1) To achieve high bandwidth utilization.2) To converge to fairness faster.3) To minimize the length of oscillations.4) To maintain high responsiveness.

Page 3: Bimodal congestion avoidance and control

3

5) To coexist fairly with the traditional AIMD-basedprotocols.

Although the sources discover their fair-share early on, thedynamics of real systems in practice prohibit a straight-forward adjustment, but instead, they call for continuousoscillations as a means of discovering the available band-width (and, in the context of the present work, the varyingfair-share).

Our metrics for the system performance are as fol-lows:

Efficiency: the average fraction of the total bandwidthutilized by the flows when the system is in equi-librium.

Responsiveness: measured by the number of stepsneeded to close the gap between two (or more)flows.

Smoothness: reflected by the length of the oscillationsduring multiplicative decrease.

C. Overview

The key idea underlying the algorithm is a fast methodfor calculating the fair-share of each flow. This can bedone by each flow autonomously. Consider an “equilib-rium” situation in which there are � ( � � ) flows presentand no flows join or leave. Further suppose (for the timebeing) that the flows allocate bandwidth according to theclassical AIMD algorithm [1] with additive increase pa-rameter � (new bandwidth = old bandwidth + � ) and mul-tiplicative decrease parameter

�(new bandwidth = old

bandwidth * � ��� ��� ). Suppose the network reaches con-gestion at some point, due to additive increase. Now, allthe flows will decrease their bandwidth multiplicatively,and then resume additive increase until the network con-gests again. Assume that all flows increase their band-width at the same rate. Then, from one congestion pointto the next, all flows will increase their bandwidth by thesame amount � . � therefore becomes common knowledge[6], [7] amongst all the flows, and can be used by eachflow to calculate its fair-share of the bandwidth. Thus,within at most two congestion cycles (provided no flowsjoin or leave) every flow can calculate its fair-share andset its allocation directly to the fair-share (i.e., abandonthe usual AIMD protocol). Thus, we converge to efficientand fair operation in two cycles.

The algorithm for flow � is given in Figure 1 as an ac-tion ���� that gives the execution of the algorithm duringa single step (see Section II-B above for the definition ofa step). The algorithm operates in two modes; a modewhere the fair-share has been calculated (using � ), andis therefore known, and a mode where the fair-share isunknown (e.g., due to new flows joining or leaving, the

previously calculated value of the fair-share is now obso-lete). The algorithm for flow � uses the variables givenin Table I. ��������������������� � is a system call that returns thecurrent congestion bit.

In the �! ��#" �%$& �"'� (&�*)+�,��-.� mode, the algorithm be-haves like AIMD, until two congestion cycles havepassed, which is sufficient to recalculate the fair-share.The algorithm then sets the bandwidth allocation for flow� to � �/�10 � times the calculated fair-share, and shifts tothe �� ��2" ��$& �"'� )3�,��-.� mode ( 0 is a small, tunable parame-ter). In the �� ��2" ��$& �"'� )3�,��-.� mode, the algorithm contin-ues to use additive increase and multiplicative decrease,but the multiplicative decrease factor is 0 instead of

�.

The algorithm also monitors the point at which conges-tion occurs. If this point is too early, i.e., smaller than� �4�50 � * calculated-fair-share, then that indicates that theactual fair-share decreased, due to some new flow(s) join-ing. Since the new flows are not in a fair state (i.e., haveequal allocations), the fair-share must be recalculated, andso the algorithm changes mode to �� 6�#" ��$& �"'� (7�8)3�,��-.� . Ifthis point is too late, i.e., larger than � �9�:0 � * calculated-fair-share, then that indicates that the actual fair-share in-creased due to some flow(s) leaving. In this case, the re-maining flows are still in a fair state (have equal alloca-tions), and so all that is needed is to set the calculatedfair-share to be the allocation of each flow at congestion,and then do a multiplicative decrease by 0 . The algorithmremains in the �� 6�#" ��$& �"'� )3�,��-.� mode.

D. Calculation of the fair-share

We now provide the theoretical basis for our method ofcalculating the fair-share. The fair-share calculation is al-ways performed in the �� 6�#" ��$& �"'� (7�8)3�,��-.� mode, wherethe algorithm behaves like classical AIMD, with additiveincrease � and multiplicative decrease

�. We consider

two main cases: the equilibrium case, in which no flowsjoin or leave, and the transient case, in which flows con-tinuously join and leave. With each case, we consider thecalculation of the fair-share in which each flow receivesthe same share of the bandwidth, and the calculation ofproportional fairness, in which each flow is allocated ashare of the bandwidth according to a fixed “weight” as-sociated with it. Table II introduces some notation, andTable III introduces some abbreviations. For technicalconvenience, we number the congestion cycles that occurduring system execution as cycle � , cycle ; , etc.

Let </� � be an arbitrary cycle such that the congestionpoint at the end of cycle < � � resulted in a multiplicativedecrease with factor

�. Equations 1 and 2 hold because

the sum of the flow allocations at a congestion point is

Page 4: Bimodal congestion avoidance and control

4

<�� ��� the congestion bit sent back to flow �� ������� the current mode of flow �� � the current bandwidth allocation (or window size) of flow ��! ��2" � the calculated fair-share for flow �<�<� a count of the number of cycles passed since a mode change for flow � <� the bandwidth allocation for flow � at the beginning of the latest cycle

TABLE ITHE VARIABLES USED IN THE ALGORITHM.

Initially: � ������� � �! ��#" �%$& �"'� (&�*)+�,��-.� � <�� ��� � �! �� �!��� <�<� � �! �� �!� .���� ������ � ��� �����'<�� �����'<�<��� <������� ��2" � ���� � ������� � �! ��#" �%$& �"'� (&�*)+�,��-.������������! <�� ���!�"������ �$# � �&% � ' additive increase

��(�)�� ' congested��� <�<�&������� ' � ; cycles since modechange�� ��2" � # � � � � <� �+* � ' calculate fair-share� �$# �! ��2" �&, � �9� 0 � <�-# � � ' record allocation at beginning of new cycle� �.� ���$# �! ��2" �%$& 6"�� )+�,�6-.�

��(/).� � �$# � � , � ��� ��� ' multiplicative decrease <�-# � � ' record allocation at beginning of new cycle<�<�-# ��"�( �

����0 ��� ;<�� ���$# �� �� � � ' reset congestion bit

����0 �����(�)��21 � ��� ��� � �� 6�#" ��$& �"'� )3�,��-.�43���! <�� ���!�"������ �$# � �&% � ' additive increase

��(�)��21<5� ����3 ' congested��� � �76 �� ��2" � ������� ' congested too early: fair-share decreased� �$# � � , � ��� ��� ' multiplicative decrease<�<�-# �� �� �!� ' reset <�<��� �.� ���$# �! ��2" �%$& 6"�� (7�8)+�,�6-.� ' new flows are not in fair state

��(/).� �/� � �785�! ��2" � ������� ' congested too late: fair-share increased�� ��2" � # � � ' flows are in fair state� �$# � � , � ��� 0 � ' multiplicative decrease

��(/).�91 � � � �� 6�#" � 3 ' congestion due to additive increase� �$# �! ��2" � , � �9� 0 � ' adjust based on fair-share����0 ��� ;<�� ���$# �� �� � � ' reset congestion bit

����0 �������0 �/� ;<�� ���$# �%���&�����������6�.� � ' get congestion bit feedback for current interval

Fig. 1. The algorithm.

Page 5: Bimodal congestion avoidance and control

5

notation meaning�the fixed total amount of bandwidth available� �2 � set of current flows at time

����� ������� flow identifiers� ��� ������� sets of flow identifiers� �8�2 � the bandwidth allocation of flow � at time < congestion cycle number

begin time of cycle <� end time of cycle <� �2 � the set of identifiers of flows that have joined, up to time � �2 � the set of identifiers of flows that have left, up to time

TABLE IINOTATION.

abbreviation its definition its meaning� � � ��� � � � ��� � �� ��� � � ��� � the set of identifiers of flows that joined and did not leave in cycle <� � � ��� � � � ��� � �� ��� � � ��� � the set of identifiers of flows current at the beginning of < that left in <� ���9�� � � ����� � �*�2 � total allocation of flows in set � at time � �2 � � ����������� � �8�2 � total allocation of current flows at time TABLE III

ABBREVIATIONS.

equal to the total available bandwidth�

, by definition.Note that we do not assume that

�is known to the flows.

� ��� � ��%� � �(1)

� ��� � � �(2)

Equation 3 holds by definition of multiplicative decrease.

� � � � � �9� � � � ��� � � � �9� ��� � (3)

The above equations apply to all scenarios: transient andequilibrium, fairness and proportional fairness.

1) Calculation of the fair-share in the equilibrium sce-nario: Consider an arbitrary system state. There is a fixedset

�of current flows, and each has some bandwidth allo-

cation. Each flow additively increases its allocation by thesame � at each step until congestion occurs. Let � �! � ,i.e., the size of

�. We define the actual fair-share to be� *

� , i.e., the available bandwidth divided by the numberof current flows. We now show how the fair-share can becalculated by each flow independently.

Equation 4 holds by our assumption that all flows in-crease their bandwidth allocation at the same rate (addi-tive increase by � at each step).

"�$# %��'&

� �8��� � � � �8� � � � % ��� � � � % � � (4)

Let � be an arbitrary flow id in�

. Thus,

� � � % ��� �� � � % � %��� � (����& �

� �8��� �� � � �*� %���

From (2) and (3), we have� ��� %� � � � �� � � � . Now� ��� � � � �'��& � �8��� � , � � � � � ����& � �8� � � . Hence

(���'& �

� � ��� � � � �8� ��� � � � �

From the above two displayed equations, we obtain� � � � � � % ��� � � � % � ��� . And so

� � % ��� %� � � % � %���+* � � � *�)�

We show below that our algorithm calculates � � % ��� � �� % � %���+* � as the fair-share. Thus, the calculated fair-shareis equal to the actual fair-share. Thus, flow � can calculatethe fair-share by simply recording its beginning and end-ing allocations on the second cycle after initialization, orafter a mode change.

Page 6: Bimodal congestion avoidance and control

6

2) Calculation of the proportional fair-share in theequilibrium scenario: The situation is the same as de-scribed in Section II-D.1 above, except that each flow �has its own weight � � , and increases its allocation by � �at each step. Thus, the additive increase parameter is dif-ferent for each flow, in general, but the multiplicative de-crease parameters (

� � 0 ) are the same for all flows. Wedefine the actual proportional-fair-share to be the alloca-tion of available bandwidth to each flow � in proportionto � � . Let �� ��� � * � %���& � % . Then, the actual propor-tional fair-share of flow � is � � .

Let ����� be arbitrary flows in�

. Then, the number ofsteps in cycle < is equal to � � �*��� �� � � �8� %���+* � � , i.e., thetotal amount of allocation increase of flow � divided bythe increase per step. Since the number of steps is alsoequal to � � % ��� � � � % � ���+* � % , we obtain"��# %���& � � �*��� � � � �*� ���+* � � � � � % ��� � � � % � � ���+* � % (5)

Thus � � �8��� � � � �8� ��� � � � � * � % � � � % ��� � � � % � ��� .Fix � to be an arbitrary flow id in

�. Then

(�'��& �

� �*��� %� � � �8� %��� �

(����& �� � * � % � � � % ��� %� � � % � %��� �

� � % ��� � � � % � ��� � � * � % � (���'&� � �

� � % ��� � � � % � ���+* % �From (2) and (3), we have

� ��� �� � � � %� � � � . Now� ��� � � � ���'& � �8��� � , � � � � � ���'& � �8� � . Hence

(����& �

� �*��� � � � �8� � ��� � � � �

From the above two displayed equations, we obtain� � � � � % ��� � � � % � � ���+* % . And so

� � % ��� %� � � % � %���+* � � % � �Thus, the calculated fair-share � � % ��� %� � � % � %���+* � isequal to the actual proportional fair-share. Note that if theweights � � are all equal, then % � � * � and this agreeswith the result of Section II-D.1 for fairness.

3) Calculation of the proportional fair-share in thetransient scenario: Since the proportional fairness casesubsumes the (regular) fairness case, we only present theanalysis for proportional fairness in the transient scenario.Each flow � has its own weight � � , which is the additiveincrease parameter, as described in Section II-D.2 above.Flows join and leave dynamically.

Let ����� be arbitrary flows that are both present through-out cycle < . Then, the number of steps in cycle < is equal to� � �8��� � � � �*� ���+* � � , i.e., the total amount of allocationincrease of flow � divided by the increase per step. Sincethe number of steps is also equal to � � % ��� � � � % � ���+* � % ,we obtain

"��# %�� � � ��� ��������� � �� � �*��� � � � �8� ���+* � � � � � % ��� � � � % � ���+* � %

(6)Thus � � � ��� � � � �8� ��� � � � � * � % � � � % ��� � � � % � ��� .From (2) and (3), we have

� ��� � � � � � � � � . Hence

� � � ��� � � � �%� � % � � � �%� � �� � � � � � � � � � % � � � � ��� � � ,and so

� � � ��� � � � �%� � � � � � � � � � � � �� � % � � � � � � � � � �%� � �

Assuming flow id’s are unique within a cycle, we have,from the definitions,

� ��� � � � =� � � � �

=� � � �� ��� %� . Hence

� � � � � � � �%� � � � � � � � � � � � �� � % � � � � � � � � � �%� � �

Now� � � � $ � � � �%� � � � � � � � � � � � �� ������� � � � �� � � � �8��� �� � � �*� %��� . Hence

(��� � � � � � �� � �

� �*��� %� � � �8� %��� � � � % � � �� � �� � � � � �%� ��

Fix � to be an arbitrary flow id in� � � � � �

. Then byequation 6, we have

(������� � � � �� � �

� � ��� � � � �8� ��� �

(��� � � ��� � �� � �

� � * � % � � � % ��� � � � % � ��� �

� � % ��� � � � % � ��� � � * � % � (������� ��� � �� �

� � �Hence

� �'� ��� � � � �� � � � �8��� � � � �*� ��� � � � % ��� � �� % � ���+* % , where % � � % * � ������� ��� � �� � � � . And so,

� � % ��� %� � � % � %���+* % � � � % � � �� � %� � � � � �%� ��and finally

� � % ��� � �!� % � � ���+* � � % � % � % * � � � � � � � � � � � � �%� �� �

Page 7: Bimodal congestion avoidance and control

7

For the transient setting, we define the actual pro-portional fair-share of flow � to be % � , where % �� % * � �'� ��� ��� � �� � � � . This notion of proportional fair-share is only approximate, since it only considers theflows that are current throughout the cycle < , and ignoresthe flows that join and leave within cycle < . Since our no-tions of fair-share and proportional fair-share are definedon a per-cycle basis, this is unavoidable. A finer-grainnotion of fair-share, defined on a per-step basis, could ad-dress this shortcoming. We intend to pursue this in futurework.

The calculated fair-share is � � % ��� � � � % � � ���+* � , anddiffers from the actual proportional fair-share % � by an“error factor” of � % * ��� � � � � � � � � � � �%� �� . When thebandwidth usage

� � � �%� � of flows joining and the band-width usage

� � �� � %� of flows leaving is approximatelyequal, this error will be small.

III. ANALYSIS AND PROOF OF CORRECTNESS

We analyze the properties of the algorithm in both theequilibrium scenario and the transient scenario. We as-sume the synchronous rounds-based model of computa-tion given in [5, part 1], thus, in each round (i.e., step), theaction � ��� in Figure 1 is executed for each current flow � .We also adopt a formal approach to modeling the seman-tics of the algorithm. Since the algorithm is dynamic inthat flows are continuously joining and leaving, we adaptthe approach of [8]. Thus, we define a global state � tobe a pair ��� � � �%� ����� where � � � is a set of flow identifiers,and � ��� maps each ��� �

to a flow-state for the flow withidentifier � (i.e., “flow � ”). A flow-state is an assignmentof values to the variables in Table I. The meaning of aglobal state � is that each ��� � � � is the identifier of acurrently active flow, and � ��� ��� � gives the current state offlow � .

A computation � is a sequence of global states suchthat: (1) the first state of � assigns �! ��2" �%$& 6"�� (7�8)+�,�6-.�to � ��� ��� , �! �� �!� to <�<� , and �� �� � � to <�� ��� , for everyflow � that is “initially” current, and (2) if � immedi-ately follows � in � , then � results from � by: (2.1)executing ���� ������ � ��� �����'<�� �����'<�<���� <�����! ��2" � � for eachflow � that is current in both � and �� , (hence, for each���:� � � � � � � , � ��� ��� � results from � ��� ��� � by a singleexecution of � ��� ����� � �.� �����'<�� �����'<�<���� <� ���� ��2" � � ), and(2.2) removing the identifiers of all flows that left in � , i.e.,� � � � �� � � = all the flows that left in � , and (2.3) addingthe identifiers of all flows that joined in � , i.e., � � � � � � �= all the flows that joined in � .

A. Rate of convergence to efficient and fair allocation inthe equilibrium scenario

The equilibrium scenario is when no flows join or leave.In this case, the fair-share is

� *� , where � is the (static)

number of current flows. and the proportional fair-share is �� � . We establish that our algorithm computes the fair-share exactly in this case, under the assumption that theflows all additively increase and multiplicatively decreaseat the same rate.

Theorem 1: Let�

be the set of current flows in someglobal state � , and assume that from � onwards, no flowsjoin or leave. Let � � � , i.e., the number of flows. Then,within at most two congestion cycles of � , � �8� �� ��2" � �� *��

holds, and continues to hold forever after.Proof: Consider an arbitrary computation � such

that there are � current flows, and no flows join or leave(along � ). Hence, we can express a global state � along �as � � � � 1 � �������"� � 3 , and � ��� ��� � is a flow-state for flow� , ��� � � � .

Let � be an arbitrary global state along � in which� ����& � ��� ��� � �� ��2" ��$& �"'� (7�8)3�,��-.� holds, and let � oc-cur in cycle < � � . Let be the global state at the begin-ning of cycle < . (i.e., after the “round” in which � ��<�� ���becomes true terminates). Let � be the global state at theend of cycle < , and � be the global state at the beginning ofcycle < % � . In the following proof, each assertion followsfrom inspection of Figure 1 and from earlier assertions.Then, "

���'& ��<�<� � <�� ���!� <�� � � �8� %���

holds in all states from up to but not including � . Hence

"���'& ��<�<��&� <�� ���&� <� � � �*� ���

holds in � . Hence

"���'& � � ��� ��� � �� ��2" ��$& �"'� )3�,��-.� �

�! ��2" � � � � �8��� �� � � �*� %���+* � �� � � �! ��#" � , � ��� 0 � �

holds in � . Thus, � � �� ��2" � � is equal to the fair-share� *� ,

by the analysis in Section II-D.1. So,

"����& � � ��� ��� � �! ��2" �%$& 6"�� )+�,�6-.� �

�� 6�#" � � � *���

� � � � � * � � , � �9� 0 � �

holds in � . So, "�$# % ��& �

� � � � % �

Page 8: Bimodal congestion avoidance and control

8

holds in � . Thus,"�$# %��'& �

� � � � % �

holds in all states from � until before the next congestioncycle.

Thus, the next congestion cycle begins when each al-location � � has value

� *� , since the allocations are all

equal. Subsequently, each allocation is reduced by a factorof � ��� 0 � , with the allocations still remaining equal. Thepattern persists through all subsequent congestion cycles.� � then changes, in a linear manner, from � � * � � , � ��� 0 �just after congestion occurs, to

� *� just before the next

occurrence of congestion.

B. Rate of convergence to efficient and proportional fairallocation in the equilibrium scenario

Theorem 2: Let�

be the set of current flows in someglobal state � , and assume that from � onwards, no flowsjoin or leave. Let � � � � * � %��'& � % . Then, within atmost two congestion cycles of � , � ����& � �! ��#" � � �� � �holds, and continues to hold forever after.

Proof: Let � be any flow id in�

. As in the proof ofTheorem 1, we establish that within two cycles, �! ��2" � �� � �*��� � �7� �*� ���+* � is true, and continues to hold forever.By the results of Section II-D.2, we have that �� ��2" � � �� � is true within two cycles of � , and continues to holdforever thereafter.

C. Transient Behavior

Theorem 3: Let < � � be an arbitrary cycle suchthat the congestion point at the end of cycle < �� resulted in a multiplicative decrease with factor

�.

Then, � ��� � � � � � �� � � �! ��2" � � �� � % � �� * ��� � � � � � � �� � � �%� ��2� holds at the end of cycle < .Proof: Let � be any flow id in

� � �� � ��. As

in the proof of Theorem 1, we can show that �! ��2" � �� � �*��� � � � �8� ���+* � holds at the end of cycle < . By theresults of Section II-D.3, we have that �� ��2" � � �� � %� �� * � � � � � � � � � � � � �%� �� holds at the end of cycle < .

D. Efficiency at Equilibrium

Theorem 4: Assume that there are � current flows, andthat no flows join or leave. Then, after at most two conges-tion cycles, the efficiency becomes � � � 0 * ; � and remainsat that value forever after.

Proof: As noted in Section III-A after the first twocongestion cycles, � � increases linearly from � � * � � , � �8�0 � just after congestion occurs, to

� *� just before the next

congestion occurs. If the time between these two pointsis � , then the total data transmitted per flow during thecongestion cycle delineated by these two points (call itcycle < ) is � � * � � , � �9� 0 � , � % � � * � � , 0 , � * ; . Themaximum possible data transmitted per flow during cycle< is � � * � � , � . Thus, the efficiency in cycle < is

� � * � � , � ��� 0 � , � % � � * � � , 0 , � * ;� � * � � , � �

This simplifies to � � � � 0 � % 0 * ; , i.e, � � � 0 * ; � . Sincethe flow pattern in cycle < repeats indefinitely, this valuefor the efficiency holds forever after.

IV. RELATED WORK

The impact of AIMD has been recently discussedmainly from two perspectives. First, from the perspec-tive of the improvements of the original AIMD. Towardsthis end, Yang and Lam [9] discuss a control systemwhich extends the system of Chiu further towards asyn-chronous feedback. Lahanas and Tsaoussidis in [10] pro-pose a modification to increase both fairness and effi-ciency, namely AIMD-FC. They prove the properties ofthe modified algorithm algebraically, and show exper-imentally significant improvements with TCP. Second,from the perspective of the parameterization of a generalalgorithm which exploits the tradeoffs of smoothness andresponsiveness but does not disturb much the performanceof the traditional TCP scheme. That is, such modifica-tions, which are called TCP-Friendly, attempt to achievesimilar efficiency with TCP, trading responsiveness forsmoothness. The question of efficiency is associated withthe utilized bandwidth; at first, the system dynamics sug-gest that the higher the oscillation the less the efficiency. Italso appears1 that the higher the oscillation, the faster weapproach fairness. Some recent versions of AIMD-basedalgorithms that take advantage of this property are [11],[9], [12], [13]. More precisely, it has been observed thatstreaming applications could benefit from modest oscilla-tions since these reflect the smoothness of adjusting thetransmission rate backwards. Such protocols are charac-terized as TCP-Friendly because they consume the sameamount of bandwidth as TCP(1,

�� ) does [4]. Theoretically,and in the context of Figure 2, these algorithms try to pushthe Efficiency Line closer to the Bandwidth Limit Line atthe expense of the rate of convergence to fairness. Forexample, the GAIMD [9] algorithm with

� ��� , con-

verges to fairness in � � ������ �� � � � �steps, where

�is the

link bandwidth; the SIMD [13] with� ��� * ��� converges

in � � ������ �� ��� � �steps; the SQRT [12] algorithm with�

Both statements have been made initially in [1].

Page 9: Bimodal congestion avoidance and control

9

� ��� � * � , converges in � � � � �; so does the IIAD [12].

The performance of AIMD algorithm (with parameters� � � and

� ��� ) and in general of TCP is studied

in [14], [15]. The efficiency of the AIMD algorithm isdescribed in [14] by the formula: �� � ��������� � where

�is

the link bandwidth, MSS is the TCP packet size and RTTis the Round Trip Time. The analysis suggests a 75% effi-ciency of the protocol when the system is in equilibrium.Several, congestion control algorithms along with a costanalysis of their capacity to discover the available band-width, have been recently presented in [16].

x = y

x

y

x + k

y + k

Efficiency Line

x + y = B

Bandwidth Limit Line

Flow f1

Flow f2

Fig. 2. Vectorial representation of two-flow convergence to fairness.Figure is based on [1].

V. EXPERIMENTAL METHODOLOGY AND TESTBED

......

4 ms 4 ms

RED RED

17 ms

FTP Senders FTP Receivers

Queue Size = (Delay x Bandwidth)TCP Buffer size = 10000 pkts

Fig. 3. Multiple flows experimental set-up for AIMD evaluation.

We have incorporated our algorithm into TCP [3] andhave validated its performance on NS-2 [17]. TCP con-trols the sending rate by a parameter called congestionwindow [2]. When resources are available TCP increasesthe congestion window by one Maximum Segment Size(MSS); upon congestion and in the presence of three du-plicate acknowledgments, TCP multiplies the congestionwindow by a factor of 1/2 (this TCP is also known asTCP(1,

�� )). Recall that in the absence of errors the aver-age long term efficiency of the AIMD mechanism of TCPis 75% [14], [15].

The TCP version of choice in our experiments wasTCP-SACK [18]. Due to its Fast Recovery and its ca-pability for multiple retransmissions within one RTT, this

version matches better the assumptions of our theoret-ical work. However, there is an additional componentin TCP’s congestion control, namely the timeout mech-anism; and there is an additional component in the initialwindow expansion phase, namely, the Slow Start mecha-nism.

In our experiments, multiple flows share a high-bandwidth bottleneck link (see Figure 3); the fair-share(the Delay � Bandwidth share per flow) was set relativelyhigh in order to provide the environment for the algo-rithms to exploit their potential. For example, AIMD isnot activated when the fair-share is only one packet, orotherwise when contention is too high and bandwidth islimited, efficiency is not really an issue.

We evaluate three distinct scenarios: Our first scenariois characterized by stationarity in terms of the number ofparticipating flows. The scenario matches well the theo-retical assumptions. We study comparatively the behav-ior of the algorithms and we present experiments withboth default and RED gateways. Our second scenarioinvolves progressive contention due to periodic increaseof the number of flows. The subject matter we inves-tigate with this experiment is the mechanism’s potentialfor efficient congestion avoidance and control, i.e., notonly its convergence behavior. In our third experiment weevaluate the system’s responsiveness: bandwidth becomesavailable and protocols ought to demonstrate capabilitiesto consume the available resource fast. Both our secondand third experiments aim at alleviating reasonable con-cerns regarding the algorithm’s behavior in dynamic (andhence more realistic) environments. We note that our ex-periments do not cover the whole spectrum of experimen-tal evaluation, which can be a subject of study in its ownright; we provide here substantial evidence on the algo-rithm’s practical impact, along with our theoretical per-spective. Further experimental studies may be driven byspecific network and flow characteristics, or protocol, ap-plication and device properties.

A TCP flow runs at each end node and an FTP applica-tion generates the traffic for each source. The task of theapplication is to send data for 60 seconds. The RED queuebuffers were set equal to the Delay � Bandwidth product.

We measured the number of packets that arrive at thereceivers; since the time of the experiments is fixed we re-port this number as Goodput in the figures (average of 30experiments with minimal statistical deviation). Goodputis a metric for the system efficiency. In line with our the-oretical findings and in order to measure the convergencebehavior of the participating flows, we use the FairnessIndex used in [19]:

� �� � � � � �� � � * � � � ���, where ��

is the goodput achieved by each flow.

Page 10: Bimodal congestion avoidance and control

10

A. Stationary Environment

We present results with 0 ��� * ; (figures 4, 5), 0 � � *��(figures 6, 7), and 0 � � *�� (figures 8, 9). As we pointedout already, for 0 � � * ; , efficiency (in terms of bandwidthutilization) does not improve. However, due to the algo-rithms ability to calculate the fair-share, fairness is im-proved (see figure 5). We demonstrate notable improve-ment in efficiency when 0 is smaller. In figure 6 where 0 is� *�� goodput is increased up to 5% and in figure 8 where0 is �

*��goodput is improved up to 10%. The correspond-

ing improvements in fairness can be seen in figures 7 and9 respectively.

2 4 8 16 32 64 128

Number of Flows.

50

55

60

65

70

Pack

et R

ecei

ved

x 10

000 AIMD

Bimodal

Fig. 4. Goodput Performance of TCP with AIMD and Bimodal con-gestion control algorithm on a 100Mbps link and a RED Gateway.��� �� , � �

�� .

2 4 8 16 32 64 128

Number of Flows.

0.88

0.90

0.92

0.94

0.96

Fair

ness

Ind

ex

AIMDBimodal

Fig. 5. Fairness with the 100Mbps link and a RED Gateway. ����� ,

� ��� .

B. Graduated Contention Increase

A reasonable question regarding the potential of bi-modal congestion avoidance and control may arise fromthe dynamics of Internet applications. Occasionally, con-tention may increase and then adjusting to a precalculatedfair-state may be risky. However, when contention in-creases (hence the actual fair-share decreases), calculation

2 4 8 16 32 64 128

Number of Flows.

50

55

60

65

70

Pack

et R

ecei

ved

x 10

000 AIMD

Bimodal

Fig. 6. Goodput Performance of TCP with AIMD and Bimodal con-gestion control algorithm on a 100Mbps link and a RED Gateway.�� � , � �

�� .

2 4 8 16 32 64 128

Number of Flows.

0.88

0.90

0.92

0.94

0.96

Fair

ness

Ind

ex

AIMDBimodal

Fig. 7. Fairness with the 100Mbps link and a RED Gateway. ���� ,

� ��� .

2 4 8 16 32

Number of Flows.

50

55

60

65

70

Pack

et R

ecei

ved

x 10

000

AIMDBimodal

Fig. 8. Goodput Performance of TCP with AIMD and Bimodalcongestion control algorithms on a 100Mbps link and RED Gateway.�� �� , � �

�� .

of the fair-share is not based on historical data but on themost recent evaluation of the number of steps, and on thevalues of

� � 0 . Hence, the capability of the algorithm toperform efficient congestion avoidance when contentionincreases is not compromised. Once the situation is de-

Page 11: Bimodal congestion avoidance and control

11

2 4 8 16 32

Number of Flows.

0.85

0.90

0.95

Fair

ness

Ind

exAIMDBimodal

Fig. 9. Fairness with the 100Mbps link and RED Gateway. � ��� ,

� ��� .

tected 2 multiplicative decrease is drastic, making spacefor the new flows as in standard AIMD. Results of the ex-periments are presented in figures 10 and 11.

30 60 90 120

Number of Flows.

14

15

16

17

18

Pack

et R

ecei

ved

x 10

,000

AIMDBimodal

Fig. 10. Goodput Performance of TCP with AIMD and Bimodalcongestion control algorithm on a 100Mbps link and a RED Gateway.The number of flows is increased by 30 every 15 seconds. � � �� ,� �

�� .

30 60 90 120

Number of Flows.

0.86

0.88

0.90

0.92

0.94

Fair

ness

Ind

ex (%

)

AIMDBimodal

Fig. 11. Fairness with the 100Mbps link and a RED Gateway. Thenumber of flows is increased by 30 every 15 seconds.

�Note that contention increase cannot be detected by traditional

AIMD.

C. Graduated Bandwidth Increase

We consider a deterministic scenario where applica-tions finish their tasks earlier than others i.e., not a band-width provisioning scenario. We measure the capabilityof the algorithm to exploit available bandwidth efficientlyand fairly. With 0 equal to

�, a difference in goodput is

not really expected. Unlike goodput, fairness shows animprovement. We present the results in figures 12 and 13respectively.

120 90 60 30

Number of Flows.

14

15

16

17

18

Pack

et R

ecei

ved

x 10

,000

AIMDBimodal

Fig. 12. Goodput Performance of TCP with AIMD and Bimodalcongestion control algorithm on a 100Mbps link and a RED Gateway.The number of flows is halved every 15 seconds. ��

�� , � ��� .

32 16 8 4

Number of Flows.

0.90

0.92

0.94

Fair

ness

Ind

ex (%

)

AIMDBimodal

Fig. 13. Fairness with the 100Mbps link and a RED Gateway. Thenumber of flows is halved every 15 seconds.

VI. DISCUSSION

Our algorithm is executed only by the flow sender. Inparticular, although the sender needs to maintain the cur-rent flow state and mode, the router need not maintain anyextra information. Thus, our algorithm works with stan-dard IP routers, since it relies only on a 1 bit feedbackin the form of congestion/no congestion, which in prac-tice is generated by a packet acknowledgment or packetdrop. Requiring the sender to maintain a small amountof information (two window sizes and three bits) per flow

Page 12: Bimodal congestion avoidance and control

12

is clearly not an impediment, especially in comparison tothe amount of data a typical sender generates and trans-mits. Furthermore, the per flow state is maintained in adistributed fashion by the senders, and is not concentratedat the performance-critical routers, where the aggregationof per-flow state for, e.g., thousands of flows, would causesevere performance degradation of the routers.

We distinguish our algorithm from the class of TCP-friendly algorithms. TCP friendly algorithms favorsmoothness at the cost of fairness. Our algorithm cal-culates fair share explicitly, and so fairness is not com-promised in our approach. Furthermore, since our al-gorithm restricts its flows to use only their fair share, itcan be used in conjunction with any other transport pro-tocols (e.g., standard AIMD) without monopolizing foritself most of the available bandwidth. This is in contrastwith the TCP-friendly protocols, which attempt to graball available bandwidth. Of course, our algorithm will notwork well in conjunction with other protocols that aggres-sively (and unfairly) grab a disproportionate share of thebandwidth for their flows.

VII. CONCLUSIONS AND FUTURE WORK

We have presented a congestion control algorithm thatexplicitly calculates the fair share and converges in twocongestion cycles to the fair share. Our algorithm clearlyoutperforms standard AIMD.

One issue with our algorithm is that the more the gainwe have in goodput (i.e., by using a smaller 0 ) the lessthe free space left for incoming flows when contentionincreases. Although in any case the system will indeedconverge in two cycles, leaving no free space in order tomaximize bandwidth utilization will have an impact onpacket overhead due to retransmission. Investigating theoptimal value of 0 in conjunction with the dynamics ofspecific environments is a subject of future work. Wedemonstrated, however, that even with the most conser-vative settings of 0 , Bimodal Congestion Avoidance andControl can achieve up to 10% gain in goodput and fair-ness. Of course, the gain is proportional to the fair-share,i.e., when the fair-share is larger, the gain is larger, whichmakes our approach particularly suitable for high-speednetworks.

Future work also includes modifying our algorithm forthe asynchronous scenario by integrating the RTT into thefair-share calculation. For example, we could increase thebandwidth allocation of a flow when the RTT of its pack-ets decreases, and decrease the allocation when the RTTincreases. Also, in the asynchronous scenario, the effectof delays introduced by buffering becomes important. Wewill investigate how to take such delays into account in

our algorithm. We will also investigate an integration ofthe ideas presented here with a receiver-oriented feedbackapproach, e.g., as embodied in TCP-real [20].

REFERENCES

[1] D. Chiu and R. Jain, “Analysis of the Increase/Decrease Algo-rithms for Congestion Avoidance in Computer Networks,” Jour-nal of Computer Networks and ISDN, vol. 17, no. 1, pp. 1–14,June 1989.

[2] V. Jacobson, “Congestion Avoidance and Control,” in Proceed-ings of the ACM SIGCOMM ’88, August 1988, pp. 314–329.

[3] J. Postel, “Transmission Control Protocol,” RFC 793, September1981.

[4] J. Padhye, V. Firoiu, D. Towsley, and J. Kurose, “Modeling TCPThroughput: A Simple Model and its Empirical Validation,” inProceedings of the ACM SIGCOMM, 1998.

[5] N. A. Lynch, Distributed Algorithms, Morgan-Kaufmann, SanFrancisco, California, USA, 1996.

[6] R. Fagin, J.Y. Halpern, Y. Moses, and M.Y. Vardi, Reasoningabout Knowledge, The MIT Press, Cambridge, Mass., 1995.

[7] Joseph Y. Halpern and Yoram Moses, “Knowledge and commonknowledge in a distributed environment,” Journal of the ACM,vol. 37, no. 3, pp. 549–587, 1990.

[8] P. C. Attie and N.A. Lynch, “Dynamic input/output automata: aformal model for dynamic systems,” in CONCUR’01: 12th Inter-national Conference on Concurrency Theory. Aug. 2001, LNCS,Springer-Verlag.

[9] Y. Yang and S. Lam, “General AIMD Congestion Control,” inProceedings of the IEEE International Conference on NetworkProtocols, November 2000.

[10] A. Lahanas and V. Tsaoussidis, “Additive Increase MultiplicativeDecrease - Fast Convergence (AIMD-FC),” in Proceedings of theNetworks 2002, Atlanta, Georgia, August 2002.

[11] S. Floyd, M. Handley, J. Padhye, and J. Widmer, “Equation-Based Congestion Control for Unicast Applications,” in Pro-ceedings of the ACM SIGCOMM 2000, May 2000.

[12] D. Bansal and H. Balakrishnan, “Binomial Congestion ControlAlgorithms,” in Proceedings of the IEEE INFOCOM’01, 2001.

[13] S. Jin, L. Guo, I. Matta, and A. Bestavros, “TCP-friendly SIMDCongestion Control and Its Convergence Behavior,” in Proceed-ings of the ICNP’2001, November 2001.

[14] M. Mathis, J. Semke, J. Mahdavi, and T. Ott, “The MacroscopicBehavior of the TCP Congestion Avoidance Algorithm,” ACMComputer Communication Review, vol. 27, pp. 20–26, July 1997.

[15] S. Floyd and K. Fall, “Promoting the Use of End-to-End Con-gestion Control in the Internet,” IEEE/ACM Transactions on Net-working, vol. 7, no. 4, pp. 458–472, August 1999.

[16] R. Karp, E. Koutsoupias, C. Papadimitriou, and S. Shenker, “Op-timization Problems in Congestion Control,” in IEEE Symposiumon Foundations of Computer Science, November 2000, pp. 66–74.

[17] “The Network Simulator - NS-2,” Tech. Rep., Web Page:http://www.isi.edu/nsnam/ns/.

[18] M. Mathis, J. Mahdavi, S. Floyd, and A. Romanow, “TCP Selec-tive Acknowledgment Options,” RFC 2018, April 1996.

[19] R. Jain, Dah Ming Chiu, and H. Hawe, “A Quantitative Mea-sure of Fairness and Discrimination for Resource Allocation inShared Systems,” Tech. Rep. DEC-TR-301, Digital EquipmentCorporation, 1984.

[20] V. Tsaoussidis and C. Zhang, “TCP-Real: Receiver-orientedCongestion Control,” The Journal of Computer Networks, 2002.