Professional Documents
Culture Documents
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
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,
Total
load on
Fairness: F(x)- (Ex')2
n(r ;i ) " the
network
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-
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
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
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:
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
(e) Increase
s
User /
2's /
J
Alloc-
ation
x2
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: