s elfish m igrate : a scalable algorithm for non-clairvoyantly scheduling heterogeneous processors...
TRANSCRIPT
SELFISHMIGRATE: A Scalable Algorithm for Non-clairvoyantly Scheduling Heterogeneous Processors
Janardhan Kulkarni, Duke University
Sungjin Im (UC Merced ), Kamesh Munagala (Duke), Kirk Pruhs (UPitt)
1
2
M
ONLINE UNRELATED MACHINE MODEL
3- processing length
- rate of processing
- weight
1
2
M
ONLINE UNRELATED MACHINE
3
100
(rate = 1, length=100)
(rate = 0.5, length 200)
(rate = 2, length =50)
Time
- processing length
- rate of processing
(rate = 0, length = infinity)
1
2
M
NON-CLAIRVOYANCE
3
(rate = 1, length=100)
(rate = 0, infinity)
(rate = 0.5, length = 200)
(rate = 2, length =50)
- processing length
- rate of processing
- weight
Time
FLOW-TIME (DELAY OR RESPONSE TIME)
ANOTHER FORM
SPEED-AUGMENTATION: - Online scheduler runs at higher speed
PREMPTION: - Stop a job in middle of processing and continue later.
MIGRATION: - Change the assignment of jobs to machines at no cost.
NO PARALLEL PROCESSING
- No job is simultaneously processed on multiple machines.
1
2
OK
NO PARALLEL PROCESSING:
- No job is simultaneously processed on multiple machines.
1
2
NOT ALLOWED
How to schedule jobs to minimize sum of weighted flow-time
for unrelated machines in non-clairvoyant model?
It was very difficult
Motivation
• Heterogeneous architectures are ubiquitous
• Non-clairvoyance is very important in practice
Motivation
SELFISHMIGRATE is -speed -competitive for minimizing
weighted flow-time on unrelated machines.
Result also extends to energy + weighted flow-time.
THE MAIN THEOREM
CLAIRVOYANT ALGORITHM
Anand-Garg-Kumar, SODA ‘12Chadha-Garg-Kumar-Muralidhara, STOC ‘09
SJF
SJF
ALGORITHM
53 70
101 10020
2020
Increase B = 28 + 20
Increase A = 31 + 20 NEW
For all jobs
For all machines
THE DUAL
For all jobs machines and time instants
The whole frame work breaks down for non-clairvoyant settings…
1. We cannot measure the increase in the objective
2. Migrating jobs is necessary
3. Migration of jobs makes calculating the flow-times difficult and complicates how jobs interfere with each other
SELFISHMIGRATE
KEY IDEA I
Focus on speed at which jobs are getting processed and monotonicity of speed
Speed of a job =
fraction of the job processed at time
If is monotone, then
If is monotone, then
Dual Constraint:
If is monotone, then
Dual Constraint:
Fraction of processor allocated =
Round Robin or Proportional Sharing
If is monotone, then
Dual Constraints:
If is monotone, then
Dual Constraints:
But which machine we should assign the job ?
If is monotone, then
Dual Constraints:
But which machine we should assign the job ? ANS IS MINIMUM
Dual constraints need us…
For all jobs machines and time instants
1. BEST MACHINE- which maximizes speed.
2. The speed MONOTONICALLY increases.
KEY IDEA II: VIRTUAL QUEUES, VIRTUAL SPEED
RR
j
VIRTUAL QUEUES, VIRTUAL SPEEDS
RR
Inverse of instantaneous delay the job induces on the other jobs ahead of its virtual queue.
KEY IDEA II: VIRTUAL QUEUES, VIRTUAL SPEED
RR
Total delay induced by job if it stays on the machine till its completion is proportional to
KEY IDEA III: SELFISHMIGRATE
RULE 1: NO JUMPING (not even virtual ones!)
Virtual speed of other jobs does not decrease if a job enters the machine!
RULE 1: NO JUMPING
RULE 2: BE SELFISH!
Increases virtual speed… migrate! Any time!
RULE 2: BE SELFISH!
Remains Same
Remains Same Increases!
Jobs migrate whenever they can increase their virtual speed...
Jobs migrate whenever they can increase their virtual speed…..
Jobs migrate whenever they can increase their virtual speed…
Jobs migrate whenever they can increase their virtual speed…..
This cannot go on forever… as virtual speeds are finite
We get …MONOTONICITY
Virtual speeds are monotone non-decreasing!
BEST MACHINE
each job chooses the best machineon arrival
BEST MACHINE (Nash Equilibrium on Virtual Speed)
SELFISHMIGRATE ensures this istrue at all times by design!
BEST MACHINE
Entire process can be thought asCoordination ‘game’ on virtual speeds
DUAL SETTINGS
The total delay job causes on the jobs ahead of its virtual queue over its entire sojourn
DUAL SETTINGS
The total delay job j causes on the jobs ahead of its virtual queue over its entire sojourn + its total processing time.
The flow-time of all jobs (Cost of the algorithm)
The total number of jobs in the queue at time t.
The total flow-time of all jobs (Cost of the algorithm)
Dual setting
=
=
DUAL OBJECTIVE
What About Constraints?
For all jobs machines and time instants
DELAY LEMMAS
(Follows from a property of Round Robin)
Total delay a job induced on jobs ahead of it over the interval
Total delay a job induced on jobs ahead of it in
DELAY LEMMA
DELAY LEMMA
MINIMUM
(BEST MACHINE)
We gave a new framework to analyze non-clairvoyant scheduling problems
CONCLUSIONS and OPEN PROBLEMS
- norms of weighted flow-time
THANKS