Title: Communications Networks II: Design and Algorithms
1Routing, Flow, and Capacity Design in
Communication and Computer NetworksChapter 8
Fair Networks
Slides by Yong Liu1, Deep Medhi2, and Michal
PiĆ³ro3 1Polytechnic University, New York,
USA 2University of Missouri-Kansas City,
USA 3Warsaw University of Technology, Poland
Lund University, Sweden October 2007
2Outline
- Fair sharing of network resource
- Max-min Fairness
- Proportional Fairness
- Extension
3Fair Networks
- Elastic Users
- demand volume NOT fixed
- greedy users use up resource if any, e.g. TCP
- competition resolution?
- Fairness how to allocate available resource
among network users. - capacitated design resourcebandwidth
- uncapacitated design resourcebudget
- Applications
- rate control,
- bandwidth reservation
- link dimensioning
4Max-Min Fairness definiation
- Lexicographical Comparison
- a n-vector x(x1,x2, ,xn) sorted in
non-decreasing order (x1x2 xn) is
lexicographically greater than another n-vector
y(y1,y2, ,yn) sorted in non-decreasing order if
an index k, 0 k n exists, such that xi yi, for
i1,2,,k-1 and xk gtyk - (2,4,5) gtL (2,3,100)
- Max-min Fairness an allocation is max-min fair
if its lexicographically greater than any
feasible allocation - Uniqueness?
5Other Fairness Measures
- Proportional fairness Kelly, Maulloo Tan, 98
- A feasible rate vector x is proportionally fair
if for every other feasible rate vector y - Proposed decentralized algorithm, proved
properties - Generalized notions of fairness Mo Walrand,
2000 - -proportional fairness A feasible rate
vector x is - fair if for any other feasible rate vector y
- Special cases proportional
fairness -
max-min fairness
6Capacitated Max-Min Flow Allocation
- Fixed single path for each demand
- Proposition a flow allocation is max-min fair
if for each demand d there exists at least one
bottle-neck, and at least on one of its
bottle-necks, demand d has the highest rate among
all demands sharing that bottle-neck link.
7Max-min Fairness Example
Session 3
Session 2
Session 1
C1
C1
Session 0
- Max-min fair flow allocation
- sessions 0,1,2 flow rate of 1/3
- session 3 flow rate of 2/3
8Max-Min Fairness other definitions
- Definition1 A feasible rate vector is
max-min fair if no rate can be increased
without decreasing some s.t. - Definition2 A feasible rate vector is an
optimal solution to the MaxMin problem iff for
every feasible rate vector with ,
for some user i, then there exists a user k such
that and
9How to Find Max-min Fair Allocation?
- Idea equal share as long as possible
- Procedure
- start with 0 rate for all demand
- increase rate at the same speed for all demands,
until some link saturated - remove saturated links, and demands using those
links - go back to step 2 until no demand left.
10Max-min Fair Algorithm
11Max-min Fair Example
link rate ABBC1, CA2
B
demand 4 2/3
demand 1,2,3 1/3
C
A
demand 54/3
12Extended MMF
- lower and upper bound on demands
- weighted demand rate
13Extended MMF algorithm
14Deal with Upper Bound
- Add one auxiliary virtual link with link
capacity wdHd for each demand with upper bound Hd
15MMF with Flexible Paths
- one demand can take multiple paths
- max-min over aggregate rate for each demand
- potentially more fair than single-path only
- more difficult to solve
16Uncapacitated Problem
- Max-min fair sharing of budget
- Formulation
17Uncapacitated Problem
- max-min allocation
- all demands have the same rate
- each demand takes the shortest path
- proof?
18Proportional Fairness
- Proportional Fairness Kelly, Maulloo Tan,
98 - A feasible rate vector x is proportionally fair
if for every other feasible rate vector y - formulation
19Linear Approximation of PF
20Extended PF Formulation
21Uncapacitated PF Design
- maximize network revenue minus investment