Title: Minimizing Response time in Broadcast Scheduling
1 Minimizing Response time in Broadcast Scheduling
Nikhil Bansal
Don Coppersmith and Maxim Sviridenko
2Problem Statement
- Collection 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
ltt - Given a schedule, let bi denote when ri is
satisfied - Response Time bi ai
- Goal Find broadcast schedule to
- Minimize average response time (?i (bi ai)) / m
3Problem Statement
- Response 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 ltt.
Pages 1,2,3
t0
1,1,2
3
2,3
Requests
Total Response Time
4Problem Statement
- Response 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 ltt.
Pages 1,2,3
1
t0
1,1,2
3
2,3
Requests
Total Response Time 1 1
5Problem Statement
- Response 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 ltt.
Pages 1,2,3
1
3
t0
1,1,2
3
2,3
Requests
Total Response Time 1 1 1
6Problem Statement
- Response 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 ltt.
Pages 1,2,3
1
2
3
t0
1,1,2
3
2,3
Requests
Total Response Time 1 1 1 3 1
7Problem Statement
- Response 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 ltt.
Pages 1,2,3
1
2
3
3
t0
1,1,2
3
2,3
Requests
Total Response Time 1 1 1 3 1 2 9
8Problem Statement
- Response 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 ltt.
Pages 1,2,3
1
2
3
3
t0
1,1,2
3
2,3
Requests
Avg1.5
Total Response Time 1 1 1 3 1 2 9
9- NP-Hard Erlebach, Hall 02
- Resource augmentation Can transmit sgt1 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)
10- NP-Hard Erlebach, Hall 02
- Resource augmentation Can transmit sgt1 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 06
11Previous Work (Online Case)
- Round Robin Trivial O(n) competitive
- Most 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
12In this talk
- Average 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)
13The IP Formulation
- Key decision variable
- Whether page p transmitted at time t ?
- How to express response time of a request ?
14Time-indexed IP formulation
ntp requests for page p that arrive at time t
15LP Solution
- probability page p broadcast at t
- probability, request for p at t, satisfied
at tgtt -
For request (p,t), contribution to LP
0.2
0.6
0.0
0.3
0.6
p3
0.5
0.1
0.3
0.2
0.1
p2
starting t t1, until 1
unit of page p seen
0.2
0.5
0.3
0.8
0.3
p1
request for green
16Idea for 3-speed, 3-approximation
- For 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 gt 3
approximation Simple greedy algorithm (EDF
type) ensures this.
17More careful analysis for 2-speed
- For each page p, mark intervals where cumulative
amount of page transmitted by LP 1/2
Even if one transmission within each
interval Some requests may end up paying much
more than LP. Some additional ideas give
2-speed, O(1) approx
18Idea for O(n1/2) approx
- probability page p broadcast at t
- probability, request for p at t, satisfied
at tgtt -
For request (p,t), contribution to LP
Observation If transmit p at t with prob
, Expected response time contribution to LP
0.2
0.6
0.0
0.3
0.6
0.5
0.1
0.3
0.2
0.1
starting t t1, until 1
unit of page p seen
0.2
0.5
0.3
0.8
0.3
request for green
19Idea 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 i0,1,2,
For any request for p E?cost LP cost
?
1?
2?
Pr p scheduled at time t
20Rounding 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
i0,1,
E of tentative pages at any time 1 E cost
of tentative schedule Opt LP cost.
21Tentative ! 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
22Analysis
- Backlog(t) maxxltt Tentative pages in x,t)
(t-x) -
-
t
23Analysis
- Backlog(t) maxxltt Tentative pages in x,t)
(t-x) - Ebacklog(t) O(n1/2)
- If (1?)-speed, EBacklog(t) O(1/?)
In interval Jx,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
24Overview
- Good Pseudo-schedule (each request satisfied
locally). -
- But, Independent rounding for each page p.
- Backlog O(n1/2) when pages 1n merged.
25Attempt 1
- Why 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
because - choice of ?p determines all future transmissions
of page p.
26- Need to abandon locality!
27Idea for improved approximation
- Relax the locality requirement for tentative
schedules - Ensure that combining individual schedules for
each page does not produce a large backlog. -
28When can we violate locality?
Suppose transmit here
0.5
0.5
0.5
0.5
Region1
Region 2
Non-local Requests here not satisfied locally.
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
29Blocks
- 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
t
t
B(p,i1)
B(p,i)
Expected cost for any request 3 wait in LP
30 Semi-Local Schedules
In each block B(p,i), LP transmits ¼ log(Tn)
units of page p
?(p,1)
?(p,2)
?(p,3)
?(p,1)
?(p,2)
- 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
31 Semi-Local Schedules
We will form a semi-local tentative schedule by
choosing offsets ?(p,i) for each block B(p,i)
?(p,1)
?(p,2)
?(p,3)
?(p,1)
?(p,2)
But, we will not do it randomly. Though low
cost, it has high ?(n1/2) backlog, when all
pages combined.
32Issue to address
- How to determine offsets ?(p,i) ?
-
- Will solve a sequence of LPs
- Can choose offsets such that
- 1) Cost of pseudo-schedule 3 OPT
- 2) Backlog O( log2 (Tn))
- Will imply 3 OPT log2 (Tn)
approximation
33Basic Idea
- Original 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 lt 20
10
20
30
34Basic Idea
- Original 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 lt 20
log T
10
20
30
35LP for choosing offsets
What offset ?(p,i) to choose for block B(p,i)
? Assume ?(p,i) 2 j?
j1,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)
36LP for choosing offsets
- 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 lt Blocks/2 50
good blocks - Blocks ¼ (Tn)/ log (Tn)
37Main Idea Relax Constraints
- 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)
H Intervals of 5 log (Tn) time slots
50 of blocks have an x(p,i,j)1 Remove these
blocks and Repeat for O(log (Tn)) steps ...
38Overview of Algorithm
- Each recursion adds O(log (Tn)) to backlog
- Final solution 3 Opt O(log2 (Tn))
- Can improve overall guarantee slightly to
- O(log2 (Tn)/log log (Tn))
- Can show wlog T poly (n)
39Concluding 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?
40 41At least 50 blocks removed
- 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
- (Tn)/log(Tn) (Tn)/ 5
log(Tn) - f i constraints (Basic LP soln)
- f/2 i blocks
- i blocks 2 intervals 0.5 blocks
i variables set to 1 f non-zero fractional
variables
42Cable Repair Problem
Repairman serves n towns requests arrive
arbitrarily Can visit exactly 1 town a day Can
serve all outstanding requests, in that town
Goal Minimize average wait
1
2
3
Day 0
43Cable Repair Problem
Repairman serves n towns requests arrive
arbitrarily Can visit exactly 1 town a day Can
serve all outstanding requests, in that town
Goal Minimize average wait
Day 1 Visit Town 1
1
2
3
Day 0
Day 1
Total Wait 2
44Cable Repair Problem
Repairman serves n towns requests arrive
arbitrarily Can visit exactly 1 town a day Can
serve all outstanding requests, in that town
Goal Minimize average wait
Day 1 Visit Town 1
1
2
3
Day 2 Visit Town 3
Day 0
Day 1
Day 2
Total Wait 2 6
45Cable Repair Problem
Repairman serves n towns requests arrive
arbitrarily Can visit exactly 1 town a day Can
serve all outstanding requests, in that town
Goal Minimize average wait
Day 1 Visit Town 1
1
2
3
Day 2 Visit Town 3
Day 3 Visit Town 2
Day 0
Day 1
Day 2
Total Wait 2 6 6
46Cable Repair Problem
Repairman serves n towns requests arrive
arbitrarily Can visit exactly 1 town a day Can
serve all outstanding requests, in that town
Goal Minimize average wait
Day 1 Visit Town 1
1
2
3
Day 2 Visit Town 3
Day 3 Visit Town 2
Day 0
Day 4 Visit Town 1
Day 1
Day 2
Total Wait 2 6 6 9
47Cable Repair Problem
Repairman serves n towns requests arrive
arbitrarily Can visit exactly 1 town a day Can
serve all outstanding requests, in that town
Goal Minimize average wait
Day 1 Visit Town 1
1
2
3
Day 2 Visit Town 3
Day 3 Visit Town 2
Day 0
Day 4 Visit Town 1
Day 1
Day 2
Avg. Wait (2 6 6 9)/ 14
48Traveling Repairman with release times
- Collection 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.
49Broadcast Scheduling Problem
- Collection 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
ltt - If request ri satisfied at bi
Response Time bi ai - Goal Find broadcast schedule to
- Minimize average response time (?i (bi ai)) / m
50Example
- Response 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 ltt.
Pages 1,2,3
t0
1,1,2
3
2,3
Requests
Total Response Time
51Example
- Response 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 ltt.
Pages 1,2,3
1
t0
1,1,2
3
2,3
Requests
Total Response Time 1 1
52Example
- Response 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 ltt.
Pages 1,2,3
1
3
t0
1,1,2
3
2,3
Requests
Total Response Time 1 1 1
53Example
- Response 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 ltt.
Pages 1,2,3
1
2
3
t0
1,1,2
3
2,3
Requests
Total Response Time 1 1 1 3 1
54Example
- Response 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 ltt.
Pages 1,2,3
1
2
3
3
t0
1,1,2
3
2,3
Requests
Total Response Time 1 1 1 3 1 2 9
55Example
- Response 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 ltt.
Pages 1,2,3
1
2
3
3
t0
1,1,2
3
2,3
Requests
Avg1.5
Total Response Time 1 1 1 3 1 2 9
56- NP-Hard Erlebach, Hall 02
- Resource augmentation Can transmit sgt1 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
57Previous 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
58In 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
59Time-indexed IP formulation
ntp requests for page p that arrive at time t
60LP Solution
- amount of page p broadcast at t
- request for p at t, amount satisfied at tgtt
-
For request (p,t), contribution to LP
0.2
0.6
0.0
0.3
0.6
p3
0.5
0.1
0.3
0.2
0.1
p2
starting t t1, until 1
unit of page p seen
0.2
0.5
0.3
0.8
0.3
p1
t
t1
t2
request for green
61LP Solution
- amount of page p broadcast at t
- request for p at t, amount satisfied at tgtt
-
For request (p,t), contribution to LP
p3
0.2
0.6
0.0
0.3
0.6
p2
0.5
0.1
0.3
0.2
0.1
starting t t1, until 1
unit of page p seen
p1
0.2
0.5
0.3
0.8
0.3
t
t1
t2
request for green
62Rounding Procedure
First obtain a tentative schedule. May assign
more than one page to a time slot.
63Rounding Procedure
First obtain a tentative schedule. May assign
more than one page to a time slot.
Greedily assign tentatively scheduled pages to
a free time slot in the future
Final Cost Cost of tentative schedule
distance moved
64Rounding 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 i0,1,2,
?
1?
2?
65Rounding 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 i0,1,2,
For request (p,t), contribution to LP
Pr p scheduled at time t
0.2
0.5
0.3
0.8
0.3
request for green
For any request for page p E?cost LP cost
66Rounding 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
i0,1,
E of tentative pages at any time 1 E cost
of tentative schedule Opt LP cost.
67Tentative ! 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
68Analysis
- Backlog at time t
- No more than b, if every interval t-x,t has at
most xb pages assigned to it.
t
69Expected 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)
70Overview Local Schedules
- Tentative 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.8
0.3
request for green
71How 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 \alpha
- x(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,
72How 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.
73LP for choosing offsets
Write an LP for choosing offsets for each block
B(p,i) x(p,i,j) 1 If offset j/(nT)2 for
block B(p,i) j 2 1,(nT)2 Partition
time into intervals with 5 log (Tn) time slots
each. Constraint Each interval has exactly 5
log (Tn) pages assigned in
the tentative schedule. Constraints lt Number of
blocks / 2 gt More than 50 blocks have some
x(p,i,j)1.
74Overview of Algorithm
- Solve the LP.
- Remove the blocks that have x(p,i,j)1.
- Shrink the problem.
- O(log (Tn)) iterations of the process
- Each step adds O(log (Tn)) to the backlog.
- Final solution 3 Opt O(log2 (Tn))
- Can remove dependence on T.
- And improve guarantee to O(log2 (n)/log log (n))
75Concluding Remarks
- Best known integrality gap 28/27 ¼ 1.037
- Open Is there an O(1) approximation?
76 77Our Approach
- For each page p, partition time into blocks
B(p,i) - Cumulative page p broadcast during B(p,i) 2
log(Tn) ,2 log(Tn) - We will choose offsets ?(p,i) 2 0,1 for each
B(p,i), such that - Cost of pseudo schedule lt 3 LP cost
- Any interval of size t has t O(log2 n), t
O(log2 n) - pages assigned in the pseudo-schedule
B(p,i1)
B(p,i)
78LP for choosing offsets
- 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 lt 3 LP1 cost
- If solution integral we would be done! Backlog
0
79Main Idea Relax Constraints
- 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
Intervals of 5 log (Tn) time slots
If integral solution, then Backlog O(log
(Tn)) Can show 50 of blocks have an
x(p,i,j)1 Remove these blocks and Repeat for
O(log (Tn)) steps ...
80Our Approach
- For 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 that - Cost of pseudo schedule lt 3 LP cost
- Any interval of size t has t O(log2 (Tn)),
t O(log2 (Tn)) - pages assigned in the pseudo-schedule
B(p,i1)
B(p,i)
81Analysis
- Backlog(t) maxxltt Tentative pages in x,t)
(t-x) -
- trivial
- x last time when backlog
0
t
82Idea for O(n1/2) approx
- amount of page p broadcast at t
- request for p at t, amount satisfied at tgtt
-
For request (p,t), contribution to LP
Observation If transmit p at t with prob
, Expected response time contribution to LP
0.2
0.6
0.0
0.3
0.6
0.5
0.1
0.3
0.2
0.1
starting t t1, until 1
unit of page p seen
0.2
0.5
0.3
0.8
0.3
request for green
83Main Idea Relax Constraints
- 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
Intervals of 5 log (Tn) time slots
If integral solution, then Backlog O(log
(Tn)) Can show 50 of blocks have an
x(p,i,j)1 Remove these blocks and Repeat for
O(log (Tn)) steps ...
84LP for choosing offsets
- 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 lt 3 LP1 cost
- If solution integral we would be done! Backlog
0
85Cable Repair Problem
Repairman serves n towns requests arrive
arbitrarily Can visit exactly 1 town a day Can
serve all outstanding requests, in that town
Goal Minimize average wait
1
2
3
Day 0
86Cable Repair Problem
Repairman serves n towns requests arrive
arbitrarily Can visit exactly 1 town a day Can
serve all outstanding requests, in that town
Goal Minimize average wait
Day 1 Visit Town 1
1
2
3
Day 0
Day 1
Total Wait 2
87Cable Repair Problem
Repairman serves n towns requests arrive
arbitrarily Can visit exactly 1 town a day Can
serve all outstanding requests, in that town
Goal Minimize average wait
Day 1 Visit Town 1
1
2
3
Day 2 Visit Town 3
Day 0
Day 1
Day 2
Total Wait 2 6
88Cable Repair Problem
Repairman serves n towns requests arrive
arbitrarily Can visit exactly 1 town a day Can
serve all outstanding requests, in that town
Goal Minimize average wait
Day 1 Visit Town 1
1
2
3
Day 2 Visit Town 3
Day 3 Visit Town 2
Day 0
Day 1
Day 2
Total Wait 2 6 6
89Cable Repair Problem
Repairman serves n towns requests arrive
arbitrarily Can visit exactly 1 town a day Can
serve all outstanding requests, in that town
Goal Minimize average wait
Day 1 Visit Town 1
1
2
3
Day 2 Visit Town 3
Day 3 Visit Town 2
Day 0
Day 4 Visit Town 1
Day 1
Day 2
Total Wait 2 6 6 9
90Cable Repair Problem
Repairman serves n towns requests arrive
arbitrarily Can visit exactly 1 town a day Can
serve all outstanding requests, in that town
Goal Minimize average wait
Day 1 Visit Town 1
1
2
3
Day 2 Visit Town 3
Day 3 Visit Town 2
Day 0
Day 4 Visit Town 1
Day 1
Day 2
Avg. Wait (2 6 6 9)/ 14
91Idea for 3-speed, 3-approximation
- For 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 gt 3
approximation Simple greedy algorithm (EDF
type) ensures this.
92More careful analysis for 2-speed
- For each page p, mark intervals where cumulative
amount of page transmitted by LP 1/2
Even if one transmission within each
interval Some requests may end up paying much
more than LP. Some additional ideas give
2-speed, O(1) approx
93At least 50 blocks removed
- 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
- (Tn)/log(Tn) (Tn)/ 5
log(Tn) - f i constraints (Basic LP soln)
- f/2 i blocks
- i blocks 2 intervals 0.5 blocks
i variables set to 1 f non-zero fractional
variables
94Local Approach gt Backlog ?(n1/2)
- If requests satisfied locally gt 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 ? gt n1/2
0.5
0.5
0.5
0.5
Half Integral LP
Even Slots
95Defining blocks
r(p,t) LP wait time for request for page p,
that arrives at t
r(p,t) 2 r(p,t) for all t in tail
of B(p,i)
Tail of B(p,i)
t
B(p,i)
B(p,i1)
Tail of B(p,i) Interval when last 1 unit of
page p transmitted by LP
Every interval that transmits gt log(Tn) units
of p, has such t.
Intuitively, allows us to move request arriving
at t to t.