專利名稱:一種表征高性能計(jì)算應(yīng)用特征的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及高性能計(jì)算領(lǐng)域在應(yīng)用軟件性能表征方面的內(nèi)容,具體涉及一種利用監(jiān)視和提取合適的高性能參數(shù),最合理的反映大規(guī)模應(yīng)用軟件對(duì)計(jì)算資源需求的方法。
背景技術(shù):
隨著人類(lèi)社會(huì)的不斷進(jìn)步,科學(xué)技術(shù)的發(fā)展,人們不但對(duì)自然界的認(rèn)識(shí)越來(lái)越廣泛,而且對(duì)未知世界探索的需求也越來(lái)越迫切。這就使得人類(lèi)撐握的信息數(shù)據(jù)的量急劇性的增長(zhǎng),而與時(shí)同時(shí),這些海量的信息數(shù)據(jù)都需要及時(shí)的分析和處理。例如,一個(gè)大型天文射電望遠(yuǎn)鏡陣列一秒鐘就能產(chǎn)生100GB以上的宇宙微波數(shù)據(jù),這些數(shù)據(jù)都需要及時(shí)得到分析;再如,在粒子物理研究領(lǐng)域,一臺(tái)大型強(qiáng)子對(duì)撞機(jī)一次對(duì)撞的數(shù)據(jù)也是以TB為單位來(lái) 計(jì)量的;此外,像人類(lèi)基因組工程、石油勘探、天氣預(yù)報(bào)等等領(lǐng)域也對(duì)計(jì)算能力提出了越來(lái)越高的要求。在這種大背景下數(shù)值計(jì)算已然成為了除實(shí)驗(yàn)、理論分析之外的第三種極其重要的科學(xué)探索手段。正是基于這樣的現(xiàn)實(shí),促使了當(dāng)今世界各個(gè)科技強(qiáng)國(guó)都在不遺余力的大力發(fā)展超級(jí)計(jì)算機(jī)。如,在2012年6月發(fā)布的世界T0P500中,排名第一的IBM “紅杉(Sequoia)”就已經(jīng)達(dá)到了 20PFlops的峰值速度,而與此同時(shí)新的百億億次超級(jí)計(jì)算機(jī)也已經(jīng)在研究和規(guī)劃之中了??偟膩?lái)說(shuō),基本上每十年,超級(jí)計(jì)算機(jī)的速度就提升三個(gè)量級(jí)(1000倍),因此建造超級(jí)計(jì)算機(jī)的能力已經(jīng)成為一個(gè)國(guó)家科技水平和綜合國(guó)力的一個(gè)有力體現(xiàn)。雖然超級(jí)計(jì)算機(jī)發(fā)展的速度是驚人的,也令人欣慰,但很遺憾的是與之相配套的軟件技術(shù)卻裹足不前,這已經(jīng)嚴(yán)重的制約了超級(jí)計(jì)算機(jī)應(yīng)用能力的發(fā)揮?,F(xiàn)在絕大多數(shù)的應(yīng)用軟件所基于的基本原理和數(shù)學(xué)算法,還是上世紀(jì)50飛0年代提出和發(fā)展起來(lái)的,這些算法與當(dāng)時(shí)的大型機(jī)是完全匹配和適應(yīng)的,以串行或少量進(jìn)程間并行為主。但經(jīng)過(guò)50多年的發(fā)展,現(xiàn)在的超級(jí)計(jì)算機(jī)體系結(jié)構(gòu)已經(jīng)發(fā)生了翻天覆地的變化,動(dòng)輒擁有幾十萬(wàn)乃至上百萬(wàn)的CPU核,而且還有相當(dāng)一部分超級(jí)計(jì)算機(jī)是使用的混合異構(gòu)(CPU+GPU/MIC等)的體系架構(gòu),這就使得早期的物理模型和數(shù)學(xué)算法力不從心、無(wú)法勝任。這就是現(xiàn)在絕大多數(shù)的應(yīng)用軟件效率低下、可擴(kuò)展性差的主要原因。要破解現(xiàn)在的這些難題,一方面,我們應(yīng)該大力研究和發(fā)展新的與現(xiàn)今超級(jí)計(jì)算機(jī)體系結(jié)構(gòu)相匹配的物理模型和數(shù)學(xué)算法,這是突破現(xiàn)有瓶頸的終極手段,但這畢竟是一項(xiàng)極其困難的課題,無(wú)法在短時(shí)間內(nèi)見(jiàn)到成效并實(shí)現(xiàn)大規(guī)模應(yīng)用;另一方面,我們應(yīng)著手研究現(xiàn)在所繼承下來(lái)的、海量的應(yīng)用軟件,合理的表征它們的運(yùn)行特征,找出它們的性能瓶頸,最大限度的在現(xiàn)有平臺(tái)上發(fā)揮這些應(yīng)用的性能,此外還能為應(yīng)用性能的改進(jìn)和突破提供有力的依據(jù)。因此,如何合理、科學(xué)的表征應(yīng)用的特征就是本發(fā)明所要解決的主要問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種表征高性能計(jì)算應(yīng)用特征的方法。本發(fā)明的目的是按以下方式實(shí)現(xiàn)的,本發(fā)明要解決的技術(shù)問(wèn)題是設(shè)計(jì)一種快速、高效的表征高性能計(jì)算中應(yīng)用程序運(yùn)行特征的方法,從而迅速、精確的定位應(yīng)用程序?qū)τ?jì)算資源的需求量,最大限度的發(fā)揮應(yīng)用程序的性能。針對(duì)現(xiàn)行高性能計(jì)算機(jī)體系架構(gòu)及計(jì)算應(yīng)用的特點(diǎn),將對(duì)應(yīng)用運(yùn)行特征的表征過(guò)程大體劃分為兩個(gè)主要步驟,即,I)為應(yīng)用程序運(yùn)行對(duì)計(jì)算資源占用的監(jiān)控和數(shù)據(jù)提取,2)為對(duì)所采集數(shù)據(jù)的分析和后處理,對(duì)于前者,根據(jù)高性能計(jì)算平臺(tái)的架構(gòu)特點(diǎn),從后臺(tái)運(yùn)行監(jiān)控器,實(shí)現(xiàn)對(duì)應(yīng)用程序計(jì)算資源占用情況的實(shí)時(shí)監(jiān)控,并提取數(shù)據(jù),它不但要針對(duì)不同架構(gòu)的硬件平臺(tái),更要求監(jiān)控器對(duì)資源的占用微乎 其微,不能影響到被監(jiān)控程序的正常運(yùn)行;而對(duì)于后者,根據(jù)硬件平臺(tái)的特點(diǎn)設(shè)定合理的參照量,從所監(jiān)控的海量數(shù)據(jù)中選取合適的參照量進(jìn)行分析,以定位應(yīng)用程序?qū)τ?jì)算資源的需要水平,要求有統(tǒng)一標(biāo)準(zhǔn)的對(duì)海量數(shù)據(jù)的分析處理能力;具體分析、組織流程如下
1)確定軟、硬件平臺(tái)是指根據(jù)所要表征的應(yīng)用軟件,選擇合適的硬件平臺(tái),并部署好相應(yīng)的系統(tǒng)、數(shù)學(xué)庫(kù)、監(jiān)控器等軟件環(huán)境,在這里硬件平臺(tái)的性能應(yīng)盡可能的平衡,并且盡可能的留有一定的資源余量;
2)運(yùn)行監(jiān)控器是指在流程I)中所部署好的硬件平臺(tái)上,在主、從節(jié)點(diǎn)分別運(yùn)行資源監(jiān)控器;這里資源監(jiān)控器應(yīng)滿足從所有的計(jì)算節(jié)點(diǎn)上實(shí)時(shí)監(jiān)控應(yīng)用資源占用量的功能,包括但不限于CPU使用率、內(nèi)存占用量、實(shí)時(shí)IO帶寬、網(wǎng)絡(luò)吞吐,它應(yīng)用完整涵蓋所監(jiān)測(cè)硬件平臺(tái)的所有資源;
3)從節(jié)點(diǎn)向主控節(jié)點(diǎn)發(fā)送監(jiān)控?cái)?shù)據(jù)主控節(jié)點(diǎn)和從節(jié)點(diǎn)是針對(duì)監(jiān)控來(lái)說(shuō)的,它是一個(gè)相對(duì)的概念,主控節(jié)點(diǎn)亦可同時(shí)是從節(jié)點(diǎn),它主要完成對(duì)監(jiān)控?cái)?shù)據(jù)的接收,而從節(jié)點(diǎn)則是監(jiān)控自身資源占用情況并負(fù)責(zé)向主控節(jié)點(diǎn)發(fā)送監(jiān)控?cái)?shù)據(jù),如果主控節(jié)點(diǎn)沒(méi)有正常接收到數(shù)據(jù)就需要返回流程1),以重新確定軟、硬平臺(tái)的狀態(tài)可用;
4)在被監(jiān)控的節(jié)點(diǎn)上運(yùn)行所要表征的應(yīng)用程序;
5)實(shí)時(shí)監(jiān)控應(yīng)保證所監(jiān)控的數(shù)據(jù)真實(shí)有效,如數(shù)據(jù)失真則應(yīng)返回流程2);
6)確定分析標(biāo)準(zhǔn)根據(jù)所運(yùn)行應(yīng)用程序的硬件平臺(tái)的硬件特點(diǎn),來(lái)確定參照值,若應(yīng)用是在千兆網(wǎng)絡(luò)下運(yùn)行,則應(yīng)取千兆網(wǎng)絡(luò)的帶寬上限125MB/S作為參照值,若使用是的Infiniband網(wǎng)絡(luò),則應(yīng)用取所使用HCA卡的上限值作為參考其他指標(biāo)參數(shù)的確定方法與此同;
7)生成表征特征根據(jù)監(jiān)控?cái)?shù)據(jù),計(jì)算平均值或選取最大值,并與參照標(biāo)準(zhǔn)相比,所得比值即為該項(xiàng)的表征結(jié)果,不同的應(yīng)用每一項(xiàng)都有不同的表征結(jié)果,對(duì)于應(yīng)用的網(wǎng)絡(luò)表征,計(jì)算應(yīng)用運(yùn)行期間的網(wǎng)絡(luò)流量平均值或最大值,并與標(biāo)準(zhǔn)參照值相比,即為該應(yīng)用的表征結(jié)果。本發(fā)明的有益效果是本發(fā)明充分利用了高性能計(jì)算的特點(diǎn),深度探索和挖掘了應(yīng)用程序?qū)τ?jì)算資源的需求程度,且以極微弱的資源占用量并不影響被分析應(yīng)用程序的正常運(yùn)行。該方法可以快速的表征應(yīng)用的特征,極大的發(fā)揮了現(xiàn)有海量應(yīng)用的計(jì)算性能。
圖I是計(jì)算分析方法流程圖。
具體實(shí)施方式
參照說(shuō)明書(shū)附圖對(duì)本發(fā)明的方法作以下詳細(xì)地說(shuō)明。本發(fā)明針對(duì)現(xiàn)行高性能計(jì)算機(jī)體系架構(gòu)及計(jì)算應(yīng)用的特點(diǎn),將對(duì)應(yīng)用運(yùn)行特征的表征過(guò)程大體劃分為兩個(gè)主要步驟,即,一為應(yīng)用程序運(yùn)行對(duì)計(jì)算資源占用的監(jiān)控和數(shù)據(jù)提取,二為對(duì)所采集數(shù)據(jù)的分析和后處理。對(duì)于前者,主要是根據(jù)高性能計(jì)算平臺(tái)的架構(gòu)特點(diǎn),從后臺(tái)運(yùn)行監(jiān)控器,實(shí)現(xiàn)對(duì)應(yīng)用程序計(jì)算資源占用情況的實(shí)時(shí)監(jiān)控,并提取數(shù)據(jù),它不但要針對(duì)不同架構(gòu)的硬件平臺(tái),更要求監(jiān)控器對(duì)資源的占用微乎其微,不能影響到被監(jiān)控程序的正常運(yùn)行;而對(duì)于后者,主要是根據(jù)硬件平臺(tái)的特點(diǎn)設(shè)定合理的參照量,從所監(jiān)控的海量數(shù)據(jù)中選取合適的量進(jìn)行分析,以定位應(yīng)用程序?qū)τ?jì)算資源的需要水平,它主要要求統(tǒng)一標(biāo)準(zhǔn)的對(duì)海量數(shù)據(jù)的分析處理能力。具體來(lái)說(shuō),大體可分為如下幾個(gè)步驟
1.依據(jù)計(jì)算平臺(tái)部署監(jiān)控器;
2.從主控節(jié)點(diǎn)啟動(dòng)監(jiān)控器,依次收集計(jì)算節(jié)點(diǎn)的特征參數(shù);
3.運(yùn)行指定的應(yīng)用程序;
4.結(jié)束對(duì)應(yīng)用的監(jiān)控,退出監(jiān)控環(huán)境;
5.依據(jù)硬件平臺(tái)設(shè)定參照標(biāo)準(zhǔn);
6.分析處理監(jiān)控?cái)?shù)據(jù)。為了使本發(fā)明的目的、技術(shù)方案和優(yōu)勢(shì)更加清晰,我們以使用CPU的應(yīng)用程序在兩個(gè)節(jié)點(diǎn)上的特征表征過(guò)程為例,并結(jié)合附圖,對(duì)本發(fā)明中的關(guān)鍵步驟進(jìn)行詳細(xì)說(shuō)明,對(duì)于使用更多計(jì)算節(jié)點(diǎn),或使用GPU/MIC等異構(gòu)體系的應(yīng)用程序的表征方式與之相同。
實(shí)施例如附圖I所示,給出了本發(fā)明所涉及的分析流程的示意圖。其基本的分析、組織流程如下
1.確定軟、硬件平臺(tái)。主要是指根據(jù)所要表征的應(yīng)用軟件,選擇合適的硬件平臺(tái),并部署好相應(yīng)的系統(tǒng)、數(shù)學(xué)庫(kù)、監(jiān)控器等軟件環(huán)境。在這里硬件平臺(tái)的性能應(yīng)盡可能的平衡,并且盡可能的留有一定的資源余量;
2.運(yùn)行監(jiān)控器。主要是指在流程I中所部署好的硬件平臺(tái)上,在主、從節(jié)點(diǎn)分別運(yùn)行資源監(jiān)控器。這里資源監(jiān)控器應(yīng)滿足從所有的計(jì)算節(jié)點(diǎn)上實(shí)時(shí)監(jiān)控應(yīng)用資源占用量的功能,包括但不限于CPU使用率、內(nèi)存占用量、實(shí)時(shí)IO帶寬、網(wǎng)絡(luò)吞吐等等,它應(yīng)用完整涵蓋所監(jiān)測(cè)硬件平臺(tái)的所有資源;
3.從節(jié)點(diǎn)向主控節(jié)點(diǎn)發(fā)送監(jiān)控?cái)?shù)據(jù)。主控節(jié)點(diǎn)和從節(jié)點(diǎn)是針對(duì)監(jiān)控來(lái)說(shuō)的,它是一個(gè)相對(duì)的概念,主控節(jié)點(diǎn)亦可同時(shí)是從節(jié)點(diǎn),它主要完成對(duì)監(jiān)控?cái)?shù)據(jù)的接收,而從節(jié)點(diǎn)則是監(jiān)控自身資源占用情況并負(fù)責(zé)向主控節(jié)點(diǎn)發(fā)送監(jiān)控?cái)?shù)據(jù)。如果在本步中主控節(jié)點(diǎn)沒(méi)有正常接收到數(shù)據(jù)就需要返回流程1,以重新確定軟、硬平臺(tái)的狀態(tài)可用;
4.在被監(jiān)控的節(jié)點(diǎn)上運(yùn)行所要表征的應(yīng)用程序;
5.實(shí)時(shí)監(jiān)控。這里主要應(yīng)保證所監(jiān)控的數(shù)據(jù)真實(shí)有效,如數(shù)據(jù)失真則應(yīng)返回流程2;
6.確定分析標(biāo)準(zhǔn)。主要是指根據(jù)所運(yùn)行應(yīng)用程序的硬件平臺(tái)的硬件特點(diǎn),來(lái)確定參照值。如,若應(yīng)用是在千兆網(wǎng)絡(luò)下運(yùn)行,則應(yīng)取千兆網(wǎng)絡(luò)的帶寬上限(125MB/S)作為參照值,若使用是的Infiniband網(wǎng)絡(luò),則應(yīng)用取所使用HCA卡的上限值作為參考。其他指標(biāo)參數(shù)的確定方法與此同;7.生成表征特征。主要是指根據(jù)監(jiān)控?cái)?shù)據(jù),計(jì)算平均值(或選取最大值等,依據(jù)特定場(chǎng)合而定)并與參照標(biāo)準(zhǔn)相比,所得比值即為該項(xiàng)的表征結(jié)果,不同的應(yīng)用每一項(xiàng)都有不同的表征結(jié)果。例如,對(duì)于應(yīng)用的網(wǎng)絡(luò)表征,計(jì)算應(yīng)用運(yùn)行期間的網(wǎng)絡(luò)流量平均值(或最大值等),并與標(biāo)準(zhǔn)參照值相比,即為該應(yīng)用的表征結(jié)果。本發(fā)明所采用的分析方法可以極大的反映出應(yīng)用程序的運(yùn)行特征,從而快速的把握應(yīng)用對(duì)計(jì)算資源的占用,以及應(yīng)用的擴(kuò)展性等等,從而準(zhǔn)確定位可以最大程度發(fā)揮應(yīng)用性能的硬件平臺(tái),實(shí)現(xiàn)應(yīng)用性能 最大化。除說(shuō)明書(shū)所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
權(quán)利要求
1.一種表征高性能計(jì)算應(yīng)用特征的方法,其特征在于針對(duì)現(xiàn)行高性能計(jì)算機(jī)體系架構(gòu)及計(jì)算應(yīng)用的特點(diǎn),將對(duì)應(yīng)用運(yùn)行特征的表征過(guò)程大體劃分為兩個(gè)主要步驟,即,I)為應(yīng)用程序運(yùn)行對(duì)計(jì)算資源占用的監(jiān)控和數(shù)據(jù)提取,2)為對(duì)所采集數(shù)據(jù)的分析和后處理,對(duì)于前者,根據(jù)高性能計(jì)算平臺(tái)的架構(gòu)特點(diǎn),從后臺(tái)運(yùn)行監(jiān)控器,實(shí)現(xiàn)對(duì)應(yīng)用程序計(jì)算資源占用情況的實(shí)時(shí)監(jiān)控,并提取數(shù)據(jù),它不但要針對(duì)不同架構(gòu)的硬件平臺(tái),更要求監(jiān)控器對(duì)資源的占用微乎其微,不能影響到被監(jiān)控程序的正常運(yùn)行;而對(duì)于后者,根據(jù)硬件平臺(tái)的特點(diǎn)設(shè)定合理的參照量,從所監(jiān)控的海量數(shù)據(jù)中選取合適的參照量進(jìn)行分析,以定位應(yīng)用程序?qū)τ?jì)算資源的需要水平,要求有統(tǒng)一標(biāo)準(zhǔn)的對(duì)海量數(shù)據(jù)的分析處理能力;具體分析、組織流程如下 O確定軟、硬件平臺(tái)是指根據(jù)所要表征的應(yīng)用軟件,選擇合適的硬件平臺(tái),并部署好相應(yīng)的系統(tǒng)、數(shù)學(xué)庫(kù)、監(jiān)控器等軟件環(huán)境,在這里硬件平臺(tái)的性能應(yīng)盡可能的平衡,并且盡可能的留有一定的資源余量; 2)運(yùn)行監(jiān)控器是指在流程I)中所部署好的硬件平臺(tái)上,在主、從節(jié)點(diǎn)分別運(yùn)行資源監(jiān)控器;這里資源監(jiān)控器應(yīng)滿足從所有的計(jì)算節(jié)點(diǎn)上實(shí)時(shí)監(jiān)控應(yīng)用資源占用量的功能,包括但不限于CPU使用率、內(nèi)存占用量、實(shí)時(shí)IO帶寬、網(wǎng)絡(luò)吞吐,它應(yīng)用完整涵蓋所監(jiān)測(cè)硬件平臺(tái)的所有資源; 3)從節(jié)點(diǎn)向主控節(jié)點(diǎn)發(fā)送監(jiān)控?cái)?shù)據(jù)主控節(jié)點(diǎn)和從節(jié)點(diǎn)是針對(duì)監(jiān)控來(lái)說(shuō)的,它是一個(gè)相對(duì)的概念,主控節(jié)點(diǎn)亦可同時(shí)是從節(jié)點(diǎn),它主要完成對(duì)監(jiān)控?cái)?shù)據(jù)的接收,而從節(jié)點(diǎn)則是監(jiān)控自身資源占用情況并負(fù)責(zé)向主控節(jié)點(diǎn)發(fā)送監(jiān)控?cái)?shù)據(jù),如果主控節(jié)點(diǎn)沒(méi)有正常接收到數(shù)據(jù)就需要返回流程1),以重新確定軟、硬平臺(tái)的狀態(tài)可用; 4)在被監(jiān)控的節(jié)點(diǎn)上運(yùn)行所要表征的應(yīng)用程序; 5)實(shí)時(shí)監(jiān)控應(yīng)保證所監(jiān)控的數(shù)據(jù)真實(shí)有效,如數(shù)據(jù)失真則應(yīng)返回流程2); 6)確定分析標(biāo)準(zhǔn)根據(jù)所運(yùn)行應(yīng)用程序的硬件平臺(tái)的硬件特點(diǎn),來(lái)確定參照值,若應(yīng)用是在千兆網(wǎng)絡(luò)下運(yùn)行,則應(yīng)取千兆網(wǎng)絡(luò)的帶寬上限125MB/S作為參照值,若使用是的Infiniband網(wǎng)絡(luò),則應(yīng)用取所使用HCA卡的上限值作為參考其他指標(biāo)參數(shù)的確定方法與此同; 7)生成表征特征根據(jù)監(jiān)控?cái)?shù)據(jù),計(jì)算平均值或選取最大值,并與參照標(biāo)準(zhǔn)相比,所得比值即為該項(xiàng)的表征結(jié)果,不同的應(yīng)用每一項(xiàng)都有不同的表征結(jié)果,對(duì)于應(yīng)用的網(wǎng)絡(luò)表征,計(jì)算應(yīng)用運(yùn)行期間的網(wǎng)絡(luò)流量平均值或最大值,并與標(biāo)準(zhǔn)參照值相比,即為該應(yīng)用的表征結(jié)果。
全文摘要
本發(fā)明提供一種表征高性能計(jì)算領(lǐng)域各行業(yè)應(yīng)用軟件運(yùn)行特征的方法。該方法全方位考查了應(yīng)用程序在輸入、存儲(chǔ)、處理、傳輸以及輸出這五個(gè)環(huán)節(jié)的負(fù)載壓力,依次將應(yīng)用劃分為計(jì)算密集型、內(nèi)存約束型、I/O密集型以及網(wǎng)絡(luò)密集型等四個(gè)大的類(lèi)別。通過(guò)這四個(gè)方面定量表示,充分表現(xiàn)了應(yīng)用對(duì)CPU占用、內(nèi)存容量、內(nèi)存吞吐、輸入/輸出以及網(wǎng)絡(luò)數(shù)據(jù)交換等方面的資源需求,最大化的反映了應(yīng)用軟件運(yùn)行特征。本發(fā)明簡(jiǎn)單、實(shí)用、可靠、高效,可以非常直觀的反映一款應(yīng)用軟件對(duì)高性能硬件資源的需求量。使得該應(yīng)用可以在合適的高性能平臺(tái)上運(yùn)行,進(jìn)而最大限度的發(fā)揮應(yīng)用軟件的性能。依據(jù)該特征,可以有的放矢的改進(jìn)和突破該應(yīng)用軟件的性能瓶頸,提高應(yīng)用的擴(kuò)展性。
文檔編號(hào)G06F11/30GK102945198SQ20121039897
公開(kāi)日2013年2月27日 申請(qǐng)日期2012年10月19日 優(yōu)先權(quán)日2012年10月19日
發(fā)明者劉羽, 金蓮, 呂文靜, 于濤 申請(qǐng)人:浪潮電子信息產(chǎn)業(yè)股份有限公司