l14. fair networks and topology design d. moltchanov, tut, spring 2008 d. moltchanov, tut, spring...
TRANSCRIPT
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 noDepends on the type of protocol/application/network
Constant demandsReal-time applications, e.g. voice videoRunning over UDP or RTP/UDP protocols
Elastic greedy demandsOccupies whatever you offerPossibly within some upper boundsTCP-like protocolsRate-adaptive real-time applications
Real networks: traffic always has some elasticity
FN: demands are variables!General problem here
How much to assign to demandsSuch that capacity of links is not exceeded!
We have no actual values of demands availableA user (demand) is supposed to be happy with anything we offerA user is supposed to take anything we offer
Demands are also variable, not only
We need to allocate in a fair way…
1
, 1,2, ,dP
dp dd
x h d D
1 1
, 1,2, ,dPD
edp dp ed p
x c e E
0x
, 1,2, ,dh d D ijx
, 1,2, ,dh d D
FN: MAX-MIN fairness criterionFairly straightforward approach
Assign a certain possible minimum to all demandsIf constraints are not satisfied – problem is infeasibleIf satisfied – try to increase allocation…
Max-min fairness criterionAs fair as possible for all usersIrrespective of path lengthsNetwork throughput could be a problem (you’ll see why soon)
Implementation: water filling algorithmAssign the same maximum possible for all demandsThis assures that the minimal assignment is maximizedIncrease assignment for other flows
Relatively easy when only single paths are available
FN: MAX-MIN exampleConsider three nodes scenario
Linear topology with three demandsNo demand values: greedy elastic trafficLink capacities: Interfering demands
Analyzing the problemAll demands have exactly one pathThe same maximum for all
assignment for d=3 is obviously maximizedand… we are finished, no more improvement for demandsif no: continue improving for d=1 and d=2 (with some step)until there are no demands lefte.g. let after 0.5 left for d=2
1.5, 1,2ec e
11 21 31 0.75x x x
11 21 31(1), (2), (1,2)P P P
2 2c 11 21 31 0.75x x x
11 31 210.75, 0.75 0.5 1.25x x x
FN: MAX-MIN exampleWhat 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 www.tampere.fi 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? usageCan we achieve it? Yes!
Good for operator, unfair for users
Is there a kind of balance?
11 21 31 0.75x x x 2.25T
2.25 / 3 0.75%U 3T
11 21 311.5, 0x x x
FN: proportional fairnessMax-min fairness is always like this
Good for end usersBad for operators
Recall TCP behaviorRate is inverse proportional to route trip time (RTT)Mathis expression for TCP rate
where L – packet size, p – packet loss probabilitythe more links we have the higher the RTT and slower the rateTCP demonstrate good results is so-called “fair protocol”Different principle, not max-min!!!
Compromise: so-called proportional fairness criterion
3( , )
2
LR p RTT
RTT p
FN: proportional fairnessProportional fairness (PF)
Maximize logarithms of allocations
In our particular case
Why logarithmic function?Very small when Does not allow for zero allocations
Quickly increasesAllows for find precise balance
Slowly increases when for large Prevent from allocating all to one or few paths
1 1
logdPD
dpd p
F x
11 21 31log log logF x x x
0 2 4 6 8 104
2
0
2
4f(x) = log x
x, allocation
0x
x
FN: proportional fairnessSolution for PF in our case
Can be found analyticallySimple topology, single paths, etc.
Our task is to maximize
due to symmetricity
leading to
Solution: second derivative testGet critical points If then a is maximumSolution: throughput
0 0.25 0.5 0.75 1 1.25 1.510
6.5
3
0.5
4
f(x) =2 ln x( ) ln 1.5 x( )
xd, allocation
11 21 31( ) log log logf x x x x
11 21x x x
31 21 111.5 1.5 1.5x x x x
( ) 2log log(1.5 )f x x x
'( ) 0f x ''( ) 0f a
1x
11 12 311, 0.5x x x 2.5T 0.833U
FN: proportional fairnessProportional 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 fairnessAllocation vector is if for any other feasible vector
when we have proportional fairnesswhen we have proportional fairness
PF: convex programming problem, could be linearized
1 1
logdPD
d dpd p
F v x
, 1,2, ,dv d D
fair ( )
0i ii
i
y xv
x
1
FN: MAX-MIN exampleWhy MAX-MIN could be complex!
Nothing to minimize/maximizeSolved in terms of lexicographical sorting of allocation vectors
Denoting: we have the following definitions
MAX-MIN fair allocation
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 .
X
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 .
iXkX
k iX X
X
*X
*i iX X i k
*k kX X * *
k iX X
dP
d dppX x
FN: MAX-MIN exampleProblem when multiple paths…
or
Filling algorithm: which paths to fill?Maximize minimum for allFirst 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…”
(1) (1) (1)11 21( , ) (1,1)x x x
11 21(2), (1,4)P P
11 21(1,3), (2,3,4)P P
(1) (2) (2)11 21( , ) (1,1)x x x
11 11 12 12 21 211, (1) 1, (1,3) 1, (1,4)x P x P x P
Topology design
TD: costs for deploying a networkUncapacitated NDP: we took into account
Capacity-dependent cost of links, recall objective function
where is the cost of capacity unit on link ewhat is about deployment costs?often this is the actual price of a link!
1
E
e ee
F y
e
TD: costs for deploying a networkThe objective function for this problem is
where indicated whether a link is installed or notparameters 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
1 1
E E
e e e ee e
F y I
{0,1}eI e
1
, 1,2, ,dP
dp dp
x h d D
1 1
, 1,2, ,dPD
edp dp ed p
x y e E
0, 0y x
1 1
E E
e e e ee e
F y I
,e ey I 1,2, ,e E
0ey
TD: exampleOur four nodes example
Parameters:
The optimal topology is a treeShown by red linksLinks: 2, 3, and 4,
Installation cost:
Capacity costs: using we get
Topology design problemsLinear programming problemsEasy to solveAllows extensions: e.g. modular links
(50,1,1,1,50)e
1 50
5 50
2 1
4 1 3 1
2 3 4 1 51, 0I I I I I
13
E
e eeI
1 1
15(3 1) 20(3 1) 10(1 1)dPD
dp dpd p
x
,h
(15,20,10),h
(2,1,1,3,1)