mansour/papers/99j-alg.pdf · complexity of rate-based flow control 107 achieve a good utilization...

38
Ž . Journal of Algorithms 30, 106]143 1999 Article ID jagm.1998.0970, available online at http:rrwww.idealibrary.com on Convergence Complexity of Optimistic Rate-Based Flow-Control Algorithms* Yehuda Afek, Yishay Mansour, and Zvi Ostfeld Computer Science Department, Tel-A¤ i ¤ Uni ¤ ersity, Tel-A¤ i ¤ 69978, Israel E-mail: [email protected]; [email protected]; or [email protected] Received March 17, 1996; revised January 9, 1998 This paper studies basic properties of rate-based flow-control algorithms and of the max-min fairness criteria. For the algorithms we suggest a new approach for their modeling and analysis, which may be considered more ‘‘optimistic’’ and realistic than traditional approaches. Three variations of the approach are pre- sented, and their rate of convergence to the optimal max-min fairness solution is analyzed. In addition, we introduce and analyze approximate rate-based flow-con- trol algorithms. We show that under certain conditions the approximate algorithms may converge faster. However, we show that the resulting flows may be substan- tially different from the flows dictated by the max-min fairness. We further demonstrate that the max-min fairness solution can be very sensitive to small changes, i.e., there are configurations in which an addition or deletion of a session Ž n r2 . with rate d may change the allocation of another session by V d ? 2 , but by no Ž n . more than O d ? 2 . This implies that the max-min fairness criteria may provide a bad estimate of how far a set of flow allocations is from the optimal allocation. Q 1999 Academic Press 1. INTRODUCTION The ATM Forum on Traffic Management has adopted rate-based flow w x control Cha94, Jaf81, Hay81, Mos84, GB84, Gaf82, BG87 as the basis for Ž . Ž flow control in its networks for ABR Available Bit Rate traffic see w x . BF95 , for example . The major arguments for rate-based flow control are the simplicity and modest hardware requirements per virtual circuit, com- w x pared with those of the credit-based scheme KM95 . Conceptually, the rate-based flow control adjusts transmission rates of different sessions Ž . virtual circuits in the network in an end-to-end manner, aiming to * A preliminary version of this paper was presented in the 28th Annual ACM Symposium on Theory of Computing, STOC, Philadelphia, PA, 1996, 89]98. 106 0196-6774r99 $30.00 Copyright Q 1999 by Academic Press All rights of reproduction in any form reserved.

Upload: others

Post on 29-Sep-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

Ž .Journal of Algorithms 30, 106]143 1999Article ID jagm.1998.0970, available online at http:rrwww.idealibrary.com on

Convergence Complexity of Optimistic Rate-BasedFlow-Control Algorithms*

Yehuda Afek, Yishay Mansour, and Zvi Ostfeld

Computer Science Department, Tel-A¨ i Uni ersity, Tel-A¨ i 69978, IsraelE-mail: [email protected]; [email protected]; or [email protected]

Received March 17, 1996; revised January 9, 1998

This paper studies basic properties of rate-based flow-control algorithms and ofthe max-min fairness criteria. For the algorithms we suggest a new approach fortheir modeling and analysis, which may be considered more ‘‘optimistic’’ andrealistic than traditional approaches. Three variations of the approach are pre-sented, and their rate of convergence to the optimal max-min fairness solution isanalyzed. In addition, we introduce and analyze approximate rate-based flow-con-trol algorithms. We show that under certain conditions the approximate algorithmsmay converge faster. However, we show that the resulting flows may be substan-tially different from the flows dictated by the max-min fairness. We furtherdemonstrate that the max-min fairness solution can be very sensitive to smallchanges, i.e., there are configurations in which an addition or deletion of a session

Ž n r2 .with rate d may change the allocation of another session by V d ? 2 , but by noŽ n.more than O d ? 2 . This implies that the max-min fairness criteria may provide a

bad estimate of how far a set of flow allocations is from the optimal allocation.Q 1999 Academic Press

1. INTRODUCTION

The ATM Forum on Traffic Management has adopted rate-based floww xcontrol Cha94, Jaf81, Hay81, Mos84, GB84, Gaf82, BG87 as the basis for

Ž . Žflow control in its networks for ABR Available Bit Rate traffic seew x .BF95 , for example . The major arguments for rate-based flow control arethe simplicity and modest hardware requirements per virtual circuit, com-

w xpared with those of the credit-based scheme KM95 . Conceptually, therate-based flow control adjusts transmission rates of different sessionsŽ .virtual circuits in the network in an end-to-end manner, aiming to

* A preliminary version of this paper was presented in the 28th Annual ACM Symposiumon Theory of Computing, STOC, Philadelphia, PA, 1996, 89]98.

1060196-6774r99 $30.00Copyright Q 1999 by Academic PressAll rights of reproduction in any form reserved.

Page 2: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 107

achieve a good utilization of the network while maintaining fairnessbetween the sessions.

Most implementations of rate-based flow control work as follows. AŽ .control message Resource Management cell, RM loops around the path

of each session.1 On its way the control message calculates the minimumshare the session may take from the excess capacity of the links along thepath. Roughly, the share a session may take from a link is the excesscapacity of the link divided by the number of sessions that may stillincrease their transmission rate and share the excess. The rate of the

Ž w x.session is then increased by this minimum see Cha94 .A key point in these algorithms is the computation in each step of how

much each session may be increased. This computation essentially deter-Ž .mines how the network resources link capacities are divided among the

different virtual circuits. The basic principle guiding this computation isthe desire to share the link capacities in a fair way among the different

wsessions. The max-min fairness criterion BG87, Jaf81, GB84, Gaf82,xHay81, Mos84, Cha94 is widely accepted as the theoretical criterion

guiding this computation. A set of sessions is said to be in the state ofmax-min fairness if it is impossible to infinitesimally increase the rate ofany session without decreasing the rate of some sessions whose rate isequal or smaller. It can be shown that there is exactly one unique set offlow values that achieves the max-min fairness for a set of sessions withrequirements in a given network. The max-min criterion is considered fairbecause no session gets a larger flow on the account of a session with asmaller or equal flow.2

Given a network with link capacities and a set of sessions with transmis-sion requirements, there is a simple iterative algorithm for computing theset of transmission rates that correspond to the max-min fairness ratesw xBG87 : In each iteration fix the rates of sessions that use the ‘‘most

Žcongested’’ link i.e., the link that restricts a minimum rate for sessions.that have not yet been fixed with their ‘‘final’’ rate . In the next iteration

the rates that have been fixed are subtracted from the link capacities, andŽthe process is iterated. Thus, we are maximizing the minimum session and

continuing recursively on the remaining sessions, after updating the capac-.ities. While this algorithm seem to be efficient, it is impractical, since in

each iteration the new globally most congested link has to be selected.Most theoretical rate-based flow-control algorithms that guarantee con-

vergence to the state of max-min fairness adjust the rates of sessions in a

1 Note that according to the ATM concept each session has a fixed path. Hence, the flowcontrol mechanisms addressed in this paper have nothing to do with the issues of routing.

2 The problem of finding the max-min fairness can be expressed as a set of linearw xinequalities, as presented in Hay81 .

Page 3: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD108

conservative way. An algorithm is considered to be conservative if it neverovershoots. That is, given a fixed set of sessions, it converges to themax-min rates without ever assigning a session a rate that is larger than itsfinal rate. In other words, the rates that are assigned during the computa-

wtion may only increase, until the final value is reached BG87, GB84,xCha94 .

One problem with most of the conservative algorithms is that they doŽnot include a decrease operation that reduces the rate of sessions with the

w x.exception of Cha94 . This does not model the situation of real networksŽthat have to be able to decrease the rate of some sessions e.g., after a new

.session has been added . Furthermore, the network has some current setof rates, which should be adjusted, and it would be preferable to performan incremental update rather than starting each time from scratch.

In this paper we examine a more aggressive approach, which we term‘‘optimistic.’’ According to this approach, during the computation, sessionsmay be given a rate that is larger than their final rate. Hence, during theconvergence process rates may go up and down. This approach is closer to

wthe proposed rate-based approach of the ATM Forum Rob94, ST94,xJKV94 .

We choose a simple abstraction for the update operations. The updateoperation is performed atomically on a session. This means that an updateoperation is not performed until the previous one has completed. Anotherassumption is that the switch has full knowledge of the current rates of allof the sessions crossing it. This model is presented for the purpose ofanalysis and is not expected to be implemented. However, we believe thatthis model captures the essential properties of the problem as faced by

w xpractical distributed rate-based algorithms, such as Rob94, ST94, JKV94 .The optimistic approach is close to the approach used by Roberts’

Žw x.algorithm Rob94 . However, since in our model the update operation isatomic and the switch knows the rates of all sessions that cross it, the sumof the rates of the sessions that use a link may never exceed the linkcapacity. In Roberts’ algorithm the switch has only partial knowledgeabout the rate of the sessions that cross it, and since link updates are notatomic an output link might be overloaded.

w xOur model is somewhat similar to that of Charny Cha94 , where theswitch knows the rates of all sessions that cross it. However, Charny uses aconservative approach and does not assume atomic updates. Furthermore,

Žw x.the convergence complexity in Cha94 is measured in time, while in thispaper the complexity measure is abstracted by the number of updateoperations.

Each of the algorithms in this paper is considered as a sequence ofŽ .atomic operations called update operations that are applied on the

Page 4: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 109

network. Each update operation increases the rate of one session anddecreases the rate of a subset of sessions that share an edge with it. Anupdate operation is performed on session S only if its rate may beiincreased without decreasing the rate of any other session, below the newfinal rate of S . The magnitude of increase is the maximum that satisfiesi

the above condition. The main difference between the different algorithmsis the scheduler that in each network state decides which session toincrease next. For example, if a link with capacity 19 is shared by fivesessions with rates 1, 2, 3, 6, and 7, and the update operation is applied to

Ž .the second session whose rate is 2 , then the resulting rates are 1, 5, 3, 5,and 5.

Two parameters distinguish between the different algorithms consideredhere. One is the scheduler that in each state selects the next session to beconsidered for an increase, and the second is the rule by which thealgorithm decides whether to perform the update. The complexity measureused in analyzing the different algorithms is the total number of update

Ž .operations applied until the algorithm quiesces stops to change rates ,which we call the convergence complexity.

For the first mechanism, the scheduler, we mark sessions that havereached their final rate as done. Sessions that have not yet reached theirfinal rate are considered acti e. We consider and analyze three different

Ž .schedulers: 1 a global min scheduler in which the next update operationŽ .is performed using an acti e session with the global smallest rate, 2 a

local min scheduler in which the next update operation is performed usingan acti e session whose rate is smallest among all of the acti e sessions

Ž .that share a link with it, and 3 an arbitrary scheduler that arbitrarilyselects the next session to be increased. Note that the local min is moreappropriate for a distributed environment than the global min, and thearbitrary is even more ‘‘distributed’’ than both. In discussing the algorithms

Ž .in this order we go from the easier to analyze to the more difficult.Ž .For the update decision we consider two variants: 1 a selected session

Ž .that is increased as long as its rate may be increased, and 2 approximatealgorithms, in which the rate of a session is increased only if the increase isby more than d . The approximate algorithms reach quiescence when nosession may be increased by more than d .

The main results presented in this paper are as follows:

Ž 2 .1. In both the global and the local minimum algorithms Q nupdate operations are both necessary and sufficient to reach the max-min

Žfairness state, where n is the total number of sessions in the network i.e.,it is sufficient for all scenarios, and there are scenarios for which it is

.necessary .

Page 5: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD110

Ž n.2. In the arbitrary algorithm O F update operations are shown to'Ž Ž . .be sufficient to reach the max-min fairness state where F s 5 q 1 r2 .

Ž n r2 .An example is given in which the adversary may force V 2 updateoperations.

Ž3. Any approximate algorithm any algorithm that refrains from.updates that are smaller than or equal to d quiesces at a state in which

the rate of every session may be smaller or larger than its rate in theŽ n.optimal max-min fairness allocation by at most O d ? 2 .

4. An example of a configuration in which each session cannot beŽ n r2 .increased by more than d , yet some session is V d ? 2 away from its

allocation in the max-min vector, is provided. This is a lower bound on thepossible gap between the rates computed by any approximate algorithmand the rates in the max-min fairness allocation. Although this property isexhibited only under peculiar conditions, it is shared by any algorithm thatrefrains from small updates. Furthermore, this lower-bound phenomenonis possible also if the rate of only one session can be increased by d , i.e., ifthe rate of no other session may be increased. However, this phenomenondoes not indicate a disadvantage of the approximate algorithms, since inparticular, the removal or addition of a session with a small rate to thenetwork could have the same effect. Hence, this example mainly suggeststhat the state of max-min fairness may be unstable in the sense that smallfluctuations in the rate of one session may cause dramatic changes in therate of other sessions.

5. If the number of sessions that share an edge is bounded by aconstant, then the approximate algorithm under either the global mini-

Žmum scheduler or the enhanced local minimum scheduler a slight modifi-. Ž Ž 2cation of the local minimum scheduler reaches quiescence in O min n ,

Ž ...n ? log Wrd update operations, where W is at most the maximumŽcapacity of an edge in the network a tighter bound on W is given in

.Section 7 . Note that these improved bounds for the approximate algo-rithms hold for the schedulers that are based upon a minimum conceptŽ .either local or global . For arbitrary schedulers, it can be shown that the

Ž n r2 .example that gives the lower bound of V 2 on the number of steps stillholds regardless of the value of d .

The results mentioned in 3 and 4 answer an open question raised byw xCharny Cha94 about the convergence of rate-based flow-control algo-

rithms if the rates are restricted to discrete values.Notice that the goal of this paper is to analyze the behavior of flow

control in ATM networks. Hence, we do not consider specific implementa-Ž .tions of the above models in compliance with the ATM standards and are

satisfied with the claim that the model reflects the behavior of ATMnetworks. The results presented in this paper provide a deeper understand-

Page 6: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 111

ing of the behavior of fair rate-based flow-control algorithms. One conclu-sion is that it is beneficial to update the sessions with the lower ratesbefore updating the sessions with the larger rates. The lower boundexamples point to the hopefully rare cases that one should watch out for,in which either the convergence to the max-min state is very slow, or thepossibility in which a small gap or a small change in the rate of one sessionmay cause a large gap in the rates of other sessions.

We assumed throughout this work that every session is greedy andwould like to consume as much rate as allowed by the network. In case

Žthere is a permanent self-restriction of a source peak cell rate in terms of.ATM , it is done by adding a single edge that connects the source to a

switch, in which the capacity is the restricted bandwidth.The main issue addressed here is the convergence complexity, i.e., the

number of update operations necessary to reach the final state. Therefore,we assume that sessions do not change their requirements during theexecution of the algorithm and all session rates are initially zero. However,none of the algorithms and bounds discussed need an all-zero initial state

Ž .to correctly operate; they may start from any legal initial set of flows.The model, general definitions, and notations are given in Section 2. In

Section 3 basic properties that are common to all of our algorithms arepresented. The global minimum algorithm is analyzed in Section 4, thelocal minimum algorithm is analyzed in Section 5, and the arbitraryalgorithm is analyzed in Section 6. Approximate algorithms are introducedand analyzed in Section 7.

2. GENERAL DEFINITIONS AND NOTATIONS

Ž .We model a network as a directed graph G s V, E , where each edgee g E is a link in the network. Each edge e g E has a certain capacity

Ž .denoted by Cap e .� 4A set of n sessions S , . . . , S is laid out in the network, where session1 n

S is a set of links that constitutes a simple path in G between a sourceiand a destination. The bandwidth allocated to session S is denoted byi

Ž . Ž .rate S . For every edge e g E we define g e to be the set of sessions thatiŽ . � 4use e, i.e., g e s S N e g S . The capacity constraint requires that fori i

every edge e g E the sum of the rates of the sessions that share it is atŽ . Ž .most the edge capacity, i.e., Ý rate S F Cap e . If all of the capac-S gg Ž e. ii

ity constraints are satisfied, then the allocation is a feasible allocation. Afeasible allocation is maximal if no session can increase its rate withoutdecreasing the rate of any other session. A fair allocation is a feasiblemax-min allocation if to increase the rate of any session one needs todecrease the rate of sessions with lower or equal rates.

Page 7: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD112

ŽWe now give a formal definition for the term fair flow similar defini-wtions may be found in other works Cha94, Jaf81, Hay81, Mos84, GB84,

x. Ž 1 2 n. nGaf82, BG87 . A vector x s x , x , . . . , x g R is said to be lexico-Ž 1 2 n. ngraphically greater than y s y , y , . . . , y g R if 'k, 1 F k F n such

that x i s y i, for i - k, and x k ) y k, in which case we denote this byx ) y.l e x

Ž 1 2 n. n Ž .For a vector x s x , x , . . . , x g R we define sort x sŽ i1 i2 i n. nx , x , . . . , x g R to be the elements of x arranged in a nondecreas-ing order.

Ž i Ž ..An allocation vector x in which x s rate S is called max-min ¨ectoriif it is a feasible allocation and is lexicographically maximum along all

Žfeasible allocation vectors, with respect to the sort order i.e., for everyŽ . Ž ..feasible allocation y, we have that sort x G sort y . Note that in thel e x

max-min vector allocation each session has an edge on which it has a rateequal to the maximum rate that passes through that edge.

The goal of our algorithms is to compute a max-min vector x, whichconstitutes a fair allocation.

2.1. Algorithms’ Progress

Our algorithms start at some initial allocation of rates and converge to afinal rate allocation. In the processes the algorithms mark the sessions thatreached their final rate as done, while the other sessions are markedacti e. We denote the set of acti e sessions by AA and its complement, thedone sessions, by DD. When our algorithms start all of the sessions are

Ž .acti e i.e., DD s B . The algorithms quiesce when all of the sessions areŽ .done AA s B .

Each execution of an algorithm is modeled as a sequence Q o Q o ???0 0 1 1Q o Q ??? where Q represents a state of the network at a specific pointi i iq1 iin time and o is an update operation. The procedure that selects the nextisession to be increased is called the scheduler. The acti e and donemarkings are used by the scheduler to decide which session may be acandidate for an increase in the next operation. However, this marking is

Ž .not used by the computation of the new rate values. We denote by S oithe session that was selected for an increase in operation o . The variablesi

Ž . iin state Q are denoted by superscript i, e.g., rate S is the rate of sessioni jS in state Q .j i

ŽEach algorithm is described as a sequence of operations called update.operations that modify the rates of sessions in the network. In each update

operation o the rate of one session, S , is increased, and the rate of otheri jsessions that share an edge with S may be decreased.j

An update operation o is performed on session S only if there is a wayi jŽ . i Ž . iq1 Ž . ito increase rate S to a new value, rate S s h ) rate S , while thej j j

Page 8: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 113

rate of any other session S / S is either unaffected or decreased to a newl jvalue which is greater or equal to h. Given a vector of rates x, the outputsof the update operation on S will result in a maximal increase in the ratejof S without violating the above condition. The possible increase inj

Ž . i iŽ . Ž . Ž . iq1rate S is D j , i.e., if rate S is increased by o , then rate S sj j i jŽ . i iŽ . Žrate S q D j s h. A formal specification of the update operation isj

.given in Appendix A.

Ž .EXAMPLE. Consider x s 1, 2, 3, 4, 6 , and assume that all of the ses-sions share a single edge e whose capacity is 16. First note that x ismaximal. Session S , with rate 6, cannot be updated in this configuration.5Session S can be updated, resulting in the following rate allocation4Ž .1, 2, 3, 5, 5 . Session S , S , and S can also be updated, e.g., the result of1 2 3

Ž .updating S is 1, 4, 3, 4, 4 .2

The above example was for the simple case of a single edge. In general asession may have several edges, and it may be increased only if it can beincreased on e¨ery edge. For each edge e through which session S passes,j

iŽ . Ž .we define D e, j to be the maximum amount by which rate S may bejŽincreased if edge e is the only edge constraining S i.e., as if e is thej

. iŽ .whole network . The possible update, D j , by definition, is the minimumover all of the increases possible by the different edges of S , i.e.,j

iŽ . � iŽ .4D j s min D e, j . Note that any session that shares an edge witheg Sj

the increased session and whose rate was larger than h may be reduced ina fair manner to a value that is larger than or equal to h. For example,

Ž . Ž .consider Fig. 1, where x s 40, 45, 10, 80 note that x is not maximal . Theresult of an update operation on S would be the rate allocation3Ž .35, 35, 35, 75 .

iŽ .For each edge e, N e is the number of acti e sessions that use e iniŽ . < i Ž . <state Q , i.e., N e s AA l g e .i

FIG. 1. An example for an update operation.

Page 9: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD114

We define the allotted capacity of an edge e at state Q as the totalicapacity already allocated to done sessions, i.e.,

iiallotted e s rate S .Ž . Ž .Ý ji� Ž .4S g DD lg ej

Intuitively, the available capacity of an edge is the capacity that can bestill divided between the acti e sessions. This leads to the followingdefinition o a fair share of an edge in state Q :i

Cap e y allottedi eŽ . Ž .iFS e s .Ž . iN eŽ .

3. BASIC PROPERTIES OF BOTTLENECK ALGORITHMS

In this section we define bottleneck algorithms and prove several basicproperties on them.

In an algorithm that computes the exact max-min vector, an edge e isŽ .called a bottleneck edge in state Q if for every acti e session S g g e li j

i iŽ . w xAA , FS e is the smallest fair share among the edges along S BG87 .j

DEFINITION 3.1. A general bottleneck algorithm is an algorithm thatcomputes the exact max-min vector for a set of sessions, and in any state

ŽQ in its execution, a session S is marked done i.e., has reached its finali. Ž . i iŽ .rate only if there is a bottleneck edge e g S in Q and rate S s FS e .i

Ž w x.In some algorithms e.g. BG87, Cha94 that compute the max-minŽ .vector, when a session has reached its final value i.e., marked done , then

in addition to the above condition, all of the acti e sessions that use aŽbottleneck edge have the same rates. That is, they share the edge

.available capacity in a fair manner. When all of the sessions satisfy thisŽ .condition i.e., marked done the algorithm terminates.

All of the algorithms presented in this paper except for those in Section7 are called bottleneck algorithms.

DEFINITION 3.2. A bottleneck algorithm is a general bottleneck algorithmthat, in addition, uses the update operation, as described in Section 2.

The main point that distinguishes our algorithms from the previous onesis that in transient states, when the max-min condition has not yet beenreached, some sessions may have a rate that is larger than their rate in themax-min vector.

In this section we present and prove some basic general lemmas con-cerning bottleneck algorithms. These basic lemmas are shared by the

Page 10: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 115

different algorithms considered and are used in the sequel for their proofand analysis.

The following theorem shows the correctness of a bottleneck algorithmŽ .by stating that when it terminates i.e., all sessions are marked done , then

Ž Ž . Ž . Ž ..rate S , rate S , . . . , rate S is the max-min vector.1 2 n

w x iTHEOREM 3.3 BG87 . In a bottleneck algorithm, if AA s B, then the rateallocation is the max-min ¨ector.

The next lemma shows that the fair share of an edge is a monotonicallynondecreasing function of time.

Ž .LEMMA 3.4. In any bottleneck algorithm the fair share FS e of edge emay not decrease as the algorithm progresses; that is, for i G 0, if there are

Ž iq1Ž . . iq1Ž .acti e sessions that use e in state Q i.e., N e ) 0 , then FS e Giq1iŽ .FS e .

Proof. If in operation o , a number of sessions that use edge e changeiŽ .their rate, but none becomes done, then clearly the fair share of e, FS e

Ž .remains unaffected. The only way FS e is affected is if some sessions thatŽ .use e become done in the last step. This increases allotted e and de-

Ž . iŽ .creases N e . If the rate of all of the done sessions equals FS e , then itdoes not affect the Fair Share. Otherwise, some of the done sessions must

iŽ . iŽ .get less than FS e and some of the done sessions must get exactly FS e .Hence, the remaining active sessions may get more, thus increasing the

iq1Ž . iŽ . iq1Ž .Fair Share. Formally: If N e s N e , then by definition, FS e siŽ . iq1Ž . iŽ . iŽ .FS e . Otherwise, N e s N e y k, where N e ) k G 1, and in

� 4 � i Ž .4state Q there are k sessions, S , S , . . . , S n AA l g e with edgesi j j j1 2 k

eX g S , eX g S , . . . , eX g S such that for every l, where k G l G 11 j 2 j k j1 2 k

Ž . i iŽ X . iŽ .rate S s FS e F FS e . Then, by the definition of Fair Share, itj ll

follows that

Cap e y allottediq1 eŽ . Ž .iq1FS e sŽ . iq1N eŽ .

ii kCap e y allotted e y Ý rate SŽ . Ž . Ž .ls1 jls iN e y kŽ .

Cap e y allottedi e y k ? FSi eŽ . Ž . Ž .iG s FS e .Ž .iN e y kŽ .

The following lemma states that after increasing the rate of a session viaan update operation, its rate is larger than or equal to the smallest FairShare along its path.

Page 11: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD116

Ž .LEMMA 3.5. Consider an operation o in which the rate of session S o si iS g AA i is increased. Then in the succeeding state, Q , there is at least onej iq1edge e g S such thatj

Ž Ž . iq1 Ž ..1. e is saturated i.e., Ý rate S s Cap e .S gg Ž e. ll

Ž . iq1 iŽ .2. rate S G FS e .j

Proof. Let e be the edge according to which the amount of increasewas determined, that is, the edge that enabled the smallest increase in the

Ž iŽ . iŽ . .rate of S i.e., D j s D e, j as defined in Appendix A . FollowingjDefinition A.1 and Definition A.2, after the increase, e is saturated and

Ž . iq1 Ž .rate S is the maximum rate among all sessions in g e , which com-jpletes the proof.

DEFINITION 3.6. Let S g AA i. We define LBi to be the smallest Fairj ji � iŽ .4Share along the path of S in state Q , formally LB s min FS e .j i j eg Sj

Our goal now is to prove Theorem 3.10, in which we state that if the rateŽof an arbitrary session S is adjusted in state Q either increased orj i

. idecreased , then the rate of this session will never be smaller than LB .jThis is proved in two steps. First, in Lemma 3.7, we prove that if the rateof session S is increased in state Q or afterward, then in the subsequentj istate its rate is larger than LBi. Second, in Corollary 3.9, we show that nojdecrease in the rate of S subsequent to state Q may decrease it belowj iLBi.j

LEMMA 3.7. Consider state Q of a bottleneck algorithm and let e be anii iŽ . i Ž .edge along the path of S g AA where FS e s LB . Let l G i where S o sj j l

Ž . lq1 iŽ .S . Then, rate S G FS e .j j

lŽ . lProof. Let e9 be an edge along the path of S such that FS e9 s LB .j jŽ . lq1 lŽ . iŽ . iŽ . ŽHence, rate S G FS e9 G FS e9 G FS e the first inequality fol-j

lows from Lemma 3.5, the second inequality follows from Lemma 3.4, andiŽ .the third inequality follows from the fact that FS e is the minimum Fair

.Share among all edges of S in state Q .j i

The next lemma shows that if a session’s rate is decreased, then it is stillabove the Fair Share of at least one of its edges. The intuition for thislemma is that a session is decreased according to a constraint caused by anedge that is common to this session and to the session that was chosen tobe increased. Therefore, the updated rate of both the increased sessionand the decreased session will be at least the Fair Share of that edge.

LEMMA 3.8. Consider state Q of an arbitrary bottleneck algorithm foriŽ . iq1 Ž . i Žcomputing the max-min ¨ector of rates. If rate S - rate S i.e., S isj j j

. Ž . iq1 idecreased in o , then rate S G LB .i j j

Page 12: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 117

Ž .Proof. Let S o s S be an arbitrary session that is increased. Follow-i lŽ . iing Definition A.2, one can see that rate S is decreased only if therej

� 4 Ž .exists an edge e9 such that S , S : g e9 , e9 is saturated in state Q ,l j iq1Ž . iq1 Ž .and rate S is maximum in Q among all sessions of g e9 . Hence,j iq1

iq1 i iŽ . Ž .rate S G FS e9 G LB .j j

COROLLARY 3.9. Consider states Q and Q of an arbitrary bottlenecki lalgorithm for computing the max-min ¨ector of rates, where l G i. If

Ž . iq1 Ž . l Ž . Ž . lq1 irate S - rate S i.e., S is decreased in o , then rate S G LB .j j j l j j

Proof. Follows immediately from Lemma 3.8 and the fact that LBl GjiLB .j

THEOREM 3.10. Consider state Q of a bottleneck algorithm where eitheriŽ . Ž . iq1 Ž . i Ž . lS o s S or rate S - rate S . Then, for all l G i, we ha¨e rate S Gi j j j j

LBi.j

4. GLOBAL MIN SCHEDULER

In this section we analyze a bottleneck algorithm in which the schedulerselects in each state the globally smallest acti e session for an increase.The following rules are used in each state of the algorithm:

Marking a session done: The smallest rate acti e session in thenetwork is marked done if it cannot be increased.

Ž .Session selected for increase: In state Q , S o s S , such thati i jŽ . i Ž . i

irate S s min rate S .j t g AA t

Termination: The algorithm terminates when AA i s B.

This technique is quite intuitive, and indeed it turns out that theŽ 2 .algorithm converges in Q n update operations. The upper bound is

proved in Theorem 4.3, and the lower bound is proved in Theorem 4.4.w xNote that this technique is used in BG87 for a different model where an

upper bound analogous to that in Theorem 4.3 is proved.

Obser ation 4.1. The Global Min algorithm is a bottleneck algorithm.

Proof. We have to show compatibility to Definition 3.2. Since thealgorithm conforms to the conventions of Section 2, we just have to showthat it is a general bottleneck algorithm. Let S g AA i be a session wherej

Ž . i Ž . irate S is global minimum and cannot be increased. Since rate S is thej jminimum among all sessions in AA i, then in particular, for every edge

Ž . i Ž . i � i Ž .4e g S , rate S F rate S for all sessions S g AA l g e , and hencej j m mŽ . i iŽ . Ž Ž . i iŽ .rate S F FS e rate S ) FS e implies that the amount of flow inj j

.the edge exceeds its capacity .

Page 13: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD118

Ž . iSince rate S cannot be increased, then there is an edge e9 g S wherej jiŽ . � iD e9, j s 0, which implies that e9 is saturated, and for all S g AA lmŽ .4 Ž . i Ž . ig e9 , rate S G rate S .j m

� i Ž .4 Ž . i Ž . iHence, for all sessions S g AA l g e9 , rate S s rate S sm j miŽ .FS e9 .

Ž . i iHence, also rate S is the minimum among all sessions in AA , whichmi i iŽ . Ž . Ž .implies that for any edge e0 g S , FS e0 G rate S s FS e9 .m m

The following lemma shows that if a session rate becomes a globalminimum in two different states Q and Q , then at least one acti e sessionl ibecomes done between those two states.

Ž . Ž .LEMMA 4.2. In the Global Min algorithm, if for l ) i, S o s S o s S ,l i jl i Ž l i.then AA n AA i.e., AA is a proper subset of AA .

iŽ . iProof. Let e g S such that FS e s LB . By Theorem 3.10, for allj jŽ .k iŽ . l i lŽ . iŽ .k ) i, rate S G FS e . Hence, if AA s AA , then FS e s FS e , whichj

Ž . l lŽ . Ž . limplies that rate S G FS e . If rate S is global minimum of all ses-j jl l Ž .sions in AA , it is in particular, smallest in all sessions of AA l g e , which

l Ž .implies that the rate of all sessions in AA l g e is larger than or equal tolŽ . lŽ .FS e . Following the definition of FS e , this might happen only if the

l Ž . lŽ .rate of all sessions in AA l g e is exactly FS e . However, in such a casel Ž . Žthe rate of all of the sessions in AA l g e and in particular, the rate of

.session S cannot be increased is state Q , and they should be transferredj lfrom AA to DD before the execution of o , completing the proof.l

THEOREM 4.3. The number of update operations in any run of the GlobalŽ 2 .Min algorithm is O n .

Proof. First notice that as long as AA i / B, the algorithm progresses,since in state Q every acti e session in which the rate is global minimumican be either increased or marked done. Following Lemma 4.2, the size ofthe active set must decrease between every pair of updates to the same

Ž . Žsession; this immediately implies an upper bound of n q n y 1 q n y2. Ž .2 q ??? q1 s O n .

The next theorem establishes a tight lower bound for this algorithm.

THEOREM 4.4. There is an infinite family of networks with n sessions inwhich the number of update operations in a run of the Global Min algorithm isŽ 2 .V n .

ŽProof. We construct recursively a network denoted Net m, bottom,.potential . The network has 2m sessions, where bottom is the initial rate

Žfor each of the sessions in the network and a lower bound for the rate it.can achieve in the future , and bottom q potential is an upper bound for

Ž .the amount of flow either temporary or final that any session can achieveŽ .in the future. Figure 2 is an example of a network Net 4, 0, 128 .

Page 14: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 119

Ž .FIG. 2. An example of a network Net 4, 0, 128 .

The procedure that builds that network is as follows:

Ž .Procedure Net m, bottom, potential :

1. If m s 1, then S and S share a common edge e such that1 2Ž .Cap e s 2 ? bottom q potential.2. If m ) 1, thenŽ . Ž .a S and S share a common edge e such that Cap e s 2 ?2 my1 2 m

bottom q potentialr2.Ž . Žb Construct configuration Net m y 1, bottom q potentialr2,

.potentialr4 .Ž .c Each of the sessions S , S , . . . , S shares an edge e with1 2 2Žmy1.

Ž .S where Cap e s 2 ? bottom q potential.2 m

Ž .We build the network by calling the procedure Net m, 0, P , with a largeŽ Ž m..constant P P s O 4 .

Note that the network is identified by the edges in which the sessionscross each other, where there is no importance to the order between thoseedges along a session path.

Now we describe a ‘‘bad’’ scenario that achieves the required number ofoperations. Note that in some states of the algorithm the global minimum

Page 15: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD120

among the acti e sessions is not unique, and hence there is more than oneacti e session that can be selected for increase. Therefore, there are otherscenarios besides the one that is described below, where some of the otherscenarios may achieve a lower complexity. The scenario of a run of theGlobal Min Algorithm is then constructed by calling the following recur-

Ž . Ž .sive procedure Scenario m, 0, P where m ) 1 on the networkŽ . Ž .Net m, 0, P . See Appendix B for an example of Scenario 4, 0, 128 .

Ž .Procedure Scenario m, bottom, potential :In the beginning of the procedure we assume that the acti e sessions are

� 4S , S , . . . , S , their rate is bottom, and any update operation can1 2 2 mincrease the rate of an acti e session to be at most bottom q potential.

Ž . Ž .1. If m s 1, then apply step a followed by step b :Ž . Ža The rate of session S is increased to bottom q potential. The2

.edge that is common to S and S becomes saturated.1 2

Ž .b The rates of sessions S and S are set to bottom q potentialr21 2Ž .because of an increase in the rate of S . Sessions S and S become1 1 2done.

2. If m ) 1, then apply the following steps:Ž .a The rate of session S is updated to bottom q potentialr2.2 m

Ž .The edge that is common to S and S becomes saturated.2 my1 2 m

Ž .b The rate of each of the sessions S where j s 1, 2, . . . , 2m y 2jŽis updated to be bottom q potentialr2 total of 2m y 2 updates, where in

.each update the edge that is common to S and S becomes saturated.j 2 m

Ž .c The rates of sessions S and S are set to bottom q2 my1 2 mŽ .potentialr4 because of an increase in the rate of S . Sessions S2 my1 2 my1

and S become done.2 m

Ž . Žd The scenario is recursively extended by calling Scenario m y. Ž1, bottom q potentialr2, potentialr4 on the network Net m y 1, bottom q

.potentialr2, potentialr4 .

Note that after sessions S and S become done, the rate of all2 my1 2 macti e sessions is indeed bottom q potentialr2, and their potential is thepotentialr4 flow that was released by S .2 m

One can see that when m s 1, there are two update operations. Hence,for an arbitrary m ) 1, there are m iterations where for all i, the ith

Ž .iteration is Scenario i, ), ) requires 2 i update operations. Therefore, then r2 Ž . Ž 2 .total number of update operations is Ý 2 i s V n .is1

ŽNote that in most cases we can assume that initially bottom s 0 when.we start from scratch .

Page 16: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 121

5. LOCAL MIN SCHEDULER

In this algorithm an acti e session is selected to be increased if its rate issmaller than or equal to the rates of all of the acti e sessions it shares anedge with. In each state of the algorithm the following rules are applied:

Marking a session done: Session S g AA i is marked done if thejfollowing three conditions hold:

Ž . i1. rate S cannot be increased.j

Ž . i2. rate S is smaller than or equal to the rates of all of the acti ejŽ .sessions it shares an edge with i.e., S is a local minimum .j

Ž . i Ž . i3. For every acti e session S such that rate S s rate S andm m jŽ Ž . iS shares an edge with S , S is also a local minimum i.e., rate S ism j m m

smaller or equal to the rates of all of the acti e sessions S that share anr.edge with S .m

Ž . iSession selected for increase: In state Q , S o s S g AA such that Si i j jŽ . ican be increased and rate S is smaller than or equal to the rates of all ofj

the sessions it shares an edge with.Termination: The algorithm terminates in state Q if AA i s B.i

This algorithm allows the rate of a session to be increased according tolocal considerations. Notice that the ‘‘local’’ consideration reflects only the

Ž .decision about which session should be increased or marked done , and by‘‘local’’ we mean that only edges along the session path need to be checkedŽin a very long session that covers many links, this may end up not being

.very ‘‘local’’ . The execution of an update operation is identical in all ofŽ .the schedulers and might involve a scan of several links . Hence, it seems

to be closer to ‘‘real’’ network behavior than the global min scheduler.Here we show that this algorithm has the same convergence complexity as

Ž 2 .the global min algorithm, i.e., Q n update operations.

Obser ation 5.1. The Local Min algorithm is a bottleneck algorithm.

Proof. We have to show compatibility with Definition 3.2. Since thealgorithm conforms to the conventions of Section 2, we just have to showthat it is a general bottleneck algorithm. One can see that an acti e sessionS is marked done in state Q only if there is an edge e wherej i

Ž . i iŽ . Ž .1. rate S G FS e since it cannot be increased .ji Ž . Ž . i Ž . i Ž2. For all acti e sessions S g AA l g e , rate S G rate S sincem m j

.S is a local minimum . Hence, since S cannot be increased, we have thatj j

Ž . Ž . i iŽ .for all of those sessions including S rate S G FS e , which impliesj mŽ . i iŽ .that rate S s FS e .m

Page 17: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD122

i Ž . Ž .3. All acti e sessions S g AA l g e including S are local mini-m jŽ .mum since S is marked done . Hence, e is a bottleneck edge for all ofj

those sessions.

The following lemma and its proof are similar to Lemma 4.2. It showsthat if a session rate becomes a local minimum in two different states, thenat least one acti e session becomes done between those two states.

Ž . Ž .LEMMA 5.2. In the Local Min algorithm, if for l ) i S o s S o s S ,l i jthen AA l n AA i.

Proof. The proof of Lemma 4.2 applies verbatim.

Hence, we have the following theorem, which is analogous to Theorem4.3.

THEOREM 5.3. The number of update operations using the Local MinŽ 2 .algorithm is O n .

As for the tight lower bound, we have the following theorem:

THEOREM 5.4. There is an infinite family of networks with n sessions inwhich the number of update operations in a run of the Local Min algorithm isŽ 2 .V n .

Proof. Since the global minimum is also a local minimum, the construc-tion of Theorem 4.4 applies to the Local Min algorithm as well.

6. ARBITRARY SCHEDULER

In this case, the session that is increased in each round of the algorithmis chosen arbitrarily from AA i. In each step of the algorithm the followingrules are applied:

Marking a session done: Session S is marked done in state Q ifj ithere is an edge e g S that is a bottleneck edge in state Q , and for everyj i

Ž . i Ž . i iŽ .session S g g e l AA , rate S equals FS e .r r

Session selected for increase: At each state the schedular selects anarbitrary session that may be increased and updates it.

Termination: The algorithm terminates in state Q if AA i s B.i

Note the following:

1. The arbitrary scheduler is a bottleneck algorithm.Ž .2. The done or the acti e markings are used by this algorithm only

Ž .for termination detection they do not affect the decision of the scheduler .

Page 18: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 123

3. We can slightly change the definition of the scheduler and allow itto select an arbitrary session. If the selected session cannot be increased,

Žthen we consider this event as if nothing happens this operation is not.considered as an update operation .

This scheduler allows the rate of a session to be increased without anyconsideration of other sessions. Hence, it seems to be closer to ‘‘real’’

Žnetwork behavior than the schedulers presented previously. In fact, theonly major difference between this scheduler and the behavior of realrate-based networks stems from the fact that here the update operations

.are done sequentially; i.e., there are no concurrent update operations.In this section we show that using this mechanism, the rate vector always

Ž n.converges to the max-min vector after no more than O F update'Ž . Žoperations, where F s 5 q 1 r2 is the golden ratio and n is the

. Ž n r2 .number of sessions . An exponential lower bound of V 2 updateŽ .operations is presented in Theorem 6.11 for an infinite family of net-

works.First we give some definitions that are used in the sequel to obtain the

required results.

Ž .DEFINITION 6.1. For k G 1, we denote by F k the maximum numberof update operations that may be performed in a network with k sessionsunder the arbitrary scheduler.

The results presented in the sequel are achieved using recursive tech-niques. Here we define a prefix, and later we show how the prefix is usedto form the recursive formula.

� 4DEFINITION 6.2. Let G be a network with n sessions S , S , . . . , S .1 2 nŽ . � 4 ŽFor every state Q of the algorithm, prefix i s S , S , . . . , S wherei i i i1 2 k

. Žk F n is defined to be the set of sessions that were updated either.increased or decreased at least once in o , o , . . . , o .1 2 iy1

Following the definition of the prefix, we describe a projection of thenetwork. This projection tries to isolate the environment of the sessionsthat are updated during the early operations.

Ž .DEFINITION 6.3. Let G s V, E be a network with n sessions� 4S , S , . . . , S in which the arbitrary scheduler is implemented. Let1 2 n

Ž . � 4 � 4prefix i s S , S , . . . , S , and let S , S , . . . , S be the rest of thei i i i i i1 2 k kq1 kq2 nŽ .sessions in G. The projection of G over i, PROJ G , is a new networki

Ž .G9 s V, E9 that is defined as follows:

1. E9 s S j S j ??? j S .i i i1 2 k

Ž .02. For every session S , where j G k q 1, the value of rate S ini ij j

G9 is the same as in G.

Page 19: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD124

Ž . Ž .3. For every edge e9gE9 we set Cap e9 sCap e yÝS gg Ž e.l jG kq1i jŽ .0 Žrate S , where e g E is the analogue edge to e9. For each edge wei j

subtract the total amount of flow of sessions for which the rate has not.been adjusted.

The following observation bounds the length of a prefix as a function ofthe number of sessions that it updates.

Ž .Obser ation 6.4. Let G s V, E be a network with n sessions� 4S , S , . . . , S in which the arbitrary scheduler is implemented. Let Q be1 2 n i

Ž . � 4 Ž . Ža state where prefix i s S , S , . . . , S . Then, i F F k i.e., the numberi i i1 2 k

of possible update operations that involve no more than k sessions in anŽ ..arbitrary network is less than or equal to F k .

The next definition is related to the maximum rate of a session.

Ž .DEFINITION 6.5. For every session S we define bound S to be anj jŽ .upper bound on rate S during the algorithm execution, i.e., for all i G 0j

Ž . Ž . iwe have bound S G rate S .j j

Ž .The notion of bound S is used to have a more refined restriction forjthe potential rate of sessions that are sharing a link with session S , asjshown in the sequel.

The following definition extends the definition of Fair Share:iŽ .DEFINITION 6.6. For every edge e, where N e ) 0, and for every

i iŽ .session S g AA , PFS e, j , the Potential Fair Share of link e in state Q isj iŽ . iŽ .defined as follows: If S g g e and N e ) 1, thenj

Cap e y bound S y allottedi eŽ . Ž .Ž .jiPFS e, j s ,Ž . iN e y 1Ž .iŽ . iŽ .else PFS e, j s FS e .

The following definition is an extension for the term LB:

DEFINITION 6.7. Let S g AA i and let S / S . Then,j r j

MLBi r s min PFSi e, r� 4Ž . Ž .jegSj

Ž iŽ .MLB r is the smallest Potential Fair Share with respect to S along thej r.path of S in state Q .j i

ŽSince the Potential Fair Share is nondecreasing by arguments similar to.those in Lemma 3.4 , then one can see that after the rate of session S isj

Ž . lq1updated in state Q , rate S is greater than or equal to the values ofl jiŽ . ŽMLB r for every S / S and for every i F l by arguments similar toj r j

Page 20: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 125

.those in Lemma 3.7 and in Corollary 3.9 . Hence, we have the followingextension of Theorem 3.10:

THEOREM 6.8. Consider state Q of a bottleneck algorithm where eitheriŽ . Ž . iq1 Ž . iS o s S or rate S - rate S . Then, for all l G i and for all S / S ,i j j j r jŽ . l iŽ .rate S G MLB r .j j

The next lemma bounds the number of operations performed after therate of all sessions have been updated at least once.

Ž . � 4LEMMA 6.9. Let G s V, E be a network with n sessions S , S , . . . , S1 2 nŽ .and let Q be a state of the algorithm where prefix i contains all of the ni

� 4sessions. Then there are at least two sessions S , S that are not updated in allj rŽ Ž . l Ž . ioperations o , such that l G i i.e., for e¨ery l G i, rate S s rate S andl j j

Ž . l Ž . i.rate S s rate S .r r

0Ž .Proof. Let e g E be an edge where FS e is the smallest Fair ShareŽ . Ž .among all edges in Q . Since g e : prefix i , then for every session0

Ž . Ž .S g g e there is m - i, where rate S is updated in state Q . Since thek k mFair Share is nondecreasing, then, by Theorem 3.10, we have that for every

Ž . Ž . l 0Ž .session S g g e , and for every l G i, rate S G FS e , which impliesk kŽ . l 0Ž . Ž .that for every l G i, rate S s FS e . If g e contains at least twok

Ž .sessions we are done. Else, g e contains exactly one session S andriŽ . Ž . Ž .rate S s bound r s Cap e . Let E : E be a set of edges where e g Er

iŽ . Ž .iff g e y S / B. Let e9 g E be an edge where PFS e9, r is the mini-rŽ .mum among all edges in E. Clearly, for every session S g g e9 y S , andk r

Ž . l 0Ž . 0Ž .for every l G i, we have that rate S G PFS e9, r s MLB r . However,k kŽ . i Ž .since rate S s bound r , then it implies that for every session S gr k

Ž . Ž . l 0Ž .g e9 y S , and for every l G i, we have that rate S s MLB r . Wer k kŽ .take an arbitrary session in g e9 y S to be S , and we are done.r j

The following theorem proves an upper bound on the number of updateoperations.

Ž .THEOREM 6.10. Let F n be the number of update operations performedŽ . Ž n.in the arbitrary scheduler in a network with n sessions. Then F n s O F ,

'Ž .where F s 1 q 5 r2 is the golden ratio.

Ž . Ž .Proof. Clearly, F 1 s 1 and F 2 s 2. To prove the theorem, we showŽ . Ž .that for every k ) 2, we have the inequality F k q 1 F F k q 1 q

Ž .F k y 1 .Any scenario a s Q o Q o ??? can be divided into three parts bts ,0 0 1 1

such that b s Q o ??? Q o , t s Q o , and s s Q o . . . , where l0 0 ly1 ly1 l l lq1 lq1< Ž . < Žis selected such that prefix l F k i.e., no more than k sessions were

. < Ž . < Župdated during the first l operations and prefix l q 1 s k q 1 i.e., Ql.is the first time that the k q 1st session is updated .

Page 21: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD126

Ž .By Observation 6.4, the first part may take no more than F k opera-tions. By Lemma 6.9, there are at least two sessions that are not updatedafter operation o is finished. Hence, in the third part we have a networkl

Žwith no more than k y 1 sessions that may be changed, which implies by. Ž .Observation 6.4 that this part may take at most F k y 1 additional

update operations.

The following theorem gives a lower bound on the convergence com-plexity of the algorithm.

THEOREM 6.11. For e¨ery odd number n, there exists a network with nŽ n r2 .sessions, for which there is a schedule that requires V 2 update opera-

tions.

ŽProof. We construct a network denoted Exp Net m, potential, pro-].gress . The network has 2m y 1 sessions, where potential is an upper

Ž .bound on the amount of flow either temporary or final that any sessioncan achieve, and progress is a parameter that is used to decrease potential.

Ž .Figure 3 is an example of a network Exp Net 3, 100, 10 . We use an array]Ž . Ž .called pot where for every session S , pot i is an exact upper bound fori

the amount of flow that this session can achieve in the future. We assumethat potential ) 2 ? m ? progress.

Ž .FIG. 3. An example of a network Exp Net 3, 100, 10 .]

Page 22: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 127

The procedure that builds the network is as follows:

Ž .Procedure Exp Net m, potential, progress :–

for i [ 1 to 2 ? m y 1 dobegin

Ž .S uses solely an edge e where Cap e [ potentialiŽ .pot i [ potential

potential [ potential y progressif i is even then

for j [ 1 to i y 1 doŽ . Ž . Ž .S and S share an edge e where Cap e [ pot i q pot j yi j

progress� 4else i is odd if i ) 1 then

Ž . Ž . Ž .S and S share an edge e where Cap e [ pot i q pot i y 1 yi iy1progress

� 4end of for

Notice that the network is identified by the edges in which the sessionscross each other, where there is no importance to the order between theseedges along a session path.

Now we describe a ‘‘bad’’ scenario that achieves the required number ofoperations. Notice that in some states of the algorithm there is more thanone acti e session that can be selected for increase. Therefore, there areother scenarios besides the one that is described below, where some of theother scenarios may achieve a lower complexity. The scenario of a run ofthe Global Min Algorithm is then constructed by calling the following

Ž .recursive procedure Exp Scenario m, pot on the network Exp Net– ]Ž . Žm, potential, progress where pot is the array that was computed by

Ž . .Exp Net m, potential, progress as described above . We assume that the]scenario starts from scratch such that for every session S , the initial rate isj

Ž .less than pot j .

Ž .Procedure Exp Scenario m, pot :–

Ž . Ž1. If m s 1, then the rate of session S is increased to pot 1 . The1.edge that is used solely by S becomes saturated.1

2. If m ) 1, thenŽ . Ž .a Call Exp Scenario m y 1, pot .]Ž . Ž .b The rate of session S is increased to pot 2m y 2 . This2 my2

Ž .causes the rates of all sessions S , where j - 2m y 2, to be pot j yjprogress.

Ž . Ž .c The rate of session S is increased to be pot 2m y 1 . This2 my1Ž . Ž .decreases the rate of session S to pot 2m y 1 s pot 2m y 2 y2 my2

Page 23: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD128

progress. Now for all sessions S , such that j - 2m y 2, the rate isjŽ .pot j y progress, and there is no restriction imposed by S that2 my2

Ž . Ž .disables their rate from increasing to pot j . Hence, we can repeat step aas follows:

Ž . Ž .d Call Exp Scenario m y 1, pot .]

Ž . Ž .Let H m be the number of update operations in Exp Scenario m, pot .]Ž Ž . .One can see that when m s 1 there is one update operation i.e., H 1 s 1

Ž . Ž . Ž .and for an arbitrary m ) 1, H m s H m y 1 q 2 q H m y 1 sŽ .2 ? H m y 1 q 2. Therefore, the total number of update operations is

Ž m. Ž n r2 .V 2 s V 2 .In Appendix C we show this scenario for m s 3, potential s 100, and

progress s 10.

7. APPROXIMATIONS

In this section we present algorithms in which a session rate is increasedonly if the increase is by more than d . The algorithm terminates when therate of no single session can be increased by more than d .

More formally, we say that

Ž . iq1 Ž . i Ž . iq11. For every i, j, either rate S F rate S or rate S )j j jŽ . irate S q d .j

2. In Q , the final state of the algorithm, for every session S ,f inal jf inalŽ .D j F d .

We call an allocation that satisfies the second condition a d-max-minallocation. The motivation for studying this issue is that in dynamicnetworks, the computation of the exact max-min vector may not be

Ž .reached because of the dynamic nature of the system , and hence we arewilling to pay the overhead required by the update operations only if thebenefit is significant. Furthermore, an algorithm that converges fast to thenew Q but slowly to the ‘‘standard’’ max-min vector may be consideredf inalbetter than another algorithm in which it takes more time to reach thenew Q state, even if it converges faster to the ‘‘standard’’ max-minf inalvector.

In Subsection 7.1 we analyze the implications of such an approximation.ŽIt turns out that every session S may differ from its optimal rate thej

Ž . . Ž n. Žvalue of rate S in the max-min vector by at most O d ? 2 where n isj.the number of sessions . We show an example in which there is a feasible

allocation, such that the rate of only one session can be improved by dŽ .and the rate of all of the other sessions cannot be increased . Yet, in this

Page 24: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 129

Ž n r2 .example, there is some session that is V d ? 2 from its value accordingto the max-min vector.

Note that this potential ‘‘bad’’ property of the network cannot beovercome by any approximation algorithm for rate control. However, thisdifference between the two resulting rate vectors is not necessarily anegative indication. It mainly suggests that the max-min vector may beunstable in the sense that small fluctuations may change it dramatically.The proofs presented here show that the addition or deletion of a session

Žwith a small rate from the max-min vector may cause a dramatic exponen-.tial in the number of sessions change in the rate of some other sessions.

Thus, the max-min vector is not necessarily better than the vector com-Žputed by an approximate algorithm it may suffer from large instability

.that may result from a modest dynamic update . One of the implications ofthese results is the settlement of an open question raised by Charnyw x ŽCha94 where she asks about the convergence of rate-based algorithms in

.the case where rates are restricted to discrete values .In Subsection 7.2 we show that the Approximate Global Min algorithm

Žand the Approximate Enhanced Local Min algorithm to be described in. Ž Ž 2the sequel with parameter d reach quiescence in at most O min n , n ?

..log WWrd operations, where h is the maximum number of sessionsh rŽhy1.Ž .that share a single edge we assume h G 2; otherwise it is trivial , and WW is

defined as follows:

WW s max min Cap e� 4Ž .S egSj j

Ži.e., for each session we choose the edge with the minimum capacity that.it passes and WW is the maximum over all of these edges . Hence, if h is

bounded by a constant, then the number of operations is no more thanŽ Ž 2 ..O min n , n log WWrd .

Ž Ž 2 ..Remark. A bound of O min n , n ? log WWrd on the number ofh rŽhy1.update operations in either the Approximate Global Min algorithm or the

Ž .Approximate Enhanced Local Min algorithm given in Subsection 7.2 isvalid for the conservative approach as well and can be shown by usingarguments similar to those presented in this section.

7.1. The Difference Between the d-Max-Min Allocation and Max-Min

In this subsection we bound the difference between the rate of a sessionin d-max-min allocation and its rate in the max-min vector.

We consider an arbitrary d-max-min allocation and use the followingdefinitions:

1 2 n iŽ .X s x , x , . . . , x : The max-min vector, where x is the rate ofsession S .i

Page 25: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD130

1 2 nŽ .Z s z , z , . . . , z : The rate vector as computed by an approximatei Ž . f inalalgorithm such that z s rate S . The main assumption is that the ratei

of no session can be increased by a single atomic operation in more than dflow units.

We assume without loss of generality that the sessions are enumeratedsuch that

1. X is a nondescending vector.2. We consider a set of sessions, all of which get the same rate in the

Ž .max-min vector. We divide this set into two disjoint groups: i the group ofsessions in which the rate obtained by the approximate algorithm issmaller than or equal to the allocation according to the max-min vector

Ž .and ii the group of sessions in which the rate obtained by the approxi-mate algorithm is larger than the allocation according to the max-min

Ž .vector. We assume without loss of generality that the sessions in i have aŽ .lower index than the sessions in ii .

The following lemma states that x i is above z i by at most d plus theamount of flow by which sessions with smaller index in X are above their

Ž . f inalrate in the max-min vector. The intuition is that rate S cannot beiincreased by more than d without decreasing other sessions with equal or

Ž .smaller rates in Z . Hence, this increase will be possible only if the ratesof these other sessions will be decreased by other restrictions.

i i < l l <LEMMA 7.1. For all i G 1, x y z F d q Ý x y z .l - i

Proof. Clearly, since S cannot be increased by more than d , there isif inalŽ . Ž .an edge e g S , such that D e, i F d . Hence, the restriction of Cap ei

and the max-min fairness concept imply that any further increase in therate of S is at most the amount of rate that is released by other sessionsithat are sharing e. It is obvious that the max-min allocation of sessionsthat share e and release the rate is lower than the fair allocation of S ,iwhich implies that their index is lower than i.

The following lemma is analogous to the amount of flow by which x i

may be below z i. This amount is at most the amount of flow by whichsessions with a smaller index in X are below their rate in the max-minvector. The intuition is that in the adjustment process from Z to X, a

Ž . f inaldecrease in rate S is caused only by sessions that are increased butido achieve a rate value that is less than or equal to the rate of S .i

i i < l l <LEMMA 7.2. For all i G 1, z y x F Ý x y z .l - i

Proof. Clearly, there is an edge e g S , wherei

k Ž .1. Ý x s Cap e .S gg Ž e.ki k Ž .2. x G x for all S g g e .k

Page 26: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 131

As e is saturated according to the max-min vector, it is clear that therate at which S is reduced in the adjustment process from Z to X is noimore than the amount of allocation added to all other sessions thatshare e.

The following theorem bounds from above the difference between thed-max-min allocation and the max-min allocation.

< i i < iy1THEOREM 7.3. For all i G 1, x y z F d ? 2 .

< 1 1 <Proof. From Lemma 7.1 and Lemma 7.2, one can see that x y z F d< i i < < l l <and x y z F d q Ý x y z . Hence, the theorem follows by induc-l - i

tion on i.

Theorem 7.3 shows that the rate of a session as computed by theapproximate algorithm may differ by at most d ? 2 ny1 from its rate in themax-min vector. The following theorem states a matching lower bound on

Ž . f inalthe possible difference between rate S and the rate of S in thej jmax-min vector.

< i i < Ž i r2 .THEOREM 7.4. For all 1 F i F n, x y z can be V d ? 2 . Hence,< n n < Ž n r2 .x y z can be V d ? 2 .

Proof. We prove the theorem by presenting a network configurationwith n sessions for every n s 4m q 3, m s 1, . . . . In the configuration,the rate of one session, S , may be increased by d units, while the rate of1

Žno other session may be increased. We show that for every i, 1 F i F n y. i1 r2, the rate of sessions S and S is 2 ? dr6 away from their value in2 i 2 iq1

the max-min vector.In the example there are two sessions, S and S , sharing an edge with2 3

S such that increasing S by d would decrease each of them by dr3. In1 1addition, these two sessions share two more edges: one edge with sessionS and anther edge with session S , such that their decrease by dr3 would4 5increase both the rate of S and that of S by d ? 2r3. S and S share two4 5 4 5more edges: one edge with session S and another edge with session S ,6 7such that their increase by d ? 2r3 would decrease both the rate of S and6that of S by d ? 4r3. Then this construction is repeated inductively on top7of S and S .6 7

Now we provide the formal description of the network. The network hasn s 4m q 3 sessions. The edges of the network are described as follows:

1. Edge e is shared by sessions S and S .1 2 3

2. Edge e is shared by sessions S , S and S .2 1 2 3

3. For each k, where m G k G 1, there are four more edges, e ,4 ky1� 4 �e , e , e that are shared by S , S , S , S ,4 k 4 kq1 4 kq2 4 ky2 4 ky1 4 k 4 ky2

4 � 4 � 4S , S , S , S , S , and S , S , S , respectively.4 ky1 4 kq1 4 k 4 kq1 4 kq2 4 k 4 kq1 4 kq3

Page 27: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD132

Ž . Ž .4. Cap e s 8 ? C and Cap e s 9 ? C, where C is an arbitrary1 2constant.

Ž . Ž . jq25. ; j, 2 F j F 2m q 1, Cap e s Cap e s 2 ? C.2 jy1 2 j

Ž . f inal ŽWe consider the case in which rate S s 0 and ; i, 1 F i F n y1. Ž . f inal Ž . f inal iq1 f inalŽ .1 r2, rate S s rate S s 2 ? C. Clearly, D 1 s 3 ? C.2 i 2 iq1

We consider this value as d . For all other sessions S , such that i / 1,if inalŽ .D i s 0.The adjustment of the rates is as follows:

Ž1. S is increased by d from 0 to 3C, because of the restrictions of1.e .2

Ž2. S and S are decreased by C from 4C to 3C, because of the2 3.restrictions of e .2

Ž3. S and S are increased by 2C from 8C to 10C, because of the4 5.restrictions of e and e .3 4

Ž4. S and S are decreased by 4C from 16C to 12C, because of the6 7.restrictions of e and e .5 6

Ž .In general, for every l, where 1 F l F n y 3 r4, S and S are4 l 4 lq1increased by 22 ly1 ? C, while S and S are decreased by 22 l ? C.4 lq2 4 lq3

ŽConsider the difference vector of the form X y Z i.e., the ith coordinatei i.of the vector equals x y z . As C s 1r3 ? d , the vector has the following

Ž .values: 1r3 ? d ? 3, y1, y1, 2, 2, y4, y4, 8, 8, y16, y16, 32, 32, . . . .Ž . < 2 i 2 i < < 2 iq1Hence, for all i, 1 F i F n y 1 r2, we have that x y z s x y

2 iq1 i<z s d ? 2 r6.

Note that the lower bound is shown in a case in which only one sessioncan be increased.

7.2. Two Approximate Algorithms and Their Con¨ergence Analysis

Here we analyze the convergence of two algorithms: ApproximateGlobal Min algorithm and Approximate Enhanced Local Min algorithm.

In the Approximate Global Min algorithm, the scheduler increases therate of a session only if it is the minimum among all acti e sessions and ifthe increase is by more than d . The formal description of the algorithm isas follows:

Marking a session done: If the smallest rate acti e session in thenetwork cannot be increased by more than d , then it is marked done.

Session selected for increase: The scheduler selects session S g AA ij

Ž . i isuch that rate S is minimum among all sessions in AA and can bejŽ .increased by more than d . S is selected as S o .j i

Page 28: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 133

Termination: The algorithm terminates when AA i s B.

The Approximate Enhanced Local Min algorithm is based upon a localscheduler and is an enhancement of the local min technique. Before givingthe definition of the algorithm, we need the following definition:

DEFINITION 7.5. A session S g AA i is dis3-local-min in state Q if forj ievery active session S that shares an edge with Sm j

Ž . i Ž . i1. rate S F rate S .j m

Ž . i2. For every active session S that shares an edge with S , rate Sr m jŽ . iF rate S .r

Ž . i3. For every active session S that shares an edge with S rate S Fp r jŽ . irate S .p

In each state of its run the Approximate Enhanced Local Min algorithmfollows the following rules:

Marking a session done: A dis3-local-min session whose rate cannotbe increased by more than d is marked done.

Session selected for increase: In state Q , the scheduler chooses aidis3-local-min session S whose rate can be increased by more than d andj

Ž .sets S as S o .j i

Termination: The algorithm terminates if AA i s B.

We show a few properties that enable us to prove the theorems aboutthe convergence of the algorithms. The next claim states that in theApproximate Global Min algorithm, the rate of the session with theminimum rate is a nondecreasing function.

Claim 7.6. In the Approximate Global Min algorithm, ; l and i, ifŽ Ž .. l Ž Ž .. il G i, then rate S o G rate S o .l i

Ž .Proof. Let S o s S . Following Definition A.1 and Definition A.2,i jŽ . iq1for every session S decreased in operation o , rate S Gm i m

Ž . iq1 Ž . irate S ) rate S . Furthermore, for an acti e session S that is notj j mŽ . iq1 Ž . i Ž . i Ž Ž .. idecreased, rate S s rate S G rate S . Therefore, rate S o Fm m j i

iq1 lŽ Ž .. Ž Ž ..rate S o F ??? F rate S o .iq1 l

As for the Approximate Enhanced Local Min algorithm, to have ananalogous statement we need the following lemma.

LEMMA 7.7. Consider state Q in the Approximate Enhanced Local MiniŽ . Ž . iq1 Ž . ialgorithm in which either S o s S or rate S - rate S . Then, for alli j j j

Ž . l il G i, rate S G LB .j j

Page 29: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD134

Ž .Proof. We use statements and proofs that are analogous to those inSection 3, from Lemma 3.4 to Theorem 3.10.

The following lemma shows a basic monotonous property related tosessions that become dis3-local-min.

LEMMA 7.8. Let S and S share an edge and let S and S share an edgej m m rŽ .it is possible that S s S or S s S . Let l ) i in the Approximate En-r m r j

Ž . Ž .hanced Local Min algorithm, such that S o s S and S o s S . Theni j l rŽ . i Ž . lrate S F rate S .j r

Ž . i Ž . iProof. As S is dis3-local-min in state Q then rate S F rate S andj i j rŽ . i iq1 Ž .krate S F LB . Hence, by Lemma 7.7 for all k G i q 1, rate S Gj r riq1 iŽ .LB G rate S .r j

The monotonous properties proved in the above statements for the twoalgorithms turn out to be useful when setting some bounds, as in thefollowing two corollaries.

COROLLARY 7.9. In the Approximate Global Min algorithm, consider anŽ . i Ž . � Ž . i4edge e g G, such that Ý rate S s Cap e , S g g e l AA andS gg Ž e. m tm

Ž . i Ž . i � Ž . i4rate S G rate S for all S g g e l AA . Then, for e¨ery active sessiont m m� Ž . i4S g g e l AA and for e¨ery l G i,m

ii l irate S y rate S F rate S y rate S oŽ . Ž . Ž . Ž .Ž .m m m i

iiF rate S y rate S o .Ž . Ž .Ž .t i

The analogous corollary applies for the Approximate Enhanced LocalMin algorithm.

COROLLARY 7.10. In the Approximate Enhanced Local Min algorithm,Ž . i Ž . � Ž .consider an edge e g G, such that Ý rate S s Cap e , S g g eS gg Ž e. m tmi4 Ž . Ž . Ž . i Ž . i � Ž . i4l AA , S o g g e and rate S G rate S for all S g g e l AA .i t m m

� Ž . i4Then, for e¨ery acti e session S g g e l AA and for e¨ery l G i,m

ii l irate S y rate S F rate S y rate S oŽ . Ž . Ž . Ž .Ž .m m m i

iiF rate S y rate S o .Ž . Ž .Ž .t i

COROLLARY 7.11. In the Approximate Global Min algorithm, for e¨ery� Ž . i4 Ž . ii G 0 let e be an edge in G and let S g g e l AA such that rate S Gt t

Ž . i Ž . Ž . � Ž .rate S for all S g g e . If Ý s Cap e , then, for all S g g em m S gg Ž e. jmi4 Ž . l Ž . i Ž .l AA and for all l G i, the following holds: rate S y rate S F h9 y 1 ?j jŽ Ž . i Ž Ž .. i. < Ž . <rate S y rate S o , where h9 s g e .t i

Page 30: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 135

The analogous corollary for the Approximate Enhanced Local Minalgorithm is

COROLLARY 7.12. In the Approximate Enhanced Local Min algorithm,� Ž . i4for e¨ery i G 0 let e be an edge in G and let S g g e l AA such thatt

Ž . i Ž . i Ž . Ž . Ž .rate S G rate S for all S g g e . If S o g g e and Ý st m m i S gg Ž e.mŽ . � Ž . i4Cap e , then, for all S g g e l AA and for all l G i, the following holds:jŽ . l Ž . i Ž . Ž Ž . i Ž Ž .. i.rate S y rate S F h9 y 1 ? rate S y rate S o , where h9 sj j t i

< Ž . <g e .

The next claim is an extension of Lemma 3.5 and follows immediatelyfrom Definition A.1 and Definition A.2.

ŽClaim 7.13. If a rate of a session S is changed by operation o i.e.,j iy1Ž . i Ž . iy1. Ž . irate S / rate S , then there is an edge e g S where rate S Gj j j jŽ . i Ž . Ž .rate S for all S g g e and Ý s Cap e .m m S gg Ž e.m

For every session S we observe the list j , k s 1, 2, . . . ,j kŽ .where S o s S . We definej jk

l jkP k s max rate S y rate S ,Ž . Ž . Ž .½ 5j j jlGjk

namely, the potential increase in the rate of session S after its first kjincrease operations. Intuitively, this is an upper bound on the maximum

Ž . jk Ž .distance between the value of rate S and the value of rate S in thej jfinal state.

Ž . ŽClaim 7.14. In the Approximate Global Min algorithm, P k F h yj.Ž Ž . jk Ž . jky 1.1 rate S y rate S for all k s 2, 3, . . . , where h is the maximumj j

number of sessions that share a single edge e g S .j

Proof. For every k s 2, 3, . . . , let l ) j be such that Q is the firstky1 lŽ . l Ž . jk Ž Ž . ly1 Ž . jk .state where rate S s rate S i.e., rate S / rate S . Clearly, byj j j j

Ž . l Ž . lClaim 7.13 in state Q there is an edge e g S such that rate S G rate Sl j j mŽ . Ž . Ž Ž .. lfor all S g g e and Ý s Cap e . By Claim 7.6, rate S o Gm S gg Ž e. lm

Ž Ž .. jky 1 Ž . jky 1 Žrate S o s rate S , and hence by Corollary 7.11 and the factj jky 1.that h9 F h

jl ky 1P k F h9 y 1 rate S y rate S oŽ . Ž . Ž .Ž . Ž .j j jž /ky 1

j jk ky1s h9 y 1 rate S y rate SŽ . Ž . Ž .ž /j j

j jk ky1F h y 1 rate S y rate S .Ž . Ž . Ž .ž /j j

Page 31: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD136

Ž .Claim 7.15. In the Approximate Enhanced Local Min algorithm, P kjŽ .Ž Ž . jk Ž . jky 1.F h y 1 rate S y rate S for all k s 2, 3, . . . , where h is thej j

maximum number of sessions that share a single edge e g S .j

Proof. The proof of Claim 7.14 applies verbatim, except for the need toreplace Claim 7.6 by Lemma 7.8.

In the following statements we assume that h G 2 is the maximumŽnumber of sessions that share a single edge if h s 1, then the conver-

.gence process is trivial .

Obser ation 7.16. In either the Approximate Global Min algorithm orŽ .in the Approximate Enhanced local Min algorithm, for k s 3, 4, . . . , P kj

�Ž . Ž . 4 Ž Ž . jky 1F min h y 1 ? A y B, h y 1 ? B , where A s rate S yjŽ . jky 2 . Ž Ž . jk Ž . jky 1.rate S and B s rate S y rate S .j j j

The last observation implies an exponential degradation in the value ofP .j

COROLLARY 7.17. In either the Approximate Global Min algorithm or inthe Approximate Enhanced Local Min algorithm, for k s 3, 4, . . . , we ha¨eŽ . ŽŽ . . Ž .P k F h y 1 rh P k y 1 .j j

LEMMA 7.18. In either the Approximate Global Min algorithm or in theApproximate Enhanced Local Min algorithm, for all k ) 2 q

Ž . Ž .log P 2 rd we ha¨e P k - d .h rŽhy1. j j

Proof. The lemma follows immediately from Corollary 7.17.

Let us first analyze the maximum number of operations taken by each ofthe two algorithms before it terminates. After that we show that wheneach of the algorithms terminates, no session can be increased by morethan d without affecting the fairness concept.

ŽThe following is analogous to Lemma 4.2 for the case of the Global. ŽMin algorithm and to Lemma 5.2 for the Approximate Enhanced Local.Min algorithm .

LEMMA 7.19. In either the Approximate Global Min algorithm or in theApproximate Enhanced Local Min algorithm, for e¨ery session S and forje¨ery k s 2, 3, . . . , we ha¨e that AA jk n AA jky 1.

Hence, using the same arguments as in Theorems 4.3 and 5.3, we set abound on the convergence complexity.

THEOREM 7.20. The number of update operations in any run of either theApproximate Global Min algorithm or the Approximate Enhanced Local Min

Ž 2 .algorithm is O n .

Page 32: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 137

Now we aim at setting a second bound on the convergence complexity.This bound is based on the exponential degradation in the value of P .j

The following definition considers the maximum initial potential.

� Ž .4DEFINITION 7.21. In every network G, WW is max min Cap e ,S eg Sj j

i.e., for each session we choose the edge with the minimum capacity, and WW

is the maximum weight of all of these edges.

The next theorem presents the second bound.

THEOREM 7.22. In either the Approximate Global Min algorithm or in theApproximate Enhanced Local Min algorithm the number of increase opera-

Ž .tions for each session is O log WWrd , where h is the maximum numberh rŽhy1.of sessions that share a single edge.

Ž . Ž .Proof. Note that for each session S , P 2 F Cap e for all edgesj jŽ .e g S . Hence, by lemma 7.18, for all k ) 2 q log P 2 rd and forj h rŽhy1. j

lŽ . Ž .all l ) j , we have D j F P k - d .k j

Thus we get the combination of the above two bounds:

THEOREM 7.23. Both the Approximate Global Min algorithm and theŽ Ž 2Approximate Enhanced Local Min algorithm quiesce after O min n ,

..n log WWrd update operations, where h is the maximum number ofh rŽhy1.sessions that share a single edge.

ŽNote that if h is a constant, then the convergence complexity is O n ?.log WWrd .

To conclude, we need to show that when each of the two algorithmsreaches quiescence, the computed allocation is in fact d-max-min alloca-

Ž .tion. To show this, we state in Theorems 7.31 and 7.32 that after asession becomes done, there is no state in which it may be increased bymore than d .

Obser ation 7.24. In either the Approximate Global Min algorithm orin the Approximate Enhanced local Min algorithm, let S g AA i, wherej

Ž . iq1 Ž . i Ž . iq1 Ž Ž .. irate S - rate S . Then rate S ) rate S o q d .j j j i

Proof. Following Definition A.2, S is decreased in state Q only ifj iiq1 iq1 iŽ . Ž Ž .. Ž Ž ..rate S G rate S o ) rate S o q d .j i i

In the following we define a variable which is used to bound the rate ofa session in the Approximate Global Min algorithm.

DEFINITION 7.25. In the Approximate Global Min algorithm, for everyŽ . isession S , PLV S , the Potential Lowest Value of S in state Q isj j j i

Ž Ž . i Ž Ž .. i .min rate S , rate S o q d .j i

Page 33: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD138

The following is the analogous definition in the Approximate EnhancedLocal Min algorithm.

DEFINITION 7.26. In the Approximate Enhanced Local Min algorithm,Ž . ifor every session S , LPLV S , the Local Potential Lowest Value of S inj j j

state Q is defined as follows:i

Ž . Ž1. If S o shares an edge with S including the case where S si j jŽ .. Ž . i Ž Ž . i Ž Ž .. i .S o , then LPLV S s min rate S , rate S o q d .i j j i

Ž Ž . .2. Else S o does not share an edge with S , let S be the set ofi j� 4sessions S , S , . . . that share an edge with S and are marked done ini i j1 2 iŽ Ž ..state Q . If S / B we choose the session S where rate S i is thei i kk i iŽ . Ž Ž .maximum among all sessions in S and set LPLV S s min rate S ,j j

Ž Ž .. i .rate S i q d .k

Ž Ž . .3. Else S o does not share an edge with S and S s B , if i s 0i jŽ .0 Ž . i Ž . iy1then LPLV S s 0, and if i G 1 then LPLV S s LPLV S .j j j

The next two observations show a monotonous property of the two newvariables.

Obser ation 7.27. In the Approximate Global Min algorithm, for everyŽ . l Ž . isession S and for every l G i, PLV S G PLV S .j j j

Ž Ž .. l Ž Ž .. i Ž . lProof. By Claim 7.6, rate S o G rate S o . Hence, if rate S Gl i jŽ . irate S , we are done. Else, let Q be the last state before Q in whichj m lŽ . Ž Ž .mq 1 Ž .m.rate S was decreased i.e., l ) m G i and rate S - rate S . Then,j j j

Ž Ž .. l Ž Ž .. i Ž . lby Observation 7.24, since rate S o G rate S o , then PLV S Gl i ji iŽ Ž .. Ž .rate S o q d G PLV S .i j

Obser ation 7.28. In the Approximate Enhanced Local Min algorithm,Ž . l Ž . ifor every session S and for every l G i, LPLV S G LPLV S .j j j

Proof. Let state Q , where i F p, be the last time in which the value ofpŽ .LPLV S was updated before state Q , and let state Q , where l G k, bej i k

Ž .the last time in which the value of LPLV S was updated before state Q .j lLet session S be dis3-local-min in state Q that shares an edge withm psession S , and let session S be dis3-local-min in state Q that shares anj r k

Ž . p Ž .kedge with session S . By Lemma 7.8 rate S F rate S . Furthermore,j m rby Observation 7.24 and by Lemma 7.8 after state Q , the rate of sessionp

pŽ .S cannot be decreased below the value of rate S q d .j m

The following observation is a direct consequence of Definitions A.1and A.2.

Obser ation 7.29. Let Q / Q be a state in the Approximate Globali f inalMin algorithm and let S be an acti e session in which the rate isj

i iŽ .minimum among all sessions in AA . The inequality D j F d holds if and

Page 34: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 139

iŽ . iŽ . Ž .only if there is an edge e g S where D e, j s D j and Cap e yjŽ . i Ž . i iŽ . Ž . iÝ PLV S F rate S q D e, j F rate S q d .S g �g Ž e.yS 4 r j jr j

The analogous observation is as follows:

Obser ation 7.30. In the Approximate Enhanced Local Min algorithmlet S be an active session that is chosen by the algorithm in state Q ,j i

iŽ .either to be marked done or to be increased. Then, D j F d if and only ifiŽ . iŽ . Ž .there is an edge e g S where D e, j s D j and Cap e yj

Ž . i Ž . i iŽ . Ž . iÝ LPLV S F rate S q D e, j F rate S q d .S g �g Ž e.yS 4 r j jr j

Proof. Following Definitions A.1 and A.2, there is an edge e such thatŽ . Ž . i iŽ . Ž Ž . i Ž . iCap e s rate S q D e, j q Ý min rate S , rate S qj S g �g Ž e.yS 4 r jr jiŽ .. iŽ .D e, j . If D j F d then, following Definition 7.26, one can see that for

Ž Ž . i Ž . i .every session S that shares an edge with S , min rate S , rate S q dr j r jiŽ .F LPLV S .r

Thus we get the two concluding theorems.

THEOREM 7.31. Let Q be a state in the Approximate Global Min algo-irithm where S is an active session in which the rate is minimum. Ifj

iŽ . lŽ .D j F d , then for e¨ery l G i, D j F d .

Proof. If Q s Q we are done. Otherwise, by Observation 7.29 wei f inalŽ .have that in state Q there is an edge e such that Cap e yi

Ž . i Ž . i iŽ . Ž . iÝ PLV S F rate S q D e, j F rate S q d . By Claim 7.6,S g �g Ž e.yS 4 r j jr jŽ .the first update of rate S after state Q cannot be a decrease. Let l bej i

lŽ .the smallest index such that in Q , l ) i, D e, j ) d . However, we havelŽ . l Ž . ithat rate S s rate S , and hence, following Observation 7.27, we getj j

iŽ .that the restriction stated in Observation 7.29 that caused D e, j to belŽ .less than d still holds for D e, j . Thus, as the restriction in Observation

7.29 is of the form ‘‘if and only if,’’ we get a contradiction.

THEOREM 7.32. Let Q be a state in the Approximate Enhanced LocaliMin algorithm where S is an active session that is dis3-local-min. Ifj

iŽ . lŽ .D j F d , then for e¨ery l G i, D j F d .

Proof. If Q s Q we are done. Otherwise, by Observation 7.30 ini f inalŽ . Ž . istate Q there is an edge e such that Cap e y Ý LPLV S Fi S g �g Ž e.yS 4 rr j

Ž . i iŽ . Ž . irate S q D e, j F rate S q d . By Lemma 7.8, the first update ofj jŽ .rate S after state Q cannot be a decrease. Let l be the smallest indexj i

lŽ . Ž . l Ž . isuch that in Q , l ) i, D e, j ) d . However, rate S s rate S , andl j jhence, following Observation 7.28, the restriction stated in Observation

iŽ . lŽ .7.30 that caused D e, j to be less than d still holds for D e, j . Thus, asthe restriction in Observation 7.30 is of the form ‘‘if and only if’’ we get acontradiction.

Page 35: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD140

ACKNOWLEDGMENTS

We thank Yair Oren for introducing us to the ATM Forum discussions on flow control. Wealso thank Moshe Sidi for helpful comments and discussions. We also thank the referees forhelpful comments that have improved the presentation.

APPENDIX A: FORMAL DESCRIPTION OF ANUPDATE OPERATION

Ž .DEFINITION A.1. Let the triplet R, j, C be a vector of session ratesŽ . m ŽR , R , . . . , R g R , a session index, and a constant representing1 2 m

. mcapacity such that, 1 F j F m and Ý R F C. The update of this set isls1 lŽ . Ž X X X . mthe pair R9, D such that R9 s R , R , . . . , R g R is the new vector1 2 m

of session rates and D g Rq is the amount by which the rate of session Rjis increased. The update is computed such that it satisfies the followingfour conditions:

1. Ým RX s C.ls1 l

2. RX s R q D.j j

3. ; l / j, R F R q D « RX s R .l j l l

4. ; l / j, R ) R q D « RX s R q D.l j l j

Ž .Let o be an atomic operation such that S s S o , and let R be a set ofi j iŽ .sessions that share an edge e, where Cap e s C. Hence, the update

iŽ .D e, j is the maximum increase in S that is restricted by e, following thejŽfairness concept according to which a session is increased as long as this

increase does not cause a decrease in another session with equal or lower.rate . Notice that the four conditions imply that D is well defined and

unique. Condition 1 implies that the edge is saturated, condition 2 impliesthat an amount of D flow units is added to the session that is increased,condition 3 implies that sessions with equal or lower rate are not affected,and condition 4 guarantees the fairness condition. Notice also that thefour conditions imply that D is the maximum possible increase in S .j

Ž . i iŽ .The increase in rate S during operation o , D j is the minimumj iiŽ .D e, j over all edges e g S .jAfter Di is calculated, we calculate for each session that shares an edge

Ž .with S s S o the amount of flow by which it should be reduced, asj ifollows:

Ž . ŽDEFINITION A.2. Let R, j, C, D be a set such that R s R , R ,1 2. m � 4 Ž. . . , R g R is the original vector of session rates, C, D g R C is them

capacity of the edge that is shared by these sessions, and D is the increase. min R , let j be an index 1 F j F m, and Ý R F C. The restriction ofj ls1 l

Ž . Ž X X X . mthis set is the set R9, Bar , where R9 s R , R , . . . , R g R is the new1 2 m

Page 36: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 141

vector of rates, Bar g Rq, and the following conditions are satisfied:

1. Ým RX F C.ls1 l

2. RX s R q D.j j

3. ; l / j, R F Bar « RX s R .l l l

4. ; l / j, R ) Bar « RX s Bar.l l

Notice that these four conditions imply that Bar i is well defined andiŽ .unique. Hence, in operation o , Bar e is the restriction of all sessionsi

that share edge e. Here again we follow the fairness concept and decreasea session only if no session with higher rate can be decreased. Therefore,

iŽ . Ž .Bar e is an upper bound for the rate of all sessions of g e in state Qiq1Ž . Ž . iq1and, in particular, R q D F Bar . Notice that for all r / j, rate S isj r

Ž . i � iŽ .4 � 4the minimum over rate S and Bar e for all e g S l S .r r j

APPENDIX B: GLOBAL MIN ALGORITHM LOWERBOUND EXAMPLE

Ž .Recall that Fig. 2 is an example of a network, Net 4, 0, 128 , as describedin Theorem 4.4.

The following scenario is produced by the recursive procedure ScenarioŽ .4, 0, 128 :

v Ž .rate S is increased from 0 to 64.8

v The rates of sessions S , S , S , S , S , S are increased from 01 2 3 4 5 6to 64.

v Ž . Ž .rate S is increased from 0 to 32. This causes rate S to go down7 8from 64 to 32.

v Sessions S and S become done. The potential in each of the7 8acti e sessions is 32.

v Ž .rate S is increased from 64 to 80.6

v The rates of sessions S , S , S , S are increased from 64 to 80.1 2 3 4

v Ž . Ž .rate S is increased from 64 to 72. This causes rate S to go down5 6from 80 to 72.

v Sessions S and S become done. The potential in each of the acti e5 6sessions is 8.

v Ž .rate S is increased from 80 to 84.4

v The rates of sessions S , S are increased from 80 to 84.1 2

v Ž . Ž .rate S is increased from 80 to 82. This causes rate S to go down3 4from 82 to 80.

Page 37: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

AFEK, MANSOUR, AND OSTFELD142

v Sessions S and S become done. The potential in each of the3 4acti e sessions is 1.

v Ž .rate S is increased from 84 to 85.2

v Ž . Ž .rate S is increased from 84 to 84.5. This causes rate S to go1 2down from 85 to 84.5.

v Sessions S and S become done.1 2

APPENDIX C: EXAMPLE FOR A LOWER BOUND INTHE GENERAL SCHEDULER

Ž .Recall that Fig. 3 is an example of a network, Exp Net 3, 100, 10 , as]described in Theorem 6.11. The value of array pot is calculated by

Ž . Ž . Ž .Exp Net 3, 100, 10 and has the following values: pot 1 s 100, pot 2 s 90,]Ž . Ž . Ž .pot 3 s 80, pot 4 s 70, and pot 5 s 60.

Ž . Ž . Ž Ž ..Note that H 3 s 2 q 2 ? H 2 s 2 q 2 2 ? H 1 s 10.Ž .We follow the next scenario, Exp Scenario 3, pot :]

v Ž .rate S is increased to 100.1

v Ž . Ž .rate S is increased to 90. This causes rate S to go down from 1002 1to 90.

v Ž . Ž .rate S is increased to 80. This causes rate S to go down from 903 2to 80.

v Ž .rate S is increased to 100.1

v Ž . Ž .rate S is increased to 70. This causes rate S to go down from 1004 1Ž .to 90, and rate S to go down from 80 to 70.3

v Ž . Ž .rate S is increased to 60. This causes rate S to do down from 705 4to 60.

v Ž .rate S is increased to 100.1

v Ž . Ž .rate S is increased to 90. This causes rate S to go down from 1002 1to 90.

v Ž . Ž .rate S is increased to 80. This causes rate S to go down from 903 2to 80.

v Ž .rate S is increased to 100.1

REFERENCES

w xBF95 F. Bonomi and K. Fendick, The rate based flow control for available bit rate atmŽ . Ž .service, IEEE Networks 9 2 1995 , 24]39.

w xBG87 D. P. Bertsekas and R. G. Gallager, ‘‘Data Networks,’’ Prentice-Hall, EnglewoodCliffs, NJ, 1987.

Page 38: mansour/papers/99j-alg.pdf · COMPLEXITY OF RATE-BASED FLOW CONTROL 107 achieve a good utilization of the network while maintaining fairness between the sessions. Most implementations

COMPLEXITY OF RATE-BASED FLOW CONTROL 143

w xCha94 A Charny, ‘‘An Algorithm for Rate Allocation in a Packet-Switching Network withFeedback,’’ Technical Report MITrLCSrTR-601, MIT Laboratory for ComputerScience, April 1994.

w xGaf82 E. Gafni, ‘‘The Integration of Routing and Flow Control for Voice and Data in aComputer Communication Network,’’ Ph.D. thesis, Massachusetts Institute ofTechnology, Department of Electrical Engineering and Computer Science, Cam-bridge, MA, August 1982.

w xGB84 E. Gafni and D. P. Bertsekas, Dynamic control of session input rates in communi-Ž . Ž .cation networks, IEEE Trans. Automat. Control AC-29 11 1984 , 804]823.

w xHay81 H. Hayden, ‘‘Voice Flow Control in Integrated Packet Networks,’’ Master’s thesis,Massachusetts Institute of Technology, Department of Electrical Engineering,Cambridge, MA, 1981.

w x Ž . Ž .Jaf81 J. M. Jaffe, Bottleneck flow control, IEEE Trans. Commun. COM-29 7 1981 ,954]962.

w xJKV94 R. Jain, S. Kalyanaraman, and R. Viswanathan, ‘‘The OSU Scheme for Conges-tion Avoidance Using Explicit Rate Indication,’’ Technical Report ATM-FORUMr94-0883, The Ohio State University, September 1994.

w xKM95 H. T. Kung and R. Morris, Credit-based flow control for atm networks IEEEŽ . Ž .Networks, 9 2 1995 , 40]48.

w xMos84 J. Mosely, ‘‘Asynchronous Distributed Flow Control Algorithms,’’ Ph.D. thesis,MIT, June 1984.

w x Ž .Rob94 L. Roberts, ‘‘Enhanced PRCA Proportional Rate-Control Algorithm ,’’ TechnicalReport ATM-FORUMr94-0735R1, ATM Systems, August 1994.

w x Ž .ST94 K. Y. Siu and H. T. Tzeng, ‘‘Adaptive Proportional Rate Control APRC withIntelligent Congestion Indication,’’ Technical Report ATM-FORUMr94-0888,University of California, Irvine, September 1994.