Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ben Moseley Sungjin Im Goals of Talk  Make you aware of/interested in broadcast sched  Highlight known results, key open questions, some recent results.

Similar presentations


Presentation on theme: "Ben Moseley Sungjin Im Goals of Talk  Make you aware of/interested in broadcast sched  Highlight known results, key open questions, some recent results."— Presentation transcript:

1

2 Ben Moseley Sungjin Im

3 Goals of Talk  Make you aware of/interested in broadcast sched  Highlight known results, key open questions, some recent results in online case  Interesting algorithmic idea(s) that could be of general interest Impressionistic proofs

4 Pull-based Broadcast 4 Clients Server

5 Motivation  Wireless and multicast where broadcast is natural (several applications)  Batched scheduling (batch size infinity/large) (models studied in queuing theory)  Other models: push vs pull, stochastic vs worst-case  [Bartal-Muthukrishnan’00] [Kalyanasundaram-Pruhs- Velaithupillai’00] initiated work on worst-case online and offline algorithmic analysis in pull-based model  Sustained interest due to simplicity and algorithmic interest/difficulty

6 Formal Model  Server has n pages of information  Each clients request a specific page  When server broadcasts a page p, all outstanding requests for page p are simultaneously satisfied Uniform page sizes: all pages have same size (1 wlog) Non-uniform page sizes: ignored for most of talk

7 Formal Model contd  Requests arrive at beginning of slot  Transmission of page takes one time slot J p,i : i th request of page p  a p,i : arrival time  f p,i : finish time in some schedule  F p,i = f p,i - a p,i : flowtime/response time/waiting time p p p,1p,2p,3 p,4 p,5

8 Unicast Scheduling, unit sized jobs To contrast with broadcast scheduling Unicast job scheduling: all jobs unit-sized  J i : job i  a i : arrival time, assume integer  f i : finish time in some schedule  w i : non-negative weight

9 What to optimize? Flowtime F p,i : f p,i – a p,i Standard metrics:  minimize average/total flowtime : Σ p,i F p,i  minimize maximum flowtime: max p,i F p,i  minimize L k norms of flowtime : ( Σ p,i (F p,i ) k ) 1/k  weighted versions  Maximize throughput (requests have deadlines) New metric(s): delay factor

10 Worst-case Framework & Resource Augmentation Input is worst-case (adversarial) Offline: exact poly-time algo or approximation ratio Online: competitive ratio Resource augmentation [Kalyanasundaram-Pruhs] Algorithm given s-speed server while adversary given 1-speed server for some s ≥ 1

11 What is known? Offline results for average flowtime  O(1)-speed O(1) approx [Kalyanasundaram-Pruhs- Velauthapillai’00]  NP-Hard [Erlebach-Hall’02], simpler proof [Chang- Erlebach-Gailis-Khuller’08]  (1+ ε )-speed O(1/ ε ) approx for any ε > 0 [Bansal-Charikar- Khanna-Naor’05], also O(n 1/2 ) approx  O(log 2 n/log log n) approx [Bansal-Coppersmith-Svir’06] All approx algorithms based on LP relaxation

12 What is known? Online for average flowtime  Ω (n) lower bound for any algorithm [K-P-V’00]  “Reduction” to non-clairvoyant parallel scheduling problem [Edmonds-Pruhs’02]. Via reduction  BEQUI-EDF is (4+ ε )-speed O(1)-competitive [EP’02]  LAPS is (2+ ε )-speed O(1)-competitive [EP’09]  Longest-Wait-First (LWF) is 6-speed O(1)- competitive. Not O(1)-competitive with < 1.618 speed [Edmonds-Pruhs’04]

13 What is known? Max Flowtime:  FIFO is 2-competitive? [Bartal-Muthukrishnan’00]  First published proof [Chang etal’08]  NP-Hard [Chang etal’08]

14 Why is it difficult?  Different schedules can do different amounts of work – should one wait to broadcast p in the hope of accumulating more requests or broadcast it now?  In online case, a standard analysis technique from unicast scheduling does not apply [KPV’00]. No online algorithm even with O(1) speed is “locally” competitive in terms of queue size with respect to “all” schedules.

15 Key Open Questions Offline: approximability of basic questions.  Average flowtime: is there an O(1) approx or a PTAS?  Maximum flowtime: is there a c-approx for c < 2?  L k norms of flowtime? Online:  Is there a “scalable” algorithm for average flowtime? A (1+ ε )-speed O(f(1/ ε ))-competitive for every ε > 0?  Competitive algorithms for L k norm, k > 1?  Max weighted response time (the ∞ norm)

16 New Online Results Summary:  Simpler/improved analysis of LWF  New algorithms: LF, LF-W, LF-W+LF  Scalable algorithm for max weighted flowtime  [Im-Mosely’09] Scalable algorithm for average flowtime (*Scalable algorithm for L k norms?)  Results extend to delay factor scheduling

17 New Online Results  Simpler/improved analysis of LWF. Improved lower bound of 2- ε on speed required for O(1)- competitiveness  New algorithms: LF, LF-W, LF-W+LF  O(k)-speed O(k)-competitive algorith for L k norms  Scalable algorithm for max weighted response time  FIFO is 2-comp. for max flowtime with varying page sizes  [Im-Mosely’09] Scalable algorithm for average flowtime (*Scalable algorithm for L k norms?)  Above Results extend to delay factor scheduling  Throughput scheduling as submodular function maximization, related results

18 Rest of Talk  LWF and similar algorithms  Simplified analysis of LWF  Scalable algorithm for max weighted response time  Concluding thoughts

19 Weighted case Each request J p,i has weight w p,i  Observation: For average flowtime weights don’t matter in broadcast scheduling. Why? Also for L k norms for fixed k  Weights make a big difference for k = ∞ (max weighted flowtime)  Weighted case related to delay factor  Helped understand/develop new algorithms

20 Understanding Broadcast MRF: most requested first Observation: MRF if not O(1)-competitive for any fixed speed s [K-P-V’00] 10p p 1 p 2 p 3... p n MRF OPT pppp pp1p1 pp2p2 2n

21 Understanding Broadcast MRF: most requested first Observation: MRF if not O(1)-competitive for any fixed speed s [K-P-V’00] Broadcast scheduling tradeoff:  wait & merge requests for same page to save work  accumulate flowtime Difficulty exemplified by lack of good offline algos

22 Longest Wait First (LWF)  A(t): requests alive at time t  For page p: W(p,t) = Σ (p,i) in A(t) w p,i (t- a p,i )  Schedule q = argmax p W(p,t) A natural and greedy algorithm/rule Seems to work well in practice First worst case analysis [Edmonds-Pruhs’04]

23 Longest First (LF) Generalize LWF to cost metrics/objectives (example L k norm of flowtime for k > 1) “Schedule page that has largest accumulated cost” LF k : LF for minimizing L k norms of flowtime LWF is same as LF 1 FIFO is same as LF∞ (for unweighted)

24 How good is LWF/LF? LWF requires 1.618 speed to be O(1)-comp. [EP’04] *LWF requires 2-ε speed to be O(1)-comp. even for unicast scheduling *LF k requires (k+1-ε) speed to be O(1) competitive for L k norms. LF∞ is not O(1) comp. with any const speed for weighted Why are LWF/LF not (as) good? They don’t distinguish between pages of same cost. Better to give preference to higher weight/more recent pages

25 How good are LWF/LF?  LWF is 6-speed O(1) comp. Needs 1.618 speed [EP’04]  LWF is 3.44-speed O(1)-comp. *Needs 2-ε speed even for weighted unicast scheduling  LF k is O(k)-speed O(k)-comp for L k norms. *LF k needs (k+1-ε) speed.  LF∞ is not O(1) comp. with any const speed for max weighted flowtime LF k performance deteriorates with k. Why?

26 Weakness of LWF/LF  They do not distinguish between pages of same cost.  Can give preference to low weight pages that have waited very long instead of high weight pages that arrived more recently  Damage worse for large k Fix?

27 New Algorithm: LF-W LF-W(c) with parameter c ≥ 1 Fmax(t): maximum page at t Q(t): all pages alive at t with cost ≥ Fmax(t)/c Among pages of Q(t), schedule one with max weight/max number of requests

28 New Algorithm: LF-W LF-W(c) with parameter c ≥ 1 Fmax(t): maximum page at t Q(t): all pages alive at t with cost ≥ Fmax(t)/c Among pages of Q(t), schedule one with max weight/max number of requests Conjecture: LF-W(1/2) is O(1)-speed O(1)-comp for all k True for k=1 and k=∞

29 Hybrid: LF-W+LF LF-W(c)+LF  For 9 of 10 time slots use LF-W(c)  Use LF for the 10 th time slot

30 Hybrid: LF-W+LF LF-W(c)+LF  For 9 of 10 time slots use LF-W(c)  Use LF for the 10 th time slot Easier to analyze than LF-W(c) and provably good! *LF-W(1/2)+LF is O(1)-comp with O(1)-speed for all k? [Im-Mosely’09] (1+ε)-speed O(1/ε 11 ) competitive algorithm for average flowtime (variant of above)

31 Remaining time?  Sketch of LWF analysis  Sketch of LF-W analysis for max weighted flowtime The above two ingredients are key for all our results

32 Analysis of LWF Several nice/original ideas in [Edmonds-Pruhs’04] but difficult to read/understand We present a simpler view while borrowing the key ideas from [EP’04]. Allowed several subsequent improvements

33 Analysis of LWF Assume LWF is given 5 speed  Partition requests into S and N  S: self-chargeable F p,i ≤ c F* p,i  N: non-self-chargeable F p,i > c F* p,i

34 Analysis of LWF  Partition requests into S and N  S: self-chargeable F p,i ≤ c F* p,i  N: non-self-chargeable F p,i ≤ c F* p,i From definition: F(S) ≤ c OPT

35 Analysis of LWF  Partition requests into S and N  S: self-chargeable F p,i ≤ c F* p,i  N: non-self-chargeable F p,i ≤ c F* p,i From definition: F(S) ≤ c OPT Key idea: show F(N) ≤ δ (F(S) + F(N)) = δ LWF for δ < 1 Charge part of LWF to itself!

36 Analysis of LWF  Partition requests into S and N  S: self-chargeable F p,i ≤ c F* p,i  N: non-self-chargeable F p,i ≤ c F* p,i From definition: F(S) ≤ c OPT Key idea: show F(N) ≤ δ (F(S) + F(N)) = δ LWF for δ < 1 LWF = F(S) + F(N) ≤ c OPT + δ LWF therefore LWF ≤ c OPT/(1- δ )

37 Analysis for LWF Key idea: show F(N) ≤ δ (F(S) + F(N)) = δ LWF for δ < 1 Analyze N for each p pp LWF OPT p p LWF’s x’th and (x+1)st transmission of p I p,x OPT’s last p in I p,x

38 Analysis for LWF pp LWF OPT p p non-self chargeable requests N p,x for p in I p,x F p,x : their total flowtime OPT’s last p in I p,x

39 Analysis for LWF Observation: By time t*, reqs in N p,x have accumulated flowtime ≥ ½ F p,x pp LWF OPT p p t* non-self chargeable requests N p,x for p in I p,x F p,x : their total flowtime L L/2

40 Analysis for LWF Observation: By time t*, reqs in N p,x have accumulated flowtime ≥ ½ F p,x. Why did LWF do p i and not p at t? Implies flowtime for p i at t is ≥ ½ F p,x pp LWF OPT p p t* non-self chargeable requests N p,x for p in I p,x F p,x : their total flowtime L L/2 p1p2p3p4p5p1p2p3p4p5 t

41 Analysis for LWF Charge F p,x to flowtime of p 1 to p 5 : 5 F p,x /2 available at t pp LWF OPT p p t* L L/2 p1p2p3p4p5p1p2p3p4p5 t

42 Analysis for LWF Charging scheme:  Can charge F p,x to any t in [t*,end of I p,x ], 5F p,x /2 available at t  However, only half a time slot available; to avoid overcharging by other pages  Thus 5F p,x /4 available to charge F p,x  Thus overall, F(N) ≤ 4/5 LWF

43 Analysis for LWF Why can’t we charge F p,x to any t in interval? Multiple pages may want to charge to same t! pp LWF p p1p2p3p4p5p1p2p3p4p5 t p’ OPT

44 Analysis for LWF Charging scheme: why is a unique half-slot available?Use a matching argument similar to [E- P’04] Intuition: OPT has a unique broadcast for each (p,x) in N and we use only half the interval to charge pp LWF p p’ OPT

45 LF for L k norm of flowtime Easy modifications of our LWF analysis shows LF is O(k)-speed O(k)-competitive for L k norm of flowtime for any k ≥ 1 Also holds for L k norm of delay factor More technical and difficult analysis shows LWF is O(1)- competitive with 3.44-speed Conjecture: LWF is 2-speed O(1)-competitive matching lower bound

46 Minimizing Weighted Max Flowtime min max p,i w p,i F p,i  Unweighted: FIFO is 2-competitive [Chang etal’08]  Weighted  Ω(W 0.4 ) lower bound where W is max weight even for unicast scheduling [C-Moseley’09] (related to lower bound for minimizing maximizing stretch [Bender- Chakrabarti-Muthukrishnan’98])  Need resource augmentation

47 Algorithm LF-W(c): Fmax(t) : max weighted flowtime of alive reqs at time t Q(t) = { alive request with F p,i (t) > Fmax(t)/c } Schedule page p with largest weight in Q(t)

48 Algorithm Theorem: If c > (1+2/ε), LF-W(c) is c 2 -competitive with a (1+ε)-speed server. Corollary: (1+ε)-speed O(1/ε 2 )-competitive algorithm for max weighted flowtime Note: algorithm’s parameter c depends on speed LF-W(c): Fmax(t) : max weighted flowtime of alive reqs at time t Q(t) = { alive request with F p,i (t) > Fmax(t)/c } Schedule page p with largest weight in Q(t)

49 Analysis t*: first time when some req J q,k has w q,k F q,k > c 2 OPT Key defn: t 1 is smallest time such that in I = [t 1, t*] all requests (p,i) done by algorithm satisfy  w p,i F p,i ≥ OPT (flowtime worse than OPT) and  w p,i ≥ w q,k (larger weight than (q,k)) t* t1t1 I

50 Analysis contd R = requests picked to schedule by LF-W during I x = OPT/w q,k Lemma 1: Every request in R is satisfied by OPT by a separate broadcast (even if they are for same page). Lemma 2: No request in R arrives before t 1 – 2cx Lemma 3: I is long, that is |I| ≥ (c 2 -c) x t* t1t1 |I| ≥ (c 2 -c) x t 1 – 2cx

51 Analysis contd Lemma 1: Every request in R is satisfied by OPT by a separate broadcast (even if they are for same page). Lemma 2: No request in R arrives before t 1 – 2c x Lemma 3: I is long, that is |I| ≥ (c 2 -c) x |R| = (1+ε) |I| since LF-W has (1+ε)-speed OPT has to do all these requests in [t 1 -2cx, t*] with 1 speed Contradiction by simple algebra if c > (1+2/ε) t* t1t1 |I| ≥ (c 2 -c) x t 1 – 2cx

52 Analysis contd Lemma 1: Every request in R is satisfied by OPT by a separate broadcast (even if they are for same page). Suppose (p,i) and (p,j) satisfied by OPT by same broadcast Flowtime of (p,i) ≥ OPT and (p,j) arrives after (p,i) is finished Thus if (p,i) and (p,j) are merged by OPT then F * p,i > OPT! t* t1t1 p,i t p,j

53 Analysis contd Lemma 2: No request in R arrives before t 1 – 2 x Suppose some request (p,i) in R arrived at t < t 1 – 2c x Case analysis to contradict definition of t 1 t* t1t1 |I| ≥ (c 2 -c) x t 1 – 2cx

54 Analysis contd Lemma 3: I is long, that is |I| ≥ (c 2 -c) x t* = a q,k + c 2 x, define t’ = a q,k + c x By t’, (q,k) has already accumulated c OPT flowtime,  (q,k) is in Q(t) for all t in [t’,t*) otherwise contradicts defn of t*  Implies t 1 ≤ t’ and hence |I| ≥ (c 2 -c)x t* t1t1 |I| ≥ (c 2 -c) x t 1 – 2cx

55 FIFO  Can use LF-W analysis idea to show FIFO is 2- competitive for max flowtime even for varying sized pages  Matches lower bound of 2 for deterministic algorithms even for unit-sized pages  Proof is different from that of [Chang etal’08] who assume unit-sized pages and time-slot arrivals

56 Future Directions  Offline: O(1) approx for average flow-time? How bad/good is the LP relaxation?  Online:  Tight bounds for LWF. Conjecture: 2-speed O(1)-comp  Simplify/improve the new scalable algorithms of [Im- Moseley’09]. Potential function based analysis?  Prove conjecture on LF-W(1/2)  “Understand” BEUIQ and LAPS algorithms [E-P]  Empirical evaluation of recent algorithms  Batch scheduling

57 Thanks!

58 Delay Factor [Chang etal’08]  Request J p,i has deadline d p,i  Slack S p,i = d p,i – a p,i  Delay factor D p,i = max (1, F p,i / S p,i )  1 if job/request done before deadline, otherwise the relative delay when compared to slack  syntactic similarity to w p,i = 1/S p,i  Most of our results carry over to delay factor sched


Download ppt "Ben Moseley Sungjin Im Goals of Talk  Make you aware of/interested in broadcast sched  Highlight known results, key open questions, some recent results."

Similar presentations


Ads by Google