POWER-AWARE JOB SCHEDULING Maximizing Data Center Performance - - PowerPoint PPT Presentation

power aware job scheduling
SMART_READER_LITE
LIVE PREVIEW

POWER-AWARE JOB SCHEDULING Maximizing Data Center Performance - - PowerPoint PPT Presentation

POWER-AWARE JOB SCHEDULING Maximizing Data Center Performance Under Strict Power Budget Osman Sarood, Akhil Langer , Abhishek Gupta, Laxmikant Kale Parallel


slide-1
SLIDE 1

POWER-­‑AWARE ¡JOB ¡SCHEDULING ¡

Maximizing ¡Data ¡Center ¡Performance ¡Under ¡Strict ¡Power ¡Budget ¡

Osman ¡Sarood, ¡Akhil ¡Langer, ¡Abhishek ¡Gupta, ¡Laxmikant ¡Kale ¡ ¡ Parallel ¡Programming ¡Laboratory ¡ Department ¡of ¡Computer ¡Science ¡ University ¡of ¡Illinois ¡at ¡Urbana-­‑Champaign ¡ ¡ 29th ¡April ¡2014 ¡ ¡ ¡

slide-2
SLIDE 2

Major ¡Challenges ¡to ¡Achieve ¡Exascale1 ¡

q Energy ¡and ¡Power ¡Challenge ¡ q Memory ¡and ¡Storage ¡Challenge ¡ q Concurrency ¡and ¡Locality ¡Challenge ¡ q Resiliency ¡Challenge ¡

Kogge, ¡Peter, ¡et ¡al. ¡"Exascale ¡compuWng ¡study: ¡Technology ¡challenges ¡in ¡achieving ¡exascale ¡systems." ¡(2008). ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 2 ¡

slide-3
SLIDE 3

Major ¡Challenges ¡to ¡Achieve ¡Exascale1 ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 3 ¡

Exascale ¡in ¡ 20MW! ¡

Kogge, ¡Peter, ¡et ¡al. ¡"Exascale ¡compuWng ¡study: ¡Technology ¡challenges ¡in ¡achieving ¡exascale ¡systems." ¡(2008). ¡

Power ¡consumpWon ¡for ¡Top500 ¡

slide-4
SLIDE 4

Data ¡Center ¡Power ¡

How ¡is ¡data ¡center ¡power ¡need ¡calculated? ¡ ¡

q using ¡Thermal ¡Design ¡Power ¡(TDP) ¡of ¡nodes ¡

However, ¡TDP ¡is ¡hardly ¡reached!! ¡ ¡ ¡ SoluWon ¡ q constrain ¡power ¡consumpWon ¡of ¡nodes ¡ q Overprovisioning ¡-­‑ ¡Use ¡more ¡nodes ¡than ¡convenWonal ¡ data ¡center ¡for ¡the ¡same ¡power ¡budget ¡ ¡ ¡ ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 4 ¡

slide-5
SLIDE 5

DistribuWon ¡of ¡Node ¡Power ¡ConsumpWon ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 5 ¡

Pie ¡Chart: ¡Sean ¡Wallace, ¡Measuring ¡Power ¡ConsumpWon ¡on ¡IBM ¡Blue ¡Gene/Q ¡

Power ¡distribuWon ¡for ¡BG/Q ¡ processor ¡on ¡Mira ¡

q 76% ¡by ¡CPU/Memory ¡ q No ¡good ¡mechanism ¡for ¡

controlling ¡other ¡power ¡ domains ¡

¡ ¡ ¡

slide-6
SLIDE 6

Constraining ¡CPU/Memory ¡Power ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 6 ¡

Intel ¡Sandy ¡Bridge ¡ q Running ¡Average ¡Power ¡Limit ¡(RAPL) ¡library ¡

Ø measure ¡and ¡set ¡CPU/memory ¡power ¡

slide-7
SLIDE 7

ApplicaWon ¡Performance ¡with ¡Power ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 7 ¡

(20x32,10) ¡ ¡ (12x44,18) ¡ ¡

Configura7on ¡ ¡ (n ¡x ¡pc, ¡pm ¡) ¡ Performance ¡of ¡LULESH ¡at ¡different ¡configuraWons ¡ pc: ¡CPU ¡power ¡cap ¡ Pm:Memory ¡power ¡cap ¡ q ApplicaWon ¡performance ¡does ¡not ¡ improve ¡proporWonately ¡with ¡ increase ¡in ¡power ¡cap ¡ q Beher ¡is ¡to ¡run ¡on ¡larger ¡number ¡

  • f ¡nodes ¡each ¡capped ¡at ¡lower ¡

power ¡level ¡

slide-8
SLIDE 8

Problem ¡Statement ¡ ¡

¡ Maximizing ¡Data ¡Center ¡Performance ¡Under ¡ ¡Strict ¡ Power ¡Budget ¡ ¡ Data ¡center ¡capabiliWes ¡and ¡job ¡features ¡ q Power ¡capping ¡ability ¡ q Overprovisioning ¡ q Moldability ¡(OpWonal) ¡ q Malleability ¡(OpWonal) ¡

Ø Charm++ ¡ Ø Dynamic ¡MPI ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 8 ¡

slide-9
SLIDE 9

Power ¡Aware ¡Resource ¡Manager ¡(PARM) ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 9 ¡

SCHEDULER ¡ JOB ¡QUEUE ¡ JOB ¡PROFILER ¡

PASS ¡MODEL ¡

EXECUTION ¡ FRAMEWORK ¡ ¡

q SHRINK/EXPAND ¡JOBS ¡ q APPLY ¡POWER ¡CAPS ¡

¡

JOB ¡ARRIVAL ¡ JOB ¡ TERMINATION ¡ TRIGGERS ¡

slide-10
SLIDE 10

JOB ¡PROFILER ¡

q Measure ¡job ¡performance ¡at ¡various ¡scales ¡ and ¡cpu ¡power ¡caps ¡ q Power ¡Aware ¡Strong ¡Scaling ¡(PASS) ¡Model ¡ ¡

Ø Predict ¡job ¡performance ¡at ¡any ¡(n, ¡p) ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 10 ¡

slide-11
SLIDE 11

Power ¡Aware ¡Strong ¡Scaling ¡(PASS) ¡Model ¡

Time ¡vs ¡Scale ¡

Downey’s ¡strong ¡scaling ¡

Time ¡vs ¡Frequency ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 11 ¡

Frequency ¡vs ¡Power ¡

t = F(n, A,σ )

t(f) = 8 < : Wcpu f + Tmem, for f < fh Th, for f ≥ fh

xpressed as [31]: p = pcore +

3

X

i=1

giLi + gmM + pbase is the base/static package power consumption.

Time ¡as ¡a ¡funcDon ¡of ¡power ¡and ¡number ¡of ¡nodes ¡ ¡

q n: ¡number ¡of ¡nodes ¡ q A: ¡Average ¡Parallelism ¡ q ¡σ ¡: ¡duraWon ¡of ¡parallelism ¡A ¡ q Wcpu: ¡CPU ¡work ¡ q Tmem: ¡memory ¡work ¡ q Th ¡: ¡ ¡ ¡minimum ¡exec ¡Wme ¡ ¡ q pcore: ¡core ¡power ¡ q gi: ¡cost ¡level ¡I ¡cache ¡access ¡ q Li: ¡#level ¡I ¡accesses ¡ q gm: ¡cost ¡of ¡mem ¡access ¡ q M: ¡#mem ¡accesses ¡ q pbase: ¡idle ¡power ¡

slide-12
SLIDE 12

Power ¡Aware ¡Resource ¡Manager ¡(PARM) ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 12 ¡

SCHEDULER ¡ JOB ¡QUEUE ¡ JOB ¡PROFILER ¡

PASS ¡MODEL ¡

EXECUTION ¡ FRAMEWORK ¡ ¡

q SHRINK/EXPAND ¡JOBS ¡ q APPLY ¡POWER ¡CAPS ¡

¡

JOB ¡ARRIVAL ¡ JOB ¡ TERMINATION ¡ TRIGGERS ¡

slide-13
SLIDE 13

Scheduler: ¡Integer ¡Linear ¡Program ¡FormulaWon ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 13 ¡

Objective Function X

j∈J

X

n∈Nj

X

p∈Pj

wj ∗ sj,n,p ∗ xj,n,p Select One Resource Combination Per Job X

n∈Nj

X

p∈Pj

xj,n,p ≤ 1 ∀j ∈ I X

n∈Nj

X

p∈Pj

xj,n,p = 1 ∀j ∈ I Bounding total nodes X

j∈J

X

p∈Pj

X

n∈Nj

nxj,n,p ≤ N Bounding power consumption X

j∈J

X

n∈Nj

X

p∈Pj

(n ∗ (p + Wbase))xj,n,p ≤ Wmax Disable Malleability (Optional) X

n∈Nj

X

p∈Pj

nxj,n,p = nj ∀j ∈ I

slide-14
SLIDE 14

Scheduler: ¡ObjecWve ¡FuncWon ¡

q Maximizing ¡throughput ¡makes ¡ILP ¡opWmizaWon ¡infeasible ¡ q Maximize ¡sum ¡of ¡power-­‑aware ¡speedup ¡of ¡selected ¡jobs: ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 14 ¡

sj,n,p = tj,min(Nj),min(Pj) tj,n,p is the speedup of job executing

slide-15
SLIDE 15

Power ¡Aware ¡Resource ¡Manager ¡(PARM) ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 15 ¡

SCHEDULER ¡ JOB ¡QUEUE ¡ JOB ¡PROFILER ¡

PASS ¡MODEL ¡

EXECUTION ¡ FRAMEWORK ¡ ¡

q SHRINK/EXPAND ¡JOBS ¡ q APPLY ¡POWER ¡CAPS ¡

¡

JOB ¡ARRIVAL ¡ JOB ¡ TERMINATION ¡ TRIGGERS ¡

slide-16
SLIDE 16

Experimental ¡Setup ¡

q ApplicaWons ¡

Ø Memory-­‑intensive ¡

§ Jacobi ¡and ¡Wave2D ¡

Ø ComputaWon-­‑intensive ¡

§ LeanMD ¡

Ø Mixed ¡

§ AMR ¡and ¡Lulesh ¡

q Testbed ¡

q 38-­‑node ¡Intel ¡Sandy ¡Bridge ¡ q 6 ¡physical ¡cores, ¡16GB ¡RAM ¡ ¡ q Power ¡capping ¡using ¡RAPL ¡ q CPU ¡power ¡cap ¡range ¡[25-­‑95]W ¡ ¡

q Job ¡Dataset ¡

q ¡β ¡corresponds ¡to ¡CPU ¡sensiWvity ¡

q SetL: ¡Mix ¡of ¡apps ¡with ¡average ¡β=0.1 ¡ q SetH: ¡Mix ¡of ¡apps ¡with ¡average ¡β=0.27 ¡

q Power ¡Budget ¡

q CPU ¡power ¡levels={30, ¡32, ¡34, ¡39, ¡45, ¡55}W ¡ q Node ¡power ¡consumpWon= ¡116W ¡ q Power ¡Budget ¡= ¡3000W ¡ q #nodes ¡in ¡tradiWonal ¡data ¡center ¡= ¡28 ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 16 ¡

slide-17
SLIDE 17

EsWmaWng ¡Performance ¡using ¡PASS ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 17 ¡ 30 35 40 45 50 55 60 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 CPU power (W) Power−aware speedup LeanMD AMR Lulesh Wave2D Jacobi2D

Model ¡Parameters ¡

slide-18
SLIDE 18

PARM ¡Performance ¡Results ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 18 ¡

SetL SetH 50 100 150 200 250 300 Average completion time (mins) SLURM noMM noSE wSE

Average ¡CompleWon ¡Wmes ¡ Descrip(on ¡ q noMM: ¡without ¡Malleability ¡and ¡Moldability ¡ q noSE: ¡ ¡ ¡ ¡with ¡Moldability ¡but ¡no ¡Malleability ¡ q wSE: ¡ ¡ ¡ ¡ ¡ ¡with ¡Moldability ¡and ¡Malleability ¡ Performance ¡ q 32% ¡improvement ¡with ¡nMM ¡over ¡SLURM ¡ q 13.9% ¡improvement ¡with ¡noSE ¡over ¡noMM ¡ q 7.5% ¡improvement ¡with ¡wSE ¡over ¡noSE ¡ q 1.7X ¡improvement ¡in ¡throughput ¡

slide-19
SLIDE 19

Large ¡Scale ¡ProjecWons ¡

q SLURM ¡simulator ¡vs ¡PARM ¡simulator ¡ q Modeling ¡cost ¡of ¡shrinking ¡and ¡expansion ¡of ¡jobs ¡

q Boot ¡Wmes ¡ q CommunicaWon ¡cost ¡for ¡data ¡transfer ¡ q Total ¡cost ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 19 ¡

tc = ( mj

nf − mj nt ) ∗ nf

2 ∗ b ∗ n

2 3

f

per link bandwidth in MB/sec.

tb(in seconds) = (nt − nf) ∗ 0.01904 + 72.73

i.e., tse = tc +tb. additional nodes from

slide-20
SLIDE 20

Large ¡Scale ¡ProjecWons ¡ Experimental ¡Setup ¡

q Job ¡Datasets ¡

Ø Intrepid ¡job ¡traces ¡ Ø 3 ¡subsets: ¡Set ¡1, ¡Set ¡2, ¡Set3 ¡ Ø 1000 ¡jobs ¡

q ApplicaWon ¡CharacterisWcs ¡

Ø Model ¡parameters ¡chosen ¡ randomly ¡from ¡range ¡ defined ¡by ¡computaWonally ¡ and ¡memory ¡intensive ¡ apps ¡

q Node ¡Range ¡for ¡Moldable/ Malleable ¡jobs ¡

Ø min ¡nodes ¡= ¡θ*max(N) ¡ ¡θ ¡ε[0.2, ¡0.6] ¡

q Power ¡Budget ¡

Ø 40,960 ¡nodes ¡-­‑> ¡4.75MW ¡ Ø CPU ¡power ¡levels ¡ ={30,33,36,44,50,60}W ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 20 ¡

slide-21
SLIDE 21

Large ¡Scale ¡ProjecWons ¡ Performance ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 21 ¡

0.8 0.7 0.6 0.5 0.4 0.3 0.2 100 200 300 400 500 600 700 Arrival time scaling factor (γ) Average completion time (mins) baseline noSE wSE

(a) Set1

0.8 0.7 0.6 0.5 0.4 0.3 0.2 100 200 300 400 500 600 700 Arrival time scaling factor (γ) Average completion time (mins) baseline noSE wSE

(b) Set2

0.8 0.7 0.6 0.5 0.4 0.3 0.2 100 200 300 400 500 600 700 Arrival time scaling factor (γ) Average completion time (mins) baseline noSE wSE

(c) Set3

q Arrival ¡Wmes ¡mulWplied ¡by ¡γ ¡ q Gives ¡diversity ¡in ¡job ¡arrival ¡rates ¡ Descrip(on ¡ q baseline: ¡SLURM ¡scheduling ¡ q noSE: ¡ ¡ ¡ ¡with ¡Moldability ¡but ¡no ¡Malleability ¡ q wSE: ¡ ¡ ¡ ¡ ¡ ¡with ¡Moldability ¡and ¡Malleability ¡

5.2X ¡speedup ¡with ¡wSE! ¡

slide-22
SLIDE 22

Comparison ¡with ¡Naïve ¡Overprovisioning ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 22 ¡

CPU power cap (W) 30 40 50 60 Speedup of wSE over naive 4.32 1.86 2.33 5.25

  • Num. of nodes in naive strategy

55248 49493 44824 40960

slide-23
SLIDE 23

Tradeoff ¡between ¡Throughput ¡and ¡Job ¡Fairness ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 23 ¡

20 40 60 80 100 120 140 0.28 0.98 1.28 1.48 200 400 600 800 1000 1200 1400 Avergare Completion Time (mins) Max Completion Time (mins) α Average Max

  • Fig. 6: Average (left axis) and maximum (right axis) completion times

Objective function multiplier: ωα ¡

slide-24
SLIDE 24

CONCLUSIONS/TAKEAWAYS ¡

Conclusion ¡ q Significant ¡improvement ¡in ¡throughputs ¡

Ø Power-­‑aware ¡characterisWcs ¡(PASS ¡model) ¡ Ø CPU ¡power ¡capping ¡ Ø Overprovisioning ¡

q SophisWcated ¡ILP ¡scheduling ¡methodology ¡useful ¡for ¡resource ¡assignment ¡ q AdapWve ¡runWme ¡system ¡further ¡increases ¡benefits ¡by ¡allowing ¡ malleability ¡ ¡ q Non-­‑malleable ¡jobs ¡also ¡benefit ¡ Future ¡Work ¡ q Enable/disable ¡caches ¡ q Thermal ¡constraints ¡

Ø To ¡improve ¡system ¡reliability ¡and ¡improve ¡cooling ¡costs ¡

q Rich ¡support ¡for ¡user ¡prioriWes ¡

3/4/15 ¡ Power-­‑Aware ¡Job ¡Scheduling ¡ 24 ¡

slide-25
SLIDE 25

THANK ¡YOU! ¡ ¡ POWER-­‑AWARE ¡JOB ¡SCHEDULING ¡

Maximizing ¡Data ¡Center ¡Performance ¡Under ¡Strict ¡Power ¡Budget ¡

Osman ¡Sarood, ¡Akhil ¡Langer, ¡Abhishek ¡Gupta, ¡Laxmikant ¡Kale ¡ ¡ Parallel ¡Programming ¡Laboratory ¡ Department ¡of ¡Computer ¡Science ¡ University ¡of ¡Illinois ¡at ¡Urbana-­‑Champaign ¡ ¡ 29th ¡April ¡2014 ¡ ¡ ¡