廖 凱,周平強
(1.中國科學(xué)院上海微系統(tǒng)與信息技術(shù)研究所 上海200050;2.上??萍即髮W(xué) 上海 201210;3.中國科學(xué)院大學(xué) 北京100049)
支持向量機(SVM)算法用于計算機CPU功耗管理
廖 凱1,2,3,周平強1,2,3
(1.中國科學(xué)院上海微系統(tǒng)與信息技術(shù)研究所 上海200050;2.上??萍即髮W(xué) 上海 201210;3.中國科學(xué)院大學(xué) 北京100049)
基于減少CPU功耗的目的,采用了機器學(xué)習(xí)SVM算法為CPU的動態(tài)頻率電壓調(diào)節(jié)技術(shù)(DVFS)制定決策模型,采用EDP(Energy Delay Product)作為最終優(yōu)化指標(biāo)。通過GEM5和McPAT工具進行仿真實驗,發(fā)現(xiàn)新建的模型按照執(zhí)行程序不同最多可以節(jié)省20%的EDP。
DVFS;SVM;EDP;功耗管理;預(yù)測優(yōu)化
隨著集成電路的發(fā)展,現(xiàn)代CPU芯片集成度越來越高,性能飛速發(fā)展,伴隨而來的是居高不下的功耗和散熱成本,單位面積的功耗太高已成為了CPU性能突破的瓶頸。如何降低CPU芯片的功耗,成為了當(dāng)前研究的重點。
CPU低功耗技術(shù)很多,譬如時鐘門控技術(shù)(Clock gating),電源門控技術(shù)(Power gating)和動態(tài)電壓頻率調(diào)節(jié)技術(shù)(DVFS)等。其中Clock gating技術(shù)通過在電路中增加額外的邏輯單元、優(yōu)化時鐘樹結(jié)構(gòu)來節(jié)省能量[1]。Power gating技術(shù)通過關(guān)掉當(dāng)前電路中空閑的模塊,從而節(jié)省能量[2]。DVFS技術(shù)通過動態(tài)調(diào)節(jié)當(dāng)前芯片的電壓和頻率來節(jié)省能量。這3種方法在CPU中都有廣泛的應(yīng)用。文中針對DVFS技術(shù),研究如何優(yōu)化DVFS技術(shù)的執(zhí)行策略。
1.1 DVFS與功耗
在芯片設(shè)計中,功耗一直是備受關(guān)注的優(yōu)化目標(biāo)之一。處理器的功耗計算有如下關(guān)系式,
其中,α是活動因子 (Activity Factor),C是電路中所有晶體管的等效電容,f是電路運行頻率,Vdd是電路的供電電壓,I是靜態(tài)電流。處理器的功耗P分別與頻率f和電壓Vdd的二次方成正比,而處理器運行頻率f越高,需要提供的電壓Vdd也越高,兩者可以看成是正比關(guān)系。通過降低處理器的運行頻率f和電壓Vdd,處理器的總功耗將以三次方的同比速度降低。DVFS技術(shù)就是通過調(diào)節(jié)處理器的頻率f和供電電壓Vdd從而達(dá)到節(jié)省功耗的目的。
1.2 DVFS策略
DVFS技術(shù)的合理應(yīng)用能顯著減少CPU的整體功耗。但是,降低處理器頻率和電壓勢必會降低處理器的運算性能,導(dǎo)致運算時間變長。能耗是功耗與時間的乘積,不合理的DVFS有時候可能導(dǎo)致更多的能耗。所以,如何合理運用DVFS技術(shù),準(zhǔn)確預(yù)測CPU下階段應(yīng)選擇的電壓和頻率成為了問題的關(guān)鍵。
DVFS是在CPU任務(wù)較少的時候 (此時可能的狀況是Cache miss較多,訪存時間長,CPU處于等待時間)降低其運行頻率和電壓從而達(dá)到降低能耗的目的。這需要CPU內(nèi)部的參量數(shù)據(jù)來建模量化DVFS策略標(biāo)準(zhǔn)。
2.1 相關(guān)研究
南加州大學(xué)的Kihwan Choi教授等人提出將CPU的工作任務(wù)分為 onchip和 offchip兩部分,onchip工作量表示完成當(dāng)前工作所需的CPU工作時鐘周期數(shù),offchip工作量表示外部內(nèi)存操作所需的時鐘周期。通過比較兩部分工作量的比例從而制定DVFS策略[3]。三星電子公司的Sungpack Hong等人通過準(zhǔn)確預(yù)測CPU工作量,結(jié)合給定的deadline constraint時間,調(diào)節(jié)處理器運行頻率和電壓[4]。另外一種比較有意思的做法是IBM公司W(wǎng)aston研究中心的Canturk Isci等人通過應(yīng)用Phase[5-7]的概念,將程序按照其特征分為多個Phase,給每個Phase選擇最佳的運行頻率和電壓,通過預(yù)測下個Phase來判斷CPU下階段的頻率和電壓[8]。美國威斯康星(Wisconsin)大學(xué)的Aman Rakesh Chadha等人將機器學(xué)習(xí)SVM算法應(yīng)用到CPU的動態(tài)功耗管理中,通過訓(xùn)練得到模型對CPU頻率選取進行決策,并探索了能量和時間的轉(zhuǎn)換關(guān)系[9]。
2.2 SVM算法構(gòu)建決策模型
文中研究采用了和文獻(xiàn)[9]相似的方法。運用了GEM5[10-11]和McPAT[12-13]的組合來得到CPU內(nèi)部參量和功耗數(shù)據(jù),利用機器學(xué)習(xí)SVM算法構(gòu)建決策模型。
如圖1所示,整個流程可以分為訓(xùn)練階段和測試運行階段兩部分。
圖1 流程圖
在訓(xùn)練階段,首先要得到用于訓(xùn)練的數(shù)據(jù)。我們將要仿真的程序按固定指令數(shù)平均劃分為n段,對每個程序段,利用GEM5和McPAT工具可以得到一組形如<Parameter vector,F(xiàn),EDP>形式的數(shù)據(jù),稱為一個“Set”。其中Parameter vector是由幾個CPU參量組成的向量,例如 IPC,Cache miss數(shù),Memory Access數(shù)等,F(xiàn)為CPU頻率,EDP為此程序段執(zhí)行消耗的能量和延遲的內(nèi)積。以不同頻率執(zhí)行此相同程序段,得到多組這樣的Set。在處理環(huán)節(jié)中,選擇出擁有最低EDP的一組Set,我們認(rèn)為它所對應(yīng)的執(zhí)行頻率F是此程序段的最佳運行頻率,將其作為一個“Sample”(樣本)。運行不同程序段,得到更多的樣本,組成我們用于訓(xùn)練的數(shù)據(jù)集合。
我們將樣本數(shù)據(jù)按頻率分類,F(xiàn)作為類的標(biāo)志。我們的目的是,給定一組Parameter vector,我們要能準(zhǔn)確判斷其適合的頻率。這需要首先構(gòu)建分類模型來進行判定。我們引用了機器學(xué)習(xí)領(lǐng)域的SVM算法來解決這個問題。
訓(xùn)練階段得到模型后,在測試運行階段,我們修改了GEM5代碼,將訓(xùn)練階段得到的模型集成到GEM5中,此模型從CPU獲取數(shù)據(jù),輸出選擇結(jié)果來控制DVFS模塊。DVFS模塊執(zhí)行Model的選擇結(jié)果改變CPU電壓和頻率(V/F)進行下個周期的運行。
相比文獻(xiàn)[9],我們做了很多改進:
1)程序段劃分標(biāo)準(zhǔn)。文獻(xiàn)[9]中GEM5執(zhí)行仿真時,將程序以固定cycle數(shù)來劃分程序段。但是,當(dāng)CPU以不同頻率如1 GHz和2 GHz分別執(zhí)行時,需要的總cycle數(shù)會不一致。文中采用按固定指令數(shù)的方法來劃分程序段。
2)靜態(tài)功耗。隨著靜態(tài)功耗在CPU總功耗中占的比重越來越大,靜態(tài)功耗已經(jīng)不能忽視。文獻(xiàn)[9]中只考慮了CPU的動態(tài)功耗,本研究中綜合考慮了靜態(tài)功耗和動態(tài)功耗。
3)優(yōu)化目標(biāo)。文獻(xiàn)[9]中探索了應(yīng)用DVFS后,能量和時間的權(quán)衡關(guān)系。文中采用了能量和時間的內(nèi)積(EDP)作為最終優(yōu)化目標(biāo)。
4)搭建了通用平臺。通過修改GEM5源代碼,將LIBSVM[14]提供的庫函數(shù)利用python接口集成到了GEM5中。訓(xùn)練時,每次得到的DVFS決策模型將被保存為一個單獨的文件,并可直接通過文件調(diào)用,這樣構(gòu)建了一個實驗平臺。若要更換決策模型,可直接通過平臺調(diào)用新的決策模型進行DVFS仿真實驗。
實驗按照GEM5默認(rèn)的參數(shù)配置,在GEM5的SE模式下仿真,并選擇SPEC CPU2006[15-17]作為仿真程序(benchmark)。
我們將仿真程序按照每一千萬個指令分段,運行可得到每段的輸出數(shù)據(jù)。圖2中描繪了bzip2程序前29個程序段L2 Cache miss數(shù),IPC和仿真時間這3個參量的變化趨勢。由圖中可以看出,不同的程序段的各參量變化趨勢明顯,且存在一定關(guān)聯(lián),如L2 Cache miss數(shù)和仿真時間成正相關(guān),與IPC成負(fù)相關(guān)。
圖2 bzip2程序段參量變化趨勢圖
我們選擇了Cache miss的數(shù)據(jù)和IPC等指標(biāo)共同組成了Parameter vector。采用了如表1所示的電壓頻率對應(yīng)關(guān)系來實驗構(gòu)建DVFS策略。
首先,我們考慮比較簡單的情況,即CPU只有兩種運行頻率,分別為1.2 GHz和1.8 GHz,對應(yīng)的電壓分別為1.05 V和1.20 V(表1)。
表1 頻率和電壓
兩頻率的DVFS實驗結(jié)果見圖3。圖3中列舉了SPEC CPU 2006中的gcc(compute bound)和mcf(memory bound)兩個程序的實驗結(jié)果。圖中,橫坐標(biāo)表示程序執(zhí)行的頻率,縱坐標(biāo)表示程序消耗的EDP。從圖中可以發(fā)現(xiàn),采用DVFS動態(tài)調(diào)節(jié)頻率所消耗的EDP是最低的。相比于采用單一頻率,DVFS最多分別可節(jié)省16.26%和8.87%的EDP。另外,從圖中可以看出,采用DVFS運行g(shù)cc時,選用1.8 GHz的時間會遠(yuǎn)遠(yuǎn)多于選擇1.2 GHz,mcf程序相反。這是因為gcc是計算需求比較多的程序,發(fā)生Cache miss次數(shù)很少,需要以較高頻率運行。mcf程序訪問內(nèi)存比較多,大部分時間CPU處在等待狀態(tài),所以選擇較低頻率運行來節(jié)省EDP。
圖3 兩頻率DVFS(gcc,mcf)實驗結(jié)果
表2列舉了其他幾個仿真程序的實驗結(jié)果。其中,第二列預(yù)測準(zhǔn)確度表示構(gòu)建的DVFS決策模型對下階段F/V選擇的預(yù)測準(zhǔn)確度,基本都在95%以上。當(dāng)預(yù)測結(jié)果不準(zhǔn)確時,會出現(xiàn)本應(yīng)選擇1.2 GHz(1.8 GHz)的執(zhí)行頻率卻選擇了1.8 GHz(1.2 GHz)的情況,導(dǎo)致EDP的浪費。
相比兩頻率DVFS,四頻率DVFS(表3)多出了1.4 GHz和1.6 GHz兩種頻率選擇,意味著更精細(xì)的調(diào)控。所以整體而言,四頻率DVFS節(jié)省的EDP比兩頻率的高。但是,由于四頻率增加了分類的難度,所以其預(yù)測準(zhǔn)確度有所降低。
表2 兩頻率DVFS實驗結(jié)果
表3 四頻率DVFS實驗結(jié)果
文中采用機器學(xué)習(xí)領(lǐng)域的支持向量機算法(SVM)來構(gòu)建動態(tài)頻率電壓(DVFS)決策模型,在節(jié)省能耗的過程中兼顧處理器性能,采用能量和延遲的內(nèi)積(EDP)作為最終優(yōu)化目標(biāo),實驗證明,SVM算法優(yōu)化得到的模型對不同程序最多可以節(jié)省將近20%的EDP。
[1]Wu Q,Pedram M,Wu X.Clock-gating and its application to low power design of sequential circuits[J].Circuits and Systems I:Fundamental Theory and Applications,IEEE Transactions on,2000,47(3):415-420.
[2]Chiou D S,Chen S H,Chang S C,et al.Timing driven power gating[C]//Proceedings of the 43rd annual design automation conference.ACM,2006: 121-124.
[3]Choi K,Soma R,Pedram M.Dynamic voltage and frequency scaling based on workload decomposition [C]//Proceedings of the 2004 international symposium on Low power electronics and design. ACM,2004:174-179.
[4]Hong S,Yoo S,Jin H,et al.Runtime distributionaware dynamic voltage scaling[C]//Proceedings of the 2006 IEEE/ACM international conference on Computer-aided design.ACM,2006:587-594.
[5]Sherwood T,Perelman E,Hamerly G,et al. Discovering and exploiting program phases[J]. Micro,IEEE,2003,23(6):84-93.
[6]Sherwood T,Sair S,Calder B.Phase tracking and prediction[C]//ACM SIGARCH Computer Architecture News.ACM,2003,31(2):336-349.
[7]Lau J,Schoenmackers S,Calder B.Transition phase classification and prediction[C]//High-Performance Computer Architecture,2005.HPCA-11.11th International Symposium on.IEEE,2005: 278-289.
[8]Isci C,Buyuktosunoglu A,Martonosi M.Longterm workload phases:Duration predictions and applications to DVFS[J].Micro,IEEE,2005,25(5):39-51.
[9]Chadha A R,Pandey A,Prakash A.ECE 752-AdvancedComputerArchitectureI[J].Dynamic Power Management using Machine Learning,2003:1-16.
[10]Binkert N,Beckmann B,Black G,et al.The gem5 simulator[J].ACM SIGARCH Computer Architecture News,2011,39(2):1-7.
[11]Spiliopoulos V,Bagdia A,Hansson A,et al.Introducing DVFS-management in a full-system simulator[C]//Modeling,Analysis&Simulation of Computer and Telecommunication Systems(MASCOTS),2013 IEEE 21stInternationalSymposium on. IEEE,2013:535-545.
[12]Li S,Ahn J H,Strong R D,et al.McPAT:an integrated power,area,and timing modeling framework for multicore and manycore architectures[C]//Microarchitecture,2009.MICRO-42.42nd Annual IEEE/ACM International Symposium on.IEEE,2009:469-480.
[13]Li S,Ahn J H,Strong R D,et al.The McPAT framework for multicore and manycore architectures:Simultaneously modeling power,area,and timing[J].ACM Transactions on Architecture and Code Optimization(TACO),2013,10(1):5.
[14]Chang C C,Lin C J.LIBSVM:A library for support vector machines[J].ACM Transactions on IntelligentSystemsandTechnology(TIST),2011,2(3):27.
[15]Henning J L.SPEC CPU2006 benchmark descriptions[J].ACM SIGARCH Computer Architecture News,2006,34(4):1-17.
[16]王友春,文閃閃,秦躍進,等.基于ARIMA-SVM模型的微電網(wǎng)短期負(fù)荷組合預(yù)測研究 [J].陜西電力,2014(3):19-23.
[17]呂意飛,郝立泉,任忠遠(yuǎn),等.混沌最小二乘支持向量機的短期風(fēng)功率預(yù)測[J].工業(yè)儀表與自動化裝置,2015(3):76-78.
Power management in CPU based on SVM algorithm
LIAO Kai1,2,3,ZHOU Ping-qiang1,2,3
(1.Shanghai Institute of Microsystem and Information Technology,Chinese Academy of Sciences,Shanghai 200050,China;2.School of Information Science and Technology,Shanghai Tech.University,Shanghai 201210,China;3.University of Chinese Academy of Sciences,Beijing 100049,China)
Power management of processor is always an important research field.In this paper,we take advantage of Support Vector Machine (SVM)Algorithm in Machine Learning to train and get the decision model for Dynamic Voltage and Frequency Scaling(DVFS)technology.We set the Energy Delay Product (EDP)as our optimization goal,to get a better trade-off between energy and performance. Experiment result shows that it can reduce as much as 20%EDP with different applications.
DVFS;SVM;EDP;power management;prediction and optimization
TN409
:A
:1674-6236(2017)02-0055-04
2015-12-28稿件編號:201512284
廖凱(1990—),男,湖南邵陽人,碩士研究生。研究方向:計算機體系結(jié)構(gòu)(CA),計算機輔助設(shè)計(CAD)。