Академический Документы
Профессиональный Документы
Культура Документы
iS
min(s
i
, R
) = C
iS
min(r
()
i
, R
) = C
,
r
()
i
= min
L
i
{}
(R
, s
i
)
L
i
(R
, s
i
) = min
L
i
r
()
i
the rate allocated to source i
J. Virtamo 38.3141 Teletrac Theory / Fairness 4
Finding maxmin fair share (lling algorithm)
1. In the beginning set the rates of all connections to zero, r
i
= 0, i
2. Increase all rates (equally) until either
some of the sources has attained the requested rate or
the capacity of some link is fully used
3. Freeze the rate of this connection / rates of these connections at the current level and
continue increasing the rates of other connections as in point 2
This algorithm requires centralized knowledge of the whole network
There are also decentralized versions of this algorithm (e.g. for the ABR service in an
ATM network), where the sources and switches exchange information
after a few iterations these algorithms converge to the fair share
J. Virtamo 38.3141 Teletrac Theory / Fairness 5
Example of a maxmin fair share in a network
C =6
1
C =12
2
s =4
1
s =6
2
s =5
3
s =5
4
C =12
3
C =6
4
C =8
5
connection 1 2 3 4 Note
s
i
4 6 5 5 the requested rate
round
0 0 0 0 0
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3 link 1 full
4 4 4 requested rate of source 1
5 5 link 3 full
In this example the rate increase has been made
in increments of one unit
In reality, the increase must done in a continu-
ous manner
it is easy to gure out, which limit is next
encountered
J. Virtamo 38.3141 Teletrac Theory / Fairness 6
Formal denition of maxmin fairness
The previous considerations can be set in a more precise mathematical form:
Denition 1: A rate vector of the connections r = {r
i
| i S} is feasible, if
0 r
i
s
i
i
iS
r
i
C
Denition 2: The rate vector r is maxmin fair, if it is feasible and if for each connection i
and for each feasible rate vector r for which r
i
> r
i
, there is another connection j such that
r
j
r
i
and r
j
< r
j
Denition 3: For a given feasible rate vector r link is a bottleneck link for connection i S
,
if
kS
r
k
= C
and r
j
r
i
j S
max
rR
n
r
U(x
r
)
subject to Ax C
over x 0.
where
x = {x
r
, r R} the vector of ow numbers on dierent routes
C = {C
j
, j J} the vector of link capacities,
A = {a
jr
, j J, r R} the link-route incidence matrix;
a
jr
is equal to n
r
if route r uses link j and 0 otherwise.
J. Virtamo 38.3141 Teletrac Theory / Fairness 9
Utility based fairness denitions (continued)
A reasonable and rather general choice for the utility function is
U(x) =
x
1
1
where is a free parameter
Specic choices for lead to the following important special cases
concept max
x
R
n
r
U
r
(x
r
)
0 maximize overall throughput max
x
R
n
r
x
r
1 proportional fairness max
x
R
n
r
log x
r
2 minimize potential delay min
x
R
n
r
x
r
max min fairness max
x
min
rR
x
r
Small values of favour the common (network) utility at the expense of individuals;
larger values of emphasize the fairness towards the poorest guy.
J. Virtamo 38.3141 Teletrac Theory / Fairness 10
Example: Utility based fairness in linear network
x ,n
1 1
x ,n
0 0
x ,n
2 2
x ,n
J J
link 1 link 2 link J
.....
The ow on the long route is indexed by 0; the ows on the short routes are indexed by
the respective link number; all links have capacity 1
concept x
0
0 maximize overall throughput 0
1 proportional fairness
1
n
0
+
j
n
j
2 minimize potential delay
1
n
0
+
j
n
2
j
maxmin fairness
1
n
0
+ max
j1
n
j
As increases from 0 to , the dierent allocations give relatively more bandwidth to
long routes