POWER-‑AWARE ¡RESOURCE ¡MANAGER ¡ 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 ¡ ¡ 19 th ¡November ¡ BoF: ¡Dynamic ¡Power ¡Management ¡for ¡MW-‑sized ¡Supercomputer ¡Centers ¡ SupercompuOng ¡2014 ¡ New ¡Orleans, ¡LA ¡
Major ¡Challenge ¡to ¡Achieve ¡Exascale ¡ Power ¡consumpGon ¡for ¡Top500 ¡ Exascale ¡in ¡20MW! ¡
Data ¡Center ¡Power ¡ How ¡is ¡power ¡demand ¡of ¡data ¡center ¡calculated? ¡ ¡ q Using ¡Thermal ¡Design ¡Power ¡(TDP)! ¡ However, ¡TDP ¡is ¡hardly ¡reached!! ¡ ¡ Constraining ¡CPU/Memory ¡power ¡ ¡ ¡ ¡ Intel ¡Sandy ¡Bridge ¡ q Running ¡Average ¡Power ¡Limit ¡(RAPL) ¡library ¡ Ø measure ¡and ¡set ¡CPU/memory ¡power ¡
Constraining ¡CPU/Memory ¡power ¡ Intel ¡Sandy ¡Bridge ¡ q Running ¡Average ¡Power ¡Limit ¡(RAPL) ¡library ¡ Ø measure ¡and ¡set ¡CPU/memory ¡power ¡ SoluOon ¡to ¡Data ¡Center ¡Power ¡ q Constrain ¡power ¡consumpGon ¡of ¡nodes ¡ q Overprovisioning ¡-‑ ¡Use ¡more ¡nodes ¡than ¡convenGonal ¡data ¡ center ¡for ¡same ¡power ¡budget ¡ ¡ ¡ ¡
Applica=on ¡Performance ¡with ¡Power ¡ ConfiguraOon ¡ ¡ p c : ¡CPU ¡power ¡cap ¡ ApplicaGon ¡performance ¡ p m : ¡Memory ¡power ¡cap ¡ (n ¡x ¡p c , ¡p m ¡) ¡ does ¡not ¡improve ¡ proporGonately ¡with ¡ increase ¡in ¡power ¡cap ¡ Run ¡on ¡larger ¡number ¡of ¡ nodes ¡each ¡capped ¡at ¡ (12x44,18) ¡ ¡ lower ¡power ¡level ¡ (20x32,10) ¡ ¡ Performance ¡of ¡LULESH ¡at ¡different ¡ configuraGons ¡
Problem ¡Statement ¡ ¡ Maximizing ¡Data ¡Center ¡Performance ¡Under ¡Strict ¡Power ¡Budget ¡ Data ¡center ¡capabiliOes ¡ q Power ¡capping ¡ability ¡ q Overprovisioning ¡ Job ¡features ¡(OpOonal) ¡ q Moldability ¡ q Malleability ¡ Ø Charm++ ¡
POWER-‑AWARE ¡RESOURCE ¡MANAGER ¡ ExecuGon ¡ Profiler ¡ Scheduler ¡ framework ¡ Schedule ¡ Strong ¡Scaling ¡Power ¡ Launch ¡Jobs/ ¡ Jobs ¡(LP) ¡ Aware ¡Model ¡ Shrink-‑Expand ¡ Job ¡CharacterisGcs ¡ Update ¡ Ensure ¡Power ¡ Database ¡ Queue ¡ Cap ¡ Job ¡Ends/ Job ¡Arrives ¡ Triggers ¡ ` ¡ Terminates ¡
¡Power ¡Aware ¡Strong ¡Scaling ¡Model ¡ Execu=on ¡=me ¡as ¡a ¡func=on ¡of ¡power ¡and ¡number ¡of ¡nodes ¡ ¡ Time ¡vs ¡Scale ¡ Time ¡vs ¡Frequency ¡ Downey’s ¡strong ¡scaling ¡ t = F ( n , A , σ ) Power ¡vs ¡Frequency ¡ W cpu + T mem , for f < f h xpressed as [31]: t ( f ) = f 3 T h , for f ≥ f h q n: ¡number ¡of ¡nodes ¡ X p = p core + g i L i + g m M + p base q A: ¡Average ¡Parallelism ¡ i =1 q p core : ¡core ¡power ¡ q ¡σ ¡: ¡duraGon ¡of ¡parallelism ¡A ¡ q W cpu : ¡CPU ¡work ¡ is the base/static package power consumption. q g i : ¡cost ¡level ¡I ¡cache ¡access ¡ q T mem : ¡memory ¡work ¡ q L i : ¡#level ¡I ¡accesses ¡ q T h ¡ : ¡ ¡ ¡minimum ¡exec ¡Gme ¡ ¡ q g m : ¡cost ¡of ¡mem ¡access ¡ q M: ¡#mem ¡accesses ¡ q p base : ¡idle ¡power ¡
POWER-‑AWARE ¡RESOURCE ¡MANAGER ¡ ExecuGon ¡ Profiler ¡ Scheduler ¡ framework ¡ Schedule ¡ Strong ¡Scaling ¡Power ¡ Launch ¡Jobs/ ¡ Jobs ¡(ILP) ¡ Aware ¡Model ¡ Shrink-‑Expand ¡ Job ¡CharacterisGcs ¡ Update ¡ Ensure ¡Power ¡ Database ¡ Queue ¡ Cap ¡ Job ¡Ends/ Job ¡Arrives ¡ Triggers ¡ ` ¡ Terminates ¡
Scheduler ¡-‑ ¡Integer ¡Linear ¡Program ¡(ILP) ¡Formula=on ¡ Objective Function X X X w j ∗ s j,n,p ∗ x j,n,p j ∈ J n ∈ N j p ∈ P j Maximizing ¡throughput ¡ Select One Resource Combination Per Job X X makes ¡online ¡ILP ¡ x j,n,p ≤ 1 ∀ j ∈ I n ∈ N j p ∈ P j opGmizaGon ¡intractable, ¡ X X x j,n,p = 1 ∀ j ∈ I n ∈ N j p ∈ P j instead ¡ ¡ Bounding total nodes ¡ X X X nx j,n,p ≤ N maximize ¡sum ¡of ¡ ¡ j ∈ J p ∈ P j n ∈ N j Bounding power consumption power-‑aware ¡speedup ¡of ¡ X X X ( n ∗ ( p + W base )) x j,n,p ≤ W max selected ¡jobs ¡ j ∈ J n ∈ N j p ∈ P j Disable Malleability (Optional) X X nx j,n,p = n j ∀ j ∈ I n ∈ N j p ∈ P j
POWER-‑AWARE ¡RESOURCE ¡MANAGER ¡ Execu=on ¡ Profiler ¡ Scheduler ¡ framework ¡ Schedule ¡ Strong ¡Scaling ¡Power ¡ Launch ¡Jobs/ ¡ Jobs ¡(ILP) ¡ Aware ¡Model ¡ Shrink-‑Expand ¡ Job ¡CharacterisGcs ¡ Update ¡ Ensure ¡Power ¡ Database ¡ Queue ¡ Cap ¡ Job ¡Ends/ Job ¡Arrives ¡ Triggers ¡ ` ¡ Terminates ¡
Performance ¡Results ¡ Lulesh, ¡AMR, ¡LeanMD, ¡Jacobi ¡and ¡Wave2D ¡ 38-‑node ¡Intel ¡Sandy ¡Bridge ¡Cluster, ¡3000W ¡budget ¡ 300 Descrip2on ¡ SLURM noMM q noMM : ¡without ¡Malleability ¡and ¡Moldability ¡ Average completion time (mins) 250 noSE wSE q noSE : ¡ ¡ ¡ ¡with ¡Moldability ¡but ¡no ¡Malleability ¡ 200 q wSE : ¡ ¡ ¡ ¡ ¡ ¡with ¡Moldability ¡and ¡Malleability ¡ 150 100 50 0 SetL SetH 1.7X ¡improvement ¡in ¡throughput ¡
Takeaways ¡ Significant ¡improvement ¡in ¡throughputs ¡ Ø Power-‑aware ¡characterisGcs ¡(PASS ¡model) ¡ Ø CPU ¡power ¡capping ¡ Ø Overprovisioning ¡ SophisGcated ¡ILP ¡scheduling ¡methodology ¡useful ¡for ¡ resource ¡assignment ¡ AdapGve ¡runGme ¡system ¡further ¡increases ¡benefits ¡by ¡ allowing ¡malleability ¡ ¡ Talk: ¡Maximizing ¡Throughput ¡of ¡Overprovisioned ¡HPC ¡Data ¡centers ¡Under ¡a ¡ Strict ¡Power ¡Budget. ¡SC ¡’14. ¡ Thursday ¡(tomorrow) ¡10:30 ¡am , ¡393-‑94-‑95. ¡
THANK ¡YOU! ¡ POWER-‑AWARE ¡RESOURCE ¡MANAGER ¡ 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 ¡ ¡ 19 th ¡November ¡ SupercompuOng ¡2014 ¡ New ¡Orleans, ¡LA ¡ ¡ ¡
Recommend
More recommend