卓 成 曾旭東 陳宇飛 孫凇昱 羅國(guó)杰 賀 青 尹勛釗
①(浙江大學(xué)工程師學(xué)院 杭州 310015)
②(浙江大學(xué)信息與電子工程學(xué)院 杭州 310027)
③(北京大學(xué)信息科學(xué)技術(shù)學(xué)院 北京 100871)
④(杭州行芯科技有限公司 杭州 310052)
⑤(浙江省協(xié)同感知與自主無(wú)人系統(tǒng)重點(diǎn)實(shí)驗(yàn)室 杭州 310015)
近年來(lái),人工智能和物聯(lián)網(wǎng)技術(shù)快速發(fā)展,移動(dòng)智能終端(如車載計(jì)算平臺(tái)、智能手機(jī)、平板等)的數(shù)量急劇增長(zhǎng)。隨之,各種應(yīng)用服務(wù)的爆炸性激增對(duì)計(jì)算能力與能效提出了嚴(yán)格的要求[1-4]。雖然智能終端搭載的多核處理器的處理能力越來(lái)越好,但終端嚴(yán)苛的散熱設(shè)計(jì)功耗(Thermal Design Power)不允許芯片長(zhǎng)時(shí)間運(yùn)行在高發(fā)熱的高性能模式[5]。這極大地限制了多核芯片的計(jì)算性能和智能終端的運(yùn)行效率。
為了解決上述問(wèn)題,基于動(dòng)態(tài)電壓頻率調(diào)節(jié)(Dynamic Voltage and Frequency Scaling,DVFS)的多核芯片動(dòng)態(tài)功耗管理技術(shù)作為一種可行的方案被提出[6-9]。DVFS[10,11]可以在芯片運(yùn)行期間實(shí)時(shí)地、獨(dú)立地調(diào)節(jié)內(nèi)核的工作電壓和頻率大小,以控制芯片的功耗與發(fā)熱,因此大多數(shù)多核處理器都支持該技術(shù)。動(dòng)態(tài)功耗管理技術(shù)嘗試找到一種DVFS調(diào)節(jié)策略,在滿足智能終端溫度要求的同時(shí),使多核芯片發(fā)揮出最高的計(jì)算性能,從而提供高效順暢的用戶體驗(yàn)。
目前,已有許多關(guān)于智能終端中多核芯片動(dòng)態(tài)功耗管理問(wèn)題的研究。文獻(xiàn)[12]根據(jù)CMOS電路功耗與頻率間的3次方關(guān)系、BIPS(Billion Instructions Per Second)與頻率間的線性關(guān)系,預(yù)測(cè)每個(gè)內(nèi)核在不同電壓頻率下的功耗和BIPS,再以芯片的BIPS為優(yōu)化目標(biāo)進(jìn)行實(shí)時(shí)DVFS。文獻(xiàn)[13]將芯片性能建模為線性依賴于頻率,然后將功耗管理表述為線性規(guī)劃問(wèn)題,通過(guò)單純形法求解功耗管理策略。文獻(xiàn)[14]通過(guò)建立溫度模型計(jì)算芯片的功耗預(yù)算,將性能最大化轉(zhuǎn)換成一個(gè)凸優(yōu)化問(wèn)題,然后利用梯度尋找合適的DVFS設(shè)置。文獻(xiàn)[15,16]討論了將強(qiáng)化學(xué)習(xí)中的算法應(yīng)用于動(dòng)態(tài)功耗管理的可能性,在芯片溫度受限的場(chǎng)景下,以優(yōu)化芯片性能為目標(biāo),提出了基于強(qiáng)化學(xué)習(xí)Q-Learning算法的動(dòng)態(tài)功耗管理技術(shù)。但此類算法需要對(duì)環(huán)境狀態(tài)進(jìn)行離散化,因此對(duì)存儲(chǔ)空間的需求會(huì)隨著芯片核數(shù)的增加而爆炸式增長(zhǎng)。
綜上所述,面向智能終端設(shè)計(jì)高性能的多核芯片動(dòng)態(tài)功耗管理技術(shù)已經(jīng)受到了國(guó)內(nèi)外學(xué)者的廣泛關(guān)注與研究,已有工作[12-14]依賴于精確的功耗、溫度、性能模型,需要大量且復(fù)雜的計(jì)算,這與其所分配的有限的計(jì)算資源相沖突,因此不易得到最優(yōu)的DVFS調(diào)節(jié)策略;并且這些定制化的模型可遷移性較弱,難以被廣泛應(yīng)用于不同的智能終端。同時(shí)[15,16]存在存儲(chǔ)爆炸的問(wèn)題,無(wú)法滿足芯片內(nèi)核數(shù)量的增長(zhǎng)趨勢(shì)。在智能終端不斷迭代與芯片內(nèi)核數(shù)不斷增長(zhǎng)的今天,尋找一種靈活的多核芯片動(dòng)態(tài)功耗管理技術(shù)將具有重要研究意義。因此,本文以優(yōu)化智能終端中多核芯片性能為目標(biāo),構(gòu)建了一個(gè)基于GEM5的多核芯片動(dòng)態(tài)電壓頻率調(diào)節(jié)仿真平臺(tái),在此平臺(tái)基礎(chǔ)上研究智能終端中安全溫度限制引起的多核芯片性能優(yōu)化問(wèn)題。本文主要研究工作如下:
(1)首先建立一個(gè)基于GEM5的多核芯片動(dòng)態(tài)電壓頻率調(diào)節(jié)仿真平臺(tái),用于仿真驗(yàn)證。
(2)然后提出一種多核芯片動(dòng)態(tài)功耗管理框架,該框架包含一種多核芯片實(shí)時(shí)功耗模型的建模方法,以及一種基于DQN的動(dòng)態(tài)功耗管理算法。該框架將智能終端中安全溫度限制引起的多核芯片性能優(yōu)化問(wèn)題視為一個(gè)馬爾可夫決策過(guò)程,可以在周期時(shí)間節(jié)點(diǎn)上獲取芯片當(dāng)前的狀態(tài)信息,然后為每個(gè)內(nèi)核調(diào)節(jié)合適的電壓頻率,以達(dá)到優(yōu)化計(jì)算性能的目的。
(3)最后將本文所提動(dòng)態(tài)功耗管理框架應(yīng)用到兩核Cortex-A57芯片系統(tǒng)上,通過(guò)仿真驗(yàn)證了框架的有效性,可以提升2%~4%的芯片計(jì)算性能。
如圖1所示,本文基于GEM5建立了一個(gè)多核芯片動(dòng)態(tài)電壓頻率調(diào)節(jié)仿真系統(tǒng)。GEM5[17]是一款開(kāi)源的計(jì)算機(jī)架構(gòu)模擬器,可供自由配置處理器、存儲(chǔ)系統(tǒng)等模塊以模擬出不同結(jié)構(gòu)的計(jì)算系統(tǒng)。此外,GEM5還支持對(duì)處理器進(jìn)行DVFS,因此被廣泛應(yīng)用于計(jì)算機(jī)功耗與電源管理相關(guān)的研究。圖1系統(tǒng)以一個(gè)N核的處理器芯片作為底層計(jì)算硬件,搭載有操作系統(tǒng),可以運(yùn)行任意應(yīng)用程序,定義芯片的安全溫度為T(mén)limit, 內(nèi)核集合為N={1,2,...,N}。內(nèi)核可以工作在M個(gè)不同的電壓頻率等級(jí)下,定義內(nèi)核的電壓頻率等級(jí)集合為M={1,2,...,M}。假設(shè)系統(tǒng)運(yùn)行應(yīng)用程序的過(guò)程可以劃分為τ個(gè)時(shí)隙,時(shí)隙j∈J={1,2,...,τ}, 每個(gè)時(shí)隙的長(zhǎng)度為Δ。操作系統(tǒng)下的動(dòng)態(tài)功耗管理流程為:首先獲取芯片每個(gè)時(shí)隙j內(nèi)的平均功耗Pj以及時(shí)隙j末的瞬時(shí)溫度Tj, 然后在下一個(gè)時(shí)隙j+1初調(diào)節(jié)內(nèi)核的電壓頻率至 VFj+1。其中,功耗Pj和瞬時(shí)溫度Tj分別使用McPAT[18],Hotspot[19]仿真,以獲得參考功耗及參考溫度。
圖1 多核芯片動(dòng)態(tài)電壓頻率調(diào)節(jié)仿真系統(tǒng)
為了對(duì)芯片的計(jì)算性能進(jìn)行優(yōu)化,本文以最大化芯片在時(shí)間twork=τ×Δ內(nèi)執(zhí)行的總指令數(shù)Itotal為目標(biāo)。因此智能終端中多核芯片性能優(yōu)化問(wèn)題可以表示為
式(1)為優(yōu)化目標(biāo)函數(shù),其中Ij表示芯片在時(shí)隙j內(nèi)所執(zhí)行的指令數(shù);f表示芯片在不同電壓頻率設(shè)置下的計(jì)算能力; π表示一種功耗管理策略,可以根據(jù)Pj-1,Tj-1作出電壓頻率調(diào)節(jié)。
圖2展示了本文提出的基于強(qiáng)化學(xué)習(xí)理論的多核芯片動(dòng)態(tài)功耗管理框架??紤]到市面上的芯片一般不含內(nèi)置的功率計(jì),無(wú)法滿足本文框架對(duì)實(shí)時(shí)功耗獲取的需求,因此該框架包含兩個(gè)主要工作:(1)構(gòu)建芯片的實(shí)時(shí)功耗模型;(2)訓(xùn)練功耗管理算法。首先,該框架通過(guò)在芯片上運(yùn)行基準(zhǔn)測(cè)試程序,采集芯片的內(nèi)部數(shù)據(jù)與參考功耗分別作為自變量和預(yù)測(cè)量建立功耗模型。然后使用功耗模型和Hotspot組成功耗管理算法的強(qiáng)化學(xué)習(xí)環(huán)境。最后,使用本文所設(shè)計(jì)的動(dòng)態(tài)功耗管理算法在環(huán)境中訓(xùn)練出功耗管理策略,用于優(yōu)化芯片在安全溫度限制下的性能。
圖2 多核芯片動(dòng)態(tài)功耗管理框架
當(dāng)處理器芯片執(zhí)行任務(wù)程序時(shí),會(huì)觸發(fā)各種硬件事件:如數(shù)據(jù)內(nèi)存訪問(wèn)、指令緩存訪問(wèn)等。不同硬件事件的觸發(fā)將產(chǎn)生不同的動(dòng)態(tài)功耗[20,21]。因此本文將借助性能計(jì)數(shù)器(Performance Monitoring Counters),通過(guò)采集各種硬件事件的觸發(fā)次數(shù)來(lái)構(gòu)建功耗模型。
考慮到動(dòng)態(tài)功耗管理所分配的計(jì)算資源有限,本文采用了一種基于擬合優(yōu)度R2的硬件事件篩選算法[22],可以從上百種硬件事件中篩選出與芯片功耗相關(guān)性最強(qiáng)的事件集合E。從而可以在保證模型精度的同時(shí),壓縮模型的計(jì)算復(fù)雜度。篩選算法具體如下:
步驟1 初始化事件集合E=?,E包含被選中的硬件事件;
步驟2 初始化擬合優(yōu)度集合R=?;
步驟3 從未選中事件中依次取出一個(gè)硬件事件e,加入集合E中:E=E+e;
步驟4 以事件集合E作為自變量,通過(guò)建立回歸模型計(jì)算E與芯片功耗之間的擬合優(yōu)度R2E;
步驟5R=R+R2E;
步驟6E=E-e;
步驟7 重復(fù)步驟3-步驟6,直至遍歷所有未選中事件;
步驟9 重復(fù)步驟3-步驟8,直至m axR滿足精度要求。
將該算法應(yīng)用于圖1(N核Cortex-A57處理器)系統(tǒng)上的結(jié)果如圖3所示,其中橫軸表示每次通過(guò)篩選算法迭代出來(lái)的被選中硬件事件;縱軸表示集合E在依次加入被選中硬件事件后與參考功耗之間的擬合優(yōu)度。圖3顯示當(dāng)E={CPU_CYCLES}時(shí),R2=0.61; 當(dāng)E={CPU_CYCLES,BUS_ACCESS}時(shí),R2=0.76 ···完成篩選后的事件集合E將包含9種硬件事件,與功耗之間的擬合優(yōu)度接近于1。
圖3 擬合優(yōu)度隨硬件事件的篩選而增長(zhǎng)
基于E中的硬件事件,本文結(jié)合CMOS電路的功耗特征[22-24]提出了圖1系統(tǒng)中N核芯片的多元線性回歸功耗模型:
式(2)中,Ptotal表 示芯片功耗;E8代表除事件0X67以外的8種被選中事件的集合;β代表模型的回歸系數(shù);e代表具體事件;n um代表事件的觸發(fā)次數(shù);VDD(coreN)表 示內(nèi)核N的工作電壓;fclk(coreN)表示內(nèi)核N的工作頻率;VDD(system)表示核外共享部件的工作電壓;fclk(system)表示核外共享部件的工作頻率;β0為截距項(xiàng)。
本文在圖1(2核Cortex-A57處理器)系統(tǒng)上應(yīng)用了上述功耗建模算法與公式,通過(guò)采集芯片在不同電壓頻率等級(jí)下運(yùn)行程序時(shí)的硬件事件計(jì)數(shù)值與參考功耗來(lái)建立功耗模型。所采集的數(shù)據(jù)樣本,按照0.85:0.15的比例隨機(jī)劃分為訓(xùn)練集與測(cè)試集。訓(xùn)練集用于訓(xùn)練功耗模型,測(cè)試集用于檢驗(yàn)?zāi)P偷馁|(zhì)量。本文基于式(2)在訓(xùn)練集上進(jìn)行多元線性回歸[25]。然后在測(cè)試集上對(duì)模型質(zhì)量進(jìn)行檢驗(yàn),圖4展示了模型在測(cè)試集上的表現(xiàn),其中橫軸表示絕對(duì)百分比誤差區(qū)間,縱軸表示模型預(yù)測(cè)功耗與參考功耗之間的絕對(duì)百分比誤差在各區(qū)間的分布情況。雖然圖中有少數(shù)較大的誤差結(jié)果出現(xiàn),但這往往發(fā)生在參考功耗較小的情況下,導(dǎo)致即使很小的模型預(yù)測(cè)誤差值也會(huì)產(chǎn)生較大的絕對(duì)百分比誤差。
圖4 功耗模型在測(cè)試集上的表現(xiàn)
功耗模型在測(cè)試集上的平均絕對(duì)百分比誤差(Mean Absolute Percentage Error, MAPE)使用式(3)進(jìn)行計(jì)算,其中P?I表示模型的預(yù)測(cè)功耗,PI表示參考功耗,N表示樣本數(shù)量。最終功耗模型對(duì)測(cè)試集的MAPE為5.972%。
強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)中的一個(gè)子領(lǐng)域,它探索如何基于外部環(huán)境而行動(dòng)以取得最大化的預(yù)期利益[26],可被用于解決安全溫度限制引起的多核芯片計(jì)算性能優(yōu)化問(wèn)題。因此本文采用強(qiáng)化學(xué)習(xí)中的算法進(jìn)行動(dòng)態(tài)功耗管理,接下來(lái)將介紹強(qiáng)化學(xué)習(xí)的理論知識(shí)。強(qiáng)化學(xué)習(xí)是指將智能體放置于環(huán)境當(dāng)中,智能體根據(jù)環(huán)境狀態(tài)和行動(dòng)策略不斷采取動(dòng)作,在此期間學(xué)習(xí)環(huán)境的反饋并優(yōu)化自己的行為策略,以實(shí)現(xiàn)長(zhǎng)期累積獎(jiǎng)勵(lì)最大化的過(guò)程[27]。強(qiáng)化學(xué)習(xí)所解決的大多數(shù)問(wèn)題都可以用馬爾可夫決策過(guò)程(Markov Decision Process, MDP)來(lái)表述。本文多核芯片性能優(yōu)化問(wèn)題的MDP三要素<S,A,R >可以表述為:
狀態(tài)空間S:把芯片的功耗與溫度設(shè)置為環(huán)境狀態(tài),即sj=(Pj,Tj)∈S。
動(dòng)作空間A:?jiǎn)蝹€(gè)內(nèi)核具有M個(gè)頻率、電壓等級(jí),因此N核芯片有MN個(gè)可配置的頻率、電壓等級(jí)組合。我們將這MN個(gè)頻率、電壓等級(jí)組合定義為智能體可采取的動(dòng)作空間A。
環(huán)境獎(jiǎng)勵(lì)R:根據(jù)式(1),MDP的優(yōu)化目標(biāo)是在運(yùn)行程序期間最大化N核芯片的累計(jì)指令執(zhí)行數(shù),且溫度不能超過(guò)Tlimit,因此獎(jiǎng)勵(lì)與指令執(zhí)行數(shù)、溫度有關(guān)。針對(duì)優(yōu)化目標(biāo),本文提出了一種梯度式獎(jiǎng)勵(lì)方法:
步驟1 定義智能體從零時(shí)刻開(kāi)始對(duì)芯片進(jìn)行DVFS,直至終止時(shí)刻的過(guò)程為一幕(Episode);終止時(shí)刻的判定條件為芯片溫度超過(guò)Tlimit或芯片運(yùn)行時(shí)長(zhǎng)達(dá)到twork;
步驟2 記N核芯片以中等性能在安全溫度下運(yùn)行twork的 累計(jì)指令執(zhí)行數(shù)為Ibench;
步驟3 一幕開(kāi)始;
步驟6 重復(fù)步驟4-步驟5,直至一幕結(jié)束。
其中g(shù)0,g1, ···,gn是集合G中的元素,本文稱G為指令數(shù)梯度,G中的元素為實(shí)數(shù)。r0,r1, ···,rn是集合R中的元素,本文稱R為獎(jiǎng)勵(lì)梯度,R中的元素為正實(shí)數(shù)。G與R的關(guān)系如表1所示。
表1 梯度式獎(jiǎng)勵(lì)
本文希望通過(guò)設(shè)置上述獎(jiǎng)勵(lì)方法作為環(huán)境獎(jiǎng)勵(lì)來(lái)引導(dǎo)智能體進(jìn)行學(xué)習(xí)。當(dāng)累計(jì)指令執(zhí)行數(shù)達(dá)到一定數(shù)量時(shí),智能體將獲得相應(yīng)的獎(jiǎng)勵(lì),受此影響,智能體會(huì)基于該獎(jiǎng)勵(lì)進(jìn)一步更新策略以獲得更高的獎(jiǎng)勵(lì)。學(xué)習(xí)能否成功取決于梯度設(shè)置是否合理,例如將g0設(shè)置得過(guò)大,那么智能體可能在“探索”階段拿不到獎(jiǎng)勵(lì),導(dǎo)致其始終無(wú)法進(jìn)行有效學(xué)習(xí)。因此本文將結(jié)合實(shí)驗(yàn)設(shè)置合適的梯度,從而引導(dǎo)智能體逐步改善策略,達(dá)到優(yōu)化芯片性能的目的。
步驟1 初始化ε參數(shù),設(shè)置折扣率γ;根據(jù)圖1系統(tǒng)確定動(dòng)作空間A,安全溫度Tlimit,芯片工作時(shí)間twork,時(shí)隙長(zhǎng)度Δ; 設(shè)置最大訓(xùn)練幕數(shù)Nepi,以及一幕中電壓頻率等級(jí)調(diào)整的最大次數(shù)τ=twork/Δ;定義訓(xùn)練閾值Ntra, 樣本批次大小Nbat,網(wǎng)絡(luò)更新閾值Nupd;
步驟2 隨機(jī)初始化行為Q值神經(jīng)網(wǎng)絡(luò)與目標(biāo)Q值神經(jīng)網(wǎng)絡(luò)相同;
步驟3 訓(xùn)練幕數(shù)nepi=0; 網(wǎng)絡(luò)訓(xùn)練次數(shù)nupd=0;
步驟4nepi=nepi+1 ;j=-1;設(shè)置芯片初始狀態(tài)s0=(P0,T0);
步驟5j=j+1;
步驟6 智能體觀察芯片當(dāng)前狀態(tài)sj ∈S,根據(jù)ε-greedy策略和行為Q值神經(jīng)網(wǎng)絡(luò)采取行動(dòng)aj ∈A,然后獲得梯度式獎(jiǎng)勵(lì)rj+1與 新的狀態(tài)sj+1;將樣本數(shù)據(jù)(sj,aj,rj+1,sj+1)保存到歷史樣本庫(kù)中;
步驟7 當(dāng)樣本庫(kù)中的數(shù)量達(dá)到訓(xùn)練閾值Ntra時(shí),隨機(jī)抽取Nbat個(gè)樣本訓(xùn)練行為Q值神經(jīng)網(wǎng)絡(luò),nupd=nupd+1;
步驟8 當(dāng)nupd%Nupd=Nupd-1時(shí),將行為Q值神經(jīng)網(wǎng)絡(luò)的權(quán)重參數(shù)賦值給目標(biāo)Q值神經(jīng)網(wǎng)絡(luò);
步驟9 重復(fù)步驟5-步驟8,直至j=τ-1或Tj >Tlimit;
步驟10 重復(fù)步驟4-步驟9,直至nepi=Nepi;
參數(shù)ε將隨著步驟4中訓(xùn)練幕數(shù)nepi的增大而衰減,這可以使得智能體在訓(xùn)練前期充分探索環(huán)境,在訓(xùn)練后期充分利用所學(xué)經(jīng)驗(yàn),有利于尋找全局最優(yōu)解。上述算法的訓(xùn)練框架與流程如圖5所示,其中,考慮到樣本是由智能體與環(huán)境交互所產(chǎn)生的,樣本之間存在相關(guān)性,因此本文采用了一種如圖6所示的歷史回放機(jī)制,建立了一個(gè)歷史樣本庫(kù)用于存放樣本,然后從中隨機(jī)抓取網(wǎng)絡(luò)訓(xùn)練所需的樣本,打亂樣本之間的相關(guān)性,從而滿足神經(jīng)網(wǎng)絡(luò)訓(xùn)練對(duì)樣本的獨(dú)立同分布性要求。
圖5 動(dòng)態(tài)功耗管理算法的訓(xùn)練框架與流程
圖6 歷史回放機(jī)制
本節(jié)將利用動(dòng)態(tài)電壓頻率調(diào)節(jié)仿真系統(tǒng)對(duì)所提出的動(dòng)態(tài)功耗管理框架進(jìn)行驗(yàn)證,將本文基于DQN算法的動(dòng)態(tài)功耗管理框架表示為“DDPMF(DQN-Dynamic Power Management Framework)”,并與另外兩種傳統(tǒng)方案進(jìn)行比較:
MaxBIPS[12]:該方案由IBM提出,它首先建立芯片功耗與工作頻率的3次方模型、BIPS與工作頻率的線性模型;然后使用模型預(yù)測(cè)每個(gè)內(nèi)核在不同電壓頻率等級(jí)下的功耗和BIPS,以最大化BIPS為目標(biāo)動(dòng)態(tài)調(diào)節(jié)電壓頻率等級(jí),同時(shí)滿足芯片的整體功耗預(yù)算。
Ondemand[30]:該方案是Linux默認(rèn)的功耗管理方案,它定義芯片的負(fù)載為總周期數(shù)減去內(nèi)核閑置周期數(shù),再除以總周期數(shù)。設(shè)有超參數(shù)U∈[0,1],在功耗預(yù)算內(nèi),當(dāng)芯片在過(guò)去一段時(shí)間Δ內(nèi)的負(fù)載大于U時(shí),將調(diào)整電壓頻率至最高等級(jí);當(dāng)負(fù)載小于U時(shí),將對(duì)內(nèi)核進(jìn)行降頻。
圖1仿真系統(tǒng)的仿真參數(shù)設(shè)置如下:采用ARM v8-A Cotex-A57內(nèi)核,內(nèi)核的可配置電壓頻率等級(jí)數(shù)M=3 ,內(nèi)核總數(shù)N=2 。 芯片安全溫度Tlimit=70 °C;工作時(shí)長(zhǎng)twork=9 s;電壓頻率調(diào)節(jié)間隔Δ=30 ms。DDPMF中動(dòng)態(tài)功耗管理算法的訓(xùn)練參數(shù)設(shè)置如下:折扣因子γ=0.99 ;ε的初始值為0.9,衰減速率為-0.0000356,最小值為0.01;Nepi=25000;Ntra=1000;Nbat=64;Nupd=1000;環(huán)境獎(jiǎng)勵(lì)梯度設(shè)置如表2所示。
圖7展示了DDPMF中動(dòng)態(tài)功耗管理算法的訓(xùn)練過(guò)程,記錄了智能體累積得分隨訓(xùn)練幕數(shù)的變化情況。在第0到16000幕左右時(shí),智能體只能獲得近似0分的獎(jiǎng)勵(lì),此時(shí)仍處于探索狀態(tài);從第16000左右幕開(kāi)始,智能體取得了較為明顯的獎(jiǎng)勵(lì),說(shuō)明其已經(jīng)通過(guò)探索發(fā)現(xiàn)了一條獎(jiǎng)勵(lì)路徑;在接下來(lái)的幾千幕中,智能體在表2梯度的引導(dǎo)下,不斷改善自身行動(dòng)策略,使每幕的得分不斷提高,在20000幕附近已經(jīng)可以較稀疏地獲得高分,直到24000幕左右時(shí)基本每幕都能穩(wěn)定獲得高分,說(shuō)明算法已經(jīng)收斂,找到了最優(yōu)的動(dòng)態(tài)功耗管理策略π′。
圖7 DDPMF中動(dòng)態(tài)功耗管理算法的訓(xùn)練過(guò)程
表2 環(huán)境獎(jiǎng)勵(lì)梯度
本文針對(duì)移動(dòng)智能終端中安全溫度限制引起的多核芯片計(jì)算性能優(yōu)化問(wèn)題,提出了一種動(dòng)態(tài)功耗管理框架(DDPMF)。首先介紹了一種功耗建模方法,用于獲取CMOS多核芯片的實(shí)時(shí)功耗。然后,設(shè)計(jì)了一種基于DQN的動(dòng)態(tài)功耗管理算法,結(jié)合有效的梯度式環(huán)境獎(jiǎng)勵(lì)進(jìn)行訓(xùn)練,得到了最優(yōu)的多核芯片動(dòng)態(tài)功耗管理策略。仿真結(jié)果顯示,本文DDPMF與其他方案相比,能夠有效實(shí)現(xiàn)多核芯片的計(jì)算性能優(yōu)化。
圖8 3種動(dòng)態(tài)功耗管理方案(或策略)在多核芯片DVFS仿真系統(tǒng)上的性能對(duì)比實(shí)驗(yàn)結(jié)果