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 ? 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 ? 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 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 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” A Randomized Online Algorithm for Bandwidth Utilization – p.3/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” 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 i 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 i The algorithm, not knowing b i , attempts to send x i bytes 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 i The algorithm, not knowing b i , attempts to send x i bytes If x i b i , the algorithm succeeds. Otherwise, no data is transmitted 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 i The algorithm, not knowing b i , attempts to send x i bytes If x i b i , the algorithm succeeds. Otherwise, no data is transmitted The sequence b i is chosen by a non-adaptive adversary 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 i The algorithm, not knowing b i , attempts to send x i bytes If x i b i , the algorithm succeeds. Otherwise, no data is transmitted The sequence b i is chosen by a non-adaptive adversary def Total available bandwidth, B ∑ b i , is offline optimal ( opt ) A Randomized Online Algorithm for Bandwidth Utilization – p.4/17
☎ ✆ ✝ ✞ ✆ ✟ Restricted Adversaries Karp et al consider three restricted adversaries: a b -fixed-range: Adversary must pick b i from a fixed range a b A Randomized Online Algorithm for Bandwidth Utilization – p.5/17
✆ ☞ ✡ ✆ ✞ ☎ ✟ ☛ ✆ ✞ ✠ ✆ ☛ ✝ ✌ ✆ ✟ ☎ ✝ Restricted Adversaries Karp et al consider three restricted adversaries: a b -fixed-range: Adversary must pick b i from a fixed range a b α β -additive: For some constants α β 0 , adversary α α , with β as a lower bound. must pick b i b i b i 1 1 A Randomized Online Algorithm for Bandwidth Utilization – p.5/17
☛ ☎ ☞ ✆ ✠ ☛ ✆ ✌ ✝ ✟ ✆ ✠ ✟ ✞ ✡ ✆ ✞ ✞ ✍ ✆ ✝ ☛ ✆ ✟ ☎ ✡ Restricted Adversaries Karp et al consider three restricted adversaries: a b -fixed-range: Adversary must pick b i from a fixed range a b α β -additive: For some constants α β 0 , adversary α α , with β as a lower bound. must pick b i b i b i 1 1 µ -multiplicative: For some constant µ 1 , adversary must b i 1 pick b i µb i 1 µ A Randomized Online Algorithm for Bandwidth Utilization – p.5/17
✌ Results Theorem (Upper Bound) A randomized algorithm exists which achieves competitive ratio 8 3 lg µ 16 against a µ -multiplicative adversary. A Randomized Online Algorithm for Bandwidth Utilization – p.6/17
✌ ✌ Results Theorem (Upper Bound) A randomized algorithm exists which achieves competitive ratio 8 3 lg µ 16 against a µ -multiplicative adversary. Theorem (Lower Bound) No randomized algorithm can achieve competitive ratio better than ln µ 1 against a µ -multiplicative adversary. A Randomized Online Algorithm for Bandwidth Utilization – p.6/17
✌ ✌ ✌ ✝ ✆ ☎ Results Theorem (Upper Bound) A randomized algorithm exists which achieves competitive ratio 8 3 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 b 1 against a a b -fixed-range adversary. a A Randomized Online Algorithm for Bandwidth Utilization – p.6/17
✄ ✄ ✟ ✄ ✄ ✝ ✌ ☎ ☎ ✎ ✟ ✌ ✆ ✝ ✞ ✡ ✏ ✞ Lower Bound Proof [Karp et al] Randomized adversary picks b i a b . a if y b y 2 P y a if y b b b ay ba ln b E b i y 2 dy a 1 b a a A Randomized Online Algorithm for Bandwidth Utilization – p.7/17
☞ ✄ ✌ ✏ ✄ ✌ ✝ ✌ ☎ Lower Bound contd. Algorithm tries to send x i , expected throughput is: b a a a a a x i y 2 dy x i x i x i a b x i b b x i Competitive ratio is ln b 1 independent of x i . a A Randomized Online Algorithm for Bandwidth Utilization – p.8/17
✌ ☎ ✟ ✆ ✞ ✌ ✏ ✌ ✄ ✝ ☞ ✄ Lower Bound contd. Algorithm tries to send x i , expected throughput is: b a a a a a x i y 2 dy x i x i x i a b x i b b x i Competitive ratio is ln b 1 independent of x i . a 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 . 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 of 2 in 1 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 of 2 in 1 2 µ When algorithm succeeds, multiply amount requested 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 of 2 in 1 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 2x µ band− width (bytes) x time (steps) A Randomized Online Algorithm for Bandwidth Utilization – p.10/17
Bandwidth Constant 2x µ band− width (bytes) x time (steps) lg µ A Randomized Online Algorithm for Bandwidth Utilization – p.10/17
Brief Spaces band− width (bytes) x µ x time (steps) lg µ A Randomized Online Algorithm for Bandwidth Utilization – p.11/17
Brief Spaces band− width (bytes) x µ x time (steps) lg µ A Randomized Online Algorithm for Bandwidth Utilization – p.11/17
Brief Spaces band− width (bytes) x µ x time (steps) lg µ A Randomized Online Algorithm for Bandwidth Utilization – p.11/17
Brief Spaces band− width (bytes) x µ x time (steps) lg µ A Randomized Online Algorithm for Bandwidth Utilization – p.11/17
✌ Analysis Consider the lg µ 2 algorithms as if they were run in parallel (bandwidth requests) 2µ 16 8 4 2 1 step i step i+1 A Randomized Online Algorithm for Bandwidth Utilization – p.12/17
✌ Analysis Consider the lg µ 2 algorithms as if they were run in parallel (bandwidth Algorithms stay in lock-step requests) 2µ 16 8 4 2 1 step i step i+1 A Randomized Online Algorithm for Bandwidth Utilization – p.12/17
✌ Analysis Consider the lg µ 2 algorithms as if they were run in parallel (bandwidth Algorithms stay in lock-step requests) 4µ 2µ 2µ 16 16 8 8 4 4 Available Bandwidth 2 2 1 step i step i+1 A Randomized Online Algorithm for Bandwidth Utilization – p.12/17
Recommend
More recommend