a polylog competitive algorithm for the k-server problem
DESCRIPTION
A polylog competitive algorithm for the k-server problem. 3. 1. 2. Move Nearest Algorithm. The k-server Problem. k servers lie in an n-point metric space . Requests arrive at metric points. To serve request: Need to move some server there. Goal : Minimize total distance traveled. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/1.jpg)
A polylog competitive algorithm for the k-server problem
Nikhil Bansal (IBM)Niv Buchbinder (Open Univ.)
Aleksander Madry (MIT)Seffi Naor (Technion)
![Page 2: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/2.jpg)
The k-server Problem
• k servers lie in an n-point metric space.• Requests arrive at metric points.• To serve request: Need to move some server there.
Goal: Minimize total distance traveled.
Objective: Competitive ratio.
1 2 3
Move Nearest Algorithm
![Page 3: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/3.jpg)
The Paging/Caching Problem
Set of pages {1,2,…,n} , cache of size k<n.Request sequence of pages 1, 6, 4, 1, 4, 7, 6, 1, 3, …
a) If requested page already in cache, no penalty.b) Else, cache miss. Need to fetch page in cache (possibly) evicting some other page.
Goal: Minimize the number of cache misses.
K-server on the uniform metric.Server on location p = page p in cache
1 n. . .
![Page 4: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/4.jpg)
Previous Results: Paging
Paging (Deterministic) [Sleator Tarjan 85]:
• Any deterministic algorithm >= k-competitive.• LRU is k-competitive (also other algorithms)
Paging (Randomized):
• Rand. Marking O(log k) [Fiat, Karp, Luby, McGeoch, Sleator, Young 91].
• Lower bound Hk [Fiat et al. 91], tight results known.
![Page 5: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/5.jpg)
K-server conjecture
[Manasse-McGeoch-Sleator ’88]:There exists k competitive algorithm on any metric space.
Initially no f(k) guarantee.Fiat-Rababi-Ravid’90: exp(k log k) …Koutsoupias-Papadimitriou’95: 2k-1
Chrobak-Larmore’91: k for trees.
![Page 6: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/6.jpg)
Randomized k-server Conjecture
There is an O(log k) competitive algorithm for any metric.
Uniform Metric: log kPolylog for very special cases (uniform-like)
Line: n2/3 [Csaba-Lodha’06]
exp(O(log n)1/2) [Bansal-Buchbinder-Naor’10]
Depth 2-tree: No o(k) guarantee
![Page 7: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/7.jpg)
Our Result
Thm: There is an O(log2 k log3 n) competitive* algorithm for k-server on any metric with n points.
* Hiding some log log n terms
Key Idea: Multiplicative Updates
![Page 8: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/8.jpg)
Our Approach
Hierarchically Separated Trees (HSTs) [Bartal 96].
Any Metric
Allocation Problem (uniform metrics): [Cote-Meyerson-Poplawski’08]
(decides how to distribute servers among children)
O(log n)
Allocation instances
K-server on HST
![Page 9: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/9.jpg)
Outline
• Introduction• Allocation Problem• Fractional view of Randomized Algorithms• Fractional Caching Algorithm• What makes Allocation Problem harder?• The Fix
![Page 10: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/10.jpg)
Allocation Problem
Uniform Metric
At each time t, request arrives at some location iRequest = (ht(0),…,ht(k)) [monotone: h(0) ¸ h(1) … ¸ h(k)]
Upon seeing request, can reallocate servers
Hit cost = ht(ki) [ki : number of servers at i] Total cost = Hit cost + Move cost
Eg: Paging = cost vectors (1,0,0,…,0)
*Total servers k(t) can also change (let’s ignore this)
![Page 11: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/11.jpg)
Allocation to k-serverThm [Cote-Poplawski-Meyerson]: An online algorithm for allocation s.t. for any > 0, i) Hit Cost (Alg) · (1+) OPT ii) Move Cost (Alg) · OPT
gives ¼ O(d 1/d)) competitive k-server alg. on depth d HSTs
d = log (aspect ratio) So, = poly(1/) polylog(k,n) suffices *HSTs need some well-separatedness*Later, we do tricks to remove dependence on aspect ratio
We do not know how to obtain such an algorithm.
![Page 12: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/12.jpg)
Outline
• Introduction• Allocation Problem• Fractional view of Randomized Algorithms• Fractional Caching Algorithm• What makes Allocation Problem harder?• The Fix
![Page 13: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/13.jpg)
Fractional View of Randomized Algorithms
To specify a randomized algorithm: i) Prob. distribution on states at time t. ii) How it changes at time t+1.
Fractional view: Just specify some marginals.
Eg. Paging, actual algorithm = distribution over k-tuples but, Fractional: p1,…,pn s.t. p1 + …+ pn = k
Cost: If p1,…,pn changes to q1,…,qn ,pay (1/2) i |pi – qi|
Not too weak: Fractional Paging -> Randomized Paging (2x loss)
![Page 14: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/14.jpg)
Fractional Allocation Problem
xi,j : prob. of having j servers at location i (at time t)
j xi,j = 1 (prob. distribution)
i j j xi,j · k (global server bound)
Cost: Hit cost with h(0),…,h(k) = j xi,j h(j)
Moving mass from (i,j) to (i,j’) costs |j’-j|
Surprisingly, fractional allocation does not give good randomized alg. for allocation problem.
![Page 15: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/15.jpg)
A gap example
Allocation Problem on 2 points
Requests alternate on locations.Left: (1,1,…,1,0) Right: (1,0,…,0,0)
Any integral solution must pay (T) in T steps.
Claim: Fractional Algorithm pays only T/(2k) .XL,0 = 1/k xL,k = 1-1/kXR,1 = 1
No move cost. Hit cost of 1/k on left requests.
Left Right
![Page 16: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/16.jpg)
Fractional Algorithm SufficesThm (Analog of Cote et al): Suffices to have fractional
allocation algorithm with (1+,()) guarantee.
Gives a fractional k-server algorithm on HST
Thm (Rounding): Fractional k-server alg. on HSTs -> Randomized Alg. with O(1) loss.
Thm (Frac. Allocation): Design a fractional allocation algorithm with = O(log (k/)).
![Page 17: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/17.jpg)
Outline• Introduction• Allocation Problem• Fractional view of Randomized Algorithms• Fractional Caching Algorithm• What makes Allocation Problem harder?• The Fix
![Page 18: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/18.jpg)
Fractional Paging Algorithm
Current state, p1,…,pn s.t. i pi =k.
Say request at 1 arrives.
Algorithm: Need to bring 1-p1 mass into p1.
Rule: For each page i decrease pi / 1–pi + ( = 1/k)
Intuition: If pi close to 1, be more conservative in evicting.
Multiplicative Update: d(1-p) / (1-p)
0
Pg 1 Pg 2 Pg n… p11-p1 1-p2 p2
0001 11 1
1-pn pn
![Page 19: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/19.jpg)
Potential Fn. Analysis
Will Show: On(t) + (t) - (t-1) · O(log k) Off(t)
Contribution of page i to : 0 if pi =0, log(k+1) if pi=1.
=0 if online and offline state coincide.
Suppose, page 1 is requested.Analyze in two steps: First offline moves, then online
If offline moves a server increases by · log(k+1)The claim holds easily.
= 1/k
![Page 20: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/20.jpg)
Analysis
Will show: On(t) + (t) - (t-1) · O(log k) Off(t)
Suppose mass enters p1.
pi decreases by dpi = (1-pi+) / N Offline Online
On = {i : pi > 0}
Key Obs: For each page i in On\Offdecreases by dpi ¢ d/ dpi = dpi (1/(1-pi+)) = /N
At least |On|-k such pages, so potential drop >= (|On|-k)/N
Claim: Potential drop ¸ Pf: N = i 2 On (1-pi+) = |On|-k + |On| ¼ |On|-k.
![Page 21: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/21.jpg)
What makes Allocation Harder?
Paging: If location 1 requested, Know that OPT also has server on 1.
Allocation Problem: Not so clear.
Say, already 10.5 servers at location 1. Should we add even more? May be OPT just has 1 server there.
![Page 22: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/22.jpg)
An Instructive ExampleCase 1: K servers, and allocation problem on 2k locations.
Cost Vectors = (1,0,…,0)At Locations: 1, 2, …, 2k 1, 2,…, 2k, …
Case 2: 2 k servers in total. 1/2 server on locations 1,…,k-1 and k+1/2 on location k.
Vector (1,0,…,0) on location 1,2,…,k-1 and vector (1,1,…,1,0,…,0) on k.
Right thing: Release the servers on location k. Much better solution: 1 server on each location.
1 2 2k. . .
k k+1
![Page 23: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/23.jpg)
The FixSuppose cost vector j = (,,…,,0,…,0) at location 1.(i.e. cost if · j servers, 0 otherwise)
Hit cost Y= (x1,0+ …+ x1,j)Increase servers by ¼ Y
Fix number: For each location i (including 1), rebalance prob. mass by multiplicative update.
(location 1)0 1 2
j j+1k
Recall j xij = 1, 8i
…… Each xi,j (except last j) increases / xi,j
![Page 24: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/24.jpg)
Proof Idea
Eg: Location i contributes 3 log (1+k) to .
Key observation: For every cut · j, xi,· j increases / xi,· j.
Lemma: For any offline state, pays for online movement.Pf: Each cut for j > k*
i, decreases potential by /|ON-k|. There are |ON-k| such cuts.
Location i
OPT ON
![Page 25: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/25.jpg)
Concluding Remarks
Removing dependence on aspect ratio.HST -> Weighted HST with O(log n) depth.
Extend Allocation to weighted star.
Main question: Can we remove dependence on n. 1. Metric -> HST 2. But even on HST (lose depth of HST)
![Page 26: A polylog competitive algorithm for the k-server problem](https://reader035.vdocuments.us/reader035/viewer/2022062315/56816096550346895dcfc00b/html5/thumbnails/26.jpg)
Thank you