一種高性能計(jì)算應(yīng)用特征的監(jiān)控組織方法
【專利摘要】本發(fā)明提供一種高性能計(jì)算應(yīng)用特征的監(jiān)控組織方法,依據(jù)高性能計(jì)算硬件平臺體系架構(gòu)特點(diǎn),以高性能計(jì)算的應(yīng)用程序?yàn)闇?zhǔn),將管理節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)劃分為監(jiān)控的控制端和客戶端,控制端完成對客戶端的管理、數(shù)據(jù)接收、數(shù)據(jù)審查和入庫工作,客戶端接收并按照控制端的指令,在指定的時(shí)間間隔內(nèi)完成對運(yùn)行特征參數(shù)的采集工作并發(fā)送控制端,該方法全方位監(jiān)控并提取了應(yīng)用程序運(yùn)行時(shí)在輸入、存儲、處理、傳輸以及輸出這五個(gè)環(huán)節(jié)的特征參數(shù),數(shù)據(jù)采集量大,充分表現(xiàn)了應(yīng)用對CPU占用、內(nèi)存容量、內(nèi)存吞吐、輸入/輸出以及網(wǎng)絡(luò)數(shù)據(jù)交換等方面的資源需求以及相關(guān)計(jì)算資源的使用水平。此外,該方法還具有系統(tǒng)資源占用率低、可監(jiān)控集群規(guī)模大、數(shù)據(jù)可重復(fù)查詢等特點(diǎn)。
【專利說明】一種高性能計(jì)算應(yīng)用特征的監(jiān)控組織方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)應(yīng)用【技術(shù)領(lǐng)域】,具體地說是一種高性能計(jì)算應(yīng)用特征的監(jiān)控組織方法。
【背景技術(shù)】
[0002]隨著人類社會的不斷進(jìn)步,科學(xué)技術(shù)的發(fā)展,人們不但對自然界的認(rèn)識越來越廣泛,而且對未知世界探索的需求也越來越迫切。這就使得人類撐握的信息數(shù)據(jù)的量急劇性的增長,而與時(shí)同時(shí),這些海量的信息數(shù)據(jù)都需要及時(shí)的分析和處理。例如,一個(gè)大型天文射電望遠(yuǎn)鏡陣列一秒鐘就能產(chǎn)生100GB以上的宇宙微波數(shù)據(jù),這些數(shù)據(jù)都需要及時(shí)得到分析;再如,在粒子物理研究領(lǐng)域,一臺大型強(qiáng)子對撞機(jī)一次對撞的數(shù)據(jù)也是以TB為單位來計(jì)量的;此外,像人類基因組工程、石油勘探、天氣預(yù)報(bào)等等領(lǐng)域也對計(jì)算能力提出了越來越高的要求。在這種大背景下數(shù)值計(jì)算已然成為了除實(shí)驗(yàn)、理論分析之外的第三種極其重要的科學(xué)探索手段。正是基于這樣的現(xiàn)實(shí),促使了當(dāng)今世界各個(gè)科技強(qiáng)國都在不遺余力的大力發(fā)展超級計(jì)算機(jī)。如,在2012年I月發(fā)布的世界T0P500中,排名第一的橡樹嶺國家實(shí)驗(yàn)室的“泰坦(Titan)”就已經(jīng)達(dá)到了 27PFlops的峰值速度,而與此同時(shí)新的百億億次超級計(jì)算機(jī)也已經(jīng)在研究和規(guī)劃之中了??偟膩碚f,基本上每十年,超級計(jì)算機(jī)的速度就提升三個(gè)量級(1000倍),因此建造超級計(jì)算機(jī)的能力已經(jīng)成為一個(gè)國家科技水平和綜合國力的一個(gè)有力體現(xiàn)。
[0003]雖然超級計(jì)算機(jī)發(fā)展的速度是驚人的,也令人欣慰,但很遺憾的是與之相配套的軟件技術(shù)卻裹足不前,這已經(jīng)嚴(yán)重的制約了超級計(jì)算機(jī)應(yīng)用能力的發(fā)揮。現(xiàn)在絕大多數(shù)的應(yīng)用軟件所基于的基本原理和數(shù)學(xué)算法,還是上世紀(jì)50飛0年代提出和發(fā)展起來的,這些算法與當(dāng)時(shí)的大型機(jī)是完全匹配和適應(yīng)的,以串行或少量進(jìn)程間并行為主。但經(jīng)過50多年的發(fā)展,現(xiàn)在的超級計(jì)算機(jī)體系結(jié)構(gòu)已經(jīng)發(fā)生了翻天覆地的變化,動輒擁有幾十萬乃至上百萬的CPU核,而且還有相當(dāng)一部分超級計(jì)算機(jī)是使用的混合異構(gòu)(CPU+GPU/MIC等)的體系架構(gòu),這就使得早期的物理模型和數(shù)學(xué)算法力不從心、無法勝任。這就是現(xiàn)在絕大多數(shù)的應(yīng)用軟件效率低下、可擴(kuò)展性差的主要原因。此外,數(shù)以萬計(jì)的處理器協(xié)同工作,如何做到對它們運(yùn)行性能的把控也是現(xiàn)在超大型集群所面臨的難題之一。
[0004]要破解現(xiàn)在的這些難題,一方面,我們應(yīng)該大力研究和發(fā)展新的與現(xiàn)今超級計(jì)算機(jī)體系結(jié)構(gòu)相匹配的物理模型和數(shù)學(xué)算法,這是突破現(xiàn)有瓶頸的終極手段,但這畢竟是一項(xiàng)極其困難的課題,無法在短時(shí)間內(nèi)見到成效并實(shí)現(xiàn)大規(guī)模應(yīng)用;另一方面,我們從歷史上繼承下來大量的優(yōu)秀應(yīng)用軟件,我們應(yīng)著手研究這些海量應(yīng)用軟件,合理的表征它們的運(yùn)行特征,找出它們的性能瓶頸,最大限度的在現(xiàn)有平臺上發(fā)揮這些應(yīng)用的性能,此外還能為應(yīng)用性能的改進(jìn)和突破提供有力的依據(jù)。因此,為這些應(yīng)用軟件做性能分析以及優(yōu)化將是高性能領(lǐng)域的重要環(huán)節(jié)。而這其中,如何合理、高效的監(jiān)控和提取應(yīng)用在運(yùn)行時(shí)的特征就是本發(fā)明所要解決的主要問題。
[0005]從目前的情形來看,業(yè)界尚沒有一款免費(fèi)的系統(tǒng)監(jiān)測工具可以實(shí)時(shí)監(jiān)測包括硬件系統(tǒng)微架構(gòu)指標(biāo),如:CPI,實(shí)時(shí)內(nèi)存帶寬,系統(tǒng)實(shí)時(shí)浮點(diǎn)計(jì)算量等,在內(nèi)系統(tǒng)指標(biāo)。且在其他的非微架構(gòu)的指標(biāo)中,現(xiàn)有監(jiān)測工具的支持也不是很好,其中典型的例子是IB網(wǎng)絡(luò)(rdma)。此外,多數(shù)情況下利用其它監(jiān)測工具無法靈活的滿足具體要求,如nmon無法滿足精確的多節(jié)點(diǎn)監(jiān)控;Ganglia對于數(shù)據(jù)采集間隔及保存做的不是很好。因此,在這種情況下,本發(fā)明的意義就顯得十分的重要。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是提供一種合理、快速、實(shí)時(shí)、高效的監(jiān)控和提取高性能計(jì)算中系統(tǒng)及應(yīng)用程序運(yùn)行特征的方法,從而為快速、精確的定位應(yīng)用程序?qū)τ?jì)算資源的需求量,最大限度的發(fā)揮和優(yōu)化應(yīng)用程序的性能提取基本的參數(shù)依據(jù)。此外,還為監(jiān)控高性能系統(tǒng)硬件健康水平提供硬件級數(shù)據(jù)的有效有段。
[0007]本發(fā)明的目的是按以下方式實(shí)現(xiàn)的,依據(jù)高性能計(jì)算硬件平臺體系架構(gòu)特點(diǎn),以高性能計(jì)算的應(yīng)用程序?yàn)闇?zhǔn),將管理節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)劃分為監(jiān)控的控制端和客戶端,控制端完成對客戶端的管理、數(shù)據(jù)接收、數(shù)據(jù)審查和入庫工作,客戶端接收并按照控制端的指令,在指定的時(shí)間間隔內(nèi)完成對運(yùn)行特征參數(shù)的采集工作并發(fā)送控制端,基本的分析、組織流程如下:
1)確定高性能計(jì)算集群中的計(jì)算節(jié)點(diǎn),并在相應(yīng)的計(jì)算節(jié)點(diǎn)上啟動監(jiān)控的客戶端,客戶端也首先完成對相應(yīng)硬件、系統(tǒng)環(huán)境的初始化工作,包括:硬件資源是否存在,是否可以正常獲取硬件訪問權(quán)限,如不能正常完成初始化操作,則應(yīng)給出相應(yīng)信息提示并退出,反之,進(jìn)入正常就續(xù)狀態(tài),在指定的端口監(jiān)聽控制端指令;
2)確定高性能計(jì)算集群中的管理節(jié)點(diǎn),并在相應(yīng)的管理節(jié)點(diǎn)上啟動監(jiān)控的控制端,控制端完成對網(wǎng)絡(luò)環(huán)境、數(shù)據(jù)庫資源的初始化,并與指定的客戶端建立通信,如若不能完成正常初始化操作或無法與客戶端建立正常的通信模式,則給出相應(yīng)的錯誤提示信息并退出;
3)控制端向客戶端發(fā)送開啟指令;
4)客戶端接收控制端發(fā)送來的開啟指令,并開始對設(shè)備資源的監(jiān)控與數(shù)據(jù)提取,同時(shí)在端口監(jiān)聽控制端的其他指令;
5)控制端按指定的時(shí)間間隔向客戶端發(fā)送數(shù)據(jù)收集指令;
6)客戶端接收來自控制端的收集指令,將在該時(shí)間段內(nèi)的監(jiān)控?cái)?shù)據(jù)發(fā)送控制端;
7)控制端接收來自客戶端的監(jiān)測數(shù)據(jù),并完成對數(shù)據(jù)合理性審查,之后將數(shù)據(jù)存入到數(shù)據(jù)庫中,從而完成本次數(shù)據(jù)收集;
8)重復(fù)步驟5)至步驟7);
9)監(jiān)控結(jié)束時(shí),控制端向客戶端發(fā)送采集結(jié)束指令;
10客戶端接收來自控制端的結(jié)束指令,完成清理操作,釋放所占用的資源,停止數(shù)據(jù)的監(jiān)控,之后繼續(xù)監(jiān)聽來自控制端的指令。
[0008]本發(fā)明的有益效果是:本發(fā)明提供一種旨在實(shí)時(shí)監(jiān)控和提取高性能計(jì)算領(lǐng)域各行業(yè)應(yīng)用軟件在運(yùn)行過程中各種特征參數(shù)的方法。本發(fā)明簡單、實(shí)用、可靠、高效,可以非常直觀的、實(shí)時(shí)的反映一款應(yīng)用軟件對高性能硬件資源的需求量,也可以監(jiān)控整個(gè)計(jì)算機(jī)集群的運(yùn)行健康情況。通過對應(yīng)用特征的監(jiān)控和提取,一方面,可以深入的了解一款應(yīng)用程序?qū)τ布Y源的需求量,進(jìn)而量體裁衣,定制合適的平臺以使得該應(yīng)用可以在該平臺上最大化發(fā)揮其性能的運(yùn)行。另一方面,依據(jù)該實(shí)時(shí)監(jiān)控特征,可以有效的反應(yīng)集群系統(tǒng)的硬件使用情況,以及相應(yīng)的性能水平,為集群系統(tǒng)的健康評價(jià)及性能優(yōu)化提供指導(dǎo)依據(jù),本發(fā)明充分利用了高性能計(jì)算的特點(diǎn),不但實(shí)現(xiàn)了對寶貴的高性能計(jì)算資源的低戰(zhàn)勝率,而且實(shí)現(xiàn)了管理節(jié)點(diǎn)(控制端)與計(jì)算節(jié)點(diǎn)(客戶端)的分離。這樣一方面完美實(shí)現(xiàn)了對整個(gè)高性能計(jì)算系統(tǒng)所有節(jié)點(diǎn)的監(jiān)控覆蓋,另一方面對保證了完全性,即當(dāng)有某一或某些計(jì)算節(jié)點(diǎn)失效時(shí),并不影響對其他節(jié)點(diǎn)的有效監(jiān)控。不但實(shí)現(xiàn)了對寶貴的高性能計(jì)算資源的低戰(zhàn)勝率,而且實(shí)現(xiàn)了管理節(jié)點(diǎn)(控制端)與計(jì)算節(jié)點(diǎn)(客戶端)的分離。這樣一方面完美實(shí)現(xiàn)了對整個(gè)高性能計(jì)算系統(tǒng)所有節(jié)點(diǎn)的監(jiān)控覆蓋,另一方面對保證了完全性,即當(dāng)有某一或某些計(jì)算節(jié)點(diǎn)失效時(shí),并不影響對其他節(jié)點(diǎn)的有效監(jiān)控。
【專利附圖】
【附圖說明】
[0009]圖1是應(yīng)用特征監(jiān)控和提取方法的流程圖。
【具體實(shí)施方式】
[0010]參照說明書附圖對本發(fā)明的方法作以下詳細(xì)地說明。
[0011]本發(fā)明針對現(xiàn)行高性能計(jì)算機(jī)體系架構(gòu)及計(jì)算應(yīng)用的特點(diǎn),大體上將方法流程劃分為兩個(gè)主要部分。其中,一部分是控制端進(jìn)程;另一部分是客戶端進(jìn)程??刂贫诉M(jìn)程起主要的控制作用,它負(fù)責(zé)控制端相關(guān)進(jìn)程的初使化,控制指令的發(fā)送,監(jiān)控?cái)?shù)據(jù)的收取以及數(shù)據(jù)的存儲等操作??蛻舳诉M(jìn)程主要起數(shù)據(jù)采集的作用,它接收控制端的命令,在規(guī)定的時(shí)間間隔內(nèi)采集所需數(shù)據(jù)并回傳至控制端。
[0012]由于一般的高性能計(jì)算系統(tǒng)可劃分為計(jì)算專用網(wǎng)絡(luò)和管理網(wǎng)絡(luò)等多套專用網(wǎng)絡(luò)。考慮到監(jiān)控程序應(yīng)做到對應(yīng)用程序的運(yùn)行影響最小化,亦即監(jiān)控程序不能搶占應(yīng)用程序的計(jì)算資源。因此,控制端與各客戶端使用socket套接字的方法,通過管理網(wǎng)絡(luò)實(shí)現(xiàn)指令的發(fā)送與數(shù)據(jù)的回收,實(shí)現(xiàn)了計(jì)算與管理數(shù)據(jù)的分離。該方法可以有效的使監(jiān)控程序本身的資源占用壓縮在0.1%以下,對應(yīng)用的影響基本可以忽略。
[0013]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)勢更加清晰,我們以監(jiān)控含有兩個(gè)節(jié)點(diǎn)的高性能計(jì)算系統(tǒng)為例(即單客戶端),并結(jié)合附圖,對本發(fā)明中的關(guān)鍵步驟進(jìn)行詳細(xì)說明。對于擁有更多節(jié)點(diǎn)的高性能計(jì)算系統(tǒng)的監(jiān)控和特征參數(shù)提取方法與之相同(即多客戶端)。
[0014]如附圖1所示,給出了本發(fā)明所涉及的分析流程的示意圖。其基本的分析、組織流程如下:
1.確定高性能計(jì)算集群中的計(jì)算節(jié)點(diǎn),并在相應(yīng)的計(jì)算節(jié)點(diǎn)上啟動監(jiān)控的客戶端??蛻舳艘彩紫韧瓿蓪ο鄳?yīng)硬件、系統(tǒng)環(huán)境的初始化工作,如:硬件資源是否存在,是否可以正常獲取硬件訪問權(quán)限等等。如不能正常完成初始化操作,則應(yīng)給出相應(yīng)信息提示并退出。反之,進(jìn)入正常就續(xù)狀態(tài),在指定的端口監(jiān)聽控制端指令;
2.確定高性能計(jì)算集群中的管理節(jié)點(diǎn),并在相應(yīng)的管理節(jié)點(diǎn)上啟動監(jiān)控的控制端。控制端完成對網(wǎng)絡(luò)環(huán)境、數(shù)據(jù)庫等資源的初始化,并與指定的客戶端建立通信。如若不能完成正常初始化操作或無法與客戶端建立正常的通信模式,則給出相應(yīng)的錯誤提示信息并退出;
3.控制端向客戶端發(fā)送開啟指令; 4.客戶端接收控制端發(fā)送來的開啟指令,并開始對設(shè)備資源的監(jiān)控與數(shù)據(jù)提取,同時(shí)在端口監(jiān)聽控制端的其他指令;
5.控制端按指定的時(shí)間間隔向客戶端發(fā)送數(shù)據(jù)收集指令;
6.客戶端接收來自控制端的收集指令,將在該時(shí)間段內(nèi)的監(jiān)控?cái)?shù)據(jù)發(fā)送控制端;
7.控制端接收來自客戶端的監(jiān)測數(shù)據(jù),并完成對數(shù)據(jù)合理性審查,之后將數(shù)據(jù)存入到數(shù)據(jù)庫中,從而完成本次數(shù)據(jù)收集;
8.重復(fù)5至7步;
9.監(jiān)控結(jié)束時(shí),控制端向客戶端發(fā)送采集結(jié)束指令;
10.客戶端接收來自控制端的結(jié)束指令,完成清理操作,釋放所占用的資源,停止數(shù)據(jù)的監(jiān)控。之后繼續(xù)監(jiān)聽來自控制端的指令。
具體實(shí)施例
[0015]本監(jiān)控和特征提取方法大體可分為如下幾個(gè)步驟:
1)啟動Client端程序,其進(jìn)行初始化工作,然后等待server端指令;
2)啟動Server端程序,其進(jìn)行初始化工作,并通知client端開始監(jiān)測系統(tǒng)指標(biāo)。Client端程序收到監(jiān)測命令,進(jìn)行監(jiān)測工作;
3)每隔特定時(shí)間t,server端就會發(fā)出收集數(shù)據(jù)的指令,client端收到該指令后將其監(jiān)測結(jié)果發(fā)回server端;
4)server端收集所以client端的數(shù)據(jù),并存儲;
5)監(jiān)測完畢后,server端發(fā)出停止指令,client端收到后停止監(jiān)測,然后繼續(xù)等待server端指令。
[0016]本發(fā)明所呈現(xiàn)的系統(tǒng)資源監(jiān)控和高性能應(yīng)用運(yùn)行特征的提取方法,實(shí)現(xiàn)簡單,對資源的占用率極低,實(shí)現(xiàn)了對高性能集群系統(tǒng)的硬件健康的實(shí)時(shí)監(jiān)控,并可作為對高性能計(jì)算應(yīng)用程序的特征分析和優(yōu)化之用。為提升高性能計(jì)算集群的利用效率頗具有的現(xiàn)實(shí)意義。
[0017]除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
【權(quán)利要求】
1.一種高性能計(jì)算應(yīng)用特征的監(jiān)控組織方法,其特征在于依據(jù)高性能計(jì)算硬件平臺體系架構(gòu)特點(diǎn),以高性能計(jì)算的應(yīng)用程序?yàn)闇?zhǔn),將管理節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)劃分為監(jiān)控的控制端和客戶端,控制端完成對客戶端的管理、數(shù)據(jù)接收、數(shù)據(jù)審查和入庫工作,客戶端接收并按照控制端的指令,在指定的時(shí)間間隔內(nèi)完成對運(yùn)行特征參數(shù)的采集工作并發(fā)送控制端,基本的分析、組織流程如下: 1)確定高性能計(jì)算集群中的計(jì)算節(jié)點(diǎn),并在相應(yīng)的計(jì)算節(jié)點(diǎn)上啟動監(jiān)控的客戶端,客戶端也首先完成對相應(yīng)硬件、系統(tǒng)環(huán)境的初始化工作,包括:硬件資源是否存在,是否可以正常獲取硬件訪問權(quán)限,如不能正常完成初始化操作,則應(yīng)給出相應(yīng)信息提示并退出,反之,進(jìn)入正常就續(xù)狀態(tài),在指定的端口監(jiān)聽控制端指令; 2)確定高性能計(jì)算集群中的管理節(jié)點(diǎn),并在相應(yīng)的管理節(jié)點(diǎn)上啟動監(jiān)控的控制端,控制端完成對網(wǎng)絡(luò)環(huán)境、數(shù)據(jù)庫資源的初始化,并與指定的客戶端建立通信,如若不能完成正常初始化操作或無法與客戶端建立正常的通信模式,則給出相應(yīng)的錯誤提示信息并退出; 3)控制端向客戶端發(fā)送開啟指令; 4)客戶端接收控制端發(fā)送來的開啟指令,并開始對設(shè)備資源的監(jiān)控與數(shù)據(jù)提取,同時(shí)在端口監(jiān)聽控制端的其他指令; 5)控制端按指定的時(shí)間間隔向客戶端發(fā)送數(shù)據(jù)收集指令; 6)客戶端接收來自控制端的收集指令,將在該時(shí)間段內(nèi)的監(jiān)控?cái)?shù)據(jù)發(fā)送控制端; 7)控制端接收來自客戶端的監(jiān)測數(shù)據(jù),并完成對數(shù)據(jù)合理性審查,之后將數(shù)據(jù)存入到數(shù)據(jù)庫中,從而完成本次數(shù)據(jù)收集; 8)重復(fù)步驟5)至步驟7); 9)監(jiān)控結(jié)束時(shí),控制端向客戶端發(fā)送采集結(jié)束指令; 10客戶端接收來自控制端的結(jié)束指令,完成清理操作,釋放所占用的資源,停止數(shù)據(jù)的監(jiān)控,之后繼續(xù)監(jiān)聽來自控制端的指令。
【文檔編號】H04L12/24GK103501253SQ201310489863
【公開日】2014年1月8日 申請日期:2013年10月18日 優(yōu)先權(quán)日:2013年10月18日
【發(fā)明者】劉羽, 呂文靜, 金蓮, 于濤 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司