正當(dāng)時(shí)......

學(xué)術(shù)咨詢服務(wù)
當(dāng)前位置:職稱那點(diǎn)事教育職稱論文》Multi-Roofline模型:一種新的異構(gòu)計(jì)算平臺(tái)性能評(píng)估方法

Multi-Roofline模型:一種新的異構(gòu)計(jì)算平臺(tái)性能評(píng)估方法

來(lái)源:職稱那點(diǎn)事作者:田編輯時(shí)間:2020-09-17 09:41
掃碼咨詢

  摘要:本文提出了一種新的性能評(píng)估模型——multi-roofline模型。作為roofline模型的延伸,multi-roofline模型可以為異構(gòu)計(jì)算平臺(tái)提供二元域算法建模,分析算法在異構(gòu)計(jì)算平臺(tái)上所能取得的理論極限,并能幫助找到算法的理論瓶頸,為算法在異構(gòu)計(jì)算資源上的部署提供有力支持。

  關(guān)鍵詞:二元域運(yùn)算;理論性能預(yù)測(cè);multi-roofline

  1.引言

  隨著計(jì)算機(jī)硬件的不斷發(fā)展,在不同的計(jì)算平臺(tái)下如何評(píng)估特定算法過(guò)程可能取得的效果,在當(dāng)前處理器發(fā)展的新階段具有重要的意義,尤其是當(dāng)運(yùn)行算法需要在大量并行節(jié)點(diǎn)間展開(kāi),而每個(gè)運(yùn)算節(jié)點(diǎn)采用的是異構(gòu)處理器這種特殊的計(jì)算平臺(tái)。此時(shí)必須研究在計(jì)算節(jié)點(diǎn)上采用何種計(jì)算資源組合能取得較好的計(jì)算效果。通用性能模型中,2008年SamuelWilliams等[1]提出的roofline模型受到了較多的關(guān)注。其模型簡(jiǎn)潔的使用運(yùn)算強(qiáng)度、運(yùn)算性能峰值和帶寬峰值三個(gè)基本參數(shù)來(lái)分析任意算法在任意平臺(tái)上可能取得的理論極限,為一般性的浮點(diǎn)算法在任意平臺(tái)上運(yùn)算性能的初步評(píng)估提供了一個(gè)有力的分析手段。后續(xù)在其研究基礎(chǔ)之上,又有boathull[2]等較為通用的性能模型被提出。而AleksandarIlic等人提出的cache-awareroofline[3]模型則通過(guò)深入分析處理器內(nèi)部存儲(chǔ)結(jié)構(gòu),解釋了部分原roofline模型無(wú)法解釋的性能瓶頸現(xiàn)象。同時(shí),還有LuisTanica等人依據(jù)上述理論基礎(chǔ)開(kāi)發(fā)了如SchedMon、KerMon和SpyMon[4]等軟件工具,可以以上述模型為基礎(chǔ),自動(dòng)分析計(jì)算應(yīng)用的瓶頸所在,為計(jì)算應(yīng)用選擇處理器或者計(jì)算應(yīng)用的算法優(yōu)化提供了二元域直接的幫助。

Multi-Roofline模型:一種新的異構(gòu)計(jì)算平臺(tái)性能評(píng)估方法

  2.二元域運(yùn)算roofline性能模型建模

  按照roofline模型原理,這里定義二元域運(yùn)算模型計(jì)算式為:

  其中原公式中的浮點(diǎn)運(yùn)算性能峰值被比特運(yùn)算性能峰值所代替,但比特運(yùn)算性能峰值同樣是硬件參數(shù),雖然不可以直接從硬件資料中獲取,也可以通過(guò)硬件手冊(cè)中資料計(jì)算得到。由此,以XeonE5-2670芯片為例,其二元域運(yùn)算的性能曲線建模如圖1。

  模型圖1說(shuō)明,任意二元域算法的比特運(yùn)算強(qiáng)度BOI需要超過(guò)104才有可能在XeonE5-2670處理器上發(fā)揮最大計(jì)算性能。

  3.異構(gòu)計(jì)算平臺(tái)中的性能模型multi-roofline建模

  這里以著名的天河超算為例,天河的計(jì)算節(jié)點(diǎn)擁有豐富的處理器資源,每個(gè)節(jié)點(diǎn)都有主處理器和多種協(xié)處理器,根據(jù)算法特點(diǎn)選擇哪個(gè)處理器作為主要計(jì)算平臺(tái)是構(gòu)建性能模型進(jìn)行分析比較的主要目標(biāo)。協(xié)處理器與主處理器之間數(shù)據(jù)協(xié)同出于最理想情況分析考慮,任務(wù)數(shù)據(jù)能通過(guò)DMA通道直接進(jìn)入內(nèi)存,協(xié)處理器以訪問(wèn)內(nèi)存的方式與主機(jī)交互數(shù)據(jù)。

  此時(shí),運(yùn)算模塊性能計(jì)算式為:

  其中參數(shù)“模塊最大運(yùn)算性能”應(yīng)由該協(xié)處理器的roofline模型分析得出;參數(shù)TI為數(shù)據(jù)吞吐強(qiáng)度,其單位與BOI一致,定義為:

  數(shù)據(jù)吞吐量是指從主處理器往協(xié)處理器派發(fā)任務(wù)和回收任務(wù)的數(shù)據(jù)量,即整個(gè)計(jì)算任務(wù)的輸入輸出數(shù)據(jù)量,與計(jì)算BOI的數(shù)據(jù)訪存量不同,一般會(huì)小于數(shù)據(jù)訪存量(因?yàn)樵L存可能對(duì)同一數(shù)據(jù)多次存?。酝ǔS蠺I≧BOI。而根據(jù)roofline模型,模塊最大運(yùn)算性能有:

  式中是指協(xié)處理器訪問(wèn)本地內(nèi)存的最高速度,是指協(xié)處理器的最大比特運(yùn)算能力。此時(shí),異構(gòu)計(jì)算平臺(tái)中,協(xié)處理器的運(yùn)算性能公式演變?yōu)椋?/p>

  因此,不同于單純的roofline模型,異構(gòu)計(jì)算平臺(tái)中協(xié)處理器算法運(yùn)算性能的評(píng)估,涉及到5個(gè)參數(shù),其中完全取決于硬件性能的參數(shù)為、訪存帶寬和DMA帶寬,而算法特性決定的參數(shù)為BOI和TI,由此形成的roofline模型,這里稱為multi-roofline這里進(jìn)一步定義了吞吐系數(shù)a為:通過(guò)TI與BOI的定義,也可以得到:

  將a代入?yún)f(xié)處理器的運(yùn)算性能計(jì)算式得:

  由于峰值操作性能、內(nèi)存訪存帶寬、DMA帶寬等由硬件決定,為三個(gè)常數(shù)。容易發(fā)現(xiàn)若算法若滿足:

  則其性能主要受制于訪存帶寬,反之,則主要受制于DMA帶寬。

  這里以采用PCI.Express總線的Teslam2050協(xié)處理器模塊的multi-roofline性能建模為例,其建模結(jié)果如下圖:

  由圖2可見(jiàn)吞吐系數(shù)a決定性能曲線在縱坐標(biāo)的截距,在圖2中,當(dāng)算法的a超過(guò)18.5時(shí),曲線截距不再上移,此時(shí)算法所能取得的性能完全由算法的運(yùn)算強(qiáng)度BOI決定,而a低于18.5時(shí),該算法將主要受制于DMA帶寬。

  顯然,利用multi-roofline模型建模后,只要分析出算法的BOI和a就可以迅速評(píng)估算法的理論極限,以之可以找到合適的部署方式或針對(duì)算法瓶頸進(jìn)行相應(yīng)修改以提高計(jì)算性能。

  4.結(jié)束語(yǔ)

  multi-roofline模型可以為任意二元域算法在異構(gòu)計(jì)算平臺(tái)上的計(jì)算性能進(jìn)行性能建模,從而為特定的計(jì)算應(yīng)用選擇合適的異構(gòu)處理資源提供理論支持。因此,利用它能極大的提高有關(guān)計(jì)算應(yīng)用對(duì)處理器的利用效率,并為計(jì)算資源的部署提供前期預(yù)測(cè),具有重要的理論應(yīng)用價(jià)值。

  參考文獻(xiàn)

  [1]S.Williams,A.Waterman,andD.Patterson.Roofline:anInsightfulVisualPerformanceModelforMulticoreArchitectures.CommunicationsoftheACM,52(4),p65-76,2009.

  [2]C.NugterenandH.Corporaal.TheBoatHullModel:EnablingPerformancePredictionforParallelComputingPriortoCodeDevelopment.CF'12-ProceedingsoftheACMComputingFrontiersConference,p203-212,2012.

  作者喬匯東胡瑛田娟秀

  


《Multi-Roofline模型:一種新的異構(gòu)計(jì)算平臺(tái)性能評(píng)估方法》
上一篇:如何把信息技術(shù)融入高中化學(xué)實(shí)驗(yàn)課
下一篇:高中生物教學(xué)中發(fā)展學(xué)生核心素養(yǎng)的實(shí)踐與思考
更多>>

期刊目錄