本發(fā)明涉及基準(zhǔn)測試場景下的hpc集群基準(zhǔn)能效調(diào)優(yōu)領(lǐng)域,特別涉及一種基于軟硬件聯(lián)合優(yōu)化的hpc集群基準(zhǔn)能效調(diào)優(yōu)方法。
背景技術(shù):
1、隨著計算機(jī)技術(shù)的飛速發(fā)展,高性能計算已經(jīng)成為許多科學(xué)、工程和商業(yè)領(lǐng)域中不可或缺的工具。然而,隨著計算任務(wù)的不斷增加以及數(shù)據(jù)規(guī)模的擴(kuò)大,hpc集群的能耗問題逐漸凸顯出來,如何在提升性能的同時將能耗控制在可接受范圍內(nèi)也是未來開發(fā)e級超算面臨的主要挑戰(zhàn)之一,這引發(fā)了對hpc集群能效調(diào)優(yōu)的迫切需求,而在繁多的hpc應(yīng)用中,hpc基準(zhǔn)通常是高性能應(yīng)用的典型代表,代表典型hpc工作負(fù)載(如矩陣計算、fft、分子動力學(xué)模擬等),對其優(yōu)化可以為實(shí)際應(yīng)用的能效優(yōu)化提供有價值的經(jīng)驗和參考。
2、在軟件調(diào)優(yōu)方面,過往有不少研究針對特定基準(zhǔn)如hpl進(jìn)行計算方法和任務(wù)負(fù)載劃分等相關(guān)的優(yōu)化,也有不少對hpc底層算子庫如blas庫進(jìn)行特定優(yōu)化適配的研究,盡管這些研究取得了不少不錯的優(yōu)化成果,但其優(yōu)化目標(biāo)具有一定的特異性,對于其他的基準(zhǔn)可能不具有普適性。hpc應(yīng)用程序的行為依賴于高度可配置的軟件環(huán)境,找到其最佳參數(shù)化是一項復(fù)雜的任務(wù),因為它們的參數(shù)空間的大小和hpc系統(tǒng)的非線性行為使得在大多數(shù)情況下不適合手動調(diào)整、理論建?;蛟敱M采樣,基于黑盒優(yōu)化的自動調(diào)優(yōu)方法通過消除手動或通過理論模型調(diào)優(yōu)系統(tǒng)的復(fù)雜任務(wù),用于查找算法、應(yīng)用程序和硬件參數(shù)的最佳組合,目前已經(jīng)有一些研究在hpc領(lǐng)域應(yīng)用黑盒參數(shù)優(yōu)化方法來進(jìn)行應(yīng)用相關(guān)參數(shù)的優(yōu)化,robert?s等提出了一種在線auto-tuning器,它依賴于黑盒優(yōu)化,在有限的迭代次數(shù)內(nèi)為給定的hpc應(yīng)用找到io加速器的最佳參數(shù),而無需對調(diào)優(yōu)系統(tǒng)的行為做出任何假設(shè);mittal?s等應(yīng)用貝葉斯優(yōu)化(bo)來對多gpu集群的hpl基準(zhǔn)測試參數(shù)和硬件參數(shù)進(jìn)行共同調(diào)優(yōu)配置,并基于此調(diào)優(yōu)方法配置了超算系統(tǒng)kukai并取得了2017年green500榜單第二名的成績;lin?w等提出了一種于面向數(shù)據(jù)中心混合負(fù)載的多基準(zhǔn)驅(qū)動調(diào)參服務(wù)器能效調(diào)優(yōu)方法,其通過采集多種基準(zhǔn)的運(yùn)行時數(shù)據(jù),建立多標(biāo)簽負(fù)載分類模型實(shí)現(xiàn)實(shí)際混合負(fù)載與多基準(zhǔn)間的映射,并訓(xùn)練得到多種不同基準(zhǔn)的能效優(yōu)化模型用于優(yōu)化實(shí)際運(yùn)行混合負(fù)載的能效表現(xiàn)。這些方法的一個重要問題是雖然擺脫了人工尋優(yōu)的低效,但需要在實(shí)機(jī)上多次運(yùn)行獲取最優(yōu)參數(shù)或訓(xùn)練多種不同的基準(zhǔn)能效優(yōu)化模型,這個過程可能帶來較大的模型訓(xùn)練開銷,因此需要優(yōu)化尋優(yōu)算法、減少搜索空間來提升尋優(yōu)收斂速度和減小模型訓(xùn)練開銷。
3、在硬件優(yōu)化方面,在關(guān)于hpc領(lǐng)域基準(zhǔn)硬件電壓、頻率調(diào)整的優(yōu)化方案中,jinpyok等通過多組實(shí)驗確定了使hpl運(yùn)行能效最佳的gpu工作頻率,在運(yùn)行hpl過程中將gpu固定在該頻率下來提升能效,并提出集群的hpl的最優(yōu)能效并不在cpu/gpu的最大性能下達(dá)到,因此針對gpu/cpu進(jìn)行適當(dāng)?shù)膬?yōu)化十分有必要。schoonhoven?r等比較了通用矩陣乘法內(nèi)核(gemm)計算下功率封頂和固定頻率兩種節(jié)能策略的效果,指出固定頻率對功耗進(jìn)行了更精細(xì)的控制,并且支持更大的功耗調(diào)整范圍,并通過建立gpu功耗模型給出gpu可能最節(jié)能的時鐘頻率,大大減少了較大的調(diào)整搜索空間。和目前的很多方法一樣,這兩種方法是通過在基準(zhǔn)運(yùn)行前固定最佳gpu頻率,沒有全局考慮負(fù)載的動態(tài)變化并制定相應(yīng)的最佳調(diào)頻策略,更加適應(yīng)運(yùn)行期間負(fù)載水平變化不大的任務(wù)。
4、具體來說,目前針對hpc集群下的基準(zhǔn)軟硬件能效優(yōu)化上,軟件優(yōu)化通常針對特定基準(zhǔn)(如hpl)或算子庫(如blas),缺乏普適性,且參數(shù)空間復(fù)雜,黑盒優(yōu)化方法雖然避免了手動調(diào)優(yōu)和理論建模的復(fù)雜性,但需要大量實(shí)機(jī)運(yùn)行以收集數(shù)據(jù),導(dǎo)致優(yōu)化過程的開銷較大,收斂速度較慢。硬件優(yōu)化方面,現(xiàn)有方法通常采用固定頻率或功率封頂策略,未能充分考慮負(fù)載的動態(tài)變化,難以實(shí)時調(diào)整硬件參數(shù)以適應(yīng)不同的任務(wù)需求,且常缺乏全局視角,導(dǎo)致無法有效優(yōu)化整個系統(tǒng)的能效。此外,軟硬件協(xié)同優(yōu)化不足,現(xiàn)有優(yōu)化方法在大規(guī)模系統(tǒng)中的可擴(kuò)展性較差,且不同基準(zhǔn)間的優(yōu)化工具缺乏標(biāo)準(zhǔn)化,限制了其在實(shí)際應(yīng)用中的普遍適用性和效果。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的主要目的在于克服現(xiàn)有hpc基準(zhǔn)能效優(yōu)化技術(shù)通用性不足、模型訓(xùn)練、采集開銷較大及缺少全局優(yōu)化視角的問題,提供一種基于軟硬件聯(lián)合優(yōu)化的hpc集群基準(zhǔn)能效調(diào)優(yōu)方法,本發(fā)明在軟件方面篩選得到基準(zhǔn)能效敏感參數(shù),減小了參數(shù)搜索空間,該方法可適應(yīng)不同的基準(zhǔn)輸入?yún)?shù)和系統(tǒng)內(nèi)核參數(shù),并結(jié)合能效預(yù)測模型優(yōu)化參數(shù)尋優(yōu)過程中的采樣算法,減少了尋優(yōu)和模型訓(xùn)練開銷,實(shí)現(xiàn)了離線的低成本參數(shù)優(yōu)化;硬件方面,在軟件方面給出的最優(yōu)參數(shù)基礎(chǔ)上,本發(fā)明通過對基準(zhǔn)運(yùn)行期間cpu核心組的利用率進(jìn)行特征提取,訓(xùn)練得到的聚類模型能以全局視角指導(dǎo)基準(zhǔn)進(jìn)行動態(tài)調(diào)頻,兩者結(jié)合下的軟硬件聯(lián)合優(yōu)化措施能夠有效提升集群下基準(zhǔn)運(yùn)行的整體能效水平。
2、為了達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案:
3、本發(fā)明提供了一種基于軟硬件聯(lián)合優(yōu)化的hpc集群基準(zhǔn)能效調(diào)優(yōu)方法,包括下述步驟:包括軟件優(yōu)化和硬件優(yōu)化部分,具體為:
4、s1、軟件優(yōu)化:
5、s11、實(shí)機(jī)采集多組不同優(yōu)化參數(shù)下的基準(zhǔn)運(yùn)行能效值,通過參數(shù)重要性分析來篩選出基準(zhǔn)運(yùn)行能效值中的能效敏感參數(shù);
6、s12、使用貝葉斯參數(shù)優(yōu)化方法來對篩選得到的能效敏感參數(shù)進(jìn)行實(shí)機(jī)運(yùn)行迭代搜索,并記錄每個參數(shù)組合下的能效值;
7、s13、使用基于數(shù)據(jù)驅(qū)動的集成學(xué)習(xí)方法建立參數(shù)對能效的預(yù)測模型,對比實(shí)機(jī)采集值和模型精度指標(biāo)來評估模型精度;
8、s14、結(jié)合能效預(yù)測模型對貝葉斯參數(shù)優(yōu)化過程的采樣算法進(jìn)行選擇優(yōu)化,反饋優(yōu)化實(shí)機(jī)貝葉斯參數(shù)過程;
9、s15、優(yōu)化后的貝葉斯參數(shù)優(yōu)化模型用于指導(dǎo)集群下的基準(zhǔn)能效敏感參數(shù)調(diào)優(yōu),進(jìn)入無需實(shí)機(jī)運(yùn)行的離線調(diào)優(yōu)階段;
10、s2、硬件優(yōu)化:
11、s21、運(yùn)行并采集固定時間間隔下集群內(nèi)不同節(jié)點(diǎn)的cpu核心利用率變化情況,并按照共享電壓和頻率的cpu核心分組進(jìn)行組內(nèi)核心的特征提??;
12、s22、繪制同一組內(nèi)的cpu核心利用率在基準(zhǔn)運(yùn)行期間的分布散點(diǎn)圖,根據(jù)cpu核心組的利用率分布情況確定主要的負(fù)載模式;
13、s23、將所有特征提取后的cpu核心組特征作為多維特征,使用聚類算法得到基準(zhǔn)運(yùn)行期間存在的負(fù)載模式;
14、s24、結(jié)合分析及聚類得到的負(fù)載模式,引入過濾層來優(yōu)化聚類模型表現(xiàn),并由聚類模型給出不同cpu核心組的負(fù)載模式;
15、s25、選擇具有節(jié)能空間的負(fù)載模式,制定調(diào)頻動作用于指導(dǎo)反饋節(jié)能。
16、作為優(yōu)選的技術(shù)方案,在步驟s11中:
17、采用隨機(jī)參數(shù)搜索生成優(yōu)化參數(shù)的離散或連續(xù)參數(shù)組合,實(shí)機(jī)采集調(diào)優(yōu)基準(zhǔn)在該參數(shù)組合下的能效值,并以隨機(jī)森林模型學(xué)習(xí)參數(shù)和能效之間的關(guān)系并輸出各個參數(shù)對能效影響的特征重要度指標(biāo),篩選出其中能效敏感參數(shù)來縮小參數(shù)搜索空間;所述能效敏感參數(shù)為重要度較高的參數(shù)。
18、作為優(yōu)選的技術(shù)方案,在步驟s12中,
19、使用基于高斯過程的貝葉斯參數(shù)調(diào)優(yōu)尋優(yōu)方法對新的參數(shù)空間進(jìn)行參數(shù)搜索,期間使用剪枝方法來加快貝葉斯參數(shù)尋優(yōu)的收斂過程,并記錄隨著搜索迭代次數(shù)增加下的基準(zhǔn)能效值和歷史最佳能效值,當(dāng)歷史最佳能效值不再增加或趨于穩(wěn)定后認(rèn)為參數(shù)優(yōu)化已收斂。
20、作為優(yōu)選的技術(shù)方案,在步驟s13中,
21、在建立能效預(yù)測模型時,使貝葉斯參數(shù)尋優(yōu)過程實(shí)機(jī)采集得到的多組結(jié)果,建立基于數(shù)據(jù)驅(qū)動的能效預(yù)測模型,并使用模型精度評估指標(biāo)和預(yù)測參數(shù)組合和實(shí)機(jī)模型的精度差異來評估多種集成學(xué)習(xí)器的效果,選擇其中綜合效果最佳的作為能效預(yù)測模型,所述模型精度評估指標(biāo)包括mse、mae和r2。
22、作為優(yōu)選的技術(shù)方案,在步驟s14中,
23、建立能效預(yù)測模型后,將能效預(yù)測模型根據(jù)給出的參數(shù)組合輸出的能效值作為貝葉斯參數(shù)優(yōu)化的目標(biāo)函數(shù),以進(jìn)行低開銷的基于預(yù)測模型的參數(shù)尋優(yōu),在此條件下對貝葉斯參數(shù)尋優(yōu)過程中使用的采樣算法進(jìn)行收斂速度和收斂精度的對比,選出適應(yīng)離線階段和實(shí)機(jī)采集階段的不同采樣算法,反饋給實(shí)機(jī)參數(shù)優(yōu)化過程。
24、作為優(yōu)選的技術(shù)方案,在步驟s21中,
25、采集方法為按照調(diào)頻時可共享電壓頻率的cpu核心分組,采集運(yùn)行需調(diào)優(yōu)基準(zhǔn)時同一組下共享電壓頻率核心的利用率作為同一組進(jìn)行數(shù)據(jù)處理,每個時間間隔t采集一次,并將每組的cpu核心利用率按照平均值、極差、標(biāo)準(zhǔn)差、最大值、中位數(shù)進(jìn)行特征提取得到一組特征值χi={umean,urange,ustd,umax,umed}。
26、作為優(yōu)選的技術(shù)方案,步驟s22中,
27、按照采集時間間隔t及核心分組情況,繪制每個cpu核心組在基準(zhǔn)運(yùn)行期間的組內(nèi)核心利用率分布散點(diǎn)圖,識別其中的主要負(fù)載模式,并通過實(shí)驗獲取調(diào)頻反饋確認(rèn)其中的可調(diào)模式和不可調(diào)模式,區(qū)分是否可調(diào)模式的關(guān)鍵在于通過降頻手段調(diào)整該模式下的核心組使得基準(zhǔn)運(yùn)行能效提升且性能下降程度在設(shè)定的閾值dgmax以下。
28、作為優(yōu)選的技術(shù)方案,步驟s23中,
29、將多維特征作為輸入,對比多種特征值的組合效果,使用聚類性能指標(biāo)、wcss來選出聚類效果最佳的特征維度輸入,并根據(jù)聚類算法的肘部原理找出最佳的聚類簇數(shù)。
30、作為優(yōu)選的技術(shù)方案,步驟s24中,
31、結(jié)合可調(diào)模式,在聚類模型輸出前增加過濾層來增強(qiáng)對于可調(diào)模式的區(qū)分度,從而在給出一個輸入特征時根據(jù)聚類模型快速確定該輸出點(diǎn)需要的調(diào)頻動作。
32、作為優(yōu)選的技術(shù)方案,在步驟s24中,
33、cpu的負(fù)載模式有以下幾類,其中后兩種為可調(diào)模式:
34、ⅰ、組內(nèi)多數(shù)核心利用率都高于所設(shè)定閾值umin,此狀態(tài)保持最高頻即可;
35、ⅱ、組內(nèi)大部分cpu處于較低利用率狀態(tài),但有少量利用率特別高,此狀態(tài)降頻對性能影響較大;
36、ⅲ、大部分cpu都處于低利用率/空閑狀態(tài),少量cpu處于中高等利用,此狀態(tài)需降頻,降頻檔位可根據(jù)少量cpu的利用率高低;
37、ⅳ、組合核心利用率都較低,直接降到最低頻率。
38、本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn)和有益效果:
39、(1)本發(fā)明提出了一種基于貝葉斯優(yōu)化的輸入?yún)?shù)和系統(tǒng)內(nèi)核參數(shù)優(yōu)化方法,并不針對某種特定基準(zhǔn)設(shè)計,可以應(yīng)用于多種hpc基準(zhǔn)運(yùn)行期間的參數(shù)自動尋優(yōu),能在無人工干預(yù)下給出基準(zhǔn)能效敏感參數(shù)的優(yōu)化參數(shù)組合,提高了參數(shù)尋優(yōu)的效率。
40、(2)本發(fā)明提出了一種在參數(shù)優(yōu)化過程中結(jié)合數(shù)據(jù)驅(qū)動訓(xùn)練能效預(yù)測模型的策略,該策略通過結(jié)合歷史樣本值建立的能效預(yù)測模型,輸出特定參數(shù)組合下的基準(zhǔn)能效,可用于同規(guī)模集群的離線參數(shù)尋優(yōu)和優(yōu)化尋優(yōu)過程中的采樣算法,從而幫助緩解了黑盒參數(shù)優(yōu)化方法需要在大規(guī)模hpc集群上進(jìn)行實(shí)機(jī)調(diào)優(yōu)的電力和時間成本問題,并提升了調(diào)優(yōu)算法的尋優(yōu)效果。
41、(2)本發(fā)明基于基準(zhǔn)運(yùn)行過程中的運(yùn)行動態(tài)特征,提出一種按照cpu核心組利用率特征變化的動態(tài)調(diào)頻能效優(yōu)化策略,通過識別cpu電壓頻率組的可調(diào)負(fù)載模式,結(jié)合聚類模型來指導(dǎo)動態(tài)調(diào)頻動作,可從全局視角有效提升基準(zhǔn)的運(yùn)行能效。