95
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

Embed Size (px)

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

Citation preview

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)