Pruhs, Woeginger, Uthaisombut 2004
Qos Objective: Minimize total flow time
Flow time fi of a job i is completion time Ci – ri
Power Objective: constraint that at most E
energy is used
We make the simplifying assumptions that all
jobs have the same (unit) amount of work
Optimal job selection policy?
1
Pruhs, Woeginger, Uthaisombut 2004
Qos Objective: Minimize total flow time
Flow time fi of a job i is completion time Ci – ri
Power Objective: constraint that at most E
energy is used
We make the simplifying assumptions that all
jobs have the same (unit) amount of work
In this case the optimal job selection policy is
First Come First Served.
We thus focus on speed setting policy.
wlog assume, r1 ≤ r2 ≤ … ≤ rn
2
Warm up Exercise: n unit jobs released at time 0
How much energy to devote to each job?
3
Warm up Exercise: n unit jobs released at time 0
How much energy to devote to each job?
Min Σ_i (n-i+1)/s_i
Subject to Σ_i s_i^2 <= E
Either by Lagrange multipliers or intuitive
reasoning, s_i ≈ (n_i+1)^(1/3)
4
Convex Program with Release Times
Min Σ_i (C_i – r_i)
Subject to
Σ_i (C_i – max(r_{i}, C_{i-1})^2 <= E
C_i > C_{i-1}
5
KKT Optimality Conditions(2)
Consider a strictly-feasible convex differentiable program
A sufficient condition for a solution x to be optimal is the
existence of Lagrange multipliers λi such that
6
KKT Optimality Conditions
Total energy of E is used
Ci < ri+1 implies ρi = ρn
Ci > ri+1 implies ρi = ρi+1 + ρn
Ci = ri+1 implies ρn ≤ ρi ≤ ρi+1 + ρn
Example:
r2
P2 + pn
r3
p2
r6
pn
pn
3pn
r7
2pn
Pn = p7
7
Offline Algorithm
8
KKT Optimality Conditions
Algorithmic Difficulties:
This doesn’t tell us the value of ρn
Solution:
Binary search
Don’t know the value of pi when Ci = ri+1
Can calculate since
you know interval when job runs
r2
r3
Solution:
p2 + pn
p2
Don’t know if Ci < ri+1, Ci = ri+1, or Ci > ri+1
Easy
for high energy E, Ci < ri+1
Solution: Trace out optimal schedules as E
decreases
9
Algorithmic Evolution
High Energy
r2
r3
<<
=<
Configurations
><
>=
>>
Low Energy
10
Intuition
Intuitively as you lose energy, should jobs run faster
or slower?
11
Intuition
Intuitively as you lose energy, jobs should run slower,
but this intuition is false
Example:
Higher energy: p1=2p3 and p2 = p3
Lower energy: p1 = 3p3 and p2 = 2 p3
p1/p2 decreases and job 2 speeds up as we lose energy
12
What Goes Wrong With Arbitrary Work Jobs
Arbitrary length
≤≤
Open Question: What is the
complexity of finding optimal = ≤
flow time schedules when
jobs have arbitrary work?
≥≤
Optimal scheudule
is not a continuous
function of energy E
13
Theorem: There is no O(1)-competitive online
algorithm for the bounded energy problem
Proof
Idea: How much energy do you give the first
job that arrives?
If
it is not an Ω(E) then you are not O(1)competitive
14
Energy/Flow Trade-Off Problem Definition [AF06]
Job i has release date ri and work yi
Optimize total flow + ρ * energy used
Natural interpretation: User specifies an
energy amount ρ that he is willing to spend to
get a unit improvement in response
e.g. If the user is willing to spend 1 ergs of
energy for a 3 microsecond improvement in
response, then ρ=3.
wlog, ρ=1.
15
One job example
16
Natural Policies
Job Selection?
Speed Scaling?
17
Natural Policies
Job Selection: SRPT
Speed Scaling: Power = Number of unfinished
jobs
Increase
objective
in energy objective = increase in flow
18
Bansal, Chan, Pruhs, SODA 2009
We consider allowing an arbitrary power function P(s)
Only require something like P is piece-wise smooth, e.g.
Power
P(s)
Speed s
19
Our Results
Main Theorem: SRPT + variation of natural speed scaling
algorithm is 3-competitive for the objective of flow+energy for
an arbitrary power function P(s) and for arbitrary work jobs
Later improved to 2-competitive by Lachlan L. H. Andrew,
Adam Wierman and Ao Tang.
Second Theorem: HDF + variation of natural speed scaling
algorithm is 2-competitive for the objective of fractional
weighted flow+energy for essentially any power function P(s) and
for arbitrary work and weight jobs
Probably not possible to get such a result for integral
weighted flow since to be competitive for weighted flow
requires resource/speed augmentation [BC09]
20
Equation for Amortized Local Competitiveness Argument
Pon(t) + Non(t) + dΦ(t)/dt ≤ c [ Popt(t) + Nopt(t) ]
P(t) is the power at time t
N(t) is the unfinished jobs at time t
on is the online algorithm
opt is the adversary/optimal
Φ(t) is the potential function
c is the competitive ratio
21
Derivation of Potential Function for Unit Work Jobs
Initial Equation: Pon + Non + dΦ/dt ≤ 2 [ Popt + Nopt ]
Since Pon = Non, 2Pon + dΦ/dt ≤ 2 [ Popt + Nopt ]
Guess potential Φ is a function of N = Non – Nopt so job arrivals
do not affect potential function
Worst case is when Nopt = 0, or equivalently when N = Non
By the chain rule dΦ/dt=dΦ/dN dN/dt. Note dN/dt=(sopt – son),
2Pon + dΦ/dN * (sopt – son) ≤ 2 * Popt
Solving for Φ gives dΦ/dN ≤ 2 [ Popt – Pon] /(sopt – son)
The term [ Popt – Pon] /(sopt – son) looks like the slope of P(s)
around the point s=son.
So set dΦ/dN = 2 dP(son)/ds = 2 dP(P-1(N))/ds
Or equivalently,
Φ = 2∫0N dP(P-1(N))/ds dy
Power
P
Speed s
22
Chan, Edmonds, Pruhs 2009
1. Nonclairvoyant
scheduling of jobs with
arbitrary speed-up
curves on a
multiprocessor
2. Speed scaling on a
uniprocessor
We define and address one algorithmic
multiprocessor power management problem
SPAA 2009: Speed
scaling and nonclairvoyant
scheduling of jobs with
arbitrary speed-up curves
on a multiprocessor
23
Outline of the Talk
1. Nonclairvoyant
scheduling of jobs with
arbitrary speed-up
curves on a
multiprocessor
24
Speed-up Curves
Each portion of work/code has a speed up function that
specifies how fast work is processed as a function of the
number of processors assigned.
Parallel speed-up curve
Rate
work is
processed
Arbitrary speed-up curve
Sequential speed-up curve
1
Number of Processors
25
Definition: Nonclairvoyant means that the
scheduling algorithm doesn’t know the speedup curves or the work of the jobs
Question: What is the most natural
scheduling algorithm if one doesn’t know the
speed-up curves?
26
Definition: Nonclairvoyant means that the
scheduling algorithm doesn’t know the speedup curves or the work of the jobs
Question: What is the most natural
scheduling algorithm if one doesn’t know the
speed-up curves?
Answer: Equipartition (round-robin, processor
sharing) which assigns an equal number of
processors to each job
27
Theorem [E99]: Equipartition is 2+εspeed
O(1)-competitive
The
average waiting time using Equipartition at at
most a constant factor larger than the optimal
schedule on processors that are slightly slower
than ½ as fast
28
Question: What else can a nonclairvoyant
algorithm do besides sharing the processor
equally among the jobs that might be better?
29
Question: What else can a nonclairvoyant
algorithm do besides sharing the processor
equally among the jobs that might be better?
Answer: Late Arrival Processor Sharing
(LAPS) which shares the processors equally
among the latest arriving δn jobs
Theorem [EP09]: LAPS is 1+εspeed O(1)competitive
Note that 1+εspeed is required to be competitive
even if the online algorithm knows the speed-up
curves and the work of each job
30
Analysis of Equipartition and LAPS
Key Lemma: The worst case is if all work is
parallel or sequential
31
Outline of the Talk
1. Nonclairvoyant
scheduling of jobs with
arbitrary speed-up
curves on a
multiprocessor
2. Speed scaling on a
uniprocessor
SPAA 2009: Speed
scaling and nonclairvoyant
scheduling of jobs with
arbitrary speed-up curves
on a multiprocessor
32
Outline of the Talk
2. Speed scaling on a
uniprocessor
33
Second most natural nonclairvoyant online
algorithm
Job
selection: LAPS
Recall
LAPS shares the processing power equally
among the latest arrive constant fraction of the
jobs
Speed
scaling: Power = number of unfinished jobs
Theorem [CELLMP09]: The above algorithm is
O(1)-competitive for total flow time plus
energy
Proof: amortized local competitiveness argument
34
Outline of the Talk
1. Nonclairvoyant
scheduling of jobs with
arbitrary speed-up
curves on a
multiprocessor
2. Speed scaling on a
uniprocessor
SPAA 2009: Speed
scaling and nonclairvoyant
scheduling of jobs with
arbitrary speed-up curves
on a multiprocessor
35
Outline of the Talk
SPAA 2009: Speed
scaling and nonclairvoyant
scheduling of jobs with
arbitrary speed-up curves
on a multiprocessor
36
Problem we address in SPAA 2009 paper
Nonclairvoyantly scheduling and speed scaling
on a multiprocessor so as to minimize total
flow time plus energy
Processor
1
Job 1
Schedule
Processor
2
Height =
speed
37
Warm-up Problem
Question: If you are running a single parallel job on m
processors, what should the speed s be?
38
Warm-up Problem
Question: If you are running a single parallel job on m
processors, what should the speed s be?
Answer:
To optimize flow+energy you should equate flow
and energy, since x+y = Θ(max(x, y))
Thus you want the rate of increase of flow (which
is the number of unfinished jobs) to equal the rate
of increase in energy (which is power P).
Therefore total power = mP=1
P=1/m or equivalently s = 1/m1/3 since P = s3
Note that the total power used is independent of
the number of machines
39
Impossibility Theorem: There is no algorithm
who competitiveness scales reasonably with
the number of processors
Proof: Consider an instance of a single job that is
either parallel or sequential
40
Impossibility Theorem: There is no algorithm
who competitiveness scales reasonably with
the number of processors
Proof: Consider an instance of a single job that is
either parallel or sequential
If you run the job on few processors, then either the flow or
energy must be much higher than optimal in the case that
the job is parallel
If you run the job on many processors, then either the flow
or the energy must be much higher than optimal in the case
that the job is parallel
41
Question: If you have only one job that you
know is either parallel or sequential, how
would you schedule it?
42
Question: If you have only one job that you
know is either parallel or sequential, how
would you schedule it?
Answer:
Run one copy at speed 1 on one processor and one
copy at speed 1/m1/3 on the rest of the processors
This is O(1)-competitive
This is allowable if the job has no side effects
43
Impossibility Theorem: There is no algorithm
whose competitiveness scales reasonably with
the number of processors if jobs can have
side effects
44
Candidate algorithm for 1 job instance: Run
one copy on 2i processors at power 1/2i
This
candidate algorithm works if all portions of
the job has a single speed up curve
45
Candidate algorithm for 1 job instance: Run
one copy on 2i processors at power 1/2i
Impossibility Theorem: The candidate
algorithm, and no other possible
nonclairvoyant algorithm, has a competitive
ratio that scales reasonably with the number
of processors
Proof: Consider a jobs where the speed-up curves
of the different portions of the jobs change over
time
46
Question: If you have only one job where
different portions have different speed up
curves, how would you schedule it?
47
Question: If you have only one job where
different portions have different speed up
curves, how would you schedule it?
Answer:
Run one copy on 2i processors at power 1/2i
checkpointing constantly
This is O(log m) competitive
48
Impossibility Theorem: There is no algorithm
who competitiveness scales reasonably with
the number of processors if jobs can have
side effects or can not be checkpointed
But we can get a positive result if jobs don’t
have side effects and we can checkpoint
cheaply
49
Main Theorem: If jobs have no side effects
and are checkpointable then there a
nonclairvoyant scheduling and speed scaling
algorithm that is O(log m) competitive for the
objective of flow + energy
Corollary: O(1)-competitiveness is possible for
clairvoyant online algorithms
50
Main Theorem: If jobs have no side effects
and are checkpointable then there a
nonclairvoyant scheduling and speed scaling
algorithm that is O(log m) competitive for the
objective of flow + energy
Algorithm Description:
Scheduling: LAPS, plus run copies at a faster rate
on fewer processors in case the jobs are not
parallel, checkpointing constantly
Speed Scaling: Natural algorithm that equates
power and number of unfinished jobs
51
Algorithm Analysis
Key Lemma: The worst case is if every speed
up curve is parallel up to some number of
processors and then is sequential
Rate
work is
processed
Speed up curve
Number of Processors
Contrast this to the fixed speed processor case where the
worst case is if all work is either parallel or sequential
The rest of the analysis is a reduction to the single processor
case
52
© Copyright 2026 Paperzz