Energy-‑efficient ¡compu1ng ¡for ¡HPC ¡ workloads ¡on ¡Heterogeneous ¡Chips ¡ ¡ Akhil ¡Langer , ¡Ehsan ¡Totoni, ¡Uda.a ¡Palekar*, ¡Laxmikant ¡(Sanjay) ¡V. ¡Kale ¡ Parallel ¡Programming ¡Laboratory, ¡Department ¡of ¡Computer ¡Science ¡ *Department ¡of ¡Business ¡AdministraJon ¡ University ¡of ¡Illinois ¡at ¡Urbana-‑Champaign ¡ h?p://charm.cs.uiuc.edu/research/energy ¡ ¡ PMAM ¡2015 ¡ 6 th ¡InternaJonal ¡Workshop ¡on ¡Programming ¡Models ¡and ¡ ¡ ApplicaJons ¡for ¡MulJcores ¡and ¡Manycores ¡ ¡ February ¡7-‑8, ¡2015 ¡ ¡ ¡
Outline ¡ q IntroducJon ¡ ¡ q Background ¡ q Problem ¡Statement ¡ q Approach ¡ q Results ¡ 3/2/15 ¡ Energy-‑efficient ¡operaJon ¡of ¡Heterogeneous ¡Manycore ¡Chips ¡ 2 ¡
IntroducJon ¡ • MoJvaJon ¡ – Huge ¡energy ¡consumpJon ¡of ¡data ¡centers ¡ – 20MW ¡power ¡@ ¡$0.15 ¡per ¡KWh, ¡costs ¡$2.2 ¡M ¡per ¡ month ¡ – Energy ¡efficiency ¡idenJfied ¡as ¡a ¡major ¡exascale ¡ challenge ¡by ¡DoE ¡ – Consider ¡charging ¡users ¡in ¡energy ¡units ¡(KWh) ¡ instead ¡(or ¡in ¡addiJon) ¡of ¡SUs ¡ Energy-‑efficient ¡operaJon ¡of ¡ 3/2/15 ¡ 3 ¡ Heterogeneous ¡Chips ¡
IntroducJon ¡ • Low ¡voltage ¡operaJon ¡ – For ¡high ¡energy ¡efficiency ¡ – For ¡example, ¡10x ¡increase ¡in ¡energy ¡efficiency ¡near ¡ threshold ¡voltage ¡ • But ¡ – VariaJon ¡in ¡CMOS ¡manufacturing ¡process ¡ – Low ¡voltage ¡operaJon ¡introduces ¡variability ¡on ¡chip ¡ – Cores ¡have ¡different ¡frequencies ¡and ¡power ¡ consumpJon ¡ Energy-‑efficient ¡operaJon ¡of ¡ 3/2/15 ¡ 4 ¡ Heterogeneous ¡Chips ¡
Process ¡VariaJon ¡ • Low ¡voltage ¡operaJon ¡ 0.8f% f% 0.5f% 0.6f% 0.7f% 0.8f% f% 0.8f% f% 0.7f% 0.6f% 0.9f% 0.5f% 0.8f% 0.5f% f% Energy-‑efficient ¡operaJon ¡of ¡ 3/2/15 ¡ 5 ¡ Heterogeneous ¡Chips ¡
Programming ¡Systems* ¡ • Problem ¡ – HPC ¡applicaJons ¡are ¡highly ¡synchronized ¡ – Speed ¡determined ¡by ¡speed ¡of ¡slowest ¡processor ¡ • Solu+on ¡ – Do ¡overdecomposiJon ¡of ¡work ¡(e.g. ¡Charm++) ¡ – Load ¡Balance ¡according ¡to ¡core ¡speeds ¡ • Result ¡ – OverdecomposiJon ¡raJo ¡of ¡16 ¡=> ¡2-‑6% ¡load ¡imbalance ¡ – ¡No ¡changes ¡required ¡in ¡applicaJon ¡code ¡ *Under ¡Review ¡ Energy-‑efficient ¡operaJon ¡of ¡ 3/2/15 ¡ 6 ¡ Heterogeneous ¡Chips ¡
Problem ¡Statement ¡ • Not ¡opJmal ¡to ¡use ¡all ¡cores ¡on ¡chip ¡for ¡execuJon ¡ – Shared ¡resources ¡cause ¡contenJon ¡ – High ¡energy ¡consumpJon ¡ • A ¡configuraJon ¡is ¡defined ¡as ¡the ¡cores ¡on ¡which ¡ the ¡applicaJon ¡is ¡run ¡ ¡ Determine ¡op+mal ¡configura+on ¡that ¡minimizes ¡ energy ¡consump+on ¡(with ¡op+onal ¡+ming ¡ constraints) ¡of ¡the ¡chip ¡for ¡a ¡given ¡applica+on ¡ ¡ Energy-‑efficient ¡operaJon ¡of ¡ 3/2/15 ¡ 7 ¡ Heterogeneous ¡Chips ¡
Performance ¡Modeling* ¡ • ExhausJve ¡evaluaJon ¡of ¡configuraJons ¡infeasible ¡ • Model ¡1 ¡ – Sum ¡of ¡individual ¡core ¡performance ¡ X S = s i – Memory ¡contenJon ¡not ¡modeled ¡ i ∈ c • Model ¡2 ¡ T = T cpu – Add ¡memory ¡access ¡Jme ¡ + T mem X f i – # ¡of ¡acJve ¡cores ¡not ¡accounted ¡ i ∈ c *Under ¡Review ¡ Energy-‑efficient ¡operaJon ¡of ¡ 3/2/15 ¡ 8 ¡ Heterogeneous ¡Chips ¡
Performance ¡Modeling* ¡ • Model ¡3 ¡ – One ¡model ¡each ¡for ¡configuraJons ¡with ¡same ¡number ¡ of ¡cores ¡ – Performance ¡is ¡linear ¡funcJon ¡of ¡frequency ¡ – Total ¡#cores ¡(n) ¡models ¡ • k ¡is ¡number ¡of ¡cores ¡in ¡configuraJon ¡c ¡ X S = a k ( f i ) + b k • a k , ¡b k ¡ are ¡line ¡constants ¡ • f i ¡ is ¡frequency ¡of ¡core ¡i ¡ i ∈ c – Average ¡predicJon ¡error ¡less ¡than ¡1.6% ¡ – Dynamic ¡power ¡consumpJon ¡can ¡be ¡modeled ¡in ¡same ¡ way ¡ *Under ¡Review ¡ Energy-‑efficient ¡operaJon ¡of ¡ 3/2/15 ¡ 9 ¡ Heterogeneous ¡Chips ¡
Energy ¡OpJmizaJon ¡Approach ¡ Power ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Time ¡ be defined as N X X ( n k ∗ ( a p X x i f i + b p X X s i x i ) ∗ ( a t x i f i + b t min k + k )) k k i i i k k =1 Select One Value of k n StaJc ¡Power ¡ X n k = 1 Dynamic ¡Power ¡ k =1 Total Number of Cores Equals k n − 1 n Cubic ¡Objec1ve ¡ X X x i = n k k Func1on! ¡ ¡ i =0 k =1 Variables Range ∀ i ∈ [0 , n ) , x i ∈ { 0 , 1 } ∀ k ∈ (0 , n ] , n k ∈ { 0 , 1 } Energy-‑efficient ¡operaJon ¡of ¡ 3/2/15 ¡ 10 ¡ Heterogeneous ¡Chips ¡
Energy ¡OpJmizaJon ¡Approach ¡ Convert ¡cubic ¡program ¡to ¡n ¡quadraJc ¡programs ¡ • Each ¡corresponding ¡to ¡all ¡configuraJons ¡with ¡fixed ¡number ¡of ¡cores ¡ • Select ¡best ¡configuraJon ¡across ¡n ¡quadraJc ¡programs ¡ • Power ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Time ¡ n − 1 n − 1 n − 1 min ( a p x i f i + b p X X s i x i ) ∗ ( a t X x i f i + b t K + K ) K K i =0 i =0 i =0 (9) Total Number of Cores Equals K StaJc ¡Power ¡ Dynamic ¡Power ¡ n − 1 X x i = K i =0 Quadra1c ¡Objec1ve ¡ Variables Range ) Func1on! ¡ ¡ ∀ i ∈ [0 , n ) , x i ∈ { 0 , 1 } Energy-‑efficient ¡operaJon ¡of ¡ 3/2/15 ¡ 11 ¡ Heterogeneous ¡Chips ¡
Energy ¡OpJmizaJon ¡Approach ¡ • QuadraJc ¡programs ¡hard ¡to ¡solve ¡using ¡non-‑linear ¡methods ¡ • Replace ¡quadraJc ¡terms ¡of ¡form ¡x 1 x 2 ¡ with ¡binary ¡variables ¡y 12 ¡ and ¡add ¡following ¡constraints ¡ y 12 ¡≤ ¡x 1 ¡ y 12 ¡≤ ¡x 2 ¡ y 12 ¡ ≥ ¡x 1 +x 2 -‑1 ¡ • Add ¡Jming ¡constraint ¡ a K t F ¡+ ¡b K t ¡≤ ¡Pt min , ¡ ¡ where ¡F ¡is ¡sum ¡of ¡frequencies, ¡ and ¡P ¡is ¡allowed ¡Jme ¡penalty ¡ Energy-‑efficient ¡operaJon ¡of ¡ 3/2/15 ¡ 12 ¡ Heterogeneous ¡Chips ¡
Setup ¡ Sniper ¡Simulator ¡ • – V dd ¡ = ¡ 0.765V ¡ – 36 ¡cores ¡on ¡chip ¡ – Results ¡across ¡25 ¡chips ¡ ApplicaJons ¡ • – miniMD ¡ • Molecular ¡dynamics ¡mini ¡applicaJon ¡ ¡ • ComputaJonally ¡intensive ¡ – Jacobi ¡ ¡ • 3D ¡stencil ¡code ¡ • Memory ¡intensive ¡ HeurisJcs ¡ • – Min ¡heurisJc ¡ – Max ¡heurisJc ¡ Integer ¡Linear ¡Program ¡(ILP) ¡Solver ¡ • – Gurobi ¡ – Uses ¡variant ¡of ¡branch-‑and-‑bound ¡method ¡ Energy-‑efficient ¡operaJon ¡of ¡ 3/2/15 ¡ 13 ¡ Heterogeneous ¡Chips ¡
Results ¡ Energy-‑efficient ¡operaJon ¡of ¡ 3/2/15 ¡ 14 ¡ Heterogeneous ¡Chips ¡
Results ¡ Energy ¡Savings ¡ (a) With no time constraint (b) Maximum 15% time penalty (c) Maximum 5% time penalty 26% ¡ 18.4% ¡ 13.4% ¡ ILP ¡Solu+on ¡Time: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡745 ¡seconds ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡26 ¡seconds ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡9seconds ¡ vs ¡ Exhaus+ve ¡Evalua+on: ¡ ¡74 ¡hours ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ Energy-‑efficient ¡operaJon ¡of ¡ 3/2/15 ¡ 15 ¡ Heterogeneous ¡Chips ¡
Recommend
More recommend