300 likes | 465 Views
Marek Chrobak Christoph Dürr Mathilde Hurand Julien Robert. University of California, Riverside CNRS, Ecole Polytechnique, Paris Ecole Polytechnique, Paris Ecole Normale Superieure, Lyon.
E N D
Marek Chrobak Christoph Dürr Mathilde Hurand Julien Robert University of California, Riverside CNRS, Ecole Polytechnique, Paris Ecole Polytechnique, Paris Ecole Normale Superieure, Lyon Temperature-Aware Job Scheduling
architecture-level Algorithms control physical attributes: speed, power level Techniques for Energy/Temperature Management • Speed/frequency scaling • Power-down strategies
OS-level Scheduler architecture-level Hardware Dynamic Thermal Management (DTM) CPU General Philosophy
Is P=NP? 2+2=? 1+2+..+2k=? T0 Conceptual View (Pentium 4)
Is P=NP? 2+2=? 1+2+..+2k=? T0 Conceptual View
Is P=NP? 1+2+..+2k=? T0 Conceptual View 2+2=? 2+2=?
T0 Conceptual View Is P=NP? 1+2+..+2k=? Is P=NP?
T0 Conceptual View 1+2+..+2k=? Is P=NP?
T0 Conceptual View 1+2+..+2k=? Is P=NP?
T0 Conceptual View 1+2+..+2k=? Is P=NP?
T0 Conceptual View 1+2+..+2k=? 1+2+..+2k=?
General Scenario • Sequence of unit-length jobs • Each job has heat contribution hj („temperature”) • Processor’s thermal threshold = T0 • If temperature exceeds T0, DTM reduces • frequency to one half (…. one quarter …) • We want to find a schedule that optimizes • performance
(1/R) · T + C · dT/dt = P power temperature heating/cooling rate Thermal Model After discretization and normalization: Ti+1 = c (Ti+hj) for some c < 1
0 cx c(cx+y) 0 cy c(cy+x) 1 2 2 1 Can this Possibly Work*? Model: Ti+1 = c(Ti+hj) Take two jobs h1 = x < h2 = y But cx+y > cy+x Conclusion: hot-cold is better than cold-hot, as long as we do not violate the thermal threshold (that is, cy < T0) (*) Based on: „Dynamic thermal management through Task scheduling”, J.Yang, X.Zhou, M.Chrobak, Y.Zhang, L.Lin
Can this Possibly Work*? Algorithm ThreshHot: Always schedule the hottest job that does not violate the threshold. If the threshold is exceeded, just run the hottest job…. (*) Based on: „Dynamic thermal management through Task scheduling”, J.Yang, X.Zhou, M.Chrobak, Y.Zhang, L.Lin
Execution Trace (vs Base) Linux scheduler ThreshHot
Jobs: processing time (length) = 1 release time rj deadline dj heat contribution hj Thermal-Aware Scheduling Problem 1|rj,pj=1,hj|∑Uj : • Thermal model: • If current temp. = t and we execute j, then at the next step temp t’ = (t+hj)/2 • Temperature cannot exceed threshold T0 = 1 • Objective: compute a schedule that maximizes throughput (number of jobs that meet deadlines)
0.4 1 0.6 2 1.9 jobs 3 0.8 4 0.0 0.2 0.4 0.2 0.5 0.25 Schedule 1 1 2 -- 4 -- 0.0 0.2 0.1 1.0 0.8 0.8 Schedule 2 1 -- 3 2 4 Example: 0 1 2 3 4 5
2-2-x+1 j 1.0 -- -- -- -- -- -- 1/2 1/4 1/8 … 2-x+1 x-1 NP-Hardness (idea) 1.0 j How long do we need to wait before we can run j? So j’s „virtual length” = x Idea: Use some number-based partition problem mapping x job j with temperature2-2-x+1 bla bla bla …
NP-Hardness Theorem: Thermal-aware scheduling for maximum throughput (1|rj,pj=1,hj|∑Uj) is strongly NP-hard … …even if all release times are equal and all deadlines are equal
Online Algorithms: • Jobs arrive at their release times • Information about job j (dj, hj) is revealed • at time rj • An online algorithm A is R-competitive if • for each instance • optimal throughput ≤ R · throughput of A Theorem: There is a 2-competitive algorithm, and no better ratio is possible
0 1 2 3 1.2 1.2 1.2 1 1 1 0.0 0 1 2 3 0 1 2 3 1.6 1.6 3 2 0.0 0.6 1 0.6 0.0 0.0 1 --- --- 0.0 0.6 0.3 0.95 --- --- 0.0 0.0 0.8 1.0 1 --- 3 --- 2 1 Lower Bound of 2:
1.9 not admissible 6 1.4 7 0.9 8 dominated by 8 1.2 5 0.6 4 0.5 Online Algorithm: At each step pick any admissible job such that any other admissible job is either warmer or less urgent Example: Theorem: This algorithm is 2-competitive
(I) (II) (III) j pending j pending k q? -- j CF j Adv j j Proof for CoolestFirst (run the coolest job) Idea: Charge jobs in the adversary schedule to jobs in CoolestFirst such that each job of CoolestFirst gets at most 2 charges ( 2-competitiveness ) Charging scheme:
(III) j pending -- › j CF Adv Proof for CoolestFirst (run the coolest job) Here, CF’s temperature is at mos 1/2 j must be hotter than 1 (hj > 1) Here, CF must be warmer than Adv ≤ Here, CF is cooler than Adv Here, Adv’s temperature is at least 1/2
(I) (II) (III) j pending j pending k q -- › ≤ p j CF j Adv j j Proof for CoolestFirst (run the coolest job) Idea: Charge jobs in the adversary schedule to jobs in CoolestFirst such that each job of CoolestFirst gets at most two charges. Charging scheme: nearest„relative heating” step, hq > hp (unique for j)
CF k (II) (I) Adv j k Proof for CoolestFirst (run the coolest job) Claim: Each job k of CoolestFirst gest ≤ 2 charges 1. k gets at most one charge of each type 2. Suppose k gets charges of type (I) and (II): • Then j is pending • so CF chooses k over j • so hk < hj • so this is not a relative heating step and k gets no charge (III)
Further Research / Open Problems • Randomized algorithms: Can we get a ratio < 2 • Better thermal models: • t’ = c(t+hj) for 0 < c < 1 (our stuff works for c < 1/2) • Frequency scaling • Other objective functions • makespan • average completion time • More processors