Computer Networks 45 (2004) 835–858 www.elsevier.com/locate/comnet
Distributed resource management with heterogeneous linear controls Panos Gevros *, Jon Crowcroft Computer Laboratory, University of Cambridge, 15 JJ Thomson Ave., Cambridge CB3 0FD, UK Received 2 May 2003; received in revised form 24 November 2003; accepted 11 May 2004 Available online 7 June 2004 Responsible Editor: Z.-L. Zhang
Abstract Relative differentiation in distributed resource sharing can be implemented using heterogeneous linear controls with binary feedback and this method can provide efficient and weighted max–min fair resource allocations. We prove this using a discrete-time model of a single resource, shared among a number of users with heterogeneous Additive Increase Multiplicative Decrease (AIMD) controls. AIMD has been implemented in the congestion avoidance mechanism of Internet’s Transmission Control Protocol (TCP) and beyond its simplicity it has been proved extremely efficient and robust. We show how AIMD can be parametrized in order to allow the scaling of user allocations according to a given set of weights. We also analyze the effects of different parameter choices on the performance and the oscillating behaviour of the system. Our analysis is supported by simulations and the results provide useful insights to the performance and the properties of distributed resource sharing. 2004 Published by Elsevier B.V.
1. Introduction The demand for Internet services is essentially demand for data transmission. Internet users generate flows of data packets that travel across the network between source and destination endpoints sharing the transmission capacity (bandwidth) of the links they traverse with flows generated by other active users. The performance (data transfer rate) perceived by a user is directly
*
Corresponding author. Tel.: +44-1223-335-444. E-mail addresses:
[email protected] (P. Gevros),
[email protected] (J. Crowcroft). 1389-1286/$ - see front matter 2004 Published by Elsevier B.V. doi:10.1016/j.comnet.2004.05.001
related to the degree to which these demands for transmission capacity are met inside the network, i.e. to the capacity that is being allocated to that user. However, there is no centralised allocation mechanism for achieving this instead the network relies on distributed, feedback control for allocating resources to different users. The whole system works because the users implicitly cooperate; they regulate their demands using (a set of) homogeneous, adaptive, transmission control procedures. These procedures are the congestion avoidance and control algorithms of the Transmission Control Protocol (TCP) [17,23] which is implemented as part of a computer’s operating system. When a link inside the network becomes overloaded then
836
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
packets are being discarded and a source detecting packet loss interprets it as an indication of congestion and reduces its transmission rate. The steady-state behaviour of a TCP source can be loosely described as follows; in the absence of congestion, the source increases its transmission rate linearly and decreases it by a factor of two when it detects packet loss. This strategy is known as Additive Increase Multiplicative Decrease (AIMD), and it has served the Internet remarkably well for many years. An implication of this homogeneous response to congestion is that network resources (link bandwidth and buffer space in the routers) are shared fairly among the users based approximately on a max–min fair criterion. However, this distributed, cooperative solution to the resource allocation problem suffers from two problems; first there are no clear incentives for the users to be well-behaved, (on the contrary a more aggressive behaviour is more rewarding in terms of the realized resource allocation) and second it implies that equitable resource sharing is the only form of ‘‘fair’’ resource sharing available. These observations led network researchers in the last decade to pursue centralised control models for enforcing different resource allocation policies inside the network. These models would provide quality of service (QoS) assurances [2], service differentiation [1] and ultimately they would enable price discrimination in Internet services. The implicit assumption behind these efforts was that the users (‘‘end-points’’) could no longer be trusted and there were even proposals for installing ‘‘penalty mechanisms’’ [12] inside the network which would detect and penalize misbehaving users and thus create the right incentives for cooperation. Despite the significant amount of effort in this area, it was never entirely clear how these network-centric solutions could actually be deployed and interoperate in such a diverse interconnection of networks as the Internet. These solutions involved significant complexity and required substantial administrative effort and with hindsight it is not surprising that these models did not get deployed. An alternative approach to network resource management introduced by Kelly et al. [20] and Gibbens and Kelly [15] is to create incentives for
the users to cooperate and at the same time allow for service differentiation by having the feedbacksignals reflect congestion prices that the users should pay. This distributed resource management approach is widely known as congestion pricing, and the underlying premise is that the end-points are ‘‘best-placed’’ to determine what their demand for network resources should be when they are informed about the resource implications (costs) of their actions. Kelly et al. present an optimisation framework in which users’ utilities are concave functions of the attained data transfer rate (throughput) and the aggregate utility is maximised when resources are allocated according to a weighted proportional fairness criterion. Users adapt their transmission rate based on received feedback (in the form of congestion marks) and their individual willingness to pay. The approach relies on the fact that the different levels of congestion can be reflected back to the users. However, this type of feedback requires additional support from the network routers so that they convey information to the users about the levels of congestion which influence the congestion prices and ultimately user responses. There is also an experimental packet-marking scheme for the Internet called Explicit Congestion Notification (ECN) [11] proposed in the Internet Engineering Task Force (IETF) [24] which could be used as the means of conveying this information. Nevertheless, given the size of the network and past evidence, algorithms which require even modest modifications in the routers usually turn out to be unsuitable for deployment. The motivation behind the work in this article is to demonstrate, using simple model, that service differentiation can be provided without any changes inside the network if the users are simply allowed to select what they consider to be the most appropriate parameters for the algorithm that controls their demand on the network. Under the same conditions (load, capacity) different parameters would provide different resource allocations and we assume that the users have a priori knowledge of the relative differences between parameters. Parameters which are more rewarding, i.e. provide the user with higher resource allocation will be naturally more desirable. Pricing
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
can be used as a mechanism for regulating the demand for these more rewarding parameters. These parameters will be more expensive and user will have to balance individual allocation requirements against the prices and individual budget constraints. In describing a distributed service differentiation model, we assume a minimalistic view of the network; from any given end-point the network is seen as a ‘‘black-box’’ and the users are required to make only binary decisions about the network state (congested or not) than attempting to infer varying levels of congestion. The latter is inherently more complicated and in certain cases it may not be feasible or even required. We also argue that it is more practical if users do not have ‘‘uninhibited access’’ to the congestion control algorithms [15], i.e. the users cannot arbitrarily scale their transmission rates instead they have to choose from a ‘‘menu’’ of control behaviours. This is inline with TCP’s window-based congestion control practice. Window-based control is widely deployed and has a number of advantages over rate-based control; it is easier to implement, controls both the transmission rate and limits the potential damage that can be done to the network due to incorrect estimates through the use of maximum window size. In this spirit is the work by Crowcroft and Oecshlin [7] in which they propose that a chargesensitive TCP (MulTCP) can be implemented if the end-users can alter the congestion control parameters of the protocol. The authors suggest ways in which these parameters could be set so that a TCP achieves the rate of an ensemble of N TCPs. Gevros et al. [13,14] report from simulations and experiments with a prototype implementation of the MulTCP algorithm demonstrating its limitations when the packet loss in the network increases above a certain level and the the TCP behaviour is dominated by idle periods due to the retransmission timeout mechanism. In this paper we address the problem of how to optimally set the AIMD parameters that control TCP’s congestion window at equilibrium and investigate the implications of the parameter choice on the efficiency and fairness of the system.
837
Our model is based on the work by Chiu and Jain [6] in which they demonstrate that among all linear strategies for controlling user demand on the network, the Additive Increase and Multiplicative Decrease (AIMD) strategy leads the system to a fair and efficient operating point regardless of the initial state, the resource capacity and the number of users in the system. We generalise their model by introducing users with heterogeneous linear controls, i.e. users with different AIMD parameters. Our aim is to provide a rationale behind the AIMD parameter choice by studying the effect of different parameters on efficiency, fairness and the oscillating behaviour of the system. The principal optimisation goal is to provide relative differentiation in the resource allocation to different users based on a weighted max–min fair criterion for a given set of weights. Weighted max–min fairness implies that all users with unsatisfied demand and the same weight (i.e. with the same parameters or ‘‘in the same class’’) will be allocated the same amount of network resources, while user allocations in different classes will be proportional to the class-weights. Offering explicit quantitative commitments on the amount of the allocated resource is out of scope of this work and the actual allocations will depend on a number of factors such as the resource capacity, the number of users in different classes, the actual control parameters etc. The model in this paper does not include aspects of strategic user behaviour in the choice of control parameters and the highest resource allocation a user can possibly receive is that received by any other user in the class with the highest weight. So a user’s willingness to pay only affects the decision of using certain control parameters from a predefined set of options. In this respect our approach is different from congestion pricing––where a user can arbitrarily adjust its resource allocation depending on its willingness to pay. Also the game theoretic aspects of the interaction between greedy, uncooperative users are not relevant to this work. Our assumption still is that the users always play by the rules but these rules have been generalized so that different user preferences can now be accommodated. There has been a substantial literature on game-theoretic
838
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
approaches to network resource allocation with uncooperative users and the interested reader is referred to [8,9,16] for some of the earliest pieces of work in this area. The remainder of this paper is organised as follows; Section 2 presents the rest of the related work. In Section 3 we state the assumptions and describe the model, the performance metrics and the generalizations in the case of heterogeneous AIMD controls. Section 4 provides the main results on system periodic behaviour, efficiency and derives the conditions on the AIMD parameters for weighted fair sharing. The issue of convergence time is discussed in Section 5. We support our analysis by presenting results from extensive simulations in Section 6. Finally in Section 7 we summarise the main contributions and discuss open issues.
2. Related work Chiu and Jain [6], use a dynamical system model where users operate homogeneous linear controls for adjusting their demand on the resource (network). They demonstrate that among all linear control strategies that of Additive Increase and Multiplicative Decrease (AIMD) leads the system to a fair and efficient operating point regardless of the initial state, the resource capacity and the number of users in the system. There has been a considerable amount of work in the area of distributed congestion control for the Internet based around the classic AIMD model. The list of references in this Section is not supposed to be exhaustive and the following articles are simply those which are more closely related to our work. Kunniyur and Srikant [21] use a similar to [6] discrete time model in order to study the role of control parameters in ensuring fairness and efficiency in heterogeneous network environments where the users receive independent feedback and where the negative feedback signals may not be due to congestion but due to corruption loss e.g. in wireless environments. Yang and Lam [26] study the generalization of the AIMD algorithm in the context of the Padhye [22] TCP throughput formula focusing on the influence of the AIMD parameters a, b on the
mean TCP sending rate. They address the issue of TCP-friendliness, (where a TCP with alternative AIMD parameters achieves the same mean throughput as the standard TCP (a ¼ 1, b ¼ 0:5) in the same traffic conditions) by examining several ‘‘popular’’ parameter choices. Bansal and Balakrishnan [5] study a class of non-linear algorithms called binomial algorithms in the context of TCP congestion control and TCP friendliness. Binomial algorithms generalise AIMD with non-linear controls. The demand (window size) is increased inversely proportional to a power k of the current demand (result is additive increase when k ¼ 0) and decreased proportional to a power l of the current demand (multiplicative decrease when l ¼ 1). The motivation behind this class of algorithms is to maintain smooth operation at the steady state (equilibrium). Jin et al. [19] propose a novel control algorithm called SIMD (Square Increase/Multiplicative Decrease) which uses history information in the control rules. SIMD uses multiplicative decrease but the idea is to increase demand in proportion to the square of the time elapsed since the last decrease event. The algorithm is evaluated in the context of fairness towards standard TCP (friendliness) and smoothness in the steady state. Also in the context of TCP/AIMD and thus relevant to our work is the recent paper by Akella et al. [3] in which the authors evaluate the impact of greedy end-point behaviour through a game-theoretic analysis of TCP. Each user attempts to maximise its throughput by modifying its AIMD congestion control behaviour. The authors determine the (aE ; bE ) parameters at the Nash equilibrium of this TCP game as well as the impact on network efficiency. They suggest that network mechanisms could be designed in order to offset the advantage gained by aggressive users and ensure ‘‘reasonable fairness’’ at the Nash equilibrium.
3. Framework 3.1. Model We assume a single resource of capacity Xgoal and a population of n users that at time t place
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
demands on the resource described by the vector xðtÞ ¼ ðx1 ðtÞ; . . . ; xn ðtÞÞ, with 0 < xi ðtÞ 6 xmax for i ¼ 1; . . . ; n. The upper limit on individual user demand can be arbitrarily high but individual demands must necessarily be finite. The population of n users generates a total demand n X X ðtÞ ¼ xi ðtÞ: ð1Þ i¼1
Let also vðtÞ ¼ ðv1 ðtÞ; . . . ; vn ðtÞÞ with vi ðtÞ > 0 be the vector of actual resource allocations to the n users. We assume that the users have unsatisfied demands; the elements of these vectors satisfy the inequality vi ðtÞ 6 xi ðtÞ and the total amount of the resourceP capacity allocated to the n users is n V ðtÞ ¼ i¼1 vi ðtÞ. When the allocation to user is limited only by the resource capacity and not by individual demand (i.e. when X ðtÞ P V ðtÞ) the resource is considered a bottleneck for that user. When the total demand is less than the resource capacity (X ðtÞ < Xgoal ) then all individual demands can be satisfied and user demand corresponds to actual allocation vðtÞ ¼ xðtÞ and V ðtÞ ¼ X ðtÞ; such an allocation is called feasible allocation. The basic assumptions of the model are summarised below: • Stateless resource. The resource is stateless and memoryless and cannot sense individual user demands but only the total demand. • Binary feedback. The resource provides binary feedback based on the current total demand and its capacity. • Synchronous operation. The feedback and control loop for all users is synchronous; at any given time the feedback is the same for all users so that they know when to increase and when to decrease their demands. The feedback is delivered instantaneously to all users and only after the control on behalf of the users has taken place is new feedback being generated. • Distributedness. Users are unaware of the individual demands, the number of users, the total demand or the capacity of the resource. The only information available about the system state is the binary feedback provided by the resource and received simultaneously by all users.
839
The system operates in discrete-time; all actions take place at discrete points in time and their effect is observed in the next time step. At time t the state of the system is described by the vector of user demands xðtÞ and it corresponds to a point in the n-dimensional space. The resource observes only the total demand X ðtÞ and in the next step (t þ 1) it sends to all users a binary feedback signal yðt þ 1Þ whose value indicates whether the capacity has been exceed or not so that the users adjust their demands accordingly in the next time step. The feedback function is given by 0; if X ðtÞ 6 Xgoal ; yðt þ 1Þ ¼ ð2Þ 1; if X ðtÞ > Xgoal : The users know the semantics of the binary feedback signal (e.g. 1 ¼ overload, 0 ¼ underload) so they can determine the status of the resource and react appropriately either by increasing or decreasing their demands. All users adjust their demands in the next time step xi ðt þ 1Þ based on a linear function of their current demand xi ðtÞ, using appropriate parameters for the increase and decrease phases. The linear function is of the form if yðtÞ ¼ 0; aiI þ biI xi ðtÞ; xi ðt þ 1Þ ¼ ð3Þ aiD þ biD xi ðtÞ; if yðtÞ ¼ 1: The increase/decrease parameters in Eq. (3) ðaiI ; biI ; aiD ; biD Þ determine the performance and the overall behaviour of the system. The properties that are of particular interest to us are; efficiency, fairness, stability and the speed of convergence (responsiveness). Below we provide quantitative measures for these system properties and we refer collectively to these measures as the system’s performance metrics. 3.2. Efficiency Efficiency (E) (or Utilisation) describes how close to capacity is the usage of the resource, it is computed as 1; if X ðtÞ > Xgoal ; EðtÞ ¼ ð4Þ V ðtÞ=Xgoal ; if X ðtÞ 6 Xgoal : When the total offered load exceeds the resource capacity then the allocations vector vðtÞ depends on the resource allocation policy. Such allocations
840
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
are also called Pareto-efficient; no resource capacity is ‘‘wasted’’, there is no allocation that can be increased without decreasing the allocation of another user. We assume that when the total demand exceeds the resource capacity the resource is allocated according to a proportional to demand allocation policy. According to this policy 8 if X ðtÞ 6 Xgoal ; < xi ðtÞ; vi ðtÞ ¼ xi ðtÞ ð5Þ Xgoal ; if X ðtÞ > Xgoal : : X ðtÞ This how First In First Out (FIFO) queuing systems work and has the potential advantage that the resource is not required to have knowledge of individual user demands or even distinguish between individual users. Although it does not offer the right incentives for sensible use of the resource, by implicitly rewarding greed [25], it leads to an elegant and simple design for the control of the resource allocation; provided that individual user demand can be regulated. 3.3. Fairness It is often desirable to be able to assign different weights to different user demands because not all users are considered equally important; in this case greater weight implies greater rights to the usage of the resource. Let w ¼ ðw1 ; . . . ; wn Þ be a vector of weights so that each user Ii is associated with a constant weight wi which reflects the relative importance of Ii ’s demand xi . The weights can always be normalised so that the largest (or the smallest) weight is one. The relative importance should be reflected as accurately as possible in the resulting resource allocation. Fairness (FðtÞ) reflects how close is the ratio of user allocations vi =vj to the ratio of their respective weights wi =wj . In the case where all users have unsatisfied demands fairness is measured by an appropriate function called the fairness index [18]. When all users have the same weight (wi ¼ 1) then the fairness index of an allocation vðtÞ ¼ ðv1 ðtÞ; . . . ; vn ðtÞÞ is given by
Pn FðtÞ ¼
2 i¼1 vi ðtÞ Pn 2 n i¼1 vi ðtÞ
:
ð6Þ
However, when different users have different weights, then the weighted allocations fv1 ðtÞ=w1 ; . . . ; vn ðtÞ=wn g should be used instead Pn 2 i¼1 vi ðtÞ=wi FðtÞ ¼ Pn : ð7Þ 2 n i¼1 ðvi ðtÞ=wi Þ When the weighted allocations are equal then the index is one and the allocation vector v is said to be weighted fair. From Eq. (7) we have that for all i, j vi vj ¼ () FðtÞ ¼ 1: ð8Þ wi wj In the definition of the weighted fairness index (Eq. (7)) the allocation vi ðtÞ can be replaced by the corresponding demand xi ðtÞ without changing the value of the index and irrespective of the system state (whether this is underload or overload). When the system is at underload (X ðtÞ 6 Xgoal ) then all the demands can be satisfied, thus vi ðtÞ ¼ xi (Eq. (5)). While at overload (X ðtÞ > Xgoal ) we have made the assumption that allocation is proportional to demand; vi ðtÞ ¼ ðxi ðtÞ=X ðtÞÞXgoal and the fairness index is constructed so that it remains unchanged if all allocations are multiplied by the same factor. Thus we can write Pn 2 xi ðtÞ=wi FðtÞ ¼ Pni¼1 : ð9Þ n i¼1 ðxi ðtÞ=wi Þ2 In the simplest case a system with two users I ¼ fI1 ; I2 g has an intuitive two-dimensional geometric representation. In Fig. 1 the horizontal axis corresponds to I1 ’s demand (x1 ) and the vertical axis to I2 ’s demand (x2 ). The optimal load level of the resource is considered to be its capacity Xgoal defined by the line x2 ¼ Xgoal x1 . The capacity is used to determine the feedback when compared with the total demand X ðtÞ of the users. The users are not aware of the resource capacity Xgoal or the number of users in the system n. All the points on the 45-degree line passing through the origin x1 ¼ x2 are fair allocations when w1 ¼ w2 and we call this line, the fairness (or equi-fairness) line. Different weights change the slope of the fairness
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
Xgoal
Fairness line
Ef fic
user2 demand x2
Weighted Fairness line
ie nc y lin e State-1 b1
b2 b1=b2
0
‘‘proximity’’ to that point from any other point in the state space can be measured by the Euclidean distance (DðtÞ) between the two points. For the ndimensional space and a target operating point with coordinates (x1 ; . . . ; xn ) the distance from optimality is given by sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi n X 2 ð11Þ ðxi ðtÞ xi Þ : DðtÞ ¼ i¼1
Optimal point
State-2
841
Xgoal
user1 demand: x1
Fig. 1. Resource allocation in the two-dimensional space.
line so that the line x2 ¼ ðw2 =w1 Þx1 is then referred to as weighted fairness line. Without loss of generality we can assume that the smallest weight is w1 , then since the weights are normalised, in the two-user case the relative importance of user demands can be described by a single number, the proportionality factor N , defined as w2 N¼ : ð10Þ w1 The point where the weighted fairness line and the efficiency line intersect is the optimal operating point of the system. The goal of a successful distributed control scheme should be to drive the system to the optimal point and keep it there. 3.4. Distance from optimality The notion of optimality with respect to any of the performance metrics described above (fairness or efficiency) corresponds to an area in the state space and the intersection of these areas determine whether all the performance metrics can be simultaneously optimised. In Fig. 1 the intersection of the efficiency line with the weighted fairness line (for a given factor N ) in the two-dimensional space is the optimal point of the system and the
In tracking problems, in which the control objective is to bring and maintain the system at a target state, the distance from the target is often a useful performance metric because certain system solutions (also called ‘‘trajectories’’) may momentarily ‘‘hit’’ the target but they do not remain in the vicinity of the target afterwards. The distance from optimality can be a useful metric because the states (points) in a certain areas of the state space may not be strictly optimal with respect to either efficiency or fairness but they may bring the system ‘‘closer’’ to the target state. Thus the distance from optimality is an indicator of how desirable is a trade off between efficiency and fairness. 3.5. Heterogeneous linear controls In [6] the authors study a system with homogeneous linear controls i.e. a system in which all users implement the same linear control algorithm. The general form of the algorithm used by user-i (i ¼ 1; . . . ; n) for controlling its demand on the network is if yðtÞ ¼ 0; aI þ bI xi ðtÞ; xi ðt þ 1Þ ¼ ð12Þ aD þ bD xi ðtÞ; if yðtÞ ¼ 1: The authors demonstrate that among all possible linear controls, that of Additive Increase/Multiplicative Decrease (AIMD) causes the system to converge in finite time to the optimal point with respect to efficiency and fairness regardless of its initial state. Further they observe that ‘‘the linear decrease policy should be multiplicative and the linear increase policy should have an additive component and optionally it may have a multiplicative component (bI ) with the coefficient no less than one’’. Moreover for optimal convergence to
842
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
fairness, smaller bI results in quicker convergence, so the optimal value of bI is its minimum value; one and the constraints on the coefficients finally become and
aD ¼ 0; 0 6 bD < 1:
We now look into the general case where there are n users with heterogeneous controls and the demand of user-i, (i ¼ 1; . . . ; n) is given by ai;I þ bi;I xi ðtÞ; if yðtÞ ¼ 0; xi ðt þ 1Þ ¼ ð15Þ ai;D þ bi;D xi ðtÞ if yðtÞ ¼ 1: Heterogeneous linear controls are interesting because they can be used as a method for achieving more general resource allocation objectives. In particular we require the system to be stable, efficient and weighted fair (for a given set of weights). These optimisation objectives restrict the values of the parameters (ai;I ; bi;I ; ai;D ; bi;D ) in the above control strategies. In the limiting case where for all i, j ai;D ¼ aj;D ;
bi;I ¼ bj;I ;
bi;D ¼ bj;D ; ð16Þ
we have a homogeneous system and since we would like it to remain optimal, therefore the following should hold for all i: ai;I > 0; bi;I ¼ 1
and
...
x_1, 1
x_1,n1
class 1
resource
ð13Þ
We simplify the notation by setting aI a and bD b and the control strategy in the homogeneous case becomes if yðtÞ ¼ 0; a þ xi ðtÞ; a > 0; xi ðt þ 1Þ ¼ bxi ðtÞ; 0 6 b < 1; if yðtÞ ¼ 1: ð14Þ
ai;I ¼ aj;I ;
(a_1,b_1)
ai;D ¼ 0; 0 6 bi;D < 1
...
aI > 0; bI ¼ 1
users
x_i Xgoal (a_K,b_K )
... x_K,1
x_K,nK
class K
feedback (y)
Fig. 2. A distributed control system with K classes of control algorithms.
Assuming there are K (with 1 6 K 6 n) distinct (ai ; bi ) pairs this essentially creates K classes of users with populations fn1 ; . . . ; nK g (see Fig. 2) so that K X
ni ¼ n:
ð19Þ
i¼1
when K ¼ 1 we have the homogeneous system and when K ¼ n we have a system where there are no two users with the same control function. All users receive the same feedback signal (Eq. (2)) regardless of the class they belong to but as it will be discussed later in the paper the number of users in different classes influences the performance properties of the system. We assume that ni ’s are exogenous parameters and we do not attempt to impose any restrictions on them, we are primarily concerned with the relation between the ai ’s and the bi ’s so that the optimisation criteria are met.
ð17Þ and the control function of user i now has the general form if yðtÞ ¼ 0; ai þ xi ðtÞ; ai > 0; xi ðt þ 1Þ ¼ bi xi ðtÞ; 0 6 bi < 1; if yðtÞ ¼ 1: ð18Þ So each control function xi ð Þ is completely characterized by the pair (ai ; bi ) of the additive increase and the multiplicative decrease parameters.
4. Periodicity and weighted fair sharing In this section we study the properties of the feedback control system with n users described by the following n þ 1 equations The common feedback equation (Eq. (2)) is re-written here for ease of reference Pn 1; if Pi¼1 xi ðtÞ > Xgoal ; yðt þ 1Þ ¼ ð20Þ n 0; if i¼1 xi ðtÞ 6 Xgoal
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
and the demand update equations for i ¼ 1; . . . ; n ai þ xi ðtÞ; ai > 0; if yðtÞ ¼ 0; xi ðt þ 1Þ ¼ bi xi ðtÞ; 0 6 bi < 1; if yðtÞ ¼ 1: The demand equations above can be re-written as xi ðt þ 1Þ ¼ ½1 yðtÞ½ai þ xi ðtÞ þ yðtÞ½bi xi ðtÞ; which gives xi ðt þ 1Þ ¼ ½bi xi ðtÞ xi ðtÞ ai yðtÞ þ ½ai þ xi ðtÞ: ð21Þ 4.1. Systems of difference equations with discontinuous right-hand sides The system of difference equations (‘‘dynamical system’’) (20) and (21) cannot be analysed using standard control theory techniques because of the discontinuity of the feedback function yðtÞ along the surface n X xi Xgoal ¼ 0: ð22Þ i¼1
Fillipov [10], proposed a methodology for extending the notion of a solution to a system of differential equations with discontinuous right-hand sides so that a solution to such a system is ‘‘continued in a completely determined way along the discontinuity curve (or surface)’’. The interpretation given to such a solution is that it is ‘‘a good approximation to the solution of an equation with continuous right-hand side if the right-hand side changes sharply in some very narrow strip and relatively mildly outside this strip’’. According to this notion of a solution if we can construct a region out of which no system trajectory can ever leave then the solution is periodic [10, p. 222]. A rigorous proof of this result is given in [10] here we simply use it in order to prove that the system is periodic after we have demonstrated that such a region exists in the n-dimensional space. The stability of the solution to the system of equations (20) and (21) is implied by the stronger result of periodicity.
843
4.2. Periodicity In order to simplify the algebra we assume a resource of unit capacity, Xgoal ¼ 1 and additive increase parameters ai normalised to the resource capacity. Let bmax and bmin be the maximum and the minimum of the multiplicative decrease parameters bi respectively bmin minfbi g;
ð23Þ
bmax maxfbi g;
ð24Þ
so bmin corresponds to the most responsive user while bmax to the least responsive one with respect to their reaction upon the reception of feedback indicating that the capacity of the resource has been exceeded. We also define r to be the total demand increase in the unit time r
n X
ai :
ð25Þ
i¼1
We assume that r 6 1 so that at least one additive increase step is required from an initial state with zero total demand (X ð0Þ ¼ 0) until the resource capacity is exceeded. This is the most general case since the users can improve their allocations by increasing their demands, in the opposite case the system would be congested. Next we prove that there is an area of the state space such that after a system trajectory enters this area it remains there ever after; this is a sufficient condition for stability, moreover using the results by Fillipov this is also sufficient condition for the solution to be periodic. The actual dimensions of this area of the state space are determined by the system parameters. A point in the n-dimensional state space is a n-vector xðtÞ ¼ ðx1 ðtÞ; . . . ; xn ðtÞÞ and X ðtÞ ¼ Pn x ðtÞ is the total demand at time t. We define i¼1 i the following regions xðtÞ 2 A () 1 r 6 X ðtÞ < 1; 1 region B xðtÞ 2 B () 1 6 X ðtÞ < ; bmax region C xðtÞ 2 C () 0 6 X ðtÞ < 1 r; 1 region D xðtÞ 2 D () 6 X ðtÞ 6 nxmax : bmax region A
844
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
We study possible system transitions (shown in Fig. 4) and derive sufficient conditions for the system state xðtÞ to alternate between regions A and B which are adjacent to the discontinuity surface. Fig. 3 shows a special case of a system with two users which implies a two-dimensional state space (‘‘xy-plane’’). We can now prove the following lemmas. Lemma 1. If xðtÞ 2 A then xðt þ 1Þ is an overload state either in region B or D, in particular if r 6 1=bmax 1 then xðt þ 1Þ 2 B. Lemma 2. If xðtÞ 2 B then xðt þ 1Þ is an underload state either in region A or C, in particular if r P 1 bmin then xðt þ 1Þ 2 A.
Lemma 4. If xðtÞ 2 D then there exists integer sMD P 1 so that after sMD multiplicative decrease steps xðt þ sMD Þ 2 B. The proofs of Lemmas 1–4 are given in the Appendix A. Due to the upper bounds imposed on individual user demands the system state is always in the area of the state space defined by the four regions A, B, C and D. We use this property and the result by Fillipov [10] in order to prove the following theorem. Theorem 1. The system described by Eqs. (20) and (21) is periodic. Proof. The proof is given in Appendix A.
Lemma 3. If xðtÞ 2 C then there exists integer sAI P 1 so that after sAI additive increase steps xðt þ sAI Þ 2 A.
Fig. 3. System operating regions and possible transitions.
h
From Lemmas 1–4 follows that the system may have more than one state at overload as well as at underload but from the transitions it is obvious that the periodic cycle will always have at least one state at either side of the efficiency line (or surface). The system design goal is to have the minimum number of overload states per cycle while maintaining utilisation (efficiency) as high as possible. Thus it is important for the system to stay in the strip around the efficiency line and the strip to be made as narrow as possible. Making the strip defined by regions A and B narrow requires a small value for r (relative to Xgoal ) or a value of bmax close to one (its maximum value). We show later on in Section 5 that such values of r and bmax make the convergence process slow so these objectives have to be balanced. We can also prove the following theorem which gives sufficient conditions for the system to oscillate between regions A and B at alternate time steps thus having a period T ¼ 2. Theorem 2. For the system described by Eqs. (20) and (21), if
region C
region A underload
region B overload
Fig. 4. Possible system transitions.
region D
ð1 bmin ÞXgoal 6
n X i¼1
ai <
1 bmax
1 Xgoal ;
then the system is periodic with period T ¼ 2.
ð26Þ
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
Proof. Immediately Pnfollows by combining the conditions on r ¼ i¼1 ai provided by Lemmas 1 and 2. h For the general class of systems with only one overload state in their cycle we can also prove the following. Theorem 3. Among the systems described by Eqs. (20) and (21) which have exactly one overload state in their periodic cycle, the systems with period T ¼ 2 are on average more efficient than systems with period T 0 > 2.
Table 1 Periodicity Time
Demand (xi )
Feedback (y)
t. .. ..t þ sI . t þ sI þ sD
x. i ðtÞ .. x. i ðtÞ þ sI ai .. bsi D xi ðt þ sI Þ
0. incr .. 1. decr .. 1 decr
Hence xi ðtÞ ¼ bsi D ðxi ðtÞ þ sI ai Þ from which follows that the state of minimum total demand in the cycle is given by xi ðtÞ ¼
Proof. The proof is given in Appendix A.
h
We can now derive the conditions on the AIMD parameter so that for a given set of weights wi (i ¼ 1; . . . ; n) user allocations are weighted fair. Theorem 4. The system described by Eqs. (20) and (21) in which user i is associated with weight wi , converges to weighted fairness so that in finite time xi ðtÞ wi ¼ xj ðtÞ wj
ð27Þ
if and only if and for all i; j ¼ 1; . . . ; n the AIMD parameters satisfy ai w i ¼ and bi ¼ bj : ð28Þ aj wj
Proof. From Theorem 1 we know that the system described by Eqs. (20) and (21) is periodic with period T thus after some finite convergence time we have xðt þ T Þ ¼ xðtÞ for some T P 2. Suppose the system cycle has sI P 1 additive increase steps followed by sD P 1 multiplicative decrease steps. Without loss of generality we can assume that xðt 1Þ is an overload state in its cycle while the next state xðtÞ is an underload state (the point of lowest total demand). Table 1 shows the evolution of the demand of user-i in the next period. We have xi ðt þ T Þ ¼ xi ðt þ sI þ sD Þ ¼ xi ðtÞ; xi ðt þ sI þ sD Þ ¼ bsi D ðxi ðtÞ þ sI ai Þ:
845
bsi D sI ai ; 1 bsi D
ð29Þ
while the state of maximum total demand in the cycle is given s I ai : ð30Þ xi ðt þ sI Þ ¼ 1 bsi D For a given a set of weights wi (i ¼ 1; . . . ; n) such that user i is logically associated with weight wi , the system is weighted fair if and only if (after some initial convergence time) the demands of the users are proportional to their corresponding weights. This implies that for all t and for all i, j we have xi ðtÞ wi ¼ : xj ðtÞ wj
ð31Þ
This should also hold for the extreme states in the cycle of user demands. We can then use the expressions obtained for the extreme states in the cycle to derive the conditions between the AIMD parameters and the weights. From Eq. (31) follows: bsj D sI aj bsi D sI ai w ¼ wi j 1 bsi D 1 bsj D minimum total demand state; s I ai s I ai wj ¼ wi 1 bsi D 1 bsi D maximum total demand state: The above relationships can only be simultaneously satisfied when ai wi ¼ and bi ¼ bj : ð32Þ aj wj
846
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
Thus we have proved that Eq. (28) is a necessary condition for the system to be weighted fair. Conversely, assuming Eq. (28) holds, this is equivalent to the extreme states satisfying xi ðtÞ wi ¼ : xj ðtÞ wj Assuming that at t the system is in the minimum total demand state, it easily follows that all the states reached by additive increase steps are weighted fair, i.e. xi ðt þ kÞ xi ðtÞ þ kai wi ¼ ¼ ; xj ðt þ kÞ xj ðtÞ þ kaj wj where 0 6 k 6 sI . Similarly if at t the system is at the maximum total demand state, using (bi ¼ bj ) it easily follows that all the states reached by multiplicative decrease steps are also weighted fair xi ðt þ kÞ bki xi ðtÞ wi ¼ ¼ ; xj ðt þ kÞ bkj xj ðtÞ wj where 0 6 k 6 sD .
h
When the parameters satisfy Eq. (28) the system is said to be weighted fair. We note that in order to have strictly weighted fair allocations (after an initial convergence time) all users should have the same multiplicative decrease parameter b. This condition can be seen as rather restrictive since certain users may require ‘‘smoother’’ decrease in their demands. In case there exist different b’s in the system then not all the states in the periodic cycle will be weighted fair. Nevertheless, it is possible that the states are sufficiently close to the optimal operating point (see Fig. 1). In Section 6 we demonstrate that there are indeed systems with different b’s and small distance from the optimal operating point. So, if the notion of optimality is extended from a single optimal point to an area in the neighborhood of the optimal point then different multiplicative parameters can be acceptable.
5. Convergence time The convergence time is most often defined with respect to the time it takes for the resource to reach
a certain level of efficiency. For instance this can be the time it takes the total demand in the system X ðtÞ to ‘‘hit’’ the resource capacity Xgoal for the first time. Assuming that at the initial state (t ¼ 0) the total demand in the system is X ð0Þ 6 Xgoal then a finite number of s P 1 successive additive increase steps is required before the resource capacity is exceeded for the first time, then X ðs 1Þ ¼ X ð0Þ þ ðs 1Þr 6 Xgoal ; X ðsÞ ¼ X ð0Þ þ sr P Xgoal and hence the convergence time (with respect to efficiency) is Xgoal X ð0Þ sconv ¼ : ð33Þ r According to this definition, the convergence time from any underload state cannot exceed bXgoal =rc when X ð0Þ ¼ 0. However it is possible for the weighted fairness index (Eq. (9)) to be low despite the fact that the total demand in the system has reached the resource capacity. The weighted fairness index is by construction dimensionless, independent of scale, bounded between zero and one and continuous so that any slight change in an allocation changes the index [18]. Also an allocation with a weighted fairness index of 0.99 implies that the resource has been allocated in a weighted fair manner to the 99% of the total population. Because of these properties of the index we can select a sufficiently high value for deciding whether convergence with respect to fairness has been accomplished. Given a target value of the weighted fairness index (Fgoal ), and AIMD control parameters that satisfy the conditions of Eq. (28), the system convergence time (with respect to fairness) can be computed using the values of the Weighted Fairness Index at key points in the system’s trajectory. Assume that at time t0 the system is in state xðt0 Þ with total demand X ðt0 Þ < Xgoal . Let s1 be the number of successive additive increase steps required for the total demand to exceed the resource capacity for the first time (see Fig. 5). At time t0 þ s1 the demand of user-i will be xi ðt0 þ s1 Þ ¼ xi ðt0 Þ þ s1 ai
ð34Þ
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
demand x2(t)
tm ¼ tm1 þ sm þ 1;
weighted fairness line
t_v-1 + τ_ν
xi ðtm1 þ sm Þ ¼ xi ðtm1 Þ þ sm ai ; xi ðtm Þ ¼ bxi ðtm1 þ sm Þ;
t1 + τ 2
.. .
X ðtm Þ ¼ bðX ðtm1 Þ þ sm rÞ:
t2 t1 t0
initial state
0
X_goal demand x1(t)
Fig. 5. Convergence process with respect to fairness.
and the total demand X ðt0 þ s1 Þ ¼ X ðt0 Þ þ s1 r > Xgoal ;
ð35Þ
where r is the total demand increase in the unit time, given by Eq. (25). Solving for s1 and rounding up to the next greater integer we obtain
Xgoal X ðt0 Þ s1 ¼ : ð36Þ r In the next time step t1 ¼ t0 þ s1 þ 1 all users decrease their demands using the same multiplicative decrease parameter b, thus the fairness index does not change F ðt1 Þ ¼ F ðt1 1Þ ¼ F ðt0 þ s1 Þ
ð40Þ
which gives
t0 +τ1
t_v
ð37Þ
and it can be computed because xi ðt0 þ s1 Þ are known from Eq. (34). Assuming that F ðt1 Þ < Fgoal i.e. the current value of the weighted fairness index is not sufficiently high compared to the target value Fgoal , the system will move into a new (the second) additive increase phase. Suppose the new additive increase phase involves s2 successive increase steps from the state where xi ðt1 Þ ¼ bxi ðt0 þ s1 Þ:
ð39Þ
where
Xgoal X ðtm1 Þ sm ¼ ; r
X_goal
847
ð38Þ
Thus before the mth additive increase phase we have
ð41Þ
We repeat this process until the fairness index exceeds the target value for the first time. So given that at time t0 , xi ðt0 Þ for i ¼ 1; . . . ; n are known we can compute X ðt0 Þ and F ðt0 Þ (Eq. (9)) and if F ðt0 Þ < Fgoal the convergence time tm can be computed by iteration using the following difference equations:
Xgoal X ðtm1 Þ tm ¼ tm1 þ þ 1; r
Xgoal X ðtm1 Þ ; sm ¼ r ð42Þ x ðt Þ ¼ bx ðt þ s Þ; i
m
i
m1
m
X ðtm Þ ¼ bðX ðtm1 Þ þ sm rÞ; Pn 2 xi ðtÞ=ai F ðtm Þ ¼ Pni¼1 ; n i¼1 ðxi ðtÞ=ai Þ2 until F ðtm Þ P Fgoal . Theorem 4 allows us to replace wi by ai in the computation of the weighted fairness index. Although the method requires the computation of all intermediate demand vectors at the overload states (and the states after the multiplicative decrease), it is faster compared to running the actual simulation especially when the total demand increase per time step r is relatively small compared to the resource capacity. The convergence time is a decreasing function of the per step total demand increase (r).
6. Simulations We verified the results from our analysis by simulating systems with different numbers of classes, weights and initial states. Here we
848
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
show simulations of systems with two classes (K ¼ 2) because in this case the trajectories have intuitive geometric representation in two dimensions. In the simulations that follow the resource capacity is Xgoal ¼ 100, the weights w2 =w1 ¼ N ¼ 2 the AIMD parameters of the base class (minimum weight) are constant ða1 ; b1 Þ ¼ ð1; 0:5Þ and the initial state of the system ðx1 ð0Þ; x2 ð0ÞÞ ¼ ð25; 2Þ. The initial state is deliberately biased against the user with larger weight in order to highlight the convergence process. We show the following types of simulations: • first we simulate a minimal system with two users (K ¼ 2, n1 ¼ 1, n2 ¼ 1), examining the effects of different AIMD parameters on system trajectories and the performance metrics over time. • Next we run simulations sampling across the (a2 ; b2 ) parameter space while keeping (a1 ; b1 ) constant across different simulations. We use the mean value of each performance metric to summarise system performance in each simulation and the standard deviation as a measure of the variability around the mean. • We consider the effect of different class populations (nj ) on the performance of a weighted fair system (Eq. (28)). • Finally we address the potential trade offs between the class populations and the available weights (which determine the additive increase parameters) subject to the constraint of maintaining the system with period T ¼ 2. 6.1. A system with two users: trajectories and performance In this first set of simulations there are two user I1 and I2 and I1 always has AIMD control parameters ða1 ; b1 Þ ¼ ð1; 0:5Þ while I2 ’s parameters (a2 ; b2 ) are selected so that the resulting allocations are weighted fair, assuming that the weights are w1 ¼ 1 and w2 ¼ 2. We demonstrate how the different combinations of AIMD parameter pairs affect the system’s performance metrics. We simulate three systems so that the AIMD parameters of user I2 in each one of these are
• ða2 ; b2 Þ ¼ ða1 ; 1 b1 =N Þ, we attempt to approach the target operating point by having I2 reduce its demand less drastically upon overload. • ða2 ; b2 Þ ¼ ðNa1 ; b1 Þ in this case the optimal point is approached by increasing I2 ’s demand in a proportionally aggressive manner but without changing the multiplicative decrease parameter. • ða2 ; b2 Þ ¼ ðNa1 ; 1 b1 =N Þ, finally we bias both AIMD parameters. Figs. 6 and 7 show the trajectories for three different systems and the evolution of the performance metrics in each system, respectively. In Fig. 6 we use the two-dimensional space representation (described in Fig. 1) in order to show the system trajectory in each case. The trajectories are sequences of states which correspond only to feasible allocations (i.e. xi ðtÞ ¼ vi ðtÞ). We observe that convergence to a strictly weighted fair state is achieved only when ða2 ; b2 Þ ¼ ðNa1 ; b1 Þ ¼ ð2; 0:5Þ as our analysis suggested. In the other two cases the system diverges from the weighted fairness line. Fig. 7 shows the evolution of the performance metrics over time. There are three graphs one for efficiency, one for fairness and one for the distance from the optimal operating point. For each performance metric we plotted three curves which correspond to the three systems outlined above whose trajectories are shown in Fig. 6. In Fig. 7(a) system efficiency exhibits a ‘‘sawtooth’’ behaviour; in all cases it approaches 100% utilisation linearly and once it reaches that point in the next step it deviates from it (depending on b2 ) and repeats the cycle. We note that convergence to efficiency is faster for a more aggressive additive increase parameter a2 . Fig. 7(b) shows that the only case in which the system converges to weighted fairness and never deviates from it is when ða2 ; b2 Þ ¼ ðNa1 ; b1 Þ ¼ ð2; 0:5Þ as the analysis suggested. In the two other cases, when ða2 ; b2 Þ ¼ ð1; 0:75Þ the system periodically ‘‘hits’’ weighted fairness and then deviates from it or when ða2 ; b2 Þ ¼ ð2; 0:75Þ the system first hits the weighted fairness line and then considerably diverges from it.
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858 1.2
user1 (a1,b1) vs. user2 (a1, 1-b1/N) : (a1,b1) = (1,0.5) N=2
100
849
1 Efficiency
allocation x2(t)
80
60
0.8 0.6 0.4
40
0.2 20 0 0 0
0
20
(a)
40 60 allocation x1(t)
user1 (a1,b1) vs. user2 (Na1, b1)
100
40
60
80 time (t)
100
120
140
(a2,b2) = (2,0.75) full utilisation
1.2
: (a1,b1) = (1,0.5) N=2
80 allocation x2(t)
(a)
Weighted Fairness Index (N=2)
100
80
20
(a2,b2) = (1,0.75) (a2,b2) = (2,0.50)
60
40
1 0.8 0.6 0.4 0.2
20 0 0 0
0
20
(b)
40 60 allocation x1(t)
80
100
Distance from optimal point
60
40
80 time (t)
100
120
140
(a2,b2) = (2,0.75) weighted fairness line
60 50 40 30 20
0 0
(c)
60
10
20
0
40
70
80 allocation x2(t)
(b)
user1 (a1,b1) vs. user2 (Na1, 1-b1/N) : (a1,b1) = (1,0.5) N=2
100
20
(a2,b2) = (1,0.75) (a2,b2) = (2,0.50)
0
20
40 60 allocation x1(t)
80
100
Fig. 6. System trajectories for different combinations of AIMD controls (showing feasible allocations only): (a) homogeneous AI, heterogeneous MD parameters; (b) proportional AI, homogeneous MD parameters and (c) proportional AI, heterogeneous MD parameters.
System performance may vary considerably depending on the relative values of the AIMD
(c)
20
(a2,b2) = (1,0.75)
40
60
80 time (t) (a2,b2) = (2,0.50)
100
120
140
(a2,b2) = (2,0.75)
Fig. 7. System performance metrics: (a) efficiency; (b) fairness and (c) distance from optimality.
control parameters. Certain parameter combinations may optimise system efficiency while others may provide better fairness properties. Fig. 7(c) shows how the distance from optimality evolves over time. The distance from optimality is a metric
850
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
that accounts for both efficiency and fairness since it is calculated with respect to the optimal operating point (state) of the system. For certain parameter combinations the system comes on average closer (smaller distance) to the target operating point. Table 2 shows the mean and the standard deviation of the performance metrics for the systems in Fig. 6. The second system is optimal for fairness; after an initial convergence time allocations are always weighted fair. However, it has the lowest mean efficiency from all three. The first system is best with respect to the mean distance, which means that it stays on average ‘‘closer’’ to the optimal operating point, deviates slightly less than the second and keeps the mean resource utilisation higher at the price of a slight decrease in the mean fairness value. The third system is more predictable in terms of performance as the deviation from the optimal operating point suggests, and gives the highest efficiency of all at the expense of the lowest average weighted fairness index. 6.2. Performance in the (a2 , b2 ) space We have seen already that different combinations of AIMD control parameters result in systems with quite different convergence and performance properties. However investigating the interactions between two pairs of AIMD controls (the simplest case) a four-dimensional parameter space is required. Such a parameter space does not have an easy geometric representation in two dimensions so we keep as a constant reference point I1 ’s parameter pair ða1 ; b1 Þ ¼ ð1; 0:5Þ and vary I2 ’s control parameters (a2 ; b2 ) sampling across the whole range of permitted b2 values and for a2 values up to 4% of the resource capacity (Xgoal ). Using sufficiently small granularity we run one simulation for every point in the (a2 ; b2 ) parameter space and calculate the mean and the
standard deviation of the performance metrics. By definition the standard deviation is in the same unit as the mean and this allows us to compare them in order to determine whether there is significant variation. The duration of each simulation was sufficiently long (2000 discrete time steps) for the system to reach the equilibrium state and stay there sufficiently long. The results from the simulations are shown in Fig. 8. Efficiency is higher for higher values of the multiplicative decrease parameter b2 . As b2 gets closer to 1, (user I2 becomes increasingly unresponsive), the resource tends to be almost fully utilised at all times. The average efficiency remains relatively unchanged for a given multiplicative decrease parameter (b2 ) regardless from the choice of the additive increase parameter (a2 ), although this holds only for those a2 values shown here which are only a small fraction of the resource capacity (maximum a2 is 4 when Xgoal ¼ 100). We note that the standard deviation (not shown in the figures) follows a similar trend for a given b2 when moving along the a2 -axis. Lower standard deviation for efficiency means that the load on the resource is less variable. Obviously the more unresponsive I2 is, the lower the standard deviation, because the load effectively remains unchanged when the resource operates always close to capacity. Although large b2 values (for b1 ¼ 0:5) lead to higher efficiency and smaller variability, they have a bad effect on fairness. Fig. 8(b) shows that large b2 values result in the lowest average fairness index values (0.5), which means that I2 has exclusive access to the resource. The standard deviation of fairness (not shown) is again relatively small, ranging from a minimum of around 2% to maximum of around 14% with most of the values being around 10%, so the mean is a sufficient criterion for evaluating fairness. Moving in this region of the (a2 ; b2 ) space, while maintaining high average fairness requires an in-
Table 2 Performance metrics (mean/S.D.) (a2 ; b2 )
Efficiency
Fairness
Distance
(a1 ; 1 b1 =N ) (Na1 ; b1 ) (Na1 ; 1 b1 =N )
0.836/0.118 0.76/0.158 0.844/0.107
0.976/0.065 0.992/0.047 0.861/0.050
13.07/10.4 18.40/12.0 20.01/4.66
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858 E[effic]
851 Fairness
0.95
Convergence Speed
0.9 0.85 0.8
0
0.75 0.7 0.65
1
a2
0.6
b2
4%
oa
0.5 1 1.5 2 a2
2.5 3 3.5
(a)
4 0
0.1
0.2
0.4
0.3
0.5
0.6
0.7
0.8
0.9
b2
avg(fairness) 1 0.95 0.9 0.85 0.8 0.75 0.7 0.65 0.6 0.55 0.5
0 0.5 1 1.5 2 a2
2.5 3 3.5
(b)
0.1
4
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
b2
avg(distance) 80 70 60 50 40 30 20 10
0 0.5 1 1.5 a2
2 2.5 3 3.5
(c)
Efficiency
0
Xg
0
4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
b2
Fig. 8. Mean values of the performance metrics in the (a2 ; b2 ) parameter space: (a) efficiency; (b) fairness and (c) distance from optimality.
crease in b2 to be in a sense ‘‘offset’’ by a decrease in a2 and vice versa. This results in an area of high fairness on the diagonal of the (a2 ; b2 ) region
l
Fig. 9. Performance optimisation in the (a2 ; b2 ) parameter space with ða1 ; b1 Þ ¼ ð1; 0:5Þ and ðw1 ; w2 Þ ¼ ð1; 2Þ.
shown in Fig. 8(b). Nevertheless, small a2 values are not practical because they make the system unresponsive and slow in converging to the optimal state. Fig. 8(c) shows that the distance from the optimal state follows a similar pattern with fairness; it is minimised on the diagonal. Finally in Fig. 9 we summarises the patterns observed in the graphs in Fig. 8(b). The arrows point towards the increase direction of a given performance metric and the shaded area corresponds to the optimal (a2 ; b2 ) parameter region when we also consider the additional requirement for a minimum acceptable a2 (speed of convergence reasons) which considerably restricts the parameter space. Beyond the requirement for weighted fairness, the optimal selection of the AIMD parameters with respect to average Efficiency is not straightforward and it depends on the relationships between system parameters such as the resource capacity (Xgoal ) and the number of users (ni ) using each control type. In a distributed environment where users have limited information about the available capacity or the number of other users in the system and their strategies and rely only on the binary feedback signal in order to discover their fair share, the degree of optimisation that can be achieved is limited. 6.3. The effect of class populations on the performance of the weighted fair system Suppose a weighted fair system with ni users with AIMD parameters (wi a; b), where a > 0, 0 6 b < 1 and weights ð1 ¼Þw1 < w2 < wK . We
852
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
have already shown (see Theorem 3) that systems with period T ¼ 2 (oscillating between an overload and an underload state) will have the highest average efficiency compared to systems with periods T 0 > 2 (which also have exactly one overload state in their cycle). The total demand X ðtÞ oscillates around the resource capacity Xgoal . Let X be the total demand at the underload state and X the total demand at the overload state. Both X and X are determined by the system parameters a; b; wi ; ni ; Xgoal . The goal here is to investigate the effect of ni ’s on efficiency considering the rest of the parameters fixed. Among those systems there is an internal order in terms of the level of efficiency achieved; clearly those systems which ‘‘undershoot’’ less will have higher efficiency. We use the fact that there exist upper and lower bounds for both X and X . The absolute maximum total demand in the periodic cycle is X max ¼ Xgoal þ r ¼ Xgoal þ a
K X
ni wi
ð43Þ
i¼1
since users do not increase their demand once the capacity has been exceeded. Also the absolute minimum total demand in the periodic cycle is X min ¼ bXgoal
ð44Þ
since users do not decrease their demands if the resource capacity is not fully utilised. The efficiency is maximised when the total demand at underload is maximised, i.e. when it tends to Xgoal X ! Xgoal
ð45Þ
because T ¼ 2 the absolute maximum demand at underload X max can be expressed in terms of the maximum demand at overload X max as X max ¼ bX max :
ð46Þ
By taking equality in the limit X max ¼ Xgoal we obtain an expression that the ni ’s should satisfy for the average efficiency to be maximised. Hence bX max ¼ Xgoal and by substituting Eq. (43) we obtain a
K X i¼1
ni wi ¼
1b Xgoal : b
ð47Þ
Thus we have obtained a relationship between the total demand increase in the unit time and the resource capacity which maximizes average efficiency in the weighted fair system. Using similar arguments, we have average efficiency minimised when the total demand at underload is minimised. Since our focus is on systems with period T ¼ 2, this occurs when X min ! Xgoal
ð48Þ
and using Eq. (44) X min ¼ X min þ r ¼ bXgoal þ a
K X
ni w i
ð49Þ
i¼1
taking equality in the limit we obtain a
K X
ni wi ¼ ð1 bÞXgoal :
ð50Þ
i¼1
Although the simulations involved only two classes (n1 > 1 and n2 > 1) the results are also applicable in the general case of K classes, which does not have an intuitive geometric representation. It is important to note that a distributed resource sharing system in which the AIMD control parameters conform to Eq. (28), converges to a weighted fair state regardless of the actual class populations. Nevertheless, the class populations affect profoundly both individual user allocations and the overall system performance. We ran a series of simulations for different combinations of class populations (n1 ; n2 ) so that a point in each of the three surfaces plotted in Fig. 10 corresponds to the average of the performance metric for the particular (n1 ; n2 ) pair. Weighted fairness is of course independent from the relationships between class populations, this is shown in Fig. 10(b). However, in Fig. 10(a) it is obvious that there exist certain (n1 ; n2 ) combinations which lead to higher average efficiency than others. In the simulations shown in Fig. 10 we used ða; bÞ ¼ ð1; 0:5Þ, Xgoal ¼ 100 and ðw1 ; w2 Þ ¼ ð1; 2Þ. For simplicity we have assumed that the users with the same control function (in the same class) have the same initial demand, but this by no means is a restrictive assumption. So the initial demands of the users were either 25=n1 or 2=n2 depending on which class the user belongs to.
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
avg(efficiency) 1 0.95 0.9 0.85 0.8 0.75 0.7
0
5
10
15
20
25
30
35
n1 (# users)
(a)
40
45
50 0
10
5
15
20
25
30
35
40
45
50
avg(fairness) 0.999 0.9985 0.998 0.9975 0.997 0.9965 0.996 0.9955 0.995
0
5
10
(b)
15
20
25
30
n2 (# users)
35
40
45
50 0
5
10
15
20
25
30
40
45
to n1 users which is greater than the allocation to the n2 users. The longer transient period is reflected in the third decimal point of the average Fairness metric. Using Eqs. (47) and (50) we find that the class populations that maximise average efficiency satisfy, n1 þ 2n2 ¼ 25 and the populations that minimise average efficiency satisfy n1 þ 2n2 ¼ 50, Fig. 10(a) verifies our findings. 6.4. Trade-offs between class populations and weights in the weighted fair system
n2 (# users)
35
853
50
Finally we look at the trade-offs between the class populations and the additive increase parameters so that the system maintains a period T ¼ 2. Suppose we have K classes, with nj users in class j, j ¼ 1; . . . ; K and corresponding weights w1 < w2 < < wK normalised so that w1 ¼ 1. Let ða1 ; b1 Þ ¼ ða; bÞ then it follows from Theorem 4 that the nj users in class j have AIMD parameters given by ðaj ; bj Þ ¼ ðwj a; bÞ for j ¼ 1; . . . ; K. The total demand increase in the unit time becomes
n1 (# users)
r¼
n X i¼1
avg(distance)
ai ¼ a
K X
ð51Þ
nj wj
j¼1
and Eq. (26) which gives the restrictions on system parameters so that the system operates with a period T ¼ 2 can now be written as
140 120 100 80 60 40
ð1 bÞXgoal 6 a
20 0
0
nj wj
j¼1
5
10
15
20
n2 (# users)
(c)
K X
25
30
35
40
45
50
50
45
40
35
30
25
20
15
10
5
0
n1 (# users)
Fig. 10. Performance metrics for different combinations of class populations: (a) efficiency; (b) fairness and (c) distance from optimality.
We note that the average Fairness surface is not perfectly flat and the reason for this is that in extreme cases i.e. when class population n1 is very small, it takes longer for the system to converge to the absolute weighted fairness state. In our case this is further exacerbated by the initial allocation
< Xgoal min
1 1; 1 : b
ð52Þ
The quantity that determines the system’s periodic behaviour is a function of three types of parameters; class populations, the basic AIMD additive increment (a) and the weights. As an example consider a weighted fair system with K ¼ 2, ðw1 ; w2 Þ ¼ ð1; 2Þ and Xgoal ¼ 1. Let the n1 users (w1 ¼ 1) have AIMD parameters ða1 ; b1 Þ ¼ ða; bÞ. According to Eq. (28) the classes must have the same multiplicative decrease parameter b1 ¼ b2 ¼ b ¼ 0:5 and weight proportional additive increase parameters a2 ¼ ðw2 =w1 Þa1 ¼ w2 a. Fig. 6 shows on the vertical axis r6 minð1=bmax 1;1Þ ¼ 1
854
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858 n1a1 + n2a2 <= 1/b - 1 : a1, a2=2*a1, b=0.5, capacity =1
a1 <= (1/b - 1) / (n1 + N*n2) : a1, a2=2*a1, b=0.5, capacity =1 a1 = 0.05 a1 = 0.1 a1 = 0.15 a1 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0
1 0.8 0.6 0.4 0.2 0
1
10 2
9 3
8 4
1
2
7 5
n1
6 6
5 7
4 8
(a)
4
5
n2 n1
3 9
3
2
(b)
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
n2
Fig. 11. Parameter restrictions for T ¼ 2 in a weighted fair system.
as a function of the class populations (n1 ; n2 ) for three different AIMD increments a1 ¼ f0:05; 0:1; 0:15g. Conservative AIMD increments allow for more users while the system is maintained with one overload state per cycle. Fig. 11 shows the maximum value allowed for the base additive increase parameter a1 for different combinations of class populations (points in the (n1 ; n2 ) space). Allowing larger class populations restricts the required base AIMD increment.
7. Discussion The current Internet architecture does not provide the users with any incentives to control their demands, on the contrary greed is implicitly rewarded since the routers implement First In First Out queuing with drop-from-tail (providing allocations proportional to demand) and there are no indications that this will change at least in the short-to-medium term. However, greed becomes irrelevant if either (i) the capacity can be partitioned so that users are isolated from each other [25], or (ii) the users can be accounted for their behaviours and charged accordingly. The first approach suffers from scalability and implementation problems while the second one is more promising and more inline with the original Internet design philosophy of decentralization. This last approach is different from charging for ob-
tained resource allocations. It is based on the fundamental observation that because the Internet environment is so diverse and the mechanisms for controlling demand should necessarily be adaptive, it turns out that truly scalable (end-to-end) differentiation can be achieved only in terms of behaviour. Nevertheless, proposals advocating this type of distributed resource management (e.g. congestion pricing) still insist on certain support from the network for the delivery of specialized feedback signals (e.g. using ECN marks). This paper shows that, at least in principle, differentiation in distributed resource management could be implemented without special feedback requirements and it can achieve efficient and weighted max–min fair resource allocations. We prove our thesis using a discrete-time model of a single resource, shared among a number of users with heterogeneous Additive Increase Multiplicative Decrease (AIMD) controls. AIMD in particular has been implemented in the congestion avoidance mechanism of TCP and beyond its simplicity it has been proved extremely efficient and robust. We show how AIMD can be parametrized in order to allow the scaling of user allocations according to a given set of weights. We also analyze the effects of different parameter choices on the performance and the oscillating behaviour of the system. In practice the implementation of distributed, weighted-fair resource sharing has two basic
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
requirements; a mechanism for associating users with weights and an accounting/monitoring mechanism for eliminating moral hazard. The weights (actually the AIMD parameters implied by them) will normally be part of a contract between the provider (owner) of the resource and the individual user and will be priced accordingly, with more rewarding weights having higher prices. The provider on the other hand should be able to enforce the terms of the contract or monitor whether these terms (i.e. user behaviour) are being observed so that the users are prevented from using more rewarding controls (higher weights) than those specified in their contract. The real challenge is to demonstrate that such a contract and monitoring mechanism can be effectively implemented in practice. However, there also other practical concerns; the scaling of user demands cannot be arbitrary due to the imperfections of the congestion control mechanisms; increased aggressiveness (greater additive increase parameter) can be rewarding but only up to a certain point after which packet loss starts increasing, offsetting the benefits obtained in the first phase. Under conditions of high packet loss rates demand is no longer controlled by AIMD, and other control mechanisms apply, such as retransmission timeouts (RTO), which could also be parametrised to allow weighted-fair differentiation. Addressing these issues is outside the scope of this work and they will be the subject of future research. Our main contribution here is to show how heterogeneous AIMD controls can be used in order to change the system’s oscillating behaviour, convergence time and performance and derive the theoretical conditions for weighted fair resource sharing. A criticism often directed to the model used in this paper is that it focuses on the properties of the system at equilibrium (in our case not a singlestate equilibrium but a periodic sequence of states also known as limit cycle). The area of the state space where equilibrium occurs is very important but there are often concerns about transient system behaviour, i.e. the actual trajectories that lead the system to its final state. It is true that a system based on AIMD control with binary feedback requires long term interactions between the users
855
and the resource (i.e. several feedback-cycles) before the system finally converges to its periodic cycle. We argue that this is unavoidable if the feedback requirements (and thus the complexity of the resource) have to be kept at a minimum. There is a well-known trade-off between the speed of convergence and the information content of the feedback signal. It is true that the binary feedback is restrictive for the degree of optimisation that can be achieved in a restricted time horizon. In particular, Internet traffic is dominated by TCP flows and the large majority of these flows are short-lived flows with an average (and median) length of around 10 packets [4], these flows start with a very small initial demand (cwnd ¼ 1) and increase it exponentially but because their total demand is small these flows terminate before reaching an equilibrium state such as the one described in this paper. Our analysis is specific to AIMD and it does not include such behaviours but we argue that the existence of such users does not invalidate the results. Despite the fact that the majority of the flows are indeed short the majority of the packets still belong to long-lived flows which operate at an AIMD controlled equilibrium. Moreover it can be easily verified that even the exponential increase in the demand of these users, for small values of the demand is comparable to the linear increase especially when the additive increase parameters can be proportional to weights. Although the dynamical system model studied in this paper is simple and masks the complexities of packet networks and protocols, which affect bandwidth sharing between different users, we argue that it is a powerful abstraction and provides very useful insights to the properties of distributed resource sharing based on heterogeneous linear control with minimum feedback requirements.
Appendix A A.1. Proof of Lemma 1 Given a state xðtÞ 2 A we have 1 r 6 X ðtÞ < 1
856
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
The regions have been constructed so that in the next additive increase step the system will be in an overload state (either in region B or in region D) 1 6 X ðtÞ þ r < 1 þ r: For xðt þ 1Þ 2 B it is sufficient that 1 þ r 6 1=bmax or r6
1 bmax
1:
Assuming that there is a state in region C such that the system becomes overloaded in the next (additive increase) step (thus avoiding region A). In this case we have X ðt þ 1Þ ¼ X ðtÞ þ r P 1 or X ðtÞ P 1 r which contradicts our assumption that the system at time t is in region C. Thus we have proved that if the system is in region C it requires at least one step to reach region A. h
ðA:1Þ A.4. Proof of Lemma 4 Given a system state xðtÞ 2 D we have
A.2. Proof of Lemma 2
X ðtÞ P
Given a state xðtÞ 2 B we have 1 6 X ðtÞ <
1 : bmax
ðA:2Þ
In the next multiplicative decrease step the total demand will be n X bi x i : X ðt þ 1Þ ¼ i¼1
1 : bmax
We have 1=bmax > 1 so there exists a number j > 1 so that j 1 X ðtÞ ¼ ; bmax where j ¼ log1=bmax X ðtÞ ¼ log X ðtÞ= logð1=bmax Þ. Let s ¼ bjc be the integer part of j, then
By multiplying Eq. (A.2) first with bmin and then bmax we get
06j s < 1
bmin ; bmax bmax 6 bmax X ðtÞ < 1:
and after s multiplicative decrease steps the total Pn demand will be X ðt þ sÞ ¼ i¼1 bsi xi ðtÞ for which the following holds:
bmin 6 bmin X ðtÞ <
bsmin X ðtÞ 6 X ðt þ sÞ 6 bsmax X ðtÞ:
Combining these two inequalities we obtain bmin 6 bmin X ðtÞ 6 X ðt þ 1Þ 6 bmax X ðtÞ < 1: For xðt þ 1Þ 2 A it is sufficient that 1 r 6 bmin or r P 1 bmin :
ðA:3Þ
ðA:4Þ
The definitions of j and s allow us to write j js 1 1 1 ¼ < bsmax X ðtÞ ¼ bsmax bmax bmax bmax so from Eq. (A.4) we have 1 : bmax
A.3. Proof of Lemma 3
X ðt þ sÞ <
Given a state xðtÞ 2 C we have 0 6 X ðtÞ < 1 r and there exists a sufficient number of additive increase steps (in each step the total load increases by r) such that the system state is in the overload area, i.e. either in region B or D beyond the efficiency line (or surface). We claim that the system state always passes from region A before it becomes overloaded and prove this by contradiction.
We also have 1=bmin > 1 so there exists a number k > 1 so that k j 1 1 ¼ X ðtÞ ¼ ; bmin bmax where k ¼ log1=bmin X ðtÞ ¼ log X ðtÞ= logð1=bmin Þ. Let s0 ¼ bkc be the integer part k, then 0 6 k s0 < 1
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
857
and since 1=bmin P 1=bmax we have k 6 j and therefore s0 6 s follows that Because 0 6 k s0 < 1 and 1=bmin > 1 we can write k 1 0 0 bsmin X ðtÞ P bsmin X ðtÞ ¼ bsmin bmin ks0 1 ¼ P1 bmin
and they have exactly one overload state in their cycle (from Lemmas 1 and 2 follows that this state has to be in region B see Fig. 3). The total capacity allocated in successive time steps is given by the sequences
and from Eq. (A.4) we have
where X1 and XT 0 1 is the total demand in the underload state (both in region A) for system S and S 0 respectively and Xi0 is the total demand in an underload state in region C for system S 0 . We assume that the systems have converged and their efficiency is given by
X ðt þ sÞ P 1: We have proved that 1 6 X ðt þ sÞ <
1 bmax
ðA:5Þ
or xðt þ sÞ 2 B, which means that after s P 1 multiplicative decrease steps the system will move into region B. h
A.5. Proof of Theorem 1 The regions A, B, C and D in Fig. 3 are convex, in particular region D is convex because we have assumed that there is an arbitrarily large (but finite) upper bound (xmax ) on individual user demands so that xi ðtÞ 6 xmax , for all i. All possible initial states are in the area defined by the four regions and there are no trajectories with system states outside this area. From the Lemmas 1–4 we know that the system always moves from region C to region A and from region D to region B. However, from region A the system always moves to an overload state which can either be in region B or in region D. In a similar fashion, the system always moves from region B to an underload state which can either be in region A or in region C. so using the result by Fillipov [10] the system is periodic and hence stable. h
Xgoal ; X1 ; Xgoal ; X1 ; . . . ; Xgoal ; X10 ; . . . ; XT0 0 1 ; Xgoal ; X10 ; . . . ; XT0 0 1 ; . . . ;
Xgoal þ X1 Xgoal þ X1 ¼ ; T 2 PT 0 1 0 Xgoal þ i¼1 Xi E0 ¼ T0 Xgoal þ X10 þ X20 þ þ XT0 0 1 ¼ T0 E¼
because Xi0 ¼ X10 þ ði 1Þr0 the above relationship can be written as E0 ¼
Xgoal þ ðT 0 1ÞX10 þ 1=2ðT 0 1ÞðT 0 2Þr0 : T0
Considering the fact that X10 þ ðT 0 1Þr0 P Xgoal we obtain E0 P 12ðXgoal þ X10 Þ: Therefore taking the difference E E0 and substituting the above expression for E0 we arrive at E E0 P
X1 X10 > 0; 2
which is always positive because by construction X10 is the utilisation of system S 0 in a state in region C while X1 is the utilisation in system S of a state in region A. h
A.6. Proof of Theorem 3 Assuming a system S with total additive increase r and period T ¼ 2 and another system S 0 with total additive increase r0 and period T 0 > 2. Both systems have the same resource capacity Xgoal
References [1] IETF Differentiated Services Working Group (diffserv). Available from .
858
P. Gevros, J. Crowcroft / Computer Networks 45 (2004) 835–858
[2] IETF Integrated Services Working Group (intserv). Available from . [3] A. Akella, S. Seshan, R. Karp, S. Shenker, C. Papadimitriou, Selfish behavior and stability of the Internet: a game-theoretic analysis of TCP, in: Proceedings of ACM SIGCOMM, Pittsburgh, PA, August 2002. [4] M.F. Arlitt, C.L. Williamson, Internet Web servers: workload characterization and performance implications, IEEE/ ACM Transactions on Networking 5 (5) (1997) 631–645. [5] D. Bansal, H. Balakrishnan. Binomial congestion control algorithms, in: Proceedings of IEEE INFOCOM, Anchorage, Alaska, April 2001. [6] D. Chiu, R. Jain, Analysis of the increase and decrease algorithms for congestion avoidance in computer networks, Computer Networks and ISDN Systems 17 (1) (1989) 1–14. [7] J. Crowcroft, P. Oechslin, Differentiated end to end Internet services using a weighted proportional fair sharing TCP, ACM Computer Communication Review 28 (3) (1998). [8] C. Douligeris, R. Mazumdar, A game theoretic perspective to flow control in telecommunication networks, Journal of the Franklin Institute 329 (2) (1992) 383–402. [9] D. Ferguson, C. Nikolaou, Y. Yemini, An economy for flow control in computer networks, in: Proceedings of 8th Infocom, IEEE Computer Society Press, Los Alamitos, 1989, pp. 100–118. [10] A.F. Filippov, Differential equations with discontinuous right-hand sides, American Mathematical Society Translations 42 (2) (1964) 199–231. [11] S. Floyd, TCP and explicit congestion notification, ACM Computer Communication Review 24 (5) (1994) 10–23. [12] S. Floyd, K. Fall, Promoting the use of end-to-end congestion control in the Internet, IEEE/ACM Transactions on Networking 7 (4) (1999) 458–472. [13] P. Gevros, Congestion control mechanisms for scalable bandwidth sharing, Ph.D. Thesis, University College London, October 2001. [14] P. Gevros, F. Risso, P. Kirstein, Analysis of a method for differential TCP service, in: Proceedings of IEEE GLOBECOM, Rio de Janeiro, Brazil, December 1999. [15] R.J. Gibbens, F.P. Kelly, Resource pricing and the evolution of congestion control, Automatica 35 (1) (1999) 1969–1985. [16] M.T. Hsiao, A. Lazar, A game theoretic approach to decentralized flow control of Markovian queueing networks, in: Performance’87, North-Holland, Amsterdam, 1988, pp. 55–74. [17] V. Jacobson, Congestion avoidance and control, ACM Computer Communication Review 18 (4) (1988) 314–329. [18] R.K. Jain, D.W. Chiu, W.R. Hawe, A quantitative measure of fairness and discrimination for resource allocation in shared computer system, DEC-TR-301, Digital Equipment Corporation, September 1984. Available from . [19] S. Jin, L. Guo, A. Bestavros, TCP-friendly SIMD congestion control and its convergence behavior, in: Proceedings
[20]
[21]
[22]
[23] [24]
[25]
[26]
of the IEEE International Conference on Network Protocols (ICNP), Riverside, CA, November 2001. F. Kelly, A. Maulloo, D. Tan, Rate control for communication networks: shadow prices, proportional fairness and stability, Journal of the Operational Research Society 49 (3) (1998) 237–252. S. Kunniyur, R. Srikant, Fairness of congestion avoidance schemes in heterogeneous networks, in: Proceedings of the 16th International Teletraffic Congress, Edinburgh, Scotland, June 1999. J. Padhye, F.V.D. Towsley, J. Kurose, Modeling TCP throughput: a simple model and its empirical validation, ACM Computer Communication Review 28 (4) (1998) 303–314. J. Postel, Transmission control protocol, RFC (Standard) 793, IETF, September 1981. K. Ramakrishnan, S. Floyd, A Proposal to add Explicit Congestion Notification (ECN) to IP, RFC (Experimental) 2481, IETF, January 1999. S. Shenker, Making greed work in networks: a gametheoretic analysis of switch service disciplines, in: Proceedings of ACM SIGCOMM, University College London, London, UK, October 1994, pp. 47–57. Y. Yang, S. Lam, General AIMD congestion control, in: Proceedings of the IEEE International Conference on Network Protocols (ICNP), Osaka, Japan, November 2000.
Panos Gevros graduated from the Department of Computer Engineering and Informatics, University of Patras, Greece, he holds an M.Sc. and a Ph.D. in Computer Science from UCL. He has been active in the area of Internet related network research for the last ten years, as a Research Fellow in the Department of Computer Science, UCL and as Research Associate at the University of Cambridge Computer Laboratory. He has worked on several research projects funded under the European Commission and the US DARPA research programmes. His research interests lie in the area of novel Internet service models and the adaptive resource allocation using market-based mechanisms. Jon Crowcroft is the Marconi Professor of Networked Systems in the Computer Laboratory, of the University of Cambridge. Prior to that he was professor of networked systems at UCL in the Computer Science Department. He is a Fellow of the ACM, a Fellow of the British Computer Society and a Fellow of the IEE and a Fellow of the Royal Academy of Engineering, as well as a Fellow of the IEEE. He was a member of the IAB; was general chair for the ACM SIGCOMM 95–99. He is on the editorial team for Computer Networks, and on the program committee for ACM SIGCOMM and IEEE Infocomm. He has published five books––the latest is the Linux TCP/IP Implementation, published by Wiley in 2001.