Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

95
Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko

description

3 Problem Statement Response Time of r i = b i – a i b i : time r i satisfied a i : arrival time of r i Broadcasting page p at time t satisfies all outstanding requests for p that arrive at

Transcript of Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

Page 1: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

Minimizing Response time in

Broadcast Scheduling

Nikhil Bansal

Don Coppersmith and Maxim Sviridenko

Page 2: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

2

Problem StatementCollection of pages 1,2,…,n at a broadcast server (satellite)Requests r1,…,rm Request ri: [page pi, arrival time ai]

Many requests may arrive at a time slot.

Server transmits 1 page per time slot. Page p broadcast at time t, satisfies all outstanding requests

for p that arrived at time <t

Given a schedule, let bi denote when ri is satisfiedResponse Time: bi – ai

Goal: Find broadcast schedule to Minimize average response time (i (bi – ai)) / m

Page 3: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

3

Problem StatementResponse Time of ri = bi – ai

bi : time ri satisfied ai : arrival time of ri

Broadcasting page p at time t satisfies all outstanding requests for p that arrive at <t.

1,1,2 3 2,3

Total Response Time =

t=0

Requests

Pages {1,2,3}

Page 4: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

4

Problem StatementResponse Time of ri = bi – ai

bi : time ri satisfied ai : arrival time of ri

Broadcasting page p at time t satisfies all outstanding requests for p that arrive at <t.

1,1,2 3 2,3

Total Response Time = 1 + 1

1t=0

Requests

Pages {1,2,3}

Page 5: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

5

Problem StatementResponse Time of ri = bi – ai

bi : time ri satisfied ai : arrival time of ri

Broadcasting page p at time t satisfies all outstanding requests for p that arrive at <t.

1,1,2 3 2,3

Total Response Time = 1 + 1 + 1

1 3t=0

Requests

Pages {1,2,3}

Page 6: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

6

Problem StatementResponse Time of ri = bi – ai

bi : time ri satisfied ai : arrival time of ri

Broadcasting page p at time t satisfies all outstanding requests for p that arrive at <t.

1,1,2 3 2,3

Total Response Time = 1 + 1 + 1 + 3 + 1

1 23t=0

Requests

Pages {1,2,3}

Page 7: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

7

Problem StatementResponse Time of ri = bi – ai

bi : time ri satisfied ai : arrival time of ri

Broadcasting page p at time t satisfies all outstanding requests for p that arrive at <t.

1,1,2 3 2,3

Total Response Time = 1 + 1 + 1 + 3 + 1 + 2 = 9

1 23 3t=0

Requests

Pages {1,2,3}

Page 8: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

8

Problem StatementResponse Time of ri = bi – ai

bi : time ri satisfied ai : arrival time of ri

Broadcasting page p at time t satisfies all outstanding requests for p that arrive at <t.

1,1,2 3 2,3

Total Response Time = 1 + 1 + 1 + 3 + 1 + 2 = 9

1 23 3t=0

Requests Avg=1.5

Pages {1,2,3}

Page 9: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

9

NP-Hard: [Erlebach, Hall 02]

Resource augmentation: Can transmit s>1 pages per time slot.s-speed, c-approx: If maxI Algs(I)/Opt1(I) · c

3-speed, 3-approx [Kalyanasundaram et al 00]6-speed, 1-approx [Erlebach, Hall 02] 2-speed, 2-approx & 4-speed, 1-approx [Gandhi et al 02]2-speed, 1-approx [Gandhi et al 02](1+)-speed, O(1/)-approx [B., Charikar, Khanna, Naor 05]

Resource augmentation vs No speed-up Requests (1,2) ( 3,4) (5,6) …Speed 2: Avg resp time = O(1) Speed 1: O(n)

Page 10: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

10

NP-Hard: [Erlebach, Hall 02]

Resource augmentation: Can transmit s>1 pages per time slot.s-speed, c-approx: If maxI Algs(I)/Opt1(I) · c

3-speed, 3-approx [Kalyanasundaram et al 00]6-speed, 1-approx [Erlebach, Hall 02] 2-speed, 2-approx & 4-speed, 1-approx [Gandhi et al 02]2-speed, 1-approx [Gandhi et al 02](1+)-speed, O(1/)-approx [B., Charikar, Khanna, Naor 05]

Without speedup: Trivial O(n) approximation, Round RobinO(n1/2) approximation [B., Charikar, Khanna, Naor 05]O(log2n/log log n) approximation [B., Coppersmith, Sviridenko 06]

Page 11: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

11

Previous Work (Online Case)Round Robin: Trivial O(n) competitiveMost outstanding requests , Longest Wait First ?

Any deterministic alg: (n) competitive [Kalyanasundaram et al 00]

Any randomized alg: (n1/2)- competitive

B-Equi : 4-speed, 4-competitive [Edmonds, Pruhs 02]

Longest Wait First : 6-speed, O(1)-compet. [Edmonds, Pruhs 04]

Minimize Max resp time: O(1) approx [Bartal, Muthukrishnan 00]

Throughput Maximization: 3/4 approx [Gandhi et al 02]

Page 12: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

12

In this talkAverage Response time minimization : Offline Setting

a) 3-speed, 3-approximation

b) (1+)-speed, O(1/)-approximation 1-speed, O(n1/2) approximation

c) O(log2 n/ log log n) approximation

(all via a natural LP relaxation)

Page 13: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

13

The IP Formulation

Key decision variable: : Whether page p transmitted at time t ?

How to express response time of a request ?

Page 14: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

14

Time-indexed IP formulation

ntp: # requests for page p that arrive at time t

Page 15: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

15

LP Solution : probability page p broadcast at t’ : probability, request for p at t, satisfied at t’>t

For request (p,t), contribution to LP

0.2 0.5 0.3 0.8 starting t’ = t+1, …until 1 unit of page p seen

0.50.1 0.3 0.2

0.20.6 0.00.3

0.3

0.1

0.6

request for green

p=1

p=2

p=3

Page 16: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

16

Idea for 3-speed, 3-approximationFor each page p, mark intervals where cumulative amount

of page transmitted by LP = 1/3

If can ensure that one transmission of page p during each such interval => 3 approximation

Simple greedy algorithm (EDF type) ensures this.

Page 17: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

17

More careful analysis for 2-speedFor each page p, mark intervals where cumulative amount

of page transmitted by LP = 1/2

Even if one transmission within each intervalSome requests may end up paying much more than LP.

Some additional ideas give 2-speed, O(1) approx

Page 18: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

18

Idea for O(n1/2) approx : probability page p broadcast at t’ : probability, request for p at t, satisfied at t’>t

For request (p,t), contribution to LP

0.2 0.5 0.3 0.8 starting t’ = t+1, …until 1 unit of page p seen

0.50.1 0.3 0.2

0.20.6 0.00.3

0.3

0.1

0.6

request for green

Observation: If transmit p at t’ with prob , Expected response time = contribution to LP

Page 19: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

19

Idea for O(n1/2) approx

Simple observation:Consider page p, choose 2 [0,1) uniformly at random

Mark times where cumulative page p transmitted thus far first becomes ¸ i+ for i=0,1,2,…

1+

2+

For any request for pE[cost] = LP cost

Pr [p scheduled at time t = ]

Page 20: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

20

Rounding Procedure (Tentative)For each page p, choose p 2 [0,1) u.a.r

Tentative Schedule: Schedule p wherever cumulative amount first exceeds i+ p, for i=0,1,…

E[ # of tentative pages at any time] · 1E[ cost of tentative schedule] = Opt LP cost.

Page 21: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

21

Tentative ! Proper Schedule

Greedily assign tentatively scheduled pages to a free time slot in the future

Tentative transmission at t, pushed ahead by Backlog(t)Will show Backlog(t) = O(n1/2) on average

Page 22: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

22

Analysis

Backlog(t) = maxx<t Tentative pages in [x,t) – (t-x)

t

Page 23: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

23

AnalysisBacklog(t) = maxx<t Tentative pages in [x,t) – (t-x)

E[backlog(t)] = O(n1/2) If (1+)-speed, E[Backlog(t)] = O(1/)

In interval J=[x,t], if LP has l(p) amount of page p,then tentative schedule has d l(p) e w/ prob frac(l(p)) or b l(p) c w/ prob 1- frac(l(p))

Size(J) = p l(p)|Tentative pages in J – Size(J)| = O(n1/2) [Standard deviation]

Page 24: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

24

OverviewGood Pseudo-schedule (each request satisfied “locally”).

But, Independent rounding for each page p.Backlog = O(n1/2) when pages 1…n merged.

Page 25: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

25

Attempt 1Why choose the offset p independently for each page p.

Perhaps a better dependent way?

No. An ½ integral LP instance with O(n1/2) backlog no matter what offsets chosen.

Intuitively, choosing offsets is not useful becausechoice of p determines all future transmissions of page p.

Page 26: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

26

Need to abandon locality!

Page 27: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

27

Idea for improved approximation1) Relax the locality requirement for tentative schedules

2) Ensure that combining individual schedules for each page does not produce a large backlog.

Page 28: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

28

When can we violate locality?

0.5 0.50.50.5

Non-local: Requests here not satisfied locally.

Region1 Region 2

However Not a problem if: If region 1 and region 2 had similar # of requests for page p

Problem only if: Much fewer requests in region 2 than region 1

Suppose transmit here

Page 29: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

29

Blocks For each page p, partition time into Blocks B(p,i)

Can choose offset (p,i) for B(p,i) u.a.r in [0,1]

B(p,i) B(p,i+1)

Expected cost for any request · 3 ¢ wait in LP

tt’

Page 30: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

30

Semi-Local Schedules

In each block B(p,i) if choose offset (p,i) u.a.r 2 [0,1]Tentative (semi-local) Schedule: Cost · 3 times Opt cost

In each block B(p,i), LP transmits ¼ log(T+n) units of page p

(p,1) (p,2) (p,3)(p’,1) (p’,2)

Page 31: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

31

Semi-Local Schedules

We will form a semi-local tentative schedule by choosing offsets (p,i) for each block B(p,i)

But, we will not do it randomly. Though low cost, it has high = (n1/2) backlog, when all pages combined.

(p,1) (p,2) (p,3)(p’,1) (p’,2)

Page 32: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

32

Issue to address

How to determine offsets (p,i) ?

Will solve a sequence of LP’s Can choose offsets such that 1) Cost of pseudo-schedule · 3 OPT 2) Backlog O( log2 (T+n))

Will imply: 3 OPT + log2 (T+n) approximation

Page 33: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

33

Basic IdeaOriginal LP constraint:For each time unit, 1 cumulative unit of page transmitted.

Relax it: Suppose only want 10 units of page in each group of 10 time units.

If solution integral : Great! Backlog <= 20

10 20 30

Page 34: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

34

Basic IdeaOriginal LP constraint:For each time unit, 1 cumulative unit of page transmitted.

Relax it: Suppose only want 10 units of page in each group of 10 time units.

If only 50% variables integral: Still Great! Recurse: Backlog <= 20 ¢ log T

10 20 30

Page 35: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

35

LP for choosing offsetsB(p,i) B(p,i+1)

What offset (p,i) to choose for block B(p,i) ?

Assume (p,i) 2 { j } j=1,2,…,1/Define variable x(p,i,j) s.t. x(p,i,j) = 1 iff (p,i) = j

Let R(B(p,i,j)) = contribution to total cost if (p,i) is j (coefficients of objective function)

Page 36: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

36

Minimize p i j R(B(p,i,j)) x(p,i,j)j x(p,i,j) = 1 8 Blocks B(p,i)p i j c(p,i,j,t) x(p,i,j) = 1 8 time t

c(p,i,j,t) =1 iff offset j for B(p,i) implies page p at time t

Number of constraints = |Blocks | + |time units|A LP soln with · |Blocks| + |time units| non-zero vars

If some x(p,i,j) fractional, ¸ 2 non-zero variables for B(p,i)Suppose |time units| < |Blocks|/2 … ¸ 50% good blocks|Blocks| ¼ (T+n)/ log (T+n)

LP for choosing offsets

Page 37: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

37

Minimize p i j R(B(p,i,j)) x(p,i,j)j x(p,i,j) = 1 8 Blocks B(p,i)p i j c(p,i,j,H) x(p,i,j) = Size(H) 8 intervals H

c(p,i,j,H) : units of page p in H if choose offset j for B(p,i)

Main Idea: Relax Constraints

¸ 50% of blocks have an x(p,i,j)=1Remove these blocks and Repeat for O(log (T+n)) steps ...

H: Intervals of 5 log (T+n) time slots

Page 38: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

38

Overview of Algorithm

Each recursion adds O(log (T+n)) to backlog

Final solution: 3 Opt + O(log2 (T+n))

Can improve overall guarantee slightly toO(log2 (T+n)/log log (T+n))

Can show wlog T = poly (n)

Page 39: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

39

Concluding Remarks

Best known integrality gap 1.027 Open: Is there an O(1) approximation?

Online Case: Best known: 4-speed, 4-competitive [Edmonds, Pruhs 02]

Is there a (1+)-speed, O(1)-competitive algorithm?

Page 40: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

40

Questions?

Page 41: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

41

Minimize p i j R(B(p,i,j)) x(p,i,j)

j x(p,i,j) = 1 8 Blocks B(p,i)p i j c(p,i,j,H) x(p,i,j) = Size(H) 8 intervals H

|constraints| = |blocks| + |intervals| · (T+n)/log(T+n) + (T+n)/ 5 log(T+n)f + i · |constraints| (Basic LP soln)f/2 + i ¸ |blocks|

i ¸ |blocks| – 2 |intervals| ¸ 0.5 |blocks|

At least 50% blocks removed

i: variables set to 1f: non-zero fractional variables

Page 42: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

42

Cable Repair Problem

Day 0

Repairman serves n towns ; requests arrive arbitrarily

Can visit exactly 1 town a dayCan serve all outstanding requests, in that town

Goal: Minimize average wait

1 2 3

Page 43: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

43

Cable Repair Problem

Day 0

Day 1

Repairman serves n towns ; requests arrive arbitrarily

Can visit exactly 1 town a dayCan serve all outstanding requests, in that town

Goal: Minimize average wait

1 2 3Day 1: Visit Town 1

Total Wait = 2 +

Page 44: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

44

Cable Repair Problem

Day 0

Day 1

Repairman serves n towns ; requests arrive arbitrarily

Can visit exactly 1 town a dayCan serve all outstanding requests, in that town

Goal: Minimize average wait

1 2 3Day 1: Visit Town 1

Total Wait = 2 + 6 +

Day 2: Visit Town 3

Day 2

Page 45: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

45

Cable Repair Problem

Day 0

Day 1

Repairman serves n towns ; requests arrive arbitrarily

Can visit exactly 1 town a dayCan serve all outstanding requests, in that town

Goal: Minimize average wait

1 2 3Day 1: Visit Town 1

Total Wait = 2 + 6 + 6

Day 2: Visit Town 3

Day 2

Day 3: Visit Town 2

Page 46: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

46

Cable Repair Problem

Day 0

Day 1

Repairman serves n towns ; requests arrive arbitrarily

Can visit exactly 1 town a dayCan serve all outstanding requests, in that town

Goal: Minimize average wait

1 2 3Day 1: Visit Town 1

Total Wait = 2 + 6 + 6 + 9

Day 2: Visit Town 3

Day 2

Day 3: Visit Town 2Day 4: Visit Town 1

Page 47: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

47

Cable Repair Problem

Day 0

Day 1

Repairman serves n towns ; requests arrive arbitrarily

Can visit exactly 1 town a dayCan serve all outstanding requests, in that town

Goal: Minimize average wait

1 2 3Day 1: Visit Town 1

Avg. Wait = (2 + 6 + 6 + 9)/ 14

Day 2: Visit Town 3

Day 2

Day 3: Visit Town 2Day 4: Visit Town 1

Page 48: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

48

Traveling Repairman with release timesCollection of requests r1,…,rm

Request ri = ( Vertex vi , time ti )A vertex may submit more than 1 request.

If repairmen visits v at time t it satisfies all outstanding requests at v made before time t.

Goal: Minimize average waiting time to satisfy request.

Considerably harder!

Very restricted case: All distances are 1.Also referred to as broadcast scheduling problem.

Page 49: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

49

Broadcast Scheduling ProblemCollection of pages 1,2,…,n at a broadcast server (satellite)Requests r1,…,rm Request ri: [page pi, arrival time ai]

Many requests may arrive at a time slot.

Server transmits 1 page per time slot. Page p broadcast at time t, satisfies all outstanding requests

for p that arrived at time <t

If request ri satisfied at bi Response Time: bi – ai

Goal: Find broadcast schedule to Minimize average response time (i (bi – ai)) / m

Page 50: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

50

ExampleResponse Time of ri = bi – ai

bi : time ri satisfied ai : arrival time of ri

Broadcasting page p at time t satisfies all outstanding requests for p that arrive at <t.

1,1,2 3 2,3

Total Response Time =

t=0

Requests

Pages {1,2,3}

Page 51: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

51

ExampleResponse Time of ri = bi – ai

bi : time ri satisfied ai : arrival time of ri

Broadcasting page p at time t satisfies all outstanding requests for p that arrive at <t.

1,1,2 3 2,3

Total Response Time = 1 + 1

1t=0

Requests

Pages {1,2,3}

Page 52: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

52

ExampleResponse Time of ri = bi – ai

bi : time ri satisfied ai : arrival time of ri

Broadcasting page p at time t satisfies all outstanding requests for p that arrive at <t.

1,1,2 3 2,3

Total Response Time = 1 + 1 + 1

1 3t=0

Requests

Pages {1,2,3}

Page 53: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

53

ExampleResponse Time of ri = bi – ai

bi : time ri satisfied ai : arrival time of ri

Broadcasting page p at time t satisfies all outstanding requests for p that arrive at <t.

1,1,2 3 2,3

Total Response Time = 1 + 1 + 1 + 3 + 1

1 23t=0

Requests

Pages {1,2,3}

Page 54: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

54

ExampleResponse Time of ri = bi – ai

bi : time ri satisfied ai : arrival time of ri

Broadcasting page p at time t satisfies all outstanding requests for p that arrive at <t.

1,1,2 3 2,3

Total Response Time = 1 + 1 + 1 + 3 + 1 + 2 = 9

1 23 3t=0

Requests

Pages {1,2,3}

Page 55: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

55

ExampleResponse Time of ri = bi – ai

bi : time ri satisfied ai : arrival time of ri

Broadcasting page p at time t satisfies all outstanding requests for p that arrive at <t.

1,1,2 3 2,3

Total Response Time = 1 + 1 + 1 + 3 + 1 + 2 = 9

1 23 3t=0

Requests Avg=1.5

Pages {1,2,3}

Page 56: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

56

NP-Hard: [Erlebach, Hall 02]

Resource augmentation: Can transmit s>1 pages per time slot.s-speed, c-approx: If maxI Algs(I)/Opt1(I) · c

3-speed, 3-approx [Kalyanasundaram et al 00]6-speed, 1-approx [Erlebach, Hall 02] 2-speed, 2-approx & 4-speed, 1-approx [Gandhi et al 02]2-speed, 1-approx [Gandhi et al 02](1+)-speed, O(1/)-approx [B., Charikar, Khanna, Naor 05]

Without speedup: Trivial O(n) approximation, Round Robin

O(n1/2) approximation [B., Charikar, Khanna, Naor 05]O(log2n/log log n) approximation [B., Coppersmith, Sviridenko]

Page 57: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

57

Previous Work (Online Case)

Any deterministic alg: (n) competitive [Kalyanasundaram et al 00]

Any randomized alg: (n1/2)- competitive

B-Equi : 4-speed, 4-competitive [Edmonds, Pruhs 02]

Longest Wait First: 6-speed, O(1) compet. [Edmonds, Pruhs 04]

Page 58: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

58

In this talk

Approximation Algorithms without Resource Augmentation.

a) O(n1/2) approximation [B., Charikar, Khanna, Naor 05]

b) O(log2 n/ log log n) approximation [B., Coppersmith, Sviridenko]

Page 59: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

59

Time-indexed IP formulation

ntp: # requests for page p that arrive at time t

Page 60: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

60

LP Solution : amount of page p broadcast at t’ : request for p at t, amount satisfied at t’>t

For request (p,t), contribution to LP

0.2 0.5 0.3 0.8 starting t’ = t+1, …until 1 unit of page p seen

0.50.1 0.3 0.2

0.20.6 0.00.3

0.3

0.1

0.6

request for green

t t+1 t+2 …

p=1

p=2

p=3

Page 61: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

61

LP Solution : amount of page p broadcast at t’ : request for p at t, amount satisfied at t’>t

For request (p,t), contribution to LP

0.2 0.5 0.3 0.8 starting t’ = t+1, …until 1 unit of page p seen

0.50.1 0.3 0.2

0.20.6 0.00.3

0.3

0.1

0.6

request for green

t t+1 t+2 …

p=1p=2p=3

Page 62: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

62

Rounding Procedure

First obtain a tentative schedule. May assign more than onepage to a time slot.

Page 63: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

63

Rounding Procedure

Greedily assign tentatively scheduled pages to a free time slot in the future

First obtain a tentative schedule. May assign more than onepage to a time slot.

Final Cost: Cost of tentative schedule + distance moved

Page 64: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

64

Rounding Procedure (Tentative)Consider page p, choose 2 [0,1) uniformly at random

Mark times where cumulative page p transmitted thus far in LP solution first becomes ¸ i+ for i=0,1,2,…

1+

2+

Page 65: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

65

Rounding Procedure (Tentative)Consider page p, choose 2 [0,1) uniformly at random

Mark times where cumulative page p transmitted thus far in LP solution first becomes ¸ i+ for i=0,1,2,…

For any request for page pE[cost] = LP cost

Pr [p scheduled at time t] = 0.2 0.5 0.3 0.80.3

request for green

For request (p,t), contribution to LP =

Page 66: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

66

Rounding Procedure (Tentative)For each page p, choose p 2 [0,1) u.a.r

Tentative Schedule: Schedule p wherever cumulative amount first exceeds i+ p, for i=0,1,…

E[ # of tentative pages at any time] = 1E[ cost of tentative schedule] = Opt LP cost.

Page 67: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

67

Tentative ! Proper Schedule

Greedily assign tentatively scheduled pages to a free time slot in the future

Tentative transmission at t, pushed ahead by Backlog(t)

Backlog(t) = (n1/2) on average

Page 68: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

68

Analysis

Backlog at time t : No more than b, if every interval [t-x,t] has at most x+b

pages assigned to it.

t

Page 69: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

69

Expected Backlog (n1/2)

Consider interval [t-x,t]If LP schedules l(p) amount of page p,

Tentative schedule has d l(p) e w/ prob frac(l(p)) or b l(p) c w/ prob 1- frac(l(p))

Example: If LP sends 10.3 units of page 1, tentative schedule has 11 pages with prob 0.3 10 pages with prob 0.7

x = p l(p)

Interval [t-x,t] has x § O(n1/2) pages (standard deviation)

Page 70: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

70

Overview & Local SchedulesTentative Schedule: Each request, satisfied “locally”

Random offset p for page p Backlog O(n1/2)

Unfortunately, there are examples where any “local” schedule has backlog (n1/2)

Local schedules very restricted.

0.2 0.5 0.3 0.80.3

request for green

Page 71: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

71

How does this apply here?

We reduced our problem to determining offset \alpha(p,i) for each block B(p,i)

Write an LP to determine \alpha(p,i)Suppose \alphax(p,i,j)

Block B(p,i) contains at most 2 log T units of page p.So, number of blocks \geq T/2\log T

Need 1 offset per block,

Page 72: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

72

How to choose the offsets?

Suppose we partition time into intervals of size 3.

Tentative schedule with Property: Any interval of size 3 is assigned at most 3 transmissions.

Then Backlog at most 6.

Page 73: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

73

LP for choosing offsetsB(p,i) B(p,i+1)

Write an LP for choosing offsets for each block B(p,i)x(p,i,j) =1 : If offset = j/(n+T)2 for block B(p,i) j 2 [1,(n+T)2]

Partition time into intervals with 5 log (T+n) time slots each. Constraint: Each interval has exactly 5 log (T+n) pages assigned in the tentative schedule.

Constraints < Number of blocks / 2 => More than 50% blocks have some x(p,i,j)=1.

Page 74: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

74

Overview of AlgorithmSolve the LP.Remove the blocks that have x(p,i,j)=1.Shrink the problem.

O(log (T+n)) iterations of the processEach step adds O(log (T+n)) to the backlog.Final solution: 3 Opt + O(log2 (T+n))

Can remove dependence on T.And improve guarantee to O(log2 (n)/log log (n))

Page 75: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

75

Concluding Remarks

Best known integrality gap 28/27 ¼ 1.037 Open: Is there an O(1) approximation?

Page 76: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

76

Questions?

Page 77: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

77

Our ApproachFor each page p, partition time into blocks B(p,i) Cumulative page p broadcast during B(p,i) 2 [log(T+n) ,2 log(T+n)]

We will choose offsets (p,i) 2 [0,1] for each B(p,i), such that1) Cost of pseudo schedule <= 3 LP cost2) Any interval of size t has [ t – O(log2 n), t+ O(log2 n)] pages assigned in the pseudo-schedule

B(p,i) B(p,i+1)

Page 78: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

78

Minimize p i j R(B(p,i,j)) x(p,i,j)

j x(p,i,j) = 1 8 Blocks B(p,i)p i j c(p,i,j,t) x(p,i,j) = 1 8 time t

c(p,i,j,t) =1 iff offset j for B(p,i) implies page p at time t

Choosing each offset uniformly (x(p,i,j) = )Feasible with value <= 3 LP1 cost

If solution integral … we would be done! Backlog = 0

LP for choosing offsets

Page 79: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

79

Minimize p i j R(B(p,i,j)) x(p,i,j)

j x(p,i,j) = 1 8 Blocks B(p,i)p i j c(p,i,j,H) x(p,i,j) = Size(H) 8 intervals H

c(p,i,j,H) : units of page p in H if choose offset j for B(p,i)

Relax constraints:

Main Idea: Relax Constraints

If integral solution, then Backlog = O(log (T+n))Can show ¸ 50% of blocks have an x(p,i,j)=1Remove these blocks and Repeat for O(log (T+n)) steps ...

Intervals of 5 log (T+n) time slots

Page 80: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

80

Our ApproachFor each page p, partition time into blocks B(p,i) Schedule is local within each block B(p,i)

We will choose offsets (p,i) 2 [0,1] for each B(p,i), such that1) Cost of pseudo schedule <= 3 LP cost2) Any interval of size t has [ t – O(log2 (T+n)), t+ O(log2 (T+n))] pages assigned in the pseudo-schedule

B(p,i) B(p,i+1)

Page 81: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

81

Analysis

Backlog(t) = maxx<t Tentative pages in [x,t) – (t-x)

¸ trivial · x: last time when backlog = 0

t

Page 82: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

82

Idea for O(n1/2) approx : amount of page p broadcast at t’ : request for p at t, amount satisfied at t’>t

For request (p,t), contribution to LP

0.2 0.5 0.3 0.8 starting t’ = t+1, …until 1 unit of page p seen

0.50.1 0.3 0.2

0.20.6 0.00.3

0.3

0.1

0.6

request for green

Observation: If transmit p at t’ with prob , Expected response time = contribution to LP

Page 83: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

83

Minimize p i j R(B(p,i,j)) x(p,i,j)

j x(p,i,j) = 1 8 Blocks B(p,i)p i j c(p,i,j,H) x(p,i,j) = Size(H) 8 intervals H

c(p,i,j,H) : units of page p in H if choose offset j for B(p,i)

Relax constraints:

Main Idea: Relax Constraints

If integral solution, then Backlog = O(log (T+n))Can show ¸ 50% of blocks have an x(p,i,j)=1Remove these blocks and Repeat for O(log (T+n)) steps ...

Intervals of 5 log (T+n) time slots

Page 84: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

84

Minimize p i j R(B(p,i,j)) x(p,i,j)

j x(p,i,j) = 1 8 Blocks B(p,i)p i j c(p,i,j,t) x(p,i,j) = 1 8 time t

c(p,i,j,t) =1 iff offset j for B(p,i) implies page p at time t

Choosing each offset uniformly (x(p,i,j) = )Feasible with value <= 3 LP1 cost

If solution integral … we would be done! Backlog = 0

LP for choosing offsets

Page 85: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

85

Cable Repair Problem

Day 0

Repairman serves n towns ; requests arrive arbitrarily

Can visit exactly 1 town a dayCan serve all outstanding requests, in that town

Goal: Minimize average wait

1 2 3

Page 86: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

86

Cable Repair Problem

Day 0

Day 1

Repairman serves n towns ; requests arrive arbitrarily

Can visit exactly 1 town a dayCan serve all outstanding requests, in that town

Goal: Minimize average wait

1 2 3Day 1: Visit Town 1

Total Wait = 2 +

Page 87: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

87

Cable Repair Problem

Day 0

Day 1

Repairman serves n towns ; requests arrive arbitrarily

Can visit exactly 1 town a dayCan serve all outstanding requests, in that town

Goal: Minimize average wait

1 2 3Day 1: Visit Town 1

Total Wait = 2 + 6 +

Day 2: Visit Town 3

Day 2

Page 88: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

88

Cable Repair Problem

Day 0

Day 1

Repairman serves n towns ; requests arrive arbitrarily

Can visit exactly 1 town a dayCan serve all outstanding requests, in that town

Goal: Minimize average wait

1 2 3Day 1: Visit Town 1

Total Wait = 2 + 6 + 6

Day 2: Visit Town 3

Day 2

Day 3: Visit Town 2

Page 89: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

89

Cable Repair Problem

Day 0

Day 1

Repairman serves n towns ; requests arrive arbitrarily

Can visit exactly 1 town a dayCan serve all outstanding requests, in that town

Goal: Minimize average wait

1 2 3Day 1: Visit Town 1

Total Wait = 2 + 6 + 6 + 9

Day 2: Visit Town 3

Day 2

Day 3: Visit Town 2Day 4: Visit Town 1

Page 90: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

90

Cable Repair Problem

Day 0

Day 1

Repairman serves n towns ; requests arrive arbitrarily

Can visit exactly 1 town a dayCan serve all outstanding requests, in that town

Goal: Minimize average wait

1 2 3Day 1: Visit Town 1

Avg. Wait = (2 + 6 + 6 + 9)/ 14

Day 2: Visit Town 3

Day 2

Day 3: Visit Town 2Day 4: Visit Town 1

Page 91: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

91

Idea for 3-speed, 3-approximationFor each page p, mark intervals where cumulative amount

of page transmitted by LP = 1/3

If can ensure that one transmission of page p during each such interval => 3 approximation

Simple greedy algorithm (EDF type) ensures this.

Page 92: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

92

More careful analysis for 2-speedFor each page p, mark intervals where cumulative amount

of page transmitted by LP = 1/2

Even if one transmission within each intervalSome requests may end up paying much more than LP.

Some additional ideas give 2-speed, O(1) approx

Page 93: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

93

Minimize p i j R(B(p,i,j)) x(p,i,j)

j x(p,i,j) = 1 8 Blocks B(p,i)p i j c(p,i,j,H) x(p,i,j) = Size(H) 8 intervals H

|constraints| = |blocks| + |intervals| · (T+n)/log(T+n) + (T+n)/ 5 log(T+n)f + i · |constraints| (Basic LP soln)f/2 + i ¸ |blocks|

i ¸ |blocks| – 2 |intervals| ¸ 0.5 |blocks|

At least 50% blocks removed

i: variables set to 1f: non-zero fractional variables

Page 94: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

94

Local Approach => Backlog = (n1/2)

If requests satisfied locally => above type of solutions only

All choices for offsets are bad

A1,…,An ½ {1,2,…,n} |Ai| = n/2

For any {-1,+1} coloring of {1,2,…,n} some | Ai | > n1/2

Half Integral LP

0.5 0.50.50.5

Even Slots

Page 95: Minimizing Response time in Broadcast Scheduling Nikhil Bansal Don Coppersmith and Maxim Sviridenko.

95

Defining blocks

B(p,i) B(p,i+1)

t

r(p,t) : LP wait time for request for page p, that arrives at t

Tail of B(p,i)

Tail of B(p,i) : Interval when last 1 unit of page p transmitted by LP

Intuitively, allows us to move request arriving at t’ to t.

Every interval that transmits >= log(T+n) units of p, has such t.

r(p,t) · 2 r(p,t’) for all t’ in tail of B(p,i)