Computer Networks Fairness

Similar documents
10 Max-Flow Min-Cut Flows and Capacitated Graphs 10 MAX-FLOW MIN-CUT

COMP9334: Capacity Planning of Computer Systems and Networks

Computer Networks More general queuing systems

Utility, Fairness and Rate Allocation

Bounded Delay for Weighted Round Robin with Burst Crediting

Dynamic resource sharing

CPU Scheduling Exercises

Min Congestion Control for High- Speed Heterogeneous Networks. JetMax: Scalable Max-Min

COMP9334 Capacity Planning for Computer Systems and Networks

Congestion Control In The Internet Part 1: Theory. JY Le Boudec 2018

A Generalized Processor Sharing Approach to Flow Control in Integrated Services Networks: The Single Node Case. 1

CSCI 150 Discrete Mathematics Homework 5 Solution

On Two Class-Constrained Versions of the Multiple Knapsack Problem

MULTIPLE CHOICE QUESTIONS DECISION SCIENCE

CHAPTER 4. Networks of queues. 1. Open networks Suppose that we have a network of queues as given in Figure 4.1. Arrivals

Lecture 1 : Data Compression and Entropy

CSCI Honor seminar in algorithms Homework 2 Solution

Competitive Management of Non-Preemptive Queues with Multiple Values

2 = = 0 Thus, the number which is largest in magnitude is equal to the number which is smallest in magnitude.

Operational Laws Raj Jain

M/G/FQ: STOCHASTIC ANALYSIS OF FAIR QUEUEING SYSTEMS

1.225 Transportation Flow Systems Quiz (December 17, 2001; Duration: 3 hours)

Optimal Association of Stations and APs in an IEEE WLAN

Algorithms: COMP3121/3821/9101/9801

Operational Laws 33-1

CSM: Operational Analysis

Markov Chain Model for ALOHA protocol

Queuing Networks. - Outline of queuing networks. - Mean Value Analisys (MVA) for open and closed queuing networks

ECE 3511: Communications Networks Theory and Analysis. Fall Quarter Instructor: Prof. A. Bruce McDonald. Lecture Topic

distributed approaches For Proportional and max-min fairness in random access ad-hoc networks

Fair Scheduling in Input-Queued Switches under Inadmissible Traffic

Parking Slot Assignment Problem

On the Partitioning of Servers in Queueing Systems during Rush Hour

CSE 380 Computer Operating Systems

Robust Network Codes for Unicast Connections: A Case Study

LECTURE 10: REVIEW OF POWER SERIES. 1. Motivation

Congestion In Large Balanced Fair Links

Technion - Computer Science Department - Technical Report CS On Centralized Smooth Scheduling

CS3110 Fall 2013 Lecture 11: The Computable Real Numbers, R (10/3)

a 2n = . On the other hand, the subsequence a 2n+1 =

Scheduling: Queues & Computation

Quality of Real-Time Streaming in Wireless Cellular Networks : Stochastic Modeling and Analysis

Operational Laws. Operational Laws. Overview. Operational Quantities

Power Laws in ALOHA Systems

Methodology for Computer Science Research Lecture 4: Mathematical Modeling

Price and Capacity Competition

An Improved Bound for Minimizing the Total Weighted Completion Time of Coflows in Datacenters

A Generalized FAST TCP Scheme

Diagnosis of Repeated/Intermittent Failures in Discrete Event Systems

A Mechanism for Pricing Service Guarantees

IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 43, NO. 3, MARCH

10.4 The Kruskal Katona theorem

Efficient Nonlinear Optimizations of Queuing Systems

Microeconomic Algorithms for Flow Control in Virtual Circuit Networks (Subset in Infocom 1989)

arxiv: v1 [cs.ds] 30 Jun 2016

Discrete-event simulations

Integrating advanced discrete choice models in mixed integer linear optimization

requests/sec. The total channel load is requests/sec. Using slot as the time unit, the total channel load is 50 ( ) = 1

On the Partitioning of Servers in Queueing Systems during Rush Hour

Lexicographic Max-Min Fairness in a Wireless Ad Hoc Network with Random Access

Price Competition with Elastic Traffic

These are special traffic patterns that create more stress on a switch

Theoretical Foundations of the UML Lecture 18: Statecharts Semantics (1)

CSC373: Algorithm Design, Analysis and Complexity Fall 2017 DENIS PANKRATOV NOVEMBER 1, 2017

Queueing Theory I Summary! Little s Law! Queueing System Notation! Stationary Analysis of Elementary Queueing Systems " M/M/1 " M/M/m " M/M/1/K "

Routing. Topics: 6.976/ESD.937 1

Online Appendix for Incentives in Landing Slot Problems

Analysis of Software Artifacts

Homework 1 - SOLUTION

New Theory and Algorithms for Scheduling Arc Shutdown Jobs in Networks

Algorithms: Lecture 2

Technical Note: Capacitated Assortment Optimization under the Multinomial Logit Model with Nested Consideration Sets

The Impossibility of Certain Types of Carmichael Numbers

NETS 412: Algorithmic Game Theory March 28 and 30, Lecture Approximation in Mechanism Design. X(v) = arg max v i (a)

PEANO AXIOMS FOR THE NATURAL NUMBERS AND PROOFS BY INDUCTION. The Peano axioms

NBER WORKING PAPER SERIES PRICE AND CAPACITY COMPETITION. Daron Acemoglu Kostas Bimpikis Asuman Ozdaglar

Greedy Algorithms. CSE 101: Design and Analysis of Algorithms Lecture 10

A Hierarchy of Suboptimal Policies for the Multi-period, Multi-echelon, Robust Inventory Problem

AS computer hardware technology advances, both

PIQI-RCP: Design and Analysis of Rate-Based Explicit Congestion Control

Resource Allocation for Video Streaming in Wireless Environment

Linear programming. Saad Mneimneh. maximize x 1 + x 2 subject to 4x 1 x 2 8 2x 1 + x x 1 2x 2 2

Introduction 1.1 PROBLEM FORMULATION

Information in Aloha Networks

The min cost flow problem Course notes for Search and Optimization Spring 2004

Admission control schemes to provide class-level QoS in multiservice networks q

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Massachusetts Institute of Technology

Rational Expectations and Farsighted Stability

Scheduling. Uwe R. Zimmer & Alistair Rendell The Australian National University

Channel Allocation Using Pricing in Satellite Networks

Optimization and Stability of TCP/IP with Delay-Sensitive Utility Functions

Math 541 Fall 2008 Connectivity Transition from Math 453/503 to Math 541 Ross E. Staffeldt-August 2008

Sequence convergence, the weak T-axioms, and first countability

Motivation. Lecture 2 Topics from Optimization and Duality. network utility maximization (NUM) problem:

Week 4. (1) 0 f ij u ij.

Problem set 1. (c) Is the Ford-Fulkerson algorithm guaranteed to produce an acyclic maximum flow?

Chapter One. The Real Number System

Efficient Sharing of Resources in Distributed Systems

Fairness comparison of FAST TCP and TCP Vegas

Transcription:

Computer Networks Fairness Saad Mneimneh Computer Science Hunter College of CUNY New York Life is not fair, but we can at least theorize 1 Introduction So far, we analyzed a number of systems in terms of average occupancy, throughput, and delay. However, we did not make any distinction among the customers arriving to the system. For instance, consider the M/M/1 system with a finite queue of packets. If multiple flows are sharing the link, it is possible to achieve high throughput by making one flow generate enough packets, and preventing other flows from sending (their packets will be dropped). Therefore, we need another property to ensure that all flows receive an equal share of the resources. Although not very well defined at this point, we will call this property fairness. To illustrate the basic idea, consider the following figure: λ 1 µ λ 2 Figure 1: Fairness with two flows In the above figure, efficiency means that λ 1 + λ 2 is close to µ. However, fairness means that λ 1 is equal to λ 2. We previously showed that a good operating point is when λ 1 + λ 2 µ/2 (at 50% utlization, throughput/delay is high). We also argued that this behavior of M/M/1 is simiar to that of a network in general (because each link can be modeled as an M/M/1 system). But a network in general is not just one link; therefore, for fairness, the notion of equal share in not necessarily what we think of equality, in particular, how do we handle flows that use different paths? 1

2 A motivating example Assume there is no explicit demand or reservation of bandwidth, and that all the links have a capacity of 1 (unit of bandwidth in bps). How should we assign rates to the flows in the following figure? 2 3 4 1 Figure 2: An example of fairness If all flows receive an equal share of the resources, we would assign each flow a rate of 1/3. However, while it makes sense to limit the rates of flows 1, 2, and 3 to 1/3, it is pointless to do the same for flow 4. Flow 4 may receive a rate of 2/3 because no other flow will benefit by reducing the rate of flow 4 below 2/3. On the other hand, increasing the rate of flow 4 beyond 2/3 will reduce the rate of at least one other flow among those which receive a rate of 1/3. So the assignment of rates (1/3, 1/3, 1/3, 1/4) is fair in some sense. This shows that fair does not necessarily mean equal. So how should we define fairness? 3 Max-Min fairness The observation made above about flow 4 is a key in defining the notion of fairness. In particular, for the fair assignment made above, increasing the rate of flow 4 results in a decrease for some other flow with smaller rate. As illustrated in the figure below, this means moving away from being fair. move high high result move low low result (a) (b) Figure 3: Moving towards (a) or away from (b) fairness

A fair assignment is such that any increase in rate results in a decrease of a smaller rate. In other words, any increase in rate will move us away from fairness (Figure 3(b)). One possible way of achieving such an assignment is by maximizing the minimum rate. This strategy can be justified by the following argument: If the minimum rate is not maximized, then one can increase that rate while decreasing only larger rates, thus the assignment is not fair. But this maximization by itself is not enough to ensure the fairness property. For instance, after maximizing the minimum rate, two flows with larger rates should obtain the same rate if the rate of one can be trated for the rate of the other. Therefore, we need to solve a hierarchy of nested problems. First we must obtain an assignment that maximizes the minimum rate. Among all such assignments, we must then find the one that maximizes the second smallest, and so on. This is called the Max-Min fairness and we will show later that is satisfies our fairness property: Fairness property: Given an assignment of rates, for every flow f with rate r f, increasing r f results in a decrease of r f for some flow f such that r f r f. Let l denote a link, and definte: F l = f crosses l then we need to satisfy the following constraints: r f where c l is the capacity of link l. r f 0 F l c l f l Our algorithm Max-Min fairness algorithm will work as follows: Increase the rates of all flows simultaneously by the same amount until one or more link saturate (F l = c l ) Freeze all flow passing through the saturated link(s) Repeat with the process with remaining (active) set of flows Of course we need a practical way of increasing all rates simultaneoulsy until a link saturates. To do this, we find the smallest ɛ such that when r f is increased by ɛ for all active flows f, a link will saturate. This can be easily computed as follows: min l c l F l n l

where n l is the number of flows crossing link l. Here s the algorithm: Initially, r f = 0 for all flows, F l = 0 for all links, F = {all flows}, and L = {all links}. repeat n l number of flows f F crossing link l ɛ min l L (c l F l )/n l if f F then r f r f + ɛ F l f crossing l r f L {l F l < c l } F F {f f crosses a link L} until F = 4 Bottlnecks and the fairness property Define a link l to be a bottleneck for flow f iff: f crosses l c l = F l all flows f crossing l satisfy r f r f Note that a direct result of this definition is that if f and f have a common bottleneck, then r f = r f. Moreover, this definition captures our intuitive notion of a bottleneck. To see this, consider the following example (assume all links have unit capacity): r 4 = 1 r 1 = 2/3 1 4 1 5 5 4 r 2 = r 3 = r 5 = 1/3 2 3 3 2 Figure 4: Bottleneck example

flow bottleneck 1 (3,5) 2 (2,3) 3 (2,3) 4 (4,5) 5 (2,3) From the above example, we can see that, for a given flow, increasing the capacity of links other than its bottleneck will not help increasing the rate of that flow. It is easy to see that the Max-Min fairness algorithm of Section 3, when it terminates, guarantees that every flow has a bottleneck. This is because every flow crosses a link that eventually saturates, and when a link saturates, all flows crossing that link have the largest rate. Furthermore, we can make the following equivalence, which proves that the Max-Min algorithm satisfies the fairness property. (1) every flow has a bottlenech (2) fairness property (1) (2): Assume we increase r f for some flow f. Since f has a bottleneck l, F l = c l (l is saturated) and all flows f going through l satisfy r f r f. Therefore, some some rate r f r f must decrease. (2) (1): Assume some flow f does not have a bottleneck. Therefore, for every link l that f crosses, either F l < c l or there exists a flow f crossing l with r f > r f and F l = c l. As a result, we can increase r f by only decreasing rates for flows f such that r f > r f, a contradiction. 5 Generalizations It is possible to generalize the Max-Min fairness algorithm to handle priorities. For instance, assume that each flow f is associated with a priority index p f, which is an integer. Then, conceptually, each flow f can be considered as a collection of p f flows of equal priority. We are back to the previous setting, and the Max-Min fairness algorithm will then change as follows (the requirement that p f is an integer can be relaxed): ɛ min l L c l F l f crosses l p f r f r f + p f ɛ As a result, the fairness property will be the following: Fairness property: Given an assignment of rates, for every flow f with rate r f, increasing r f results in a decrease of r f for some flow f such that r f /p f r f /p f.

Another variation for the Max-Min fairness algorithm is to require that for every flow f and every link l, r f (F l c l )/q l, for some given q l. This essentially means that we do not saturate the link. Therefore, we leave some unutilized capacity to account for possible fluctuation in the rates. This can be achieved by adding (a ficticious) flow f l on link l with priority q l (while all flows have priority 1) to account for the unused capacity. Note that f l will be the last flow to remain active until link l saturates (since link l is the only link that f l crosses); therefore, every flow crossing l will satisfy r f (F l c l )/q l. In this case, the total rate crossing link l will be n l c l n l + q l It is possible also to combine both variations, i.e. priorities and unused capacity. In this case, we add a ficticious flow on link l with priority equal to p l q l, where p l = max f crosses l p f. The total rate crossing link l will be f crosses l p f c l f crosses l p f + p l q l 6 Fairness index From the Max-Min fairness algorithn, we expect n flows sharing a common bottleneck to receive the same rates. But what if they don t in reality? How do we measure fairness? A famous fairness index is the following: This index has nice properties: 0 < F (r) 1: F (r) = ( i r i) 2 n i r2 i totally fair: all r i s are equal: F (r) = 1 totally unfair: only one user is given the resource: F (r) = 1/n (which goes to zero when n ) independent of scale: the unit of measurment is irrelevant, i.e. multiplying all rates by the same constant keeps the index unchanged sensitive: any slight change in allocation shows up in the index fractional: if only k users share the resource equally, F (r) = k/n References Dimitri Bertsekas and Robert Gallager, Data Networks