李淑玲
(西安歐亞學(xué)院 陜西 西安710065)
校園網(wǎng)格資源監(jiān)控系統(tǒng)GridMonitor的實(shí)現(xiàn)
李淑玲
(西安歐亞學(xué)院 陜西 西安710065)
在資源監(jiān)控系統(tǒng)的應(yīng)用中,如何實(shí)現(xiàn)大量廣域分布、動(dòng)態(tài)、多樣、自治、異構(gòu)的資源間全面連通和有效組織,最大限度提高資源利用率和有效維護(hù)管理,成為實(shí)現(xiàn)網(wǎng)絡(luò)系統(tǒng)的重要研究方面。本文通過(guò)分析網(wǎng)格監(jiān)控服務(wù)提供的數(shù)據(jù),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)內(nèi)容豐富并且易于擴(kuò)展的網(wǎng)格監(jiān)控系統(tǒng)。該監(jiān)控系統(tǒng)是為網(wǎng)格環(huán)境下的資源包括應(yīng)用類、主機(jī)類、用戶類等提供實(shí)時(shí)監(jiān)控功能,對(duì)收集到的數(shù)據(jù)進(jìn)行解析和歸檔。
計(jì)算網(wǎng)格;資源監(jiān)控;GMA;作業(yè)調(diào)度
校園計(jì)算網(wǎng)格是校園網(wǎng)環(huán)境下各類軟硬件計(jì)算資源匯聚和共享的計(jì)算平臺(tái),是計(jì)算網(wǎng)格的重要應(yīng)用領(lǐng)域。文中研究的GridMonitor資源監(jiān)控系統(tǒng)已在某高校部署,取得了令人滿意的效果。
某高校的定位是一個(gè)開(kāi)放型、多科型和研究型的大學(xué),隨著前沿和交叉學(xué)科的科學(xué)與工程計(jì)算任務(wù)的日益繁重,且學(xué)科發(fā)展要求共享計(jì)算資源、重大儀器設(shè)備、信息資源,要求進(jìn)行全局資源的整合匯聚,給用戶提供一個(gè)單一的使用界面,這就對(duì)計(jì)算能力提出了很高的要求。因此,在高速校園網(wǎng)環(huán)境下,由學(xué)校組織,研究開(kāi)發(fā)了校園計(jì)算網(wǎng)格系統(tǒng)。目前,該系統(tǒng)已能滿足校園內(nèi)各個(gè)學(xué)院的計(jì)算需求,未來(lái)還要實(shí)現(xiàn)校園網(wǎng)環(huán)境下的信息網(wǎng)格和儀器網(wǎng)格,將整個(gè)校園的資源進(jìn)行整合匯聚,為全校各個(gè)院系和各個(gè)部門的工作提供一個(gè)全新的公共支撐環(huán)境,為某高??蒲泄ぷ鞯膭?chuàng)新提供一個(gè)開(kāi)放的研究和應(yīng)用平臺(tái)。校園計(jì)算網(wǎng)格 (Campus Computation Grid,CCG)體系架構(gòu)如圖1所示。
圖1 CCG體系架構(gòu)
1.1 資源層
包含網(wǎng)上可訪問(wèn)的所有資源,如運(yùn)行NT或UNIX的PC機(jī)或工作站、運(yùn)行cluster操作系統(tǒng)的集群、存儲(chǔ)設(shè)備、數(shù)據(jù)庫(kù),也可能是科學(xué)儀器。校園計(jì)算網(wǎng)格以高性能計(jì)算中心為中心,連接各大實(shí)驗(yàn)室。
1.2 網(wǎng)格中間件
對(duì)用戶信息和數(shù)據(jù)進(jìn)行管理,向遠(yuǎn)程進(jìn)程管理、資源分配、存儲(chǔ)訪問(wèn)、信息服務(wù)、登錄和認(rèn)證、安全和質(zhì)量服務(wù)(QoS)等提供核心服務(wù)。
1.3 網(wǎng)格應(yīng)用層
提供系統(tǒng)能接受的語(yǔ)言,如HP C++和MPI等??膳渲靡恍┢渌С止こ虘?yīng)用、數(shù)據(jù)庫(kù)訪問(wèn)的軟件,還可提供WEB服務(wù)接口,使用戶可以通過(guò)Web方式提交作業(yè)并獲取結(jié)果。
計(jì)算網(wǎng)格Portal提供基于WEB和命令行兩種人機(jī)界面。通過(guò)Portal,管理員用戶可以執(zhí)行用戶管理、節(jié)點(diǎn)管理、作業(yè)管理、資源管理和計(jì)費(fèi)管理等操作,普通用戶可以執(zhí)行作業(yè)提交、作業(yè)管理、費(fèi)用查詢和信息修改等操作。
該監(jiān)控系統(tǒng)的設(shè)計(jì)目標(biāo)是為網(wǎng)格環(huán)境下的資源包括應(yīng)用類、主機(jī)類、用戶類等提供實(shí)時(shí)監(jiān)控功能,對(duì)收集到的數(shù)據(jù)進(jìn)行解析和歸檔工作,通過(guò)該監(jiān)控系統(tǒng),用戶可以對(duì)網(wǎng)格系統(tǒng)的使用情況,包括應(yīng)用類作業(yè)狀況、主機(jī)類負(fù)載狀況、軟件License狀況、用戶作業(yè)和在線時(shí)間等,進(jìn)行查看、控制和搜索;能夠在系統(tǒng)出現(xiàn)問(wèn)題的時(shí)候,迅速定位系統(tǒng)錯(cuò)誤根源,及時(shí)解決問(wèn)題;能夠發(fā)現(xiàn)網(wǎng)格環(huán)境中性能問(wèn)題的來(lái)源,分析系統(tǒng)性能瓶頸,獲得更好的性能調(diào)整系統(tǒng)和應(yīng)用;監(jiān)控獲得的數(shù)據(jù)作為預(yù)測(cè)模型的輸入進(jìn)行性能預(yù)測(cè)服務(wù),從而可以提供更高的用戶級(jí)QoS。
2.1 網(wǎng)格監(jiān)控系統(tǒng)總體設(shè)計(jì)
考慮到網(wǎng)格具有區(qū)域性強(qiáng)、自治性、專業(yè)性強(qiáng)的特點(diǎn),系統(tǒng)總體上采用分層分域的樹(shù)型結(jié)構(gòu),分布式管理與局域集中管理相結(jié)合的監(jiān)控體系,并采用面向服務(wù)的體系結(jié)構(gòu)。全局注冊(cè)中心(對(duì)應(yīng)GMA中的目錄服務(wù))在全局域內(nèi)維護(hù)、定位、命名和描述各局部域的監(jiān)控服務(wù),各個(gè)局部域內(nèi)的監(jiān)控服務(wù)通過(guò)在全局注冊(cè)中心中注冊(cè)實(shí)現(xiàn)相互的發(fā)現(xiàn)。全局監(jiān)控信息收集者通過(guò)在全局注冊(cè)中心查找各個(gè)域監(jiān)控服務(wù)注冊(cè)信息,發(fā)現(xiàn)域監(jiān)控服務(wù)地址,然后直接通過(guò)服務(wù)調(diào)用,將各個(gè)域監(jiān)控服務(wù)對(duì)外發(fā)布的資源監(jiān)測(cè)信息收集匯總,通過(guò)分析處理將歷史信息存檔。全局監(jiān)控服務(wù)還接受全局監(jiān)控服務(wù)的實(shí)時(shí)或歷史資源信息的查詢請(qǐng)求。域監(jiān)控服務(wù)接受來(lái)自域內(nèi)外用戶的查詢請(qǐng)求,和全局信息收集者的統(tǒng)計(jì)信息收集請(qǐng)求,也可以接收其它監(jiān)控域服務(wù)的查詢請(qǐng)求,當(dāng)然也可以在全局注冊(cè)中心查詢感興趣的域監(jiān)控服務(wù)并通過(guò)服務(wù)調(diào)用發(fā)出資源監(jiān)控信息查詢請(qǐng)求。每個(gè)域內(nèi)的監(jiān)控信息收集者,主要負(fù)責(zé)依次收集局部監(jiān)控域內(nèi)各個(gè)資源結(jié)點(diǎn)中sensor提供的監(jiān)測(cè)信息,并用統(tǒng)一的信息模型來(lái)統(tǒng)一有效地管理收集來(lái)的信息。因此,系統(tǒng)總體結(jié)構(gòu)如圖2所示。
圖2 GridMonitor系統(tǒng)總體結(jié)構(gòu)
2.2 GridMonitor系統(tǒng)的功能模塊設(shè)計(jì)
由于網(wǎng)格系統(tǒng)本身是一個(gè)復(fù)雜的異構(gòu)、分布式系統(tǒng),加入其中的資源更具有很強(qiáng)動(dòng)態(tài)性和不穩(wěn)定性。所以,該資源監(jiān)控系統(tǒng)要實(shí)現(xiàn)的首要功能是:對(duì)網(wǎng)格環(huán)境下異構(gòu)、分布的各種資源進(jìn)行統(tǒng)一有效的監(jiān)控,及時(shí)響應(yīng)資源所有者、使用者以及系統(tǒng)管理員等對(duì)資源固有屬性和使用狀態(tài)等信息的查詢,同時(shí)還要提供動(dòng)態(tài)預(yù)測(cè)功能支持網(wǎng)格作業(yè)管理及任務(wù)調(diào)度等功能的實(shí)現(xiàn)。此外,它還要負(fù)責(zé)對(duì)分布在網(wǎng)格環(huán)境中大量異構(gòu)資源的信息和狀態(tài)數(shù)據(jù)進(jìn)行組織、收集、處理和存儲(chǔ),并以服務(wù)的方式向網(wǎng)格用戶與應(yīng)用提供這些資源監(jiān)測(cè)信息。
1)資源監(jiān)控信息的收集 數(shù)據(jù)收集模塊是整個(gè)體系結(jié)構(gòu)的基礎(chǔ),是GMA體系中的生產(chǎn)者,負(fù)責(zé)整個(gè)被監(jiān)控體系的數(shù)據(jù)收集任務(wù),并向上層Web應(yīng)用提供數(shù)據(jù)支持,是承上啟下的關(guān)鍵環(huán)節(jié)。數(shù)據(jù)收集模塊的設(shè)計(jì)原則是準(zhǔn)確反映被監(jiān)控資源的狀態(tài)信息,在此基礎(chǔ)之上,要求資源占用低,收集的信息豐富。目前,本系統(tǒng)需要收集的資源信息包括主機(jī)類信息、作業(yè)類信息、應(yīng)用類信息和用戶類信息。主機(jī)類信息包括硬件資源的狀態(tài)信息,靜態(tài)的和動(dòng)態(tài)的;作業(yè)類信息包括作業(yè)號(hào),作業(yè)的狀態(tài),用戶等信息;應(yīng)用類信息包括所有軟件的所有模塊的License數(shù)目及目前的使用者;用戶類信息包括用戶完成作業(yè)數(shù),出錯(cuò)作業(yè)數(shù),使用的CPU時(shí)間及在線時(shí)間。
2)資源監(jiān)控信息的查詢 GridMonitor系統(tǒng)是一個(gè)面向用戶的結(jié)構(gòu),允許用戶訪問(wèn)感興趣的資源基本信息或狀態(tài)數(shù)據(jù)。GridMonitor既可以為用戶提供實(shí)時(shí)的網(wǎng)格資源狀態(tài)信息,也可以為用戶提供一段時(shí)間之內(nèi)監(jiān)測(cè)資源的歷史數(shù)據(jù)。但是,無(wú)限制的給用戶提供各種資源信息,不僅會(huì)給系統(tǒng)造成沉重負(fù)擔(dān),而且?guī)?lái)不必要的安全隱患,因此,需要對(duì)用戶所得資源信息進(jìn)行限制,對(duì)資源和用戶都進(jìn)行分級(jí)別,加強(qiáng)安全處理工作。目前系統(tǒng)對(duì)用戶分為以下級(jí)別:普通用戶,VIP用戶、系統(tǒng)管理員幾個(gè)級(jí)別,對(duì)用戶分級(jí),不僅可以便于管理,給不同的用戶提供不同的服務(wù)QoS,也提高了系統(tǒng)的安全性。
查詢功能可以通過(guò)在JSP中嵌入腳本來(lái)完成。當(dāng)用戶點(diǎn)擊感興趣的資源信息以及輸入所要查詢的時(shí)間段后,系統(tǒng)調(diào)用后臺(tái)腳本,處理后所得結(jié)果顯示給用戶。也可以在用戶輸入想要查詢的資源后,系統(tǒng)通過(guò)調(diào)用數(shù)據(jù)庫(kù)查詢語(yǔ)句來(lái)獲得,同樣把所得結(jié)果處理后以圖表的方式顯示給用戶。
設(shè)計(jì)思想如下:對(duì)于普通用戶和管理員用戶提供不同的portal登陸頁(yè)面,這樣,普通用戶端就可以被限制為只可以查看和查詢與自己相關(guān)的資源信息,比如自己所提交作業(yè)的相關(guān)信息、自己的在線時(shí)間等。這一步解決了安全問(wèn)題。對(duì)于用戶輸入所要查詢的資源后,系統(tǒng)調(diào)用腳本或者數(shù)據(jù)庫(kù)查詢語(yǔ)句,處理后把所得結(jié)果以圖表的方式顯示給用戶。
3)資源信息的統(tǒng)計(jì)與歸檔 資源的動(dòng)態(tài)信息具有更新頻繁,種類繁多等特點(diǎn)因此產(chǎn)生的數(shù)據(jù)量十分巨大,由此帶來(lái)了一系列的問(wèn)題:資源存儲(chǔ)空間不夠,信息查找效率低下,使用維護(hù)非常不方便,解決的辦法就是采用良好的統(tǒng)計(jì)和歸檔策略將信息壓縮存入數(shù)據(jù)庫(kù)中。當(dāng)然,要注意的是存儲(chǔ)信息量的降低不能以犧牲滿足用戶的需求為代價(jià)。根據(jù)以上要求,我們?cè)O(shè)計(jì)了一套自適應(yīng)的均值信息統(tǒng)計(jì)與歸檔方案,來(lái)完成信息的統(tǒng)計(jì)與歸檔,經(jīng)過(guò)測(cè)試證明,方案能較為有效地滿足用戶對(duì)歷史監(jiān)測(cè)信息的查詢請(qǐng)求。
方案總體設(shè)計(jì)如下:通過(guò)編寫shell腳本,利用Linux本身提供的的crontab具有定制任務(wù)功能,對(duì)于定期收集的信息,處理之后歸檔。例如CPU利用率的定期收集與歸檔設(shè)計(jì)如下:每小時(shí)定時(shí)執(zhí)行采集任務(wù),把所得數(shù)據(jù)放入.hour文件;每天把.hour中的數(shù)據(jù)分析處理,放入.day文件中,同時(shí)清空.hour文件中內(nèi)容,為了第二天重新采集數(shù)據(jù)覆蓋之用;每月定期把.day中的數(shù)據(jù)分析處理后,放入.month文件中,同時(shí)清空其中的內(nèi)容,為下月數(shù)據(jù)采集覆蓋之用。這樣,就保留了受控資源一年內(nèi)的信息,在每年的結(jié)束之時(shí),對(duì)于這些信息,歸檔存儲(chǔ)。這些都可以通過(guò)crontab的任務(wù)定制功能和shell腳本結(jié)合完成,完全不用人工干預(yù),很好的解決了更新和維護(hù)需求。
以上對(duì)系統(tǒng)的各個(gè)組成模塊和系統(tǒng)結(jié)構(gòu)進(jìn)行了闡述,下面對(duì)各個(gè)模塊的具體實(shí)現(xiàn)進(jìn)行闡述。
3.1 主機(jī)類資源信息服務(wù)的實(shí)現(xiàn)
針對(duì)安裝了 LSF的系統(tǒng),以 LSF為系統(tǒng)的sensor,封裝LSF命令到腳本程序,執(zhí)行信息采集服務(wù),獲取主機(jī)類信息,實(shí)時(shí)檢測(cè)程序收集得到的信息,得到主機(jī)類資源信息服務(wù)的實(shí)現(xiàn)。
對(duì)于安裝有LSF的結(jié)點(diǎn),我們可以設(shè)置節(jié)點(diǎn)能承受的作業(yè)數(shù)目,對(duì)于管理結(jié)點(diǎn),我們可以設(shè)置不讓在此進(jìn)行作業(yè)的運(yùn)行,對(duì)于非管理結(jié)點(diǎn),我們可以設(shè)置能運(yùn)行的最大作業(yè)數(shù)。
針對(duì)安裝了PBS的系統(tǒng),利用PBS提供的API以及Linux工具sar,得到的主機(jī)類信息如圖3所示。
圖3 PBS監(jiān)控的主機(jī)類信息服務(wù)
3.2 應(yīng)用類資源信息服務(wù)的實(shí)現(xiàn)
通過(guò)實(shí)現(xiàn) Elim腳本利用 Flexlm實(shí)現(xiàn)軟件license的動(dòng)態(tài)監(jiān)控, 再通過(guò) java的 Runtime. getRuntime().exec()運(yùn)行外部命令類來(lái)實(shí)現(xiàn)軟件license信息的收集。 目前系統(tǒng)安裝的軟件有ansyscfx、materials、gaussian03、ansys。ls_dyna和fastran,系統(tǒng)已經(jīng)做到對(duì)這些軟件的license進(jìn)行實(shí)時(shí)監(jiān)控,包括軟件模塊的名稱、license總數(shù)、已用license數(shù)和使用者名字。
3.3 作業(yè)類資源信息服務(wù)的實(shí)現(xiàn)
由于底層作業(yè)管理系統(tǒng)的不同,分為L(zhǎng)SF監(jiān)控的作業(yè)和PBS監(jiān)控的作業(yè),利用這兩種軟件提供的作業(yè)管理相關(guān)API,使用信息采集程序,可以得到作業(yè)運(yùn)行狀態(tài)的信息。
3.4 用戶類資源信息服務(wù)的實(shí)現(xiàn)
利用LSF對(duì)用戶所運(yùn)行作業(yè)進(jìn)行統(tǒng)計(jì),利用Linux工具如ac對(duì)系統(tǒng)日志進(jìn)行解析,得到用戶的作業(yè)信息和在線時(shí)間的統(tǒng)計(jì)結(jié)果,同時(shí),支持對(duì)用戶作業(yè)數(shù)和在線時(shí)間的查詢功能。
圖4 LSF監(jiān)控的作業(yè)信息服務(wù)
查詢的實(shí)現(xiàn)是通過(guò)后臺(tái)執(zhí)行查詢腳本,得到用戶作業(yè)信息,處理后返回給用戶。
GridMonitor系統(tǒng)已在某高校大學(xué)校園網(wǎng)格內(nèi)部署使用。此系統(tǒng)的實(shí)現(xiàn),有效地解決了校園網(wǎng)格的自動(dòng)化管理和可視化管理問(wèn)題;可以及時(shí)有效的排除系統(tǒng)故障;監(jiān)控服務(wù)為作業(yè)調(diào)度提供數(shù)據(jù)支持,達(dá)到校園網(wǎng)格負(fù)載均衡,License的充分共享;監(jiān)控服務(wù)提供用戶信息的詳細(xì)統(tǒng)計(jì),為收費(fèi)系統(tǒng)的建立提供數(shù)據(jù)支持;監(jiān)控服務(wù)的自動(dòng)化數(shù)據(jù)收集與歸檔功能可以為下一階段的性能預(yù)測(cè)服務(wù)提供充實(shí)的數(shù)據(jù),可以提供更高的QoS,滿足各個(gè)層次的用戶需求。
[1]金海,袁平鵬,石柯譯.網(wǎng)格計(jì)算[M].2版.北京:電子工業(yè)出版社,2004.
[2]徐志偉,馮百明,李偉.網(wǎng)格計(jì)算技術(shù)[M].北京:電子工業(yè)出版社,2004.
[3]田鳴華.網(wǎng)格環(huán)境下的資源監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)[D].長(zhǎng)沙.國(guó)防科技大學(xué),2004.
[4]吳大剛,肖榮榮.C/S結(jié)構(gòu)與B/S結(jié)構(gòu)的信息系統(tǒng)比較分析[J].情報(bào)科學(xué),2003(3):313-315.
[5]GrADS Projects.[EB/OL]Htpp://www.hipersoft.rice. edu/grads/index.html
[6]潘景山.基于網(wǎng)格環(huán)境的資源監(jiān)控的研究及實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué),2004.
[7]郁志輝,陳渝,劉鵬.網(wǎng)格計(jì)算[M].北京:清華出版社,2002.
[8]徐志偉,馮百明,李偉.網(wǎng)格計(jì)算技術(shù)[M].北京:電子工業(yè)出版社,2004.
[9]馬滿福,吳健,胡正國(guó),等.網(wǎng)格計(jì)算資源管理中的信譽(yù)度模型[J].計(jì)算機(jī)應(yīng)用,2005(1):61-64.
[10]舒萬(wàn)能,鄭世玨,陳廣東,等.校園網(wǎng)格的負(fù)載均衡算法研究 [J].計(jì)算機(jī)技術(shù)與發(fā)展,2006(1):126-128.
An implementation of school grid resource monitor system GridMonitor
LI Shu-ling
(Xi'an Eurasia University,Xi'an 710065,China)
It is an important topic that how to interact and manage various distributed,dynamic,diversity, self-governing, isomerous resources to improve availability of resource and effective management in the resource manage system.We design and implement a grid resource monitor system after analyzing data collected by monitor service,which is rich content and flexible.This system is used to provide real-time monitor for application,host and user.Also,it analyzesand stores data collected.
computation grid;grid resource monitor;GMA;Job scheduling
TN0
:A
:1674-6236(2017)01-0078-04
2016-01-19稿件編號(hào):201601152
李淑玲(1976—),女,河南鄭州人,碩士,工程師。研究方向:計(jì)算機(jī)應(yīng)用。