You are on page 1of 14

Analysis of the Increase and Decreas, e

Algorithms for Congestion Avoidance


in Computer Networks
Dah-Ming C H I U and Raj J A I N 1. Introduction
Digital Equipment Corporation, 550 King Street (LKG1-2 /,419),
Littleton, MA 01460-1289, U.S.A. 1.1. Background

Congestion in computer networks is becoming


Abstract. Congestion avoidance mechanisms allow a network
an important issue due to the increasing mismatch
to operate in the optimal region of low delay and high
throughput, thereby, preventing the network from becoming in link speeds caused by intermixing of old and
congested. This is different from the traditional congestion new technology. Recent technological advances
control mechanisms that allow the network to recover from the
congested state of high delay and low throughput. Both con-
gestion avoidance and congestion control mechanisms are basi- Dah-Ming Chiu received the B.Sc. de-
gree with first class honours from Im-
cally resource management problems. They can be formulated perial College of Science and Technol-
as system control problems in which the system senses its state ogy, London University, in 1975, and
and feeds this back to its users who adjust their controls. the M.S. and Ph.D. degrees from
The key component of any congestion avoidance scheme is Harvard University, Cambridge, MA,
in 1976 and 1980 respectively.
the algorithm (or control function) used by the users to in- From 1979 to 1980, he was with
crease or decrease their load (window or rate). We abstractly A T & T Bell Laboratories, where he
characterize a wide class of such increase/decrease algorithms worked on applying queuing theory to
and compare them using several different performance metrics. network modeling. Since 1980, he has
been with Digital Equipment Corpo-
They key metrics are efficiency, fairness, convergence time, ration, where he has worked on per-
and size of oscillations. formance modeling and analysis of computer systems and
It is shown that a simple additive increase and multiplicative networks. Currently, he is a member of the Distributed Sys-
decrease algorithm satisfies the sufficient conditions for con- tems Architecture group, where he is working on the name
service architecture and analyzing various distributed algo-
vergence to an efficient and fair state regardless of the starting rithms. His research interests include operation systems, dis-
state of the network. This is the algorithm finally chosen for tributed systems, computer networks, performance analysis,
implementation in the congestion avoidance scheme recom- and optimization theories.
mended for Digital Networking Architecture and OSI Trans- Dr. Chiu is a member of the A C M and the IEEE.
port Class 4 Networks.
Raj Jain received the B.E. degree from
A.P.S. University, Rewa, India, the
Keywords. Computer Network, Network Performance, Re- M.E. degree from Indian Institute of
source Management, Congestion Control, Congestion Avoi- Science, Bangalore, India, and the
dance, Flow Control, Fairness. Ph.D. degree from Harvard Univer-
sity, Cambridge, MA, in 1972, 1974,
and 1978, respectively.
His Ph.D. dissertation, entitled
"Control Theoretic Formulation of
Operating Systems Resource Manage-
ment Policies," was published by Gar-
land Publishing, Inc. of New York in
their " O u t s t a n d i n g Dissertations in
the Computer Sciences" series. Since 1978, he has been with
Digital Equipment Corporation, where he has been involved in
performance modeling and analysis of a number of computer
systems and networks including VAX Clusters, DECnet, and
Ethernet. Currently, he is a Consulting Engineer in the Distrib-
uted Systems Architecture and Performance Group. He spent
the 1983-1984 academic year on a sabbatical at the Mas-
sachusetts Institute of Technology doing research on the pei--
formance of networks and local area systems. For three years
he also taught a graduate course on computer systems perfor-
mance techniques at M I T and is writing a textbook on this
subject, to be published by Wiley-Interscience.
North-Holland Dr. Jain is a member of the Association for Computing
Computer Networks and ISDN Systems 17 (1989) 1 - 1 4 Machinery, and a senior member of IEEE.

0169-7552/89/$3.50 1989, Elsevier Science Publishers B.V. (North-Holland)


2 D.-M. Chiu, R. Jain / Congestion Avoidance in Computer Networks

Knee Cliff queues start overflowing, the response time in-


; ', creases drastically.
The point at which the packets start getting lost
is called a cliff due to the fact that the throughput
Throu- ~ falls off rapidly after this point. We use the term
ghput knee to describe the point after which the increase
in the throughput is small, but when a significant
increase in the response time results.
I A scheme that allows the network to operate at
Load ! the knee is called a congestion avoidance scheme,
as distinguished from a congestion control scheme
that tries to keep the network operating in the
zone to the left of the cliff. A properly designed
congestion avoidance scheme will ensure that the
RoeSsP- j * users are encouraged to increase their traffic load
as long as this does not significantly affect the
time , ,"
response time, and are required to decrease them
I
if that happens. Thus, the network load oscillates
ll.- around the knee.
Load Both congestion avoidance and congestion con-
Fig. 1. Network performance as a function of the load. Broken
trol mechanisms are dynamic resource manage-
curves indicate performance with deterministic service and
interarrival times. ment problems that can be formulated as system
control problems in which the system senses its
state and feeds this back to its users who adjust
their controls. For the congestion problem, the
such as local area networks (LANs) and fiber state consists of the load on the network and the
optic LANs have resulted in a significant increase control is the number of packets put into the
in the bandwidths of computer network links. network by the users. Often a window mechanism
However, these new technologies must coexist with is used in the transport layer protocols to limit the
the old low bandwidth media such as the twisted number of packets put into the network. An alter-
pair. This heterogeneity has resulted in a mis- native mechanism consists of setting a limit on the
match of arrival and service rates in the inter- rate (packets per second or bits per second) that
mediate nodes in the network causing increased can be sent by a user. In either case, the control
queuing and congestion. (window or rate) can be dynamically adjusted as
Traditional congestion control schemes help the total load on the system changes. This control,
improve performance after congestion has oc- which we call the increase/decrease algorithm, is
curred. Figure 1 shows general patterns of re- at the heart of all congestion avoidance mecha-
sponse time and throughput of a network as the nisms.
network load increases. If the load is small, We have investigated a number of congestion
throughput generally keeps up with the load. As avoidance mechanisms, reported in a series of
the load increases, throughput increases. After the papers, and this paper is a part of that series
load reaches the network capacity, throughput [7,8,10,11]. The concept of congestion avoidance
stops increasing. If the load is increased any fur- and several alternatives are described in [7]. We
ther, the queues start building, potentially result- chose a particular alternative called the "binary
ing in packets being dropped. Throughput may feedback scheme" which is described in detail in
suddenly drop when the load increases beyond [11]. This scheme is later extended in [10] to
this point and the network is said to be congested. include a "selective feedback" mechanism in which
The response-time curve follows a similar pattern. the routers monitor different users and permit
At first the response time increases little with some users to increase load while requesting others
load. When the queues start building up, the re- to decrease load. All of our work on congestion
sponse time increases linearly until finally, as the avoidance is summarized in [8].
D.-M. Chiu, R. Jain / CongestionAvoidance in Computer Networks

This paper concentrates on a detailed analysis At the other end of the spectrum, we have de-
of the increase/decrease algorithms. This analysis centralized decision-making. In this case the deci-
resulted in the selection of the increase/decrease sions are made by the users while the resources
algorithms used in the binary feedback scheme feed information regarding current resource usage.
proposed in [11] and [10]. However, the analysis Algorithms studied by Jaffe [5] and later exten-
presented here is general and applies to m a n y sions by Gafni [2] and Mosely [9] are all good
other applications besides congestion avoidance. examples of this approach.
Briefly, the binary feedback scheme for conges- In this paper we analyze a class of decentral-
tion avoidance operates as follows. The resources ized decision-making algorithms that are based on
in the network monitor their usage and determine a special form of feedback, namely the feedback
if they are loaded below or above an optimal load from the resource is a binary signal. This binary
level. Depending upon the load level, the resource signal indicates whether the resource is currently
sends a binary feedback (1 = overloaded, 0 = overloaded or underutilized. A very good reason
underloaded) to the users who then adjust their for considering a binary form of feedback is the
load using an increase/decrease algorithm. This motivation of making the c o n t r o l l e r / m a n a g e r of
binary feedback is sent by setting a bit in the the resource as simple and efficient as possible.
packet header. The use of a bit in the packet The requirement of a binary feedback often mini-
header as a feedback mechanism has been incor- mizes the work at the resource in generating the
porated into the OSI connectionless networking feedback.
protocol standards [4]. The bit is called a "conges-
tion experienced bit" and is a part of a field called 1.3. Notations and Definitions
"quality of service" in the network layer header.
The abstract model assumes that all the users Figure 2 shows the assumed model of the net-
sharing the same bottleneck will receive the same work with n users sharing it. The congestion state
feedback. Based on this feedback, the users try to of the system is determined by the number of
adjust their load so that the bottleneck is effi- packets in the system. We assume a discrete time
ciently used as well as equally shared by all users. operation with time divided into small slots. These
In this abstracted context, we assume that the slots basically represent intervals at the beginning
feedback and control loop for all users is synchro- of which the users set their load level based on the
nous, that is, all users receive the same feedback network feedback received during the previous
and react to it; the next feedback is then gener- interval. If during time slot t, the ith user's load is
ated after all users have reacted to the feedback x i ( t ), then the total load at the bottleneck re-
and so on. Also, we concentrate on one bottleneck source would be T.x,(t), and the state of the
resource and the users that share it. Because of system is denoted by the n-dimensional vector
these abstractions, we are able to demonstrate x ( t ) = {xl(t), x2(t ) . . . . . xn(t)}. Since we are op-
some of the subtle behavior of this type of al- erating at or near the knee, all resource~ de-
gorithm. The results presented here were verified manded by the users are granted (this is not true
by detailed simulations of real networks [7,10,11]. at the cliff). Thus, x A t ) denotes the ith user's

1.2. Past Work


User 1
The algorithms studied here belong to a class of
distributed algorithms for managing distributed
resources. A spectrum of such distributed al- r.xi > Xgoat (
gorithrns have been studied in the literature. At
one end of the spectrum, we have centralized Network
decision-making. In this paradigm, information
(about user demands) flows to the resource
User n
managers, and the decision of how to allocate the
resource is made at the resource. The analysis by Y
Sanders [12] is a good example of this approach. Fig. 2. A control system model of n users sharing a network.
D.-M. Chit~R. Jain / CongestionAvoidancein ComputerNetworks
demand as well as allocation of the system's re- demands by adding a constant amount to their
sources. During the interval, the system de- previous demands. The decrease is also additive)
termines its load level and sends a binary feed- (3) Additive Increase/ Multiplicative Decrease:
back y(t), which is interpreted by the users as
xi(t + 1)
follows:
= (al+xi(t) ify(t)=0~Increase,
y(t)={~ ~Increaselad,
Decrease load. boxi(t ) if y(t) = 1 ~ Decrease.
The users cooperate with the system and change The increase is by a constant amount but the
(increase of decrease) their demands by an amount decrease is by a constant factor.
ui(t ). Thus, (4) Multiplicative Increase/Additive Decrease:

xi(t + 1) = xi(t ) + ui(t ). (1) xi(t + 1)

The change ui(t ) represents ith user's control. It / b~xi(t ) if y(t) = 0 ~ Increase,
\
is a function of the user's previous demand and [a o + x i ( t ) ify(t)=l~Decrease.
the system feedback:
In order to evaluate the effectiveness of these
u,(t) = f ( x i ( t ) , y(t)). (2) controls, we next define a set of criteria explicitly
in the next section.
In other words,

x i ( t + 1) = x i ( t ) + f ( x i ( t ) , y(t)). 1.4. Criteria for Selecting Controls


Notice that the users are not aware of other user's The key criteria are: efficiency, fairness, distrib-
individual demands and, thus, cannot make ui(t) utedness, and convergence. We define them for-
a function of xj(t), j ~ i. In general, the control mally as follows:
function f ( ) can be any linear or nonlinear func- (1) Efficiency: The efficiency of a resource usage
tion. However, we will focus first on linear con- i s defined by the closeness of the total load on the
trois. The state equations (1) reduce to
resource to its knee. If Xgo~~ denotes the desired
xi(t + 1) load level at the knee, then the resource is operat-
ing efficiently as long as the total allocation X(t)
= (al+bixi(t) if y ( t ) = 0 ~ Increase, = F.xi(t ) is close to X~oar Overload ( X ( t ) > Xgoal)
a D + bDXi(t ) if y(t) = 1 ~ Decrease. or underload ( X ( t ) < Xgoal) are both undesirable
and are considered inefficient. We consider both
Here, a l, bi, aD, b D are constants. The following as equally undesirable.
are some examples of the control functions: Notice, that efficiency relates only to the total
(1) Multiplicative Increase/Multiplicative De- allocations and thus two different allocations can
crease: both be efficient as long as the total allocation is
close to the goal. The distribution of the total
xi(t+l)= [blx~(t ) if y ( t ) = 0 ~ Increase,
allocation among individual users is measured by
[bDXi(t ) if y(t) = 1 ~ Decrease. the fairness criterion.
Here, b I > 1 and 0 < b D < 1. All users increase (2) Fairness: The fairness criterion has been
their demands by multiplying their previous de- widely studied in the literature. When multiple
mands by a constant factor. The decrease is also users share multiple resources, the maxmin fair-
multiplicative. ness criterion has been widely adopted [2,3,5,10].
(2) Additive Increase/Additive Decrease: Essentially, the set of users are partitioned into
equivalent classes according to which resource is
xi(t + 1) their primary bottleneck. The maxmin criterion
then asserts that the users in the same equivalent
=[al+xi(t ) if y ( t ) = 0 ~ Increase,
[a D + xi(t ) if y(t) = 1 ~ Decrease.
i It is a s s u m e d that truncation is applied w h e n a D + xi(t ) is
Here, a i > 0 and a D < 0. All users increase their less than zero, so that x i ( t ) will never b e c o m e negative.
D. -M. Chiu, R. Jain / Congestion Avoidance in Computer Networks

class ought to have the equal share of the bot- ~ e _C


_~ Responsiveness
tleneck. Thus, a system in which x i ( t ) = x j ( t ) V i, j
sharing the same bottleneck is operating fairly. If
all users do not get exactly equal allocations, the
system is less fair and we need an index or a
function that quantifies the fairness. One such
index is [6]:
Goal ~ oothness

Total
load on
Fairness: F(x)- (Ex')2
n(r ;i ) " the
network

This index has the following properties:


(a) The fairness is bounded between 0 and 1 (or Time
Fig. 3. Responsiveness and smoothness.
0% and 100%). A totally fair allocation (with
all xi's equal) has a fairness of 1 and a
totally unfair allocation (with all resources (4) Convergence: Finally we require the control
given to only one user) has a fairness of 1 / n scheme to converge. Convergence is generally
which is 0 in the limit as n tends to oo. measured by the speed with which (or time taken
(b) The fairness is independent of scale, i.e., till) the system approaches the goal state from any
unit of measurement does not matter. starting state. However, due to the binary nature
(c) The fairness is a continuous function. Any of the feedback, the system does not generally
slight change in allocation shows up in the converge to a single steady state. Rather, the sys-
fairness. tem reaches an "equilibrium" in which it oscillates
(d) If only k of n users share the resource around the optimal state. The time taken to reach
equally with the remaining n - k users not this "equilibrium" and the size of the oscillations
receiving any resource, then the fairness is jointly determine the convergence. The time de-
k/n. termines the responsiveness, and the size of the
For other properties of this fairness function, see oscillations determine the smoothness of the con-
[61. trol. Ideally, we would like the time as well as
(3) Distributedness: The next requirement that oscillations to be small. Thus, the controls with
we put on the control scheme is that it be distrib- smaller time and smaller amplitude of oscillations
uted. A centralized scheme requires complete are called more responsive and more smooth, re-
knowledge of the state of the system. For example, spectively, as shown in Fig. 3.
we m a y want to know each individual user's de-
m a n d or their sum. This information may be 1.5. Outline of this Paper
available at the resource. However, conveying this
information to each and every user causes consid- In this paper, we develop a simple and intuitive
erable overhead, especially since a user may be methodology to explain when and why a control
using several resources at the same time. We are converges. We address the following questions:
thus primarily interested in control schemes that What are all the possible solutions that converge to
can be implemented in real networks and, there- efficient and fair states? How do we compare those
fore, we assume that the system does the mini- controls that converge?
m u m amount of feedback. It only tells whether it The paper is organized as follows. In Section 2
is underloaded or overloaded via the binary feed- we will characterize the set of all linear controls
back bits. Other information such as Xsoal and the that converge and, thus, identify the set of feasible
number of users sharing the resource are assumed controls. Then we narrow down the feasible set to
to be unknown by the users. This restricts the set a subset that satisfies our distributedness criterion.
of feasible schemes. We, therefore, describe the set These subset still includes controls that have un-
of feasible schemes with and without this restric- acceptable magnitudes of oscillation or those that
tion. converge too slowly. Then in Section 3, we discuss
6 D.-M. Chiu, R. Jain / CongestionAvoidance in ComputerNetworks

how to find the subset of feasible distributed system to this point regardless of the starting
controls that represent the optimal trade-off of position.
responsiveness and smoothness, as we defined in All points below the efficiency line represent an
convergence. In Section 4, we discuss how the "underloaded" system and ideally the system
results extend to nonlinear controls. And in the would ask users to increase their load. Consider,
last section we summarize the results and discuss for example, the point x 0 = (xl0, x20 ). The ad-
some of the practical considerations (such as sim- ditive increase policy of increasing both users'
plicity, robustness, and scalability). allocations by a~ corresponds to moving along a
45 line. The multiplicative increase policy of
increasing both users' allocations by a factor b I
2. Feasible Linear Controls corresponds to moving along the line that con-
nects the origin to the point. Similarly, all points
2.1. Vector Representation of the Dynamics above the efficiency line represent an "overloaded"
system and additive decrease is represented by a
In determining the set of feasible controls, it is 45 line, while multiplicative decrease is rep-
helpful to view the system state transitions as a resented by the line joining the point to the origin.
trajectory through an n-dimensional vector space. The fairness at any point (x 1, x2) is given by
We describe this method using a 2-user case, which
can be viewed in a 2-dimensional space. (Xl + x2) 2
Fairness -
As shown in Fig. 4, any 2-user resource al- 2 ( x 2 + x22) "
location {Xl(t), x 2 ( t ) } Can be represented as a
point (x 1, x2) in a 2-dimensional space. In this Notice that multiplying both allocations by a fac-
figure, the horizontal axis represents allocations to tor b does not change the fairness. That is,
user 1, and the vertical axis represents allocations (bx 1, bx2) has the same fairness as (x 1, x2) for all
to user 2. All allocations for which x I + x 2 = Xgoal values of b. Thus, all points on the line joining a
are efficient allocations. This corresponds to the point to origin have the same fairness. We, there-
straight line marked "efficiency line". All al- fore, call a line passing through the origin a
locations for which x 1 = x 2 are fair allocations. "equi-fairness" line. The fairness decreases as the
This corresponds to the straight line marked "fair- slope of the line either increases above or de-
ness line". The two lines intersect at the point creases below the fairness line.
( X goal/2, Xgo~/2 ) that is the optimal point. The Figure 5 shows a complete trajectory of the
goal of control schemes should be to bring the two-user system starting from point x 0 using an
additive increase/multiplicative decrease control
policy. The point x 0 is below the efficiency line
and so both users are asked to increase. They do
l Equi- so additively by moving along at an angle of 45 o.
This brings them to x~ which happens to be above
Fairness Fairness
the efficiency line. The users are asked to decrease
User ~ L m ~ Line and they do so multiplicatively. This corresponds
to moving towards the origin on the line joining
2's ~ ~ //
x 1 and the origin. This brings them to point x 2,
Alloc- ] ~ //Overload which happens to be below the efficiency line and
the cycle repeats. Notice that x 2 has higher fair-
ness than x 0. Thus, with every cycle, the fairness
increases slightly, and eventually, the system con-
verges to the optimal state in the sense that it
keeps oscillating around the goal.
Similar trajectories can be drawn for other con-
trol policies. Although not all control policies con-
User l's Allocation xt verge. For example, Fig. 6 shows the trajectory for
Fig. 4. Vectorrepresentationof a two-usercase. the additive increase/additive decrease control
D.-M. Chiu, R. Jain / Congestion Avoidance in Computer Networks 7

Fairness
Line
xl /"
/
/
//

User
2's
Alloc-
ation
x2
]
l ll
/,,;):,; /
/ I/1
I l ll/
I Ill
I II1~

, ~5~'
I i// \ E f f i c i e n c y Line
/,
Ii//~

ID-

User l's Allocation xl


Fig. 5. AdditiveIncrease/MultiplicativeDecreaseconvergesto the optimalpoint.

policy starting from the position x 0. The system converge to efficiency, but not to fairness. The
keeps moving back and forth along a 45 line conditions for convergence to efficiency and fair-
through x 0. With such a policy, the system can ness are derived algebraically in the next section.

] The operating
] point keeps
/ oscillating along , .
\ / this line I~awness
/ Line
\// ,,"
~ N ~ l//j

User
fx0
2's
Alloc-
ation
x2
/ j/j ~

/ ~fficteney Line
f

User l's Allocation x l


Fig. 6. AdditiveIncrease/AdditiveDecreasedoesnot converge.
8 D.-M. Chiu, R. Jain / Congestion Avoidance in Computer Networks

2.2. Convergence to Efficiency where = a/b (6)


= F ( x ( t ) ) + (1 - F ( x ( t ) ) )
In order to guarantee convergence to efficiency
we need to first make sure that at each step the (zx2(t) )
system react correctly to the feedback by moving
X ] -- Y'~(C q- X i ( t ) ) 2 " (7)
in the right direction. That is, when the system
asks the users to decrease, we should ensure that The last expression in the above equation is an
the total load will not increase and when the increasing function of c. Thus, it is sufficient to
system asks the users to increase, the total load ensure that c >~ 0 to guarantee non-decrease of
will not decrease This is the principle of negative fairness. Note that c - 0 ~ F(x(t + 1)) = F(x(t)),
feedback, z Algebraically: i.e., the fairness stays the same. To ensure conver-
y(t)=O = ~,xi(t+ l ) > Exi(t), gence to fairness, we require c > 0 for either in-
crease or decrease policy. In terms of increase/de-
y(t)=l = Exi(t+ l ) < X x i ( t ). crease parameters, this implies
In terms of the policy parameters, this means that al OD
the parameter values should be b--~>~0 and ~D > 0 (8)
na I + (b I + 1 ) E x , ( t ) > 0 Vn and V~xi(t),
or
nap + (b D -- l ) ~ x ~ ( t ) < 0 Vn and VEx,(t), al aD
-->0 and >~0. (9)
or, equivalently,
na I In (8), the fairness goes up during decrease and
b~>l
F.xi(t) either goes up or stays the same during increase.
na D Similarly, (9) ensures that fairness goes up during
b o < 1 Exi(t) Vn and VEx~(t). (3) increase and either goes up or stays the same
during decrease. This is sufficient to ensure con-
vergence to fairness. We do not need the fairness
2.3. Convergence to Fairness to go up during both increase and decrease.
Equations (8) and (9) basically state that a~
Convergence to fairness is defined as moving and b I should not be of opposite signs. Similarly,
towards the fairness index of one, i.e., a D and b D should not be of opposite signs.
F ( x ( t ) ) ~ 1 as t---, oo. To satisfy (8) or (9), it follows that all four
parameters al, b l , aD, and b D must be positive,
The linear control policies affect the fairness as
for otherwise xi(t ) can become negative. Also,
follows:
since n, Exi(t), and a D are all positive, from (3)
(F.xi(t + 1)) 2 we know b D must be less than 1. So
F ( x ( t + 1)) = n(Zx2( t + 1)) (4)
al >/0, b I >~ 0, (10)
aD>~0, 0~<bD<l
= (Za + b x , ( t ) ) 2 (5)
n~,(a+bxi(t)) 2 where a~ and b~ cannot be both zero, else it
would imply zero increase; and a~ and a D cannot
(F.c + xi(t)) z be both zero, else it would imply c is always zero.

2.4. Distributedness
2 Note that satisfying the negative feedback condition alone
The requirement of having no information
only guarantees that the system will oscillate about the
efficiency point, but says nothing about the size of oscilla- about system state other than the feedback y(t)
tion. So this is strictly speaking weaker than the efficiency further limits the set of feasible linear controls.
condition. We will, however, explore how the oscillation size Since the fairness requirements (Equation (8) or
can be minimized when we talk about the optimality of a (9)) do not involve any system state, it already
policy in the next section.
satisfies the distributedness criterion. The ef-
D.-M. Chiu, R. Jain / CongestionAvoidance in ComputerNetworks 9

ficiency convergence conditions stated in (3), how- which means


ever, require knowledge of Y.x~(t) and n at each
na I + (b I - 1)Y.xi(t ) < 0.
user. In the absence of such knowledge, each user
must try to satisfy the negative feedback condition Since a~, b 1, and all x / s are positive, the above
by itself. This means a stronger condition to inequality is possible only if b~ - 1 is negative and
guarantee convergence to efficiency: if so, substituting Xm~x which is more than Y.xi(t )
will make the left-hand side even more negative:
y(t)=O ~ xi(t+l)>xi(t ) Vi,
y(t)=l ~ xi(t+l)<xi(t )vi. (11)
na I + ( b I - - l)Xma x < 0.

This violates (14); thus a contradiction with our


Which translates into
assumption.
a,+(b,-l)xi(t )>0 Vx,(t)>O, For the case y = 1, if all users truncate, then it
a D + (b D - 1)xi(t ) < 0 Vxi(t ) >/0. means

This implies further constraining equation (10) to na D+ bDXi(t) > xi(t ) Vi,
be thus
ai>O, b1>~l,
(12) na o + (b D - 1)~xi( t ) > O.
ao=0, 0~<bD<l.
Since b o is less than 1, the second term in the
We shall demonstrate these constrains graphically left-hand side of the above equation is negative.
later, using the vector representations. y = 1 implies 52x~(t) is greater than Xgoal, hence
There is, however, a simple variation for us to Xmi.. Substituting Nma x in place of n, and Smi n in
make the conditions in (12) less restrictive for place of Y.x,(t), should maintain the inequality.
parameters b t and a o. If each user i truncates its That is, we must have
control whenever the conditions in (11) would
otherwise be violated, as below Nmaxa o + (b o - l)Xmi n > 0.
This leads to a violation of (14); thus a contradic-
( m a x ( a , + b , x ~ t ) , xi(t))
tion.
if y ( t ) = 0 Increase, So the linear controls with truncation leave us
xi(t+l)=)mJn(aD+bD~(t),xi(t) ) (13) with a set of conditions weaker than (12) and
if y ( t ) = 1 Decrease, stronger than (10):
al
then (10) can guarantee both convergence to ef- al>0, bl>l-
gmax '
ficiency with the distributed requirements. There
is one catch, however, that is all users could Xmi.
0 ~< a D < (1 -- bD) Nmax, 0 ~< b D < 1. (16)
truncate at the same time (thus stopping any
progress). To prevent this possibility, let's consider
Notice that in the case that we do not have any
the following conditions:
knowledge to b o u n d Xgoa, or n, that simply corre-
al + ( b l - 1 ) X m a x > O , sponds to Nr~x = oo, Xmi. -----0 and Xmax= oo.
Nmaxa D + (b D - 1)Xmi n < 0 (14) Then the conditions on linear control with trunca-
tion reduce to the same ones as those on the
for some Xmi. and Xma x satisfying strictly linear control. We have essentially p r o v e n
Xmin ~ /goal ~< Xmax- (15) the following propositions:

Here, Nmax is the upper b o u n d on the n u m b e r of


users that would share the resource. The claim is
Proposition 1. In order to satisfy the requirements
that when (14) and (15) are satisfied, it is impossi- of distributed convergence to efficiency and fairness
ble for xi(t + 1) = x,(t).
without truncation, the linear decrease policy should
Let us suppose the contrary is true for the case
be multiplicative, and the linear increase policy
y = 0. This means that
should always have an additive component, and
optionally it may have a multiplicative component
a. + b,xi(t ) < x i ( t ) Vi with the coefficient no less than one.
10 D.-M. Chiu, R. Jain / Congestion Avoidance in Computer Networks

Proposition 2. For the linear controls with trunca- For fairness, we note that the points between
tion (as defined m Equation (13)), the increase and the fairness line and the line passing through x rt
decrease policies can each have both additive and have higher fairness than x H (see Fig. 7(c)). If we
multiplicative components, satisfying the constraints locate the mirror image of x H - the point x r r =
in Equations (16) and (15). (2,xH xH) - t h i s point has the same fairness as x H,
and all points between the fairness line and the
line joining x w have higher fairness than x rr.
The vectorial representation in the next section
Thus, for convergence to fairness, it is sufficient
should help illustrate these results further.
that the next point be in the region bounded by
the two lines joining origin to the points x n and
2.5. Vectorial Representation of Feasibility Condi- X H'.
tions Combining the effect of all the restrictions, the
region for distributively converging to efficiency
The constraint on the control imposed by the and fairness is given by the intersection of the
efficiency and fairness convergence conditions are regions shown in Fig. 7(b), and (c), i.e., by the line
depicted in Fig. 7 for the 2-user case. Let us first joining x H to the origin as shown in Fig. 7(d).
consider a point in the overloaded region. As Thus the only policies that would distributively
shown in Fig. 7(a), the users start at the point satisfy the fairness and efficiency convergence
x H = (x H, x~), which is above the efficiency line. conditions are those that move the operating point
The system asks the users to decrease. The line along this line. In other words, the decrease must
x I + x 2 = x H + x H represents an "equi-efficiency" be multiplicative.
line. All points on this line have the same ef- Similarly, starting with a point x L = (x~, x2e)
ficiency as x n. For convergence to efficiency it is in the underloaded region, the region for distribu-
sufficient to ensure that the next decrease moves tively converging to efficiency and fairness is given
into the shaded area. by the region shown in Fig. 7(e).
The requirement of linear controls and dis- Equations (12), (16), and (15) are basically the
tributedness puts additional restrictions. Linear algebraic statement of these conditions.
controls imply that the new state vector x(t + 1) is
a sum of two vectors corresponding to a and
bx(t). In two dimensions, a vector is represented
by a 45 line through x(t). This is shown in Fig. 3. Optimizing the Control Schemes
7(b) by the line marked b = 1. All future states
corresponding to b = 1 lie on this line. Points to Having established the feasible control region,
the left of the line can be reached if and only if we the next step is to determine the optimal policy - -
choose b > 1. Similarly, points to the right of the a policy that takes the system to the goal quickly.
line can be reached if b < 1. The second vector In this section, therefore, we discuss the selection
corresponding to bx(t) is represented by the line of control parameters to minimize the time to
marked a = 0 in Fig. 7(b). If we choose a = 0, the convergence and to minimize the oscillations.
state x(t + 1) will lie on this line. Points to the left
of this line can be reached by choosing a < 0.
Similarly, points to the fight of this line can be 3.1. Optimal Convergence to Efficiency
reached by a > 0. Depending upon the values of a
and b, the set of reachable states will lie in one of In this subsection, we deal exclusively with the
the four regions formed by the two lines a = 0 and tradeoff of time to converge to efficiency, te, with
b = 1. Only one of these four regions, the one the oscillation size, s e. More figuratively, we also
corresponding to a < 0 and b ~< 1, is completely refer to these two metrics as responsiveness and
below the equi-efficiency line. This region is shown smoothness, respectively.
shaded in Fig. 7(b). If we choose parameter values The n state equations corresponding for n users
corresponding to other regions, the next state can are
not be guaranteed to be always below the equi-ef-
ficiency line. 1)= i=1,2 ..... n.
D.-M. Chiu, R. Jain / Congestion Avoidance in Computer Networks 11

xx. (a) Convergenceto


Efficiency
t| a = I0 ~
/ 2
b=l
(b) Distributed
H j~" User [ //// Convergence
User
2's ~ 2's
Alloc- Alloc-
ation / ation
x2 x2
Equi-Efficiency
Line

User l's Allocation xl User l's Allocation xt

l / (c) Convergence to l / (d) Distributed


Fairness Convergence to
| [ Eff}ciency and
/ xH I. Fairness Line
User User
2's 2's
Alloc- Alloc-
ation ation
x2 x2

User l's Allocation xl User l's Allocation xl

(e) Increase

s
User /
2's /
J
Alloc-
ation
x2

User l's Allocation xl


Fig. 7. Vectorialrepresentationof efficiencyand fairnessfeasibilityconditions.
12 D.-M. Chiu, R. Jain / Congestion Avoidance in Computer Networks

These n equations can be added to form a single This is in fact the form of the control we are
state equation: proposing for our congestion avoidance schemes
[10,11].
Ex,(t + 1) = na + bEx,(t)
or,
4. Nonlinear Controls
X(t + 1) = na + bX(t) where X = ~.x,.
Given initial state X(0), the time to reach XgoaI is In this section, we explore the behaviour of
certain nonlinear controls. In particular, we show
I an + (b - 1) Xgoaz how they can be represented by the vector di-
agrams as in the case for linear controls. This
te= log(b) , b>0, technique again gives an intuitive feeling about
how nonlinear controls work. The detailed analy-
Xgoa, - X ( 0 ) , b = 0. sis of nonlinear controls is beyond the scope of
an this paper. However, we will explain why we con-
sider such nonlinear controls not suitable for prac-
After converging to XgoaI there will be a m a x i m u m
tical purposes.
overshoot of
Let us consider in general state transition equa-
se= lan + (b-1)ggoa, I. tions that are expressible as a power of the state:

Notice that t e is a monotonically decreasing func- xi(t + 1) = xi(t ) + a(xi(t)) k,


tion of a and b, while se is a monotonically
or, in terms of control,
increasing function of a and b. Thus, any attempt
to increase responsiveness (decrease te) also re- u i( t) k
suits in decreased smoothness (increased s~), and
where k can be any integer (positive, negative or
vice versa.
zero), and a is a normalization constant that
defines the step size and sign. Note that k = 0
3.2. Optimal Convergence to Fairness gives the additive policy and k = 1 gives the multi-
plicative policy.
Equation (7) shows that the per step improve- Now let us consider the two user vector repre-
ment in fairness F(x(t - 1)) - F(x(t)) is a mono- sentation for these controls. In Fig. 8 we first
tonically increasing function of c = a/b. Thus, show the efficiency and fairness lines as before.
larger values of a and smaller values b give quicker Consider the point x L'. Let O(k) be the slope of
convergence to fairness. u(t). Then we know 0(0) is 45 and 0(1) is the
For the case of strict linear controls, this leads same as the slope for the initial state x(t). As k
to an elegantly simple conclusion. For decrease, tends to infinity, O(k) tends to 0 and as k tends
feasibility conditions required a D = 0. Thus, the to negative infinity, O(k) tends to 90 o
fairness remains the same at every decrease step Since fairness requires that the slope of the new
and the parameter b D has no effect on time to state x(t + 1) be closer to 45 than that of the
converge to a fair state. For increase, smaller b I initial state x(t), we must have k ~< 1 (negative k
results in quicker convergence to fairness. Thus, is fine).
the optimal value of bl is its minimum v a l u e - - o n e . Slopes for other three possibilites x L, x ~, and
(See Equation (12).) Choosing b~ = 1 is equivalent x n' are shown in the figure and can be similarly
to saying that additive increase gives us the quick- explained. Considering all four possibilities we see
est convergence to fairness. This result can be that the feasibility condition requires k ~< 1 for
formally stated as: increase and k >~ 1 for decrease (with at least one
inequality being strict), and appropriate values for
Proposition 3. For both feasibifity and optimal con- a so the sign and step size are correct. The ad-
vergence to fairness, the increase poficy should be ditive increase and multiplicative decrease control,
additive and the decrease policy should be multi- for example, clearly satisfies this general condi-
pficative. tion.
D.-M. Chiu, R. Jam / Congestion Avoidance in Computer Networks 13

hardware and software scales or parameters as


xH
much as possible. The reason being that in a
complex system, scaling parameters are not easily
gathered in an automatic fashion and, thus, re-
quire human help to configure. Having algorithms
depend on system scales would complicate the
User l / ~ ~" configuration task and make the algorithm more
.,sl ," vulnerable to human error. While in this report we
Allc-I / T / ' ~ N J have discussed optimizing the control scheme
according to certain criteria, practical considera-
tion may dictate that the control be chosen for the
widest range of values of system parameters. As
we indicated earlier, the nonlinear controls tend to
be more sensitive to the system parameters and,
thus, are less likely to be useful in practice.
Another possible constraint is that the resource
User l's Allocation xl
and thus the allocations must be integral. For
Fig. 8. Vectorial representation for nonlinear controls.
example buffers and windows are all measured in
integers. Simple rounding off to the nearest integer
may cause violation of the various convergence
A nonlinear control could generally include conditions.
more components with different slopes: Ease of implementation could also affect the
choice of the controls. For example, the number
ui(t)= ~ ctk(xk(t)) k. of multiplications or exponentiations required to
k = --oo implement a control would impact on the minimal
Then the sum of the components must have a hardware required.
slope satisfying the above condition.
Although nonlinear controls offer us far more 5.1. Further Questions
flexibility in trying to direct towards fairness, it
also complicates the task of finding the right There are many further questions worth explor-
scaling factors, represented by ag in the above ing in conjunction to this problem. In particular,
equation. These parameters usually must be cho- the following are important:
sen relative to system parameters, such as the (1) How does delayed feedback affect the control?
capacity XgoaI and maximum number of users In practice there is invariably some delays before
Nm~,. Being too sensitive to system parameters the feedback arrives at the controller. As the delay
reduces the robustness of the control. For this lengthens, the feedback becomes less and less use-
reason we spent less effort in exploring nonlinear ful, and the performance worsens. It would be
controls, We will discuss the robustness question valuable to have quantitative assessment of how
more in the next section. the performance degrades.
(2) What is the marginal utility of increased bits
of feedback? The binary feedback is the simplest.
5. Practical Considerations Adding additional feedback signals may help to
cut down the oscillations. A formal analysis would
The problem studied in this report is a generic, allow an assessment of the tradeoff of perfor-
but also highly abstracted problem. In order to mance versus complexity.
apply the results to solve the decentralized conges- (3) Is it worthwhile to guess the current number
tion control problem in real networks, many prac- of users n? Users come and go dynamically and
tical issues must be taken into considerations. We the number changes by integral values. A se-
briefly discuss some of them here. quence of increase signals may indicate the reduc-
One general principle in choosing an algorithm tion in the number of users from n to n - 1. If n
in a general architecture is to be independent of were known or bounded, sources could predict
14 D.-M. Chiu, R. Jain / Congestion Avoidance in Computer Networks

n - 1 a n d request that level of resources right uted to the congestion a v o i d a n c e project. T h e


away. A w r o n g guess m a y m a k e the system less analysis in the p a p e r b e n e f i t e d in p a r t i c u l a r f r o m
stable. This also deserves further study. the s u p p o r t a n d i n p u t f r o m T o n y Lauck, J o h n
(4) W h a t is t h e i m p a c t o f a s y n c h r o n o u s oper- H a r p e r , a n d W i l l i a m Hawe.
a t i o n ? The a l g o r i t h m described in the p a p e r is
intrinsically a s y n c h r o n o u s algorithm. In other
words, it is a s s u m e d that all users start from an
initial state a n d follow through c o m m o n phases of
c o m p u t a t i o n a n d feedback. W h e n the frequency
of f e e d b a c k is different or when the time d e l a y of References
f e e d b a c k is d r a s t i c a l l y different, then the conver-
gence p r o p e r t i e s c a n n o t be guaranteed. This topic
is c u r r e n t l y u n d e r further study. [1] D.P. Bertsekas, Distributed Asynchronous Computation
of Fixed Points, Mathematical Programming 27 (1983)
107-120.
[2] E. Gafni and D. Bertsekas, Dynamic Control of Session
6. Summary of Results Input Rates in Communication Networks, in: Proc.
M1LCOM "82, Boston, MA, MIT Technical Report
C o n g e s t i o n a v o i d a n c e schemes allow a n e t w o r k LIDS-P-1228, 1982.
[3] H. Hayden, Voice Flow Control in Integrated Packet
to o p e r a t e in the o p t i m a l region of low d e l a y a n d Networks, MIT, M.S. Thesis, MIT Technical Report
high throughput. This is achieved via the n e t w o r k LIDS-TH-1152, 1981.
m o n i t o r i n g its l o a d level a n d asking the users to [4] ISO 8073: Information Processing Systems - Open Sys-
increase or decrease the l o a d as a p p r o p r i a t e . In tems Interconnection - - Connection Oriented Transport
this paper, we e x a m i n e d the user i n c r e a s e / d e - Protocol Specification, International Organization for
Standardization, Ref. no. ISO 8073-1986 (E)), 1986.
crease policies u n d e r the constraints that the [5] J.M. Jaffe, Bottleneck Flow Control, IEEE Transactions
f e e d b a c k from the system is limited to a single bit, on Communications 29 (7) (1981) 954-962.
which tells whether the c u r r e n t l o a d is a b o v e or [6] R. Jain, D.M. Chiu and W. Hawe. A Quantitative Mea-
b e l o w the goal. sure of Fairness and Discrimination for Resource Alloc-
W e f o r m u l a t e d a set of c o n d i t i o n s that a n y ation in Shared Systems, Technical Report, Digital
Equipment Corporation, DEC-TR-301, 1984.
i n c r e a s e / d e c r e a s e policy should satisfy to ensure [7] R. Jain and K.K. Ramakrishnan, Congestion Avoidance
convergence to efficient a n d fair state in a d i s t r i b - in Computer Networks with a Connectionless Network
u t e d m a n n e r . In particular, we showed that the Layer: Concepts, Goals and Methodology, in: Proc. Com-
decrease m u s t be multiplicative to ensure that at puter Networking Symposium, Washington, DC (1988)
every step the fairness either increases o r stays the 134-143.
[8] R. Jain, K.K. Ramakrishnan and D.M. Chiu, Congestion
s a m e as that the the current o p e r a t i n g point. W e Avoidance in Computer Networks with a Connectionless
d e r i v e d the sufficient c o n d i t i o n s a n a l y t i c a l l y a n d Network Layer, Technical Report DEC-TR-506, Digital
then e x p l a i n e d t h e m using a vector representation. Equipment Corporation, 1987. Also in: C. Partridge, ed.,
O p t i m i z a t i o n c o n s i d e r a t i o n s require that the Innovations in Internetworking (Artech House, Norwood,
c h a n g e in efficiency a n d fairness be m a x i m i z e d in MA, 1988) 140-156.
[9] J. Mosely, Asynchronous Distributed Flow Control
every f e e d b a c k cycle. U s i n g these c o n s i d e r a t i o n s Algorithms, MIT, Ph.D. Thesis, MIT Technical Report
we showed that a d d i t i v e increase with m u l t i p l i c a - LIDS-TH-1415, 1984.
tive decrease is the o p t i m a l policy. This is the [10] K.K. Ramakrishnan, D.M. Chiu and R. Jain, Congestion
p o l i c y finally chosen for i m p l e m e n t a t i o n in the Avoidance in Computer Networks with a Connectionless
congestion a v o i d a n c e scheme r e c o m m e n d e d for Network Layer, Part IV-A Selective Binary Feedback
Scheme for General Topologies, Technical Report DEC-
Digital N e t w o r k i n g A r c h i t e c t u r e a n d O S I T r a n s - TR-509, Digital Equipment Corporation, 1987.
p o r t Class 4 Networks. [11] K.K. Ramakrishnan and R. Jain, A Binary Feedback
Scheme for Congestion Avoidance in Computer Networks
with a Connectionless Network Layer, in: Proc. A C M
Acknowledgment SIGCOMM'88 (1988).
[12] B.A. Sanders, An Incentive Compatible Flow Control
Algorithm for Fair Rate Allocation in Computer/Com-
M a n y m e m b e r s of the D i g i t a l ' s n e t w o r k i n g munication Networks, 6th International Conference on
architecture a n d i m p l e m e n t a t i o n g r o u p s c o n t r i b - Distributed Computing Systems, Cambridge, MA (1986).

You might also like