Fairness Gaurav S. Kasbekar Dept. of Electrical Engineering IIT Bombay 1-1 References ο² Bertsekas and Gallager, Chapter 6 1-2 Problem ο² N/w represented by directed graph G = (N,A) ο² Link a has capacity πΆπ ο² P: set of sessions (flows) using n/w Each session has associated fixed path through n/w ο Each session has a large file to transfer ο Wants as high a rate as n/w can provide ο ο² If objective is to achieve fairness, what rate ππ should be allocated to session p? Fairness ο² All flows have equal rights to network ο² Informally, “allocated rates should be equalized as far as possible and no bandwidth should be wasted” ο precise definition later ο² Fair allocation for single link example: ο allocate C/N to each flow Multiple Links Example ο² Fair allocation: ο allocate rate 1/3 each to sessions 0,1,2 ο rate 2/3 to session 3 ο² If only 1/3 were allocated to session 3, bandwidth of second link would be wasted ο² Not all rates equal in fair solution Procedure to Generate Fair Allocation ο² Initially set rates of all flows to 0 ο² Slowly increase rates of all flows equally until one or more links saturated ο Freeze rates of flows that pass through these links ο² Slowly increase rates of remaining flows equally until some more links saturated ο Freeze rates of flows that pass through newly saturated links ο² Repeat until all rates frozen ο² Generates a “max-min fair” solution Example ο² Allocation generated by above procedure: ο Allocate rate 1/3 each to sessions 2, 3, 5 ο 2/3 to session 1 ο 1 to session 4 Formal Definition of Max-Min Fair Allocation 3-8 Feasibility ο² Let π = {ππ : π ∈ π} be vector of allocated rates ο² Sum of rates of flows passing through link a should not exceed πΆπ 1) So πΉπ = σ ππ ≤ πΆπ , where summation is over all flows p passing through a 2) Also, ππ ≥ 0 for all p ο² Rate vectors π satisfying 1) and 2) called feasible ο only feasible rate vectors allowed Max-Min Fair Allocation: Definition ο² An allocation π = {ππ : π ∈ π} is max-min fair if (i) it is feasible and (ii) the rate ππ of any session p cannot be increased while maintaining feasibility without decreasing the rate ππ of another session q for which ππ ≤ ππ ο² Rate allocated to any flow cannot be increased without “increasing level of unfairness” ο² In e.g., allocation found above is max-min fair ο² π0 = ο 1 ,π 2 1 = π2 = 1 ,π 4 3 not max-min fair = 1 2 is: Example ο² π2 = π3 = π5 = ο max-min fair ο² π2 = π3 = ο not 1 , 3 π1 = 3 1 , π5 = , 8 4 max-min fair 2 , 3 π1 = π4 = 1 is: 3 , 4 π4 = 1 is: Bottleneck Link ο² Want to show that allocation produced by above procedure is max-min fair ο² Recall: πΉπ = σ ππ , where summation over all flows passing through link a 3-12 Bottleneck Link ο² Defn: Given feasible rate vector π, link π is a bottleneck link w.r.t. π for a session p passing through π if: (i) πΉπ = πΆπ , and (ii) ππ ≥ ππ for all other sessions q passing through π ο² In e.g., BL for rate vector π0 = π1 = π2 = ο 1 ,π 3 3 = BL of sessions 0,1,2 is (A,B); BL of session 3 is (B,C) 1 1 1 2 : 3 ο² BL for rate vector π0 = , π1 = π2 = , π3 = : 2 4 2 ο BL of session 0 are (A,B) and (B,C); of session 3 is (B,C); sessions 1 and 2 don’t have a BL Example Bottleneck Links: ο² Session 1: ο (3,5) ο² Sessions 2,3: ο (2,3) ο² Session 4: (4,5) ο² Session 5: (2,3) ο² Link (3,5) not bottleneck link for session 5 ο² Link (1,3) not a bottleneck link for any session 3-14 Relevance of “Bottleneck Link” Concept in Above Procedure ο² Each of the first set of links that saturate is a bottleneck link for: ο all the sessions that pass though it ο² Each of the second set of links that saturate is a bottleneck link for: ο all sessions that pass through it but not first set of links ο² And so on ο² Note: in allocation produced by procedure, every session has a bottleneck link 3-15 Results ο² Theorem: A feasible rate vector π is max- min fair iff each session has a bottleneck link w.r.t. r ο² Corollary: Allocation produced by above procedure is max-min fair 3-16 Properties 1) There exists a unique max-min fair allocation in every network for a given set of sessions using the network 2) Among feasible allocations, the max-min fair allocation maximizes the minimum rate allocated to any session