A Randomized Online Algorithm for Bandwidth Utilization
Sanjeev Arora and Bo Brinkman Princeton University
A Randomized Online Algorithm for Bandwidth Utilization – p.1/17
Motivation: Computer Networks
Goal: Send data as quickly as possible without any central
authority distributing bandwidth
?
“Find” the unused bandwidth
Use dropped packets as implicit information about bandwidth availability
Motivation: Computer Networks
Goal: Send data as quickly as possible without any central authority distributing bandwidth
?
“Find” the unused bandwidth
Use dropped packets as implicit information about bandwidth availability
A Randomized Online Algorithm for Bandwidth Utilization – p.2/17
Motivation: Computer Networks
Goal: Send data as quickly as possible without any central authority distributing bandwidth
Bottleneck
“Find” the unused bandwidth Use dropped packets as implicit information about
bandwidth availability
Motivation: Computer Networks
Goal: Send data as quickly as possible without any central authority distributing bandwidth
Bottleneck
“Find” the unused bandwidth
Use dropped packets as implicit information about bandwidth availability
A Randomized Online Algorithm for Bandwidth Utilization – p.2/17
Previous Work
AIMD (Additive Increase, Multiplicative Decrease) promotes the social good
[Jacobson ’88] “Congestion avoidance and control”
[CJ ’89] “Analysis of increase and decrease algorithms for congestion avoidance in computer networks”
Developing theoretical models for congestion control problems [KKPS ’00] “Algorithmic problems in congestion control”
Previous Work
AIMD (Additive Increase, Multiplicative Decrease) promotes the social good
[Jacobson ’88] “Congestion avoidance and control”
[CJ ’89] “Analysis of increase and decrease algorithms for congestion avoidance in computer networks”
Developing theoretical models for congestion control problems [KKPS ’00] “Algorithmic problems in congestion control”
A Randomized Online Algorithm for Bandwidth Utilization – p.3/17
Main Model [Karp et al]
At each step
i
:The available bandwidth on the network is
b
iThe algorithm, not knowing
b
i, attempts to sendx
i bytes Ifx
ib
i, the algorithm succeeds. Otherwise, no data is transmittedThe sequence
b
i is chosen by a non-adaptive adversary Total available bandwidth,B
de f∑b
i, is offline optimal (opt
)Main Model [Karp et al]
At each step
i
:The available bandwidth on the network is
b
iThe algorithm, not knowing
b
i, attempts to sendx
i bytes Ifx
ib
i, the algorithm succeeds. Otherwise, no data istransmitted
The sequence
b
i is chosen by a non-adaptive adversary Total available bandwidth,B
de f∑b
i, is offline optimal (opt
)A Randomized Online Algorithm for Bandwidth Utilization – p.4/17
Main Model [Karp et al]
At each step
i
:The available bandwidth on the network is
b
iThe algorithm, not knowing
b
i, attempts to sendx
i bytes Ifx
ib
i, the algorithm succeeds. Otherwise, no data is transmittedThe sequence
b
i is chosen by a non-adaptive adversary Total available bandwidth,B
de f∑b
i, is offline optimal (opt
)Main Model [Karp et al]
At each step
i
:The available bandwidth on the network is
b
iThe algorithm, not knowing
b
i, attempts to sendx
i bytes Ifx
ib
i, the algorithm succeeds. Otherwise, no data is transmittedThe sequence
b
i is chosen by a non-adaptive adversary Total available bandwidth,B
de f∑b
i, is offline optimal (opt
)A Randomized Online Algorithm for Bandwidth Utilization – p.4/17
Main Model [Karp et al]
At each step
i
:The available bandwidth on the network is
b
iThe algorithm, not knowing
b
i, attempts to sendx
i bytes Ifx
ib
i, the algorithm succeeds. Otherwise, no data is transmittedThe sequence
b
i is chosen by a non-adaptive adversary Total available bandwidth,B
de f∑b
i, is offline optimal (opt
)Restricted Adversaries
Karp et al consider three restricted adversaries:
a
b
-fixed-range: Adversary must pickb
i from a fixed rangea
b
α β
-additive: For some constantsα β 0
, adversarymust pick
b
ib
i 1α b
i 1α
, withβ
as a lower bound.µ
-multiplicative: For some constantµ 1
, adversary must pickb
i bi 1µµb
i 1A Randomized Online Algorithm for Bandwidth Utilization – p.5/17
Restricted Adversaries
Karp et al consider three restricted adversaries:
a
b
-fixed-range: Adversary must pickb
i from a fixed rangea
b
α
β
-additive: For some constantsα
β
0
, adversarymust pick
b
ib
i 1α
b
i 1α
, withβ
as a lower bound.µ
-multiplicative: For some constantµ 1
, adversary must pickb
i bi 1µµb
i 1Restricted Adversaries
Karp et al consider three restricted adversaries:
a
b
-fixed-range: Adversary must pickb
i from a fixed rangea
b
α
β
-additive: For some constantsα
β
0
, adversarymust pick
b
ib
i 1α
b
i 1α
, withβ
as a lower bound.µ
-multiplicative: For some constantµ
1
, adversary must pickb
i biµ1µb
i 1A Randomized Online Algorithm for Bandwidth Utilization – p.5/17
Results
Theorem (Upper Bound)
A randomized algorithm exists which achieves competitive ratio
83
lgµ
16
against aµ
-multiplicative adversary.Theorem (Lower Bound)
No randomized algorithm can achieve competitive ratio better than
lnµ 1
against aµ
-multiplicative adversary.Theorem [Karp et al]
No randomized algorithm can achieve competitive ratio better than
ln
ba1
against aa b
-fixed-range adversary.Results
Theorem (Upper Bound)
A randomized algorithm exists which achieves competitive ratio
83
lgµ
16
against aµ
-multiplicative adversary.Theorem (Lower Bound)
No randomized algorithm can achieve competitive ratio better than
lnµ
1
against aµ
-multiplicative adversary.Theorem [Karp et al]
No randomized algorithm can achieve competitive ratio better than
ln
ba1
against aa b
-fixed-range adversary.A Randomized Online Algorithm for Bandwidth Utilization – p.6/17
Results
Theorem (Upper Bound)
A randomized algorithm exists which achieves competitive ratio
83
lgµ
16
against aµ
-multiplicative adversary.Theorem (Lower Bound)
No randomized algorithm can achieve competitive ratio better than
lnµ
1
against aµ
-multiplicative adversary.Theorem [Karp et al]
No randomized algorithm can achieve competitive ratio better than
ln
ba1
against aa
b
-fixed-range adversary.Lower Bound
Proof [Karp et al]
Randomized adversary picks
b
ia
b
.P
y
ya2if y
b
ab
if y
b
E
b
i ba
ay
y
2dy
b a b
a
ln b
a
1
A Randomized Online Algorithm for Bandwidth Utilization – p.7/17
Lower Bound contd.
Algorithm tries to send
x
i, expected throughput is:x
i bxi
a
y
2dy
x
ia b
x
ia
x
i
a b
x
ia b
a
Competitive ratio is
ln
ba1
independent ofx
i. Lower bound is a simple corollary: The adversary could restrictitself to the fixed range
b
0µb
0 .Lower Bound contd.
Algorithm tries to send
x
i, expected throughput is:x
i bxi
a
y
2dy
x
ia b
x
ia
x
i
a b
x
ia b
a
Competitive ratio is
ln
ba1
independent ofx
i.Lower bound is a simple corollary: The adversary could restrict itself to the fixed range
b
0µb
0 .A Randomized Online Algorithm for Bandwidth Utilization – p.8/17
Our (Barely) Randomized Algorithm
This version has competitive ratio
4lgµ
8
. Setx
0 (amount of bandwidth requested during the first step)to a uniformly random power of
2
in1 2µ
When algorithm succeeds, multiply amount requested by
2µ
When it fails, divide by
2
Our (Barely) Randomized Algorithm
This version has competitive ratio
4lgµ
8
.Set
x
0 (amount of bandwidth requested during the first step) to a uniformly random power of2
in1
2µ
When algorithm succeeds, multiply amount requested by
2µ
When it fails, divide by
2
A Randomized Online Algorithm for Bandwidth Utilization – p.9/17
Our (Barely) Randomized Algorithm
This version has competitive ratio
4lgµ
8
.Set
x
0 (amount of bandwidth requested during the first step) to a uniformly random power of2
in1
2µ
When algorithm succeeds, multiply amount requested by
2µ
When it fails, divide by
2
Our (Barely) Randomized Algorithm
This version has competitive ratio
4lgµ
8
.Set
x
0 (amount of bandwidth requested during the first step) to a uniformly random power of2
in1
2µ
When algorithm succeeds, multiply amount requested by
2µ
When it fails, divide by
2
A Randomized Online Algorithm for Bandwidth Utilization – p.9/17
Bandwidth Constant
µ
width (bytes)
x 2x
band−
Bandwidth Constant
µ width
(bytes)
x
time (steps) 2xµ
lg band−
A Randomized Online Algorithm for Bandwidth Utilization – p.10/17
Brief Spaces
µ x band−
width (bytes)
x
Brief Spaces
time (steps) µ
x band−
width (bytes)
lgµ x
A Randomized Online Algorithm for Bandwidth Utilization – p.11/17
Brief Spaces
µ x band−
width (bytes)
x
Brief Spaces
time (steps) µ
x band−
width (bytes)
lgµ x
A Randomized Online Algorithm for Bandwidth Utilization – p.11/17
Analysis
Consider the
lgµ
2
algorithms as if they were run in parallel2µ requests)
1 2 4 8 16
step i step i+1 (bandwidth
4µ requests)
2 4 8 16
1 2 4 8 16
2µ 2µ
Bandwidth Available
step i step i+1 (bandwidth
Algorithms stay in lock-step Bandwidth achieved
is at least 12 available amount
Analysis
Consider the
lgµ
2
algorithms as if they were run in parallel2µ requests)
1 2 4 8 16
step i step i+1 (bandwidth
4µ requests)
2 4 8 16
1 2 4 8 16
2µ 2µ
Bandwidth Available
step i step i+1 (bandwidth
Algorithms stay in lock-step Bandwidth achieved
is at least 12 available amount
A Randomized Online Algorithm for Bandwidth Utilization – p.12/17
Analysis
Consider the
lgµ
2
algorithms as if they were run in parallel4µ requests)
2 4 8 16
1 2 4 8 16
2µ 2µ
Bandwidth Available
step i step i+1 (bandwidth
Algorithms stay in lock-step Bandwidth achieved
is at least 12 available amount
Analysis
Consider the
lgµ
2
algorithms as if they were run in parallel4µ requests)
2 4 8 16
1 2 4 8 16
2µ 2µ
Bandwidth Available
step i step i+1 (bandwidth
Algorithms stay in lock-step Bandwidth achieved
is at least 12 available amount
A Randomized Online Algorithm for Bandwidth Utilization – p.12/17
Analysis contd.
Bandwidth increasing or constant: Ensemble succeeds again
µ 1 2µ
step i+1 (bandwidth
requests)
2 4 8 16
1 4 8 16
x=2
2µ 4µ 2µ
step i
Bandwidth decreases
to less than
x
and ensemble fails In the next step if ensemblemisses again, bandwidth x2 Total missed bandwidth
is bounded by
x
2x 4x2x
Analysis contd.
Bandwidth increasing or constant: Ensemble succeeds again
µ 1 2µ
step i+1 (bandwidth
requests)
2 4 8 16
1 4 8 16
x=2
2µ 4µ 2µ
step i
Bandwidth decreases
to less than
x
and ensemble fails In the next step if ensemblemisses again, bandwidth x2 Total missed bandwidth
is bounded by
x
2x 4x2x
A Randomized Online Algorithm for Bandwidth Utilization – p.13/17
Analysis contd.
Bandwidth increasing or constant: Ensemble succeeds again
µ 1 2µ
step i+1 (bandwidth
requests)
2 4 8 16
1 4 8 16
x=2
2µ 4µ 2µ
step i
Bandwidth decreases
to less than
x
and ensemble fails In the next step if ensemblemisses again, bandwidth x2 Total missed bandwidth
is bounded by
x
2x 4x2x
Analysis contd.
Bandwidth increasing or constant: Ensemble succeeds again
µ 1 2µ
step i+1 (bandwidth
requests)
2 4 8 16
1 4 8 16
x=2
2µ 4µ 2µ
step i
Bandwidth decreases
to less than
x
and ensemble fails In the next step if ensemblemisses again, bandwidth x2 Total missed bandwidth
is bounded by
x
x2 4x2x
A Randomized Online Algorithm for Bandwidth Utilization – p.13/17
Analysis contd.
Putting it together:
In step
i
ensemble sendsx
Total available in step
i
Total missed until next success
Finally, pick one of the algorithms from ensemble at random:
E
bandwidth found by random algorithmopt
4 lgµ 2
Analysis contd.
Putting it together:
In step
i
ensemble sendsx
Total available in step
i
2x
Total missed until next success
Finally, pick one of the algorithms from ensemble at random:
E
bandwidth found by random algorithmopt 4 lgµ 2
A Randomized Online Algorithm for Bandwidth Utilization – p.14/17
Analysis contd.
Putting it together:
In step
i
ensemble sendsx
Total available in step
i
2x
Total missed until next success
2x
Finally, pick one of the algorithms from ensemble at random:
E
bandwidth found by random algorithmopt
4 lgµ 2
Analysis contd.
Putting it together:
In step
i
ensemble sendsx
Total available in step
i
2x
Total missed until next success
2x
Finally, pick one of the algorithms from ensemble at random:
E
bandwidth found by random algorithmopt
4
lgµ
2
A Randomized Online Algorithm for Bandwidth Utilization – p.14/17
Final Details
Remove assumption that
µ
is a power of2
:lgµ
3
algorithms, competitive ratio
4lgµ
12
Instead of powers of
2
, use powers ofc
: Competitive ratio83
lgµ 16
Algorithm also works for additive adversaries: Lower bound on competitive ratio is
ln
α ββ1
, algorithm achieves83
lg
α ββ16
. (Use algorithm withµ
α ββ )Final Details
Remove assumption that
µ
is a power of2
:lgµ
3
algorithms, competitive ratio
4lgµ
12
Instead of powers of
2
, use powers ofc
: Competitive ratio83
lgµ
16
Algorithm also works for additive adversaries: Lower bound on competitive ratio is
ln
α ββ1
, algorithm achieves83
lg
α ββ16
. (Use algorithm withµ
α ββ )A Randomized Online Algorithm for Bandwidth Utilization – p.15/17
Final Details
Remove assumption that
µ
is a power of2
:lgµ
3
algorithms, competitive ratio
4lgµ
12
Instead of powers of
2
, use powers ofc
: Competitive ratio83
lgµ
16
Algorithm also works for additive adversaries: Lower bound on competitive ratio is
ln
αββ1
, algorithm achieves83
lg
αββ16
. (Use algorithm withµ
αββ)MIMD
Interesting fact: Our algorithm is Multiplicative Increase, Multiplicative Decrease
[CJ ’89] observe that Multiplicative Increase algorithms are efficient (dynamical systems argument)
Also show that MIMD algorithms do not converge to fairness Is this a case where the optimal behavior for individuals is anti-social?
A Randomized Online Algorithm for Bandwidth Utilization – p.16/17
MIMD
Interesting fact: Our algorithm is Multiplicative Increase, Multiplicative Decrease
[CJ ’89] observe that Multiplicative Increase algorithms are efficient (dynamical systems argument)
Also show that MIMD algorithms do not converge to fairness Is this a case where the optimal behavior for individuals is anti-social?
MIMD
Interesting fact: Our algorithm is Multiplicative Increase, Multiplicative Decrease
[CJ ’89] observe that Multiplicative Increase algorithms are efficient (dynamical systems argument)
Also show that MIMD algorithms do not converge to fairness Is this a case where the optimal behavior for individuals is
anti-social?
A Randomized Online Algorithm for Bandwidth Utilization – p.16/17
MIMD
Interesting fact: Our algorithm is Multiplicative Increase, Multiplicative Decrease
[CJ ’89] observe that Multiplicative Increase algorithms are efficient (dynamical systems argument)
Also show that MIMD algorithms do not converge to fairness Is this a case where the optimal behavior for individuals is anti-social?
Interesting Questions
How “predictable” is real network traffic?
Can we incorporate feedback effects into this model?
Is end-to-end congestion control sufficient for fair and efficient network usage?
If not, what should we do in routers? (Floyd and Fall, Shenker)
A Randomized Online Algorithm for Bandwidth Utilization – p.17/17
Interesting Questions
How “predictable” is real network traffic?
Can we incorporate feedback effects into this model?
Is end-to-end congestion control sufficient for fair and efficient network usage?
If not, what should we do in routers? (Floyd and Fall, Shenker)
Interesting Questions
How “predictable” is real network traffic?
Can we incorporate feedback effects into this model?
Is end-to-end congestion control sufficient for fair and efficient network usage?
If not, what should we do in routers? (Floyd and Fall, Shenker)
A Randomized Online Algorithm for Bandwidth Utilization – p.17/17
Interesting Questions
How “predictable” is real network traffic?
Can we incorporate feedback effects into this model?
Is end-to-end congestion control sufficient for fair and efficient network usage?
If not, what should we do in routers? (Floyd and Fall, Shenker)