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