Academia.eduAcademia.edu

On the optimality of max–min fairness in resource allocation

2012, annals of telecommunications - annales des télécommunications

In this work a basic Resource Allocation (RA) problem is considered, where a fixed capacity must be shared among a set of users. The RA task can be formulated as an optimization problem, with a set of simple constraints and an objective function to be minimized. A fundamental relation between the RA optimization problem and the notion of max-min fairness is established. A sufficient condition on the objective function that ensures the optimal solution is max-min fair is provided. Notably, some important objective functions like Least Squares and Maximum Entropy fall in this case. Finally, an application of max-min fairness for overload protection in 3G networks is considered.

Annals of Telecommunications manuscript No. (will be inserted by the editor) On the optimality of max-min fairness in Resource Allocation Angelo Coluccia · Alessandro D’Alconzo · Fabio Ricciato Received: date / Accepted: date Abstract In this work a basic Resource Allocation (RA) problem is considered, where a fixed capacity must be shared among a set of users. The RA task can be formulated as an optimization problem, with a set of simple constraints and an objective function to be minimized. A fundamental relation between the RA optimization problem and the notion of max-min fairness is established. A sufficient condition on the objective function that ensures the optimal solution is max-min fair is provided. Notably, some important objective functions like Least Squares and Maximum Entropy fall in this case. Finally, an application of max-min fairness for overload protection in 3G networks is considered. Keywords resource allocation, max-min fairness, optimization problems. 1 Introduction In this work we revisit a basic form of Resource Allocation (RA) problem, where a limited amount of a generic resource must be shared among a certain number of users. Despite its simplicity, such abstract formulation finds instances in many cases of practical interest, within and outside the networking area. In general, a RA task can be approached in two different ways. On one hand, it can be formulated as optimization problem, with a set of constraints and an objective function to be minimized. On the other hand, the RA problem can be expressed in terms of some qualitative property that the final solution must fulfill. For the latter, one of the most important and widely adopted criteria is the so-called max-min fairness [1] [2], which naturally Address(es) of author(s) should be given leads to a sort of “egalitarian” assignment that fits well in many practical scenarios. We establish a direct link between the RA problems and the notion of max-min fairness, and we provide sufficient conditions on the objective function that ensure the optimal solution is max-min fair. Remarkably, such conditions are broad enough to include some important functions like Least Squares and Maximum Entropy. Although previous works have drawn some links between optimality and fairness (e.g., [3] [4]), to the best of our knowledge this is the first attempt to regard the max-min fair allocation as the solution of a generic optimization problem, in which only general conditions on the objective function are given rather than specific functions. The work is organized as follows. In §2 we describe the context where our work collocates. In §3 we formulate the RA problem, while in §4 we review the notions of max-min fairness and water-filling, clarifying the differences between different formulations. We then present our novel results in §5 (all proofs are given in Appendix), providing some examples of objective functions in the subsequent §6. In the final part of the work we discuss the applicability (§7), illustrating also the possibility of implementing max-min allocation in largescale dynamic systems — with particular reference to mobile communication networks — with minimal modifications to existing hardware platforms (§8). We finally conclude in §9. 2 Related work Instances of RA problems can be found in a huge variety of application contexts. The same applies also to the notion of fairness, for which a plethora of operational 2 formulations exist. An exhaustive survey of the literature on these topics is beyond the scope of this contribution. Here we provide an overview of the most common approaches. In most literature the RA problem is mapped to a well-defined optimization problem with a quantitative cost function and a set of constraints (e.g., [5] [21, p. 245]). Clearly, the choice of the cost function depends on the particular application. Another common approach is based on a desired qualitative property the final solution must possess, typically the fulfillment of a fairness criterion [6]. Several types of fairness can be considered, depending on the particular assignment goal, e.g. max-min fairness, proportional fairness [7] and the more general (p, α)-fairness [5] [8]. In some cases a fairness index is defined, and an iterative procedure is given to build the desired solution based on index ordering (e.g., [9]). However, for certain fairness criteria like max-min fairness, the solution is usually built algorithmically without the support of any quantitative index (e.g., [10] [11]). In this work, we focus exclusively on max-min fairness, that is one of the most widely considered options. The notion of max-min fairness is closely related to the class of water-filling (WF) algorithms. We will review both concepts later in §4. Although not explicitly, some points of contact between optimality and max-min fairness have been identified in a few previous works. In [12] Boche et al. address the problem of achieving min-max fairness while maximizing utility. They provide a disproof of the conjecture that min-max fairness and utility efficiency are conflicting objectives. In doing so, they explore somehow the relationship between fairness and optimization problems. Mo and Walrand in [8, p. 559] show that the proportional fair vector solves an optimization problem for an opportune choice of the objective function. Their reasoning is somehow reminiscent of our arguments (as explained in the following) although the two works differ significantly in the rationale and in several key aspects. First, we consider max-min fairness instead of proportional fairness. Second, their result applies to a very specific objective function, while we consider here a more general class of functions. Third, they consider a different set of constraints. The latter two comments apply also to the example considered in [21, p. 245], where basic power allocation among communication channels is discussed. The authors show that the water-filling allocation maximizes the communication rate. However, the different kind of individual constraints considered therein leads to a different form of water-filling, as discussed later in §4.2. In [13] Palomar et al. provide an interesting review of several optimization problems that result in fair solutions with water-filling structures. They consider the multi- waterlevel multi-constrained case and discuss some application scenarios, for which they provide practical resolution algorithms. We adopt an optimization approach which is somehow similar to the power-constrained problem considered therein. However, it is important to remark once more that the water-filling solution we consider here is different from the one obtained by solving the classical capacity-achieving problem (as done e.g. in [13]), since we consider both global and individual constraints (ref. §3). Finally, we mention that the problem of fair allocation while maximizing the throughput is currently an hot topic in the wireless community (ref. e.g. [26] [24] [25]). However, as will be clarified later in §7, the structure of the problem in multi-user wireless systems — both CDMA-based and OFDM-based — is intrinsically different and can lead to a max-min fair allocation only under very particular conditions of “symmetry”. 3 Problem formulation We consider a basic yet common RA problem with a simple set of constraints and a generic objective function to be minimized. A fixed amount of resource C (total “capacity”) must be shared among N “users” with different demands. We denote by di the individual demand of user i and by ci the share of global capacity assigned to him (individual capacity). It is worth to remark that the nomenclature is generic, since we are not referring to any specific application scenario. The set of demands is given as the input to the problem, while individual capacities are unknown and represent the output of the resolution procedure. All quantities are real and (strictly) positive. The condition di > 0 excludes the trivial case of users requesting null resource. Moreover, we consider here the non-trivial case that PN d > C, i.e. the total demand exceeds the availi i=1 able capacity — an assumption we will implicitly keep throughout the whole paper. Consequently, it is not possible to fully satisfy all users. A generic user cannot be assigned more capacity than his demand, formally: 0<c≤d (1) T T where c = [c1 c2 · · · cN ] , d = [d1 d2 · · · dN ] and the inequality symbol between vectors is intended elementwise. This kind of constraints is typical of non-interacting scenarios, i.e. independent PN users. The global capacity constraint is simply i=1 ci ≤ C. We consider here the case that the whole available capacity is allocated (work-conserving systems), hence the global capacity 3 constraint becomes: N X ci = C. (2) i=1 Eqs. (1) and (2) are all our constraints. We do not consider additional capacity constraints involving partial sets of users. Despite its simplicity, the set of constraints (1)–(2) is representative of many problems found in real world applications, within and outside the networking area. The set of points satisfying eqs. (1)–(2) constitutes the feasible set, wherein the optimal solution must be chosen according to a goodness criterion. If an objective function f (·) is given, we end up with a classical optimization problem. In a compact form: min f (c) s. t. PN i=1 ci c = C, 0 < c ≤ d. (3) We show in the rest of this paper that for an important class of objective functions the solution to the problem (3) is provably max-min fair. Beforehand, we provide some background on max-min fairness and water-filling algorithm. 4 Max-min fair allocation 4.1 What is max-min fairness? Max-min fairness plays a central role in many RA problems. It can be qualitatively defined as follows [2] [10] (see also [1]): an allocation scheme is max-min fair if there is no way to increase the allocation to a user without decreasing the allocation to another user with less or equal assigned resource. More formally, a max-min fair allocation fulfills the following conditions [14]: – capacity is allocated in order of increasing demand; – no user gets a capacity share larger than his demand; – users with unsatisfied demands get an equal capacity share, called water-level. The idea behind max-min fairness is simple and “egalitarian”: when dividing a scarce resource among a set of users, all of them have an equal “right” to the resource. However, some users demand less than others; hence, intuitively, a fair share satisfies users with a “small” demand first, and distributes evenly the remaining resource to the other “large” users (ref. Fig. 1(b)). Max-min fairness is a simple and well-established concept in resource allocation [2]. It became widely popular after its adoption by ATM Forum in wireline data networks [15]. Max-min fairness inspires many RA schemes, in different scenarios and applications. The work by Cao and Zegura [16] provides a good introduction to the topic, while a more complete framework can be found in Radunovic and Le Boudec [17], where a general approach is presented which does not rely on the so-called bottleneck link notion. Therein, the authors establish theoretical links between max-min fairness and the water-filling algorithm (WF), which is the most common procedure to obtain a max-min fair allocation. Since WF plays an important role in our discussion, we review it the following §4.2. 4.2 The water-filling algorithm The term “water-filling” is used in the literature to denote two different allocation schemes which are sketched in Fig. 1. Denote by l the water-level, which in both cases depend on the total available resource and on the distribution of individual demands. In one case (see 1(a) from [21, p. 246]) users demand a minimum amount αi , and those which are below the water-level (αi < l) are assigned a volume ci = l − αi , while the others are assigned zero (in the fluid analogy this maps to pour water ”outside” demands). This kind of WF is of interest in RA problems where a minimum amount of resource must be guaranteed to each user — this is NOT the case considered in this paper. Fig. 1(b) depicts a different allocation scheme, also called “water-filling” in the literature following a well established procedure to obtain a max-min fair allocation1 . In the rest of the paper we will always use the term “water-filling” in the sense of Fig. 1(b). In this case, individual demands represent maximum amounts of required resource. The WF procedure works as follows: starting from a null value, the capacities assigned to all users are increased at the same pace, until one user is fully satisfied. Then, only the capacities of partially satisfied users continue to be increased, until the next user saturates. In this way, an increasing number of users are progressively saturated, until the total available amount is consumed (in the fluid analogy this maps to pour water ”inside” demands). Hence, in the final solution all the users with unfinished demand are assigned the same level of capacity (water-level). In other words, the allocation procedure does not simply fills the gap to reach the water-level (as in the scheme of Fig. 1(a)) but rather it fully satisfies some lower de1 Several other iterative or exact algorithms exist, see e.g. [5] [11] [13] [17] [18, Ch. 4]). 4 =1 ci = =1 ci αi (a) = (b) Fig. 1 Different definitions of “water-filling”: pouring water ”outside” (a) and ”inside” (b) the demands. mand users first, and then clips to the water-level the other users with higher demand. This is representative of common scenarios in which the (scarce) resource is fixed and must be distributed among users according to their needs (demands). It is proven (see e.g. [2]) that the output of this latter kind of WF procedure yields max-min fair allocation. Furthermore, [17] shows that under certain conditions the general algorithm for finding the max-min fair solution naturally degenerates into WF, which is also computationally simple. In summary, we consider the WF algorithm in the case that a fixed resource C is shared among N users under the constraints (1)–(2). In this case the waterlevel X ∗ meets the following condition (ref. Fig. 1(b)): bisection method can be used to obtain the optimal solution in at most ⌈log2 N ⌉ steps. Note that X ∗ is always greater or equal than any demand fully satisfied, i.e. N X 5 Optimality and Max-min fairness min(di , X ∗ ) = C. i=1 Therefore X ∗ can be expressed as the solution of the following simple optimization problem: max x s. t. PN i=1 min(di , x) = C. (4) It can be shown (a formal proof is given in Appendix A) that the solution X ∗ can be written in the following simple form: Pk C − i=1 di ∗ (5) X = max 0≤k<N N −k where the user demands are arranged in increasing order, i.e. d1 ≤ d2 ≤ · · · ≤ dN . Eq. (5) represents a compact form to express the WF algorithm. Solving by exhaustive search, the search space is limited to a discrete set of N values due to the ordering on di . Therefore, a X ∗ ≥ max∗ di i∈D (6) where D∗ = {d1 , . . . , dk∗ } is the set of fully satisfied users, and k ∗ is the value for which the maximum in eq. (5) is reached. This property is a direct consequence of the definition of max-min fairness (see the bullet list in §4). In this section we establish a relation between the optimization problem (3) and the notion of max-min fairness. We aim at exploring the conditions under which the solution of the optimizing problem is max-min fair, or conversely when a max-min fair allocation optimizes a certain class of objective functions. We provide hereafter two results in the form of theorems. In Theorem 1 (and in particular in Corollary 1), we give a condition for which the solution to the optimization problem (3) can be written in a form that is reminiscent of the WF solution. Corollary 1 serves as a Lemma to prove the subsequent Theorem 2, where we finally provide a sufficient condition on the objective function to ensure the max-min fairness of the optimal solution. Theorem 1 Given the RA problem (3), if the objective function f (·) is such that: ′ ∇f = [g1′ (c1 ) g2′ (c2 ) · · · gN (cN )]T (7) 5 where gi′ (·) are generic invertible functions, then the optimal solution takes the following form:  0 < sj < dj j ∈ S (8) cj = dj j∈D where {S, D} is a partition of the demand index set and {sj }j∈S are such that ∀h, k ∈ S it holds gh′ (sh ) = gk′ (sk ). Proof: see Appendix B.  Condition (7) states that the gradient of the function must incorporate a kind of “orthogonality” that makes each derivative a unidimensional function of the sole derivation variable. Note that Theorem 1 does not state which users are assigned into each subset, and how the assignment relates to the ordering of the demands. Corollary 1 Under the same hypothesis of Theorem 1, if in addition gi′ (·) = g ′ (·) i = 1, . . . , N (9) then the optimal solution takes the following form: ( P C− i∈D di j∈S N −kD cj = , where kD = |D|. (10) dj j∈D Proof: see Appendix C.  Condition (9) can be thought as a kind of “symmetry” that makes the objective function “fair” to all users. Note that all users in S are assigned with the same amount of resource regardless of their demands. The expression given in eq. (10) is thus reminiscent of the WF solution (5). However, it is important to notice that the optimal choice for D does not necessarily coincide with the set of the kD smallest demands as in WF (ref. eq. (5)). This means that the solution (10) cannot be guaranteed to be max-min fair. Theorem 2 provides a sufficient condition that ensures the optimal solution is max-min fair. Theorem 2 Given the RA problem (3), if the objective function f (·) is such that: f (c) = N X h(cj ) (11) j=1 where h(·) is a generic convex function in the interval [0, maxi di ], then the optimal solution is the max-min fair allocation. Proof: see Appendix D.  An immediate consequence of Theorem 2 is that, for the uniqueness of the max-min fair solution, condition (11) defines a class of objective functions with the same optimal solution. Note that Theorem 2 is consistent with the findings in [8]: in particular, max-min fairness can be seen as a limiting case of the (p, α)-fair allocation when α goes to infinity — though the optimization problem considered therein is different from ours in several points (ref. §2). 6 Examples In the following we provide some notable examples of functions satisfying condition (11). Least Squares. Taking a Least Squares (LS) approach one could define the function: fLS = N  X cj − j=1 C N 2 . The motivating argument for such choice is that, in order to share fairly C among N users, one can adopt the least squares approximation to the virtual “ideal” sharing where all users are served with an equal share C/N . This function clearly satisfies condition (11), hence if adopted in the framework of problem (3) it leads to an optimal solution which is also max-min fair. Maximum Entropy. Taking a Maximum Entropy (ME) approach one could consider the function: fME = N X cj j=1 C log cj . C Minimizing this function PN is equivalent to maximize the entropy H(p) = − j=1 pj log pj where the probability c masses are defined as pj = Cj 2 . The rationale for adopting entropy as the objective function lies in the so-called maximum entropy principle, which is widely adopted in several research fields (see e.g. [19]–[20]). Again, Theorem 2 ensures the optimal solution is max-min fair, although this is not immediately apparent from the objective function. However, it is somehow intuitive that ME leads to some form of fairness, since the maximum entropy distribution tends to be as much “uniformly distributed” as possible given the set of constraints. Proportional Fairness. As a third example we consider proportional fairness (PF). As a corollary of Theorem 2, we can show that under the constraints (1) and (2), proportional fairness is equivalent to the maxmin fair solution. Recall (see e.g. [7]) that the PF solution is the one maximizing the sum of the logarithms 2 This definition is consistent because due to constraint (2) it P c c follows that 0 < Cj < 1 and j Cj = 1. 6 of each individual capacity, formally: fPF (c) = − N X log(cj ). (12) j=1 Therefore, by adopting eq. (12) as objective function into problem (3), we obtain a PF formulation. The equation (12) fulfills the condition (11) required by Theorem 2 since the function h(cj ) = − log(cj ) is convex. This guarantees the final solution is also max-min fair. We conclude that proportional fairness and max-min fairness are equivalent in this case, a result which is consistent with [7] for the case of a single bottleneck. Fig. 2 Allocations obtained by solving the optimization problem for different objective functions. 7 Applicability It is important to remark that the condition of Theorem 2 rules out the presence of any user-specific parameter in the objective function. In other words, Theorem 2 embeds a fundamental “egalitarian” principle: max-min allocation is optimal in those capacity-limited system where the objective function assigns to all users the same “access right” to the global resource, regardless of the disparity in the size of individual demand (and on the details of the specific function). The egalitarian nature of the objective function — in combination with convexity — is the ultimate reason for optimality being aligned with fairness. Such kinds of objective functions are more often found in systems where the resource to be assigned is logical (rather than physical), and the optimality criterion reflects some abstract notion of ”access right” or ”utility” which is homogenous across users. Conversely, Theorem 2 does not apply to those systems where the objective function depends on userspecific parameters: in this case the problem the optimality criterion becomes “asymmetric” across users and the optimal optimal can not be ”egalitarian”. This is often the case in physical system where the objective function represents a physical quantity — rather than an abstract notion — which is directly linked to userspecific conditions in a heterogeneous environment. To illustrate, we resort to a classical example from multi-user wireless communications [24]–[26]. Consider a wireless system with a single transmitter and multiple receivers — typically the forward link (downlink) in a mobile network — with orthogonal “channels” assigned to different users — e.g. channels map to orthogonal codes in CDMA and to individual sub-bands in OFDM. The problem considered by Huang et al. [24] is to allocate power to individual channels (users) in order to achieve maximum rate, i.e.:   N X pj ẽj −wj log 1 + min p 1 + βpj ẽj j=1 s. t. 0 ≤ pj ≤ (13) s̃j X pj ≤ P , ẽj j where wj and pj denote respectively the QoS-dependent weight and the allocated transmit ??? power to each user, P is total available power, ẽj the channel gain and s̃j a noise term for user j, and β accounts for the self-noise term (see [24] for more details on the problem formulation). Even considering the homogeneous case where all users are assigned channels of equal bandwidth, with same QoS weight and same noise level, it is not realistic to assume that the channel gain s̃j is the same for all users. Therefore, the maximization of the overall throughput (rate) cannot lead to a max-min fair allocation due to user-specific channel conditions (i.e. the parameters s̃j ), despite the structure of problem (13) is very similar to the one of problem (3) and each addend of the sum is a convex function of pj . To illustrate, we report some numerical results in Fig. 2. The example regards N = 10 users having different demands ranging from 0.01 to 0.5 (reported in increasing order in the right-most bar of each triple). We compared the allocations obtained by iteratively solving the optimization problem (3) for f = fLS and f = fMR , where   N X cj def fMR (c) = − log 1 + dj + βcj j=1 is obtained from (13) in the unweighted case by simply def def posing cj = pj and dj = 1/ẽj . To make the comparison as fair as possible, we considered the particular case 7 s̃j = 1, so does the individual constraints are the same for both objective functions — i.e., 0 ≤ pj ≤ dj ∀j. PN Since the aggregated “demand” j=1 dj = 2.04 exceeds the available “capacity” C ≡ P = 1.5 a feasible solution must assign to some users less capacity than their demands. As expected, while fLS provides a maxmin fair allocation3 , fMR allocates different shares to users with the greatest demands (ref. Fig. 2). Therefore we conclude that max-min fair allocation cannot be optimal when user-specific “asymmetries” are accounted in the objective function, even though the structure of the problem and the kind of function are very similar to the ones needed by Theorem 2. number of ultra-high rate users. Such setting cannot protect the box from even a moderately distributed Denial-of-Service attack or flash-crowd events, where many users issue a moderately high rate of connections. Given that such platforms (GGSN, proxy) already include the possibility of clipping individual demands to a common level Ψ , a relatively simple extension would be to let the clipping limit be dynamically adjustable, P so as to ensure that at any time i max(Ψ, di ) = ρC, with C the system capacity and ρ < 1 a safety margin (e.g. ρ = 0.9). By computing the water-level Ψ as X ∗ in eq. (5) the system would dyncamically maintain max-min allocation. Ideally, the exact value of the optimal clipping level would need to be computed from the set of individual demands di ’s. Since the latter change 8 Practical considerations for water-level dynamically — and so does the total number of users setting — exact water-level computation would require individual monitoring and reporting of each and every deFrom Theorem 2 we know that max-min allocation is mand size. This might be impractical to implement in optimal in those capacity-limited system where all users real systems, especially on legacy hardware platforms, have the same “right” to access the resources, regardless due to the large number of concurrent users. A possiof the amount of individual demands. Besides optimalble workaround is to let the water-level be dynamically ity, max-min allocation has another advantageous propadjusted by a control loop based on the total amount erty which makes it attractive for practical adoption in of actual resource consumption. Denote by RT (t) the dynamic systems characterized by a very large number total amount of actual resource consumption at time t of individual users (demands), and stems from the fact (e.g. memory or CPU power). Note that RT (t) is always that it involves a single parameter, i.e. the water-level monitored and reported periodically in every platform X ∗ . In the following we illustrate this point with refer(including home computers), typically as a percentage ence to a very specific application scenario, i.e. overload of the total available resource. The idea is to dynamprotection in packet-switched mobile networks, but the ically decrease [resp. increase] the clipping level Ψ (t) considerations made here apply to other large-scale dywhen RT (t) exceeds [resp. falls below] the target level ρ. namic systems as well. Dual-threshold hysteresis can be introduced to reduce The core section of a third-generation (3G) celluclipping level adjustments. In this way, max-min allocalar network involves a number of stateful elements that tion can be dynamically approximated with only minor track individual transport-layer connections. Besides transadaptation to legacy platforms — i.e., making the clipparent proxies, which are used to speed-up TCP conping level dynamically adjustable, instead of statically nection (see e.g. [23] and references therein) also the configured — and a more robust overload-protection GPRS Gateway Support Node (GGSN) must implecan be achieved. ment stateful tracking in order to support content-based billing. Such elements typically enforce a maximum limit Ψ on the number of parallel connections allowed by any individual user: excess connections beyond this threshold are discarded. The value of Ψ is configured statically by the operator, typically to a very large value. The rationale for enforcing such limit is to prevent one or few users with ultra-high connection rate — typically port/address scanners, e.g. caused by worm infection at the mobile terminal — to starve the pool of resources available at the box (e.g. memory state). In other words, such high static limit enforces a sort of basic overload protection, but only against a very small 3 Obviously, from Theorem 2 we know that fPF and fME yields the same max-min fair allocation as fLS . A detailed design and performance analysis of the water-level control-loop is beyond the scope of this work. Following [22], we are aware that the notion of “optimality” and “fairness” in the dynamic case cannot be regarded in general as simple extensions of the static case when the dependency between the sojourn time of individual demands and the allocated service rate is considered. However, in some applications of practical interest, including the adoption of resource clipping for DoS protection, such dependency is mild and under certain conditions can be neglected. We leave for further study the analysis of such scheme under dynamic load conditions. The point to be taken here is that max-min allocation is not only optimal in the sense of Theorem 2: 8 in principle it also lends itself to simple implementation in dynamic large-scale systems. 9 Conclusions In this work we have established a formal link between optimality and max-min fairness for a basic Resource Allocation problem. We have provided a sufficient condition on the objective function that ensures the optimal solution is also max-min fair. Notably, such condition is broad enough to include some important functions, for instance those inspired by the Least Squares and Maximum Entropy principles. Based on the same result, we have shown that in the considered case maxmin fairness is equivalent to proportional fairness. One interesting implication is that, under the established condition on the objective function, an optimization RA problem can be directly resolved by means of a simple water-filling algorithm, leveraging the max-min fairness of the optimal solution which we have proved in Theorem 2. Our results hold true when only a minimal set of constraints is considered, namely a single total capacity constraint and a set of individual bounds associated to individual user demands. If additional constraints are applied, like e.g. partial capacity constraints on subsets of users, the alignement between optimality and fairness might be broken. The basic version of the RA problem that we have addressed here is of practical interest due to its simplicity and generality. We have highlighted that the alignement between optimality and max-min fairness is guaranteed when the objective function has an “egalitarian” nature, i.e. it reflect an equal “access right” to the global resource for all users, regardless of the disparity in the size of individual demands. Conversely, we have shown with a counterexample that when the objective function involves user-specific parameters, the optimal solution can not be expected to be max-min fair. This is often the case in physical systems where the objective function links directly to a physical quantity which depends on user-specific conditions — a prominent example being the wireless channel in multi-user systems. In conclusion, we believe our work constitutes an elementary but fundamental theoretical contribution towards a better understanding of the relationships between optimality and fairness in resource-constrained systems. As an additional contribution, we have shown that max-min allocation lends itself to simple implementation in dynamic large-scales system. One key advantage is that it relies on a single parameter, the waterlevel, which in principle can be adjusted by a dynamic control-loop based on the total amount of user resources. Due to its properties in terms of optimality and simple implemention, this mechanism can be attractive for overload protection in large-scale dynamic systems, such as for example mobile communication networks. A Proof of eq. (5) The problem (4) can be easily solved by using the Lagrange multipliers method. The Lagrangian can be written as ! N X min(di , x) − C L(x, λ) = x − λ i=1 0 = x − λ@ X i∈D 1 di + (N − kD )x − C A where D is the (unknown) set of users that are fully satisfied and kD its cardinality. Taking the derivatives we obtain: 8 ∂L < ∂x = 1 − λ(N − kD ) . P : ∂L = i∈D di + (N − kD )x − C ∂λ Imposing the gradient equal to zero yields the stationary points P C − i∈D di (A.1) X(D) = N − kD hence the optimal solution can be written as X ∗ = maxD X(D). In principle, one should explore all the possible configurations of D (i.e., all the combinations of di elements) to find the maximum. However, a certain number of configurations are not admissible since they violate the constraints 0 < c ≤ d. Moreover, it can be easily seen that, among all the configurations of same cardinality kD , the maximum is reached when D contains the kD smallest demands (i.e., d1 , . . . , dkD ). Therefore, in order to maximize the objective function in problem (4), we can order the demands and restrict the search on those configurations of D built by taking the kD (unknown) smallest di , yielding: P C − ki=1 di X ∗ = max 0≤k<N N −k that is the thesis.  B Proof of Theorem 1 Since each derivative is a function of the sole derivation variable, the stationarity condition is !) ( N N X X ∂ ci − C =0 [µi (ci − di ) − νi ci ] + λ f+ ∂cj i=1 i=1 for j = 1, . . . , N . Using the hypothesis, we end up with the following Karush-Kuhn-Tucker (KKT) conditions (see e.g. [21]) for the problem (3): 8 ′ gj (cj ) + µj + λ − νj = 0 > > > > cj − dj ≤ 0 > > > −c < 0 > > j > < PN i=1 ci = C (B.1) > µ (c − dj ) = 0 > > j j > > −νj cj = 0 > > > > > : µj ≥ 0 νj ≥ 0 9 where j = 1, . . . , N . Since cj > 0, the constraint −νj cj = 0 is satisfied only for νj = 0. This means that system (B.1) simplifies into 8 ′ gj (cj ) + µj + λ = 0 > > > > cj − dj ≤ 0 > > < −cj < 0 PN (B.2) > > i=1 ci = C > > > > : µj (cj − dj ) = 0 µj ≥ 0 transition set D∗ → D D∩ users in D∗ that are in D too description D∗ → S D ∗ \ D∩ S∗ → D D \ D∩ S∗ → S S∩ users in D∗ that are not in D∩ (i.e., they are not in D, hence they are in S) users in D that are not in D∩ (i.e., they are not in D∗ , hence they are in S ∗ ) users in C ∗ that are in S too The index set {j}j=N j=1 can be partitioned into two subsets S and D based on the value of µj : S = {j|µj = 0} D = {j|µj > 0} Since µj > 0 =⇒ cj = dj in force of the fifth equation in the system (B.2), D contains all the users that are fully satisfied. Conversely, for µj = 0 the first equation becomes gj′ (cj ) = −λ, which means that users in S are provided with intermediate shares so def as to make their derivatives all equal. Posing sj = gj′−1 (−λ) we can write:  0 < s j < dj j ∈ S cj = dj j∈D  that is the thesis. With the further hypothesis, the gradient becomes: ∇f = [g ′ (c1 ) g ′ (c2 ) · · · g ′ (cN )]T and, accordingly, the first equation of the system (B.2) becomes j = 1, . . . , N. Using the partition {S, D}, we can write cj = g ′−1 (−λ) j ∈ S, which does not depend on the index j. The equality constraint yields: N X ci = C ⇐⇒ i=1 X i∈D di + X cj = C j∈S that is X di + (N − kD )cj = C. i∈D Rearranging terms we end up with the following expression for the candidate optimum points: P ( C− i∈D di j∈S N −kD cj = dj j∈D  D Proof of Theorem 2 The feasible set of the problem (3) is convex, hence it always admits a max-min fair vector [17, p. 1077], which we denote by c∗ = [c∗1 c∗2 · · · c∗N ]T . Recalling eq. (5) we can write c∗j =  X∗ j ∈ S∗ dj j ∈ D∗ users clipped to X ∗ in c∗ that are clipped to X in c Table 1 Possible transitions when moving from the max-min fair solution c∗ to a generic feasible solution c. where, arranging user demands in increasing order (i.e., d1 ≤ d2 ≤ · · · ≤ dN ), X∗ = C− P N i∈D ∗ − k∗ di = P ∗ C − ki=1 di N − k∗ and k denotes the cardinality of D. To prove that c∗ is the optimum, we show that any other candidate point c cannot improve the objective function value, i.e. c 6= c∗ =⇒ f (c) ≥ f (c∗ ). By hypothesis h(·) in convex in the region of interest (since any allocation of resource greater than maxi di would not be in the feasible set), which in turn implies the convexity of f (·) (see e.g. [21]). The idea is to split the latter function into separate terms to be subsequently bounded by leveraging the properties of convex functions. The choice of a convenient split that allows for a sufficiently tight bound is not trivial. In the following we describe such a choice. To illustrate, imagine that a generic feasible solution c (in the form of eq. (D.2)) is obtained from c∗ by performing some moves. In doing so, the elements of the sets S ∗ , D∗ are rearranged into the sets S, D. We can then identify four kinds of transition, depending on the departure/arrival sets, as listed in the Table 1. If we denote with k∩ the cardinality of D∩ , the value of the objective function in c can be recast as follows: f (c) = X i∈D∩ that is the thesis. users clipped to X ∗ in c∗ that are fully satisfied in c and k∗ denotes the cardinality of D∗ . PN Since f (c) = j=1 h(cj ), the hypothesis of Corollary 1 on the gradient ∇f are satisfied, thus all candidate points for the optimum must take the form: P  C − i∈D di X j∈S (D.2) cj = , where X = dj j ∈ D N −k C Proof of Corollary 1 cj = g ′−1 (−λ − µj ) meaning users fully satisfied in c∗ that are fully satisfied in c too users fully satisfied in c∗ that are clipped to X in c (D.1) h(di ) + X h(di ) + i∈D\D∩ X h(X) + i∈D ∗ \D∩ X h(X). i∈S∩ (D.3) We now proceed to rewrite the latter three summations in eq. (D.3). For the second summation, it is important to realize that each user in D \ D∩ contributes to f (c) with an individual term that can be rewritten as h(di ) = h(X ∗ + ∆i ) with ∆i ≥ 0, i ∈ D \ D∩ . In fact, the set of constraints (1) ensures that the water-level X ∗ is no larger than any demand di for i ∈ S ∗ , and D \ D∩ ⊆ S ∗ . Similarly, each user in D∗ \ D∩ contributes with an individual term h(di ) = h(di − ∆i ) with ∆i ≥ 0, i ∈ D∗ \ D∩ , because X is smaller than any demand di for i ∈ S, and D∗ \D∩ ⊆ 10 S. For the last summation, note that the individual contributions h(X) are the same for all user indeces. Finally, we denote by k∪ the cardinality of the union set of the first three summations in eq. (D.3), formally: def k∪ = |D∩ ∪(D \D∩ )∪(D∗ \D∩ )| = |D ∪D∗ | = k +k∗ −k∩ . (D.4) With these positions we can rewrite (D.3) as: X f (c) = X h(di ) + h(X ∗ + ∆i ) + X The convexity of h(·) implies h′ (·) is an increasing function; moreover, recalling eq. (6) it holds X ∗ ≥ maxi∈D∗ di . Thus, the difference h′ (X ∗ ) − h′ (di ) is always positive for all i ∈ D∗ \ D∩ , and hence ∆f ≥ 0 that is f (c) ≥ f (c∗ ). For the arbitrariness of c, we conclude c∗ is the optimum.  E Proof of eq. (D.6) h(di − ∆i ) + By construction the water-level X ∗ of the max-min fair solution is the maximum among the water-levels associated to the candidate points taking the form of eq. (D.2), i.e. By definition X is the common water-level of partially satisfied users, i.e. users belonging to S, hence it holds that X < mini∈S di . Furthermore, we already noticed that X ∗ ≥ maxi∈D∗ di . We now consider two distinct cases based on the mutual relation between the sets S and D∗ . If S ∩ D∗ 6= ∅, we can take a generic element d¯ ∈ S ∩ D∗ and write: X ∗ ≥ X. X < min di ≤ d¯ ≤ max∗ ≤ X ∗ . i∈D∩ i∈D ∗ \D∩ i∈D\D∩ + (N − k∪ )h(X). (D.5) (D.6) This follows directly from the optimization (4), however a formal proof is given in Appendix E. From eq. (D.6) it follows that X = X ∗ − ∆, where ∆ ≥ 0 is such that all the individual level gaps ∆i compensate reciprocally, in order for the point to remain within the candidate set. The value of ∆ can be obtained by zeroing the algebraic sum: X X ∆i − ∆i + (N − k∪ )∆ = 0 i∈D ∗ \D∩ i∈D\D∩ i.e., ∆= P i∈D ∗ \D∩ ∆i − P i∈D\D∩ ∆i N − k∪ . Now let us write the value of the objective function at c∗ : X f (c∗ ) = h(di ) + (N − k∗ )h(X ∗ ). i∈D ∗ We now partition D∗ into D∩ and D∗ \ D∩ , and split the last term based on the equivalence N − k∗ = N − k∪ + k − k∩ (recall eq. (D.4)), rewriting: f (c∗ ) = X h(di ) + i∈D∩ X h(di ) + (N − k∪ )h(X ∗ ) + i∈D ∗ \D∩ + (k − k∩ )h(X ∗ ). (D.7) With such rearrangement we can directly compare the values of the objective function in c and c∗ , i.e. eq. (D.5) and (D.7): def ∆f = f (c) − f (c∗ ) = i X h h(X ∗ + ∆i ) − h(X ∗ ) + i∈D\D∩ + X h i h i h(di −∆i )−h(di ) +(N −k∪ ) h(X ∗ −∆)−h(X ∗ ) . i∈D ∗ \D∩ (D.8) Since the function h(·) is convex, the inequality h(y) − h(x) ≥ h′ (x)(y − x) holds (see e.g. [21]), where h′ (·) is the derivative of h(·). Applying the inequality to each term of eq. (D.8) we can write: X X ∆f ≥ h′ (X ∗ )∆i − h′ (di )∆i − (N − k∪ )h′ (X ∗ )∆. i∈D\D∩ i∈D ∗ \D∩ Substituting the explicit expression for ∆ and arranging by homologous terms, after some simple algebraic steps we obtain: i X h ∆f ≥ h′ (X ∗ ) − h′ (di ) ∆i . i∈D ∗ \D∩ i∈S i∈D Conversely, if S ∩ D∗ = ∅, it follows necessarily that D ⊃ D∗ : in fact, moving from D∗ to D the number of fully satisfied users augments, leading necessarily to a lower water-level. This is a direct consequence of the definition of max-min fair water-level. Thus we conclude that X ∗ ≥ X.  References 1. S. Keshav: An Engineering Approach to Computer Networking, Addison-Wesley, Reading, MA, 1997, pp. 215-217. 2. D. Bertsekas, R. Gallager: Data Networks, Prentice-Hall, 1992. 3. E.M. Gafni, D.P. Bertsekas: Dynamic Control of Session Input Rates in Communication Networks, IEEE Trans. on Automatic Control, vol. AC-29, no.11, nov.1984. 4. R.M. Salles, J.A. Barria: Lexicographic maximin optimisation for fair bandwidth allocation in computer networks, European Journal of Operational Research, 185 (2008), 778794, Elsevier, 2007. 5. M. Uchida: Information Theoretic Aspects of Fairness Criteria in Network Resource Allocation Problems, GameComm ’07, Nantes (France), Oct. 22, 2007. 6. J.-Y. Le Baudec: Rate adaptation, Congestion Control and Fairness: A Tutorial, Ecole Polytechnique Fédérale de Lausanne (EPFL), Oct. 2007. 7. F. Kelly: Charging and rate control for elastic traffic, Eur. Trans. Telecommun., vol. 8, Jan./Feb. 1997. 8. J. Mo, J. Walrand: Fair end-to-end window-based congestion control, IEEE/ACM Trans. on Networking, vol. 8, no. 8, pp. 556-567, Oct. 2000. 9. M. Dianati, X. Shen, S. Naik: A New Fairness Index for Radio Resource Allocation in Wireless Networks, IEEE Comm. Society / WCNC 2005. 10. A. Malla, M. El-Kadi, S. Olariu, P. Todorova: A Fair Resource Allocation Protocol for Multimedia Wireless Networks, IEEE Trans. on Parallel and Distributed Systems, vol. 14, no. 1, Jan. 2003. 11. B. Aoun, R. Boutaba: Max-Min Fair Capacity of Wireless Mesh Networks, IEEE Int’l Conf. on Mobile Ad hoc and Sensor Systems (MASS), 2006. 12. H. Boche, M. Wiczanowski, S. Stanczak: Unifying View on Min-Max Fairness and Utility Optimization in Cellular Networks, IEEE Communications Society / WCNC 2005. 13. D. Prez Palomar, J. Rodrguez Fonollosa: Practical Algorithms for a Family of Waterfilling Solutions, IEEE Trans. on Signal Processing, vol. 53, no. 2, Feb. 2005. 11 14. I. Marsic: Computer Networks: Performance and QoS, [www.caip.rutgers.edu/∼marsic/books/QoS/bookQoS marsic.pdf]. 15. The ATM Forum Technical Committee: Traffic management Specification, Technical report, Apr. 1996. 16. Z. Cao, E. W. Zegura: Utility max-min: An applicationoriented bandwidth allocation scheme, IEEE INFOCOM ’99, pp. 793-801. 17. B. Radunović , J.-Y. Le Boudec: A Unied Framework for Max-Min and Min-Max Fairness With Applications, IEEE/ACM Trans. on Networking, vol. 15, no. 5, Oct. 2007. 18. J. M. Cioffi: EE379C Advanced Digital Communications, [www.stanford.edu/class/ee379c]. 19. M. Johansson, M. Sternad: Resource Allocation Under Uncertainty Using the Maximum Entropy Principle, IEEE Trans. on Information Theory, vol. 51, no. 12, Dec. 2005. 20. A. Berger, S. Della Pietra, V. Della Pietra: A maximum entropy approach to natural language processing, Computational Linguistics, 22:39-68, 1996. 21. S. Boyd, L. Vandenberghe: Convex Optimization, Cambridge University Press, 2004. 22. L. Massoulié, A. Proutière, J. Virtamo: A queueing analysis of max-min fairness, proportional fairness and balanced fairness, Queueing Systems, 2006 23. S. Ladiwalaa, R. Ramaswamya, T. Wolf: Transparent TCP acceleration, Computer Communications, Vol. 32, Issue 4, March 2009, pp. 691-702. 24. J. Huang, V. G. Subramanian, R. Agrawal, R. A. Berry: Downlink Scheduling and Resource Allocation for OFDM Systems, IEEE Trans. on Wireless Communications, vol. 8, no. 1, Jan 2009 25. V. G. Subramanian, R. A. Berry, R. Agrawal: Joint Scheduling and Resource Allocation in CDMA Systems, IEEE Trans. on Information Theory, vol. 56, no. 5, May 2010 26. R. Madan, S. P. Boyd, S. Lall: Fast Algorithms for Resource Allocation in Wireless Cellular Networks, IEEE/ACM Trans. on Networking, vol. 18, no. 3, Jun 2010