L14. Fair networks and topology design D. Moltchanov, TUT, Spring 2008 D. Moltchanov, TUT, Spring 2015
Fair networks
FN: why fairness? So far we considered constant demands, e.g. 10Mbps Is this realistic for modern networks? Yes and no Depends on the type of protocol/application/network Constant demands Real-time applications, e.g. voice video Running over UDP or RTP/UDP protocols Elastic greedy demands Occupies whatever you offer Possibly within some upper bounds TCP-like protocols Rate-adaptive real-time applications Real networks: traffic always has some elasticity
FN: demands are variables! General problem here How much to assign to demands Such that capacity of links is not exceeded! We have no actual values of demands available A user (demand) is supposed to be happy with anything we offer A user is supposed to take anything we offer Demands are also variable, not only We need to allocate in a fair way…
FN: MAX-MIN fairness criterion Fairly straightforward approach Assign a certain possible minimum to all demands If constraints are not satisfied – problem is infeasible If satisfied – try to increase allocation… Max-min fairness criterion As fair as possible for all users Irrespective of path lengths Network throughput could be a problem (you’ll see why soon) Implementation: water filling algorithm Assign the same maximum possible for all demands This assures that the minimal assignment is maximized Increase assignment for other flows Relatively easy when only single paths are available
FN: MAX-MIN example Consider three nodes scenario Linear topology with three demands No demand values: greedy elastic traffic Link capacities: Interfering demands Analyzing the problem All demands have exactly one path The same maximum for all assignment for d=3 is obviously maximized and… we are finished, no more improvement for demands if no: continue improving for d=1 and d=2 (with some step) until there are no demands left e.g. let after 0.5 left for d=2
FN: MAX-MIN example What is the problem with max-min fairness (MMF)? Fair for users! Is this good? Why should I get less if my connection shorter than yours? e.g. accessing from Helsinki and US… Not practical example but you see the point Another problem? What is about overall network throughput? What is the maximum one? usage Can we achieve it? Yes! Good for operator, unfair for users Is there a kind of balance?
FN: proportional fairness Max-min fairness is always like this Good for end users Bad for operators Recall TCP behavior Rate is inverse proportional to route trip time (RTT) Mathis expression for TCP rate where L – packet size, p – packet loss probability the more links we have the higher the RTT and slower the rate TCP demonstrate good results is so-called “fair protocol” Different principle, not max-min!!! Compromise: so-called proportional fairness criterion
FN: proportional fairness Proportional fairness (PF) Maximize logarithms of allocations In our particular case Why logarithmic function? Very small when Does not allow for zero allocations Quickly increases Allows for find precise balance Slowly increases when for large Prevent from allocating all to one or few paths
FN: proportional fairness Solution for PF in our case Can be found analytically Simple topology, single paths, etc. Our task is to maximize due to symmetricity leading to Solution: second derivative test Get critical points If then a is maximum Solution: throughput
FN: proportional fairness Proportional fairness in general Better for operators! … and worse for users? Solution is “more clear” than that for MMF Can be extended to add weights to allocated demands parameters add additional flexibility Generalized notion of fairness Allocation vector is if for any other feasible vector when we have proportional fairness PF: convex programming problem, could be linearized
FN: MAX-MIN example Why MAX-MIN could be complex! Nothing to minimize/maximize Solved in terms of lexicographical sorting of allocation vectors Denoting: we have the following definitions MAX-MIN fair allocation A feasible allocation vector is max-min fair if no allocation can be increased without simultaneously decreasing some for which we have. A feasible rate allocation vector is an optimal solution to the max-min problem if for every feasible rate vector with, for some demand, there exist a demand such that and.
FN: MAX-MIN example Problem when multiple paths… or Filling algorithm: which paths to fill? Maximize minimum for all First paths set: Second paths set: Any improvements? First set of paths: for demand d=1 Second set of paths: no improvement possible… We should avoid such situations! More details in Pioro, Medhi “Flow and capacity design…”
Topology design
TD: costs for deploying a network Uncapacitated NDP: we took into account Capacity-dependent cost of links, recall objective function where is the cost of capacity unit on link e what is about deployment costs? often this is the actual price of a link!
TD: costs for deploying a network The objective function for this problem is where indicated whether a link is installed or not parameters shows the installation cost Problem definition: minimize subject to and constraint: where is large constant Note: the latter is needed to force when e is not installed
TD: example Our four nodes example Parameters: The optimal topology is a tree Shown by red links Links: 2, 3, and 4, Installation cost: Capacity costs: using we get Topology design problems Linear programming problems Easy to solve Allows extensions: e.g. modular links