亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于TORQUE的高性能計(jì)算平臺(tái)記賬系統(tǒng)

        2016-09-08 10:30:57李惠歡吳汝明
        關(guān)鍵詞:記賬日志高性能

        李惠歡 楊 敏 吳汝明

        (中山大學(xué)網(wǎng)絡(luò)與信息技術(shù)中心 廣東 廣州 510275)

        ?

        基于TORQUE的高性能計(jì)算平臺(tái)記賬系統(tǒng)

        李惠歡楊敏吳汝明

        (中山大學(xué)網(wǎng)絡(luò)與信息技術(shù)中心廣東 廣州 510275)

        高性能計(jì)算已成為繼理論研究和實(shí)驗(yàn)科學(xué)之后的第三種科研方法。如何高效地利用高性能計(jì)算平臺(tái)上眾多的設(shè)備為科研提供有效服務(wù)是管理者需要面對(duì)的主要問(wèn)題。主要介紹基于開(kāi)源軟件TORQUE的高性能計(jì)算平臺(tái)記賬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),包括計(jì)算算法、系統(tǒng)架構(gòu)、主要功能模塊、數(shù)據(jù)設(shè)計(jì)及代碼實(shí)現(xiàn)。通過(guò)歸納法分析TORQUE日志記錄模式,給出從作業(yè)角度和資源角度進(jìn)行資源使用率的計(jì)算方法。該記賬系統(tǒng)架構(gòu)劃分為五層,系統(tǒng)具有很好的靈活性和開(kāi)放性,可以很容易地移植到其他平臺(tái)或者其他類(lèi)型的作業(yè)調(diào)度系統(tǒng)上。該系統(tǒng)更著重于當(dāng)前資源的使用情況、用戶(hù)資源使用情況、任務(wù)等待時(shí)間,而非簡(jiǎn)單的費(fèi)用計(jì)算和賬單打印,所以它更能為管理者和決策者提供有效且強(qiáng)大的數(shù)據(jù)支撐。

        TORQUE記賬系統(tǒng)高性能計(jì)算平臺(tái)資源利用率

        0 引 言

        隨著科學(xué)技術(shù)的高速發(fā)展,無(wú)論是計(jì)算平臺(tái)還是科學(xué)計(jì)算的應(yīng)用軟件都得到迅速發(fā)展。為了滿(mǎn)足各學(xué)科科學(xué)計(jì)算的需求,集中式的高性能計(jì)算(HPC)平臺(tái)、GPU平臺(tái)在高等學(xué)校如雨后春筍般出現(xiàn)。高性能計(jì)算機(jī)系統(tǒng)是一套由多個(gè)計(jì)算節(jié)點(diǎn)、管理節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)組成的計(jì)算機(jī)系統(tǒng),節(jié)點(diǎn)間通過(guò)網(wǎng)絡(luò)有序協(xié)同工作,目前計(jì)算力可達(dá)到每秒億億次的水平。HPC被廣泛應(yīng)用于高性能計(jì)算中心、國(guó)家實(shí)驗(yàn)室和各種領(lǐng)域。

        通觀我國(guó)目前在高性能計(jì)算平臺(tái)上記賬和計(jì)費(fèi)系統(tǒng)的研究情況,有基于PBS系統(tǒng)記賬信息設(shè)計(jì)的計(jì)費(fèi)系統(tǒng)[7,9],也有基于PBS系統(tǒng)并重新設(shè)計(jì)記賬信息收集器和分析器的;有基于其他作業(yè)管理軟件設(shè)計(jì)的(如通過(guò)采集LSF系統(tǒng)作業(yè)調(diào)度及資源分配信息設(shè)計(jì)的預(yù)付費(fèi)系統(tǒng)[3]、基于LSF的計(jì)算配額系統(tǒng)[5]、對(duì)神威4000A系統(tǒng)和IBM系統(tǒng)設(shè)計(jì)的統(tǒng)一資源管理系統(tǒng)[1]),也有進(jìn)行了校園網(wǎng)格系統(tǒng)和計(jì)費(fèi)系統(tǒng)整體結(jié)構(gòu)及模塊設(shè)計(jì)的研究[10]。但系統(tǒng)設(shè)計(jì)往往缺乏對(duì)高性能計(jì)算平臺(tái)整體系統(tǒng)的通盤(pán)考慮,缺少對(duì)計(jì)算平臺(tái)的環(huán)境監(jiān)控管理系統(tǒng)、集群負(fù)荷管理系統(tǒng)、Web作業(yè)提交系統(tǒng)、作業(yè)記賬計(jì)費(fèi)系統(tǒng)、門(mén)戶(hù)系統(tǒng)、決策分析系統(tǒng)等整個(gè)生態(tài)系統(tǒng)的統(tǒng)籌規(guī)劃,系統(tǒng)缺少可擴(kuò)展性和靈活性。

        目前中山大學(xué)高性能計(jì)算服務(wù)平臺(tái)共有4套系統(tǒng),包括3套HPC平臺(tái)和1套GPU平臺(tái),使用團(tuán)隊(duì)已超過(guò)170多個(gè),涉及化工、環(huán)境、物理、海洋、生物等多個(gè)學(xué)科領(lǐng)域。隨著用戶(hù)數(shù)量的增加,如何充分利用現(xiàn)有資源為用戶(hù)和高性能中心帶來(lái)最大的效率和效益,是HPC平臺(tái)管理者必須面對(duì)的問(wèn)題。為此我們希望通過(guò)利用HPC平臺(tái)的TORQUE日志信息開(kāi)發(fā)一個(gè)記賬系統(tǒng)。鑒于當(dāng)前我校免費(fèi)使用、院校共建、資方優(yōu)先、統(tǒng)一管理的政策,系統(tǒng)關(guān)注點(diǎn)主要是系統(tǒng)資源是如何使用,哪些資源是短缺的,哪些資源沒(méi)有被充分利用,哪些資源被哪些應(yīng)用長(zhǎng)期占用等;并非關(guān)注用戶(hù)使用了哪些資源及他們需要付多少費(fèi),因而它為領(lǐng)導(dǎo)決策、平臺(tái)擴(kuò)展和升級(jí)、用戶(hù)使用指引提供了有效有力的數(shù)據(jù)依據(jù)。

        1 TORQUE工作原理

        PBS是一個(gè)批處理作業(yè)和計(jì)算機(jī)系統(tǒng)資源管理的軟件包,是功能最全、歷史最久、支持最廣的本地集群調(diào)度器之一。PBS包括OpenPBS、PBS Pro和TORQUE三個(gè)主要分支,TORQUE是Adaptive Computing公司基于OpenPBS給予后續(xù)支持的一個(gè)開(kāi)源版本。TORQUE和Maui一起進(jìn)行資源調(diào)度和作業(yè)管理,對(duì)批量作業(yè)和分布式計(jì)算節(jié)點(diǎn)提供控制。

        1.1TORQUE工作模式

        TORQUE由一個(gè)頭節(jié)點(diǎn)和多個(gè)計(jì)算節(jié)點(diǎn)構(gòu)成,在頭節(jié)點(diǎn)上運(yùn)行pbs_server守護(hù)進(jìn)程,在各計(jì)算節(jié)點(diǎn)上運(yùn)行的是pbs_mom進(jìn)程。提交和管理作業(yè)的客戶(hù)端命令(作業(yè)的啟動(dòng)、取消、監(jiān)控)可以在任何主機(jī)上安裝,包括沒(méi)有運(yùn)行pbs_server或 pbs_mom進(jìn)程的主機(jī)[6],如圖1所示。

        圖1 TORQUE結(jié)構(gòu)圖

        頭節(jié)點(diǎn)同時(shí)還運(yùn)行了一個(gè)調(diào)度進(jìn)程pbs_sched,此調(diào)度器與pbs_server進(jìn)程一起,提供資源使用決策并為作業(yè)分配節(jié)點(diǎn)。TORQUE提供了包括啟動(dòng)、保留、取消和監(jiān)控作業(yè)的一系列底層方法,調(diào)度器借此實(shí)施作業(yè)控制。在TORQUE的分發(fā)包中提供了簡(jiǎn)單的FIFO先入先出調(diào)度器以及高級(jí)的編程式調(diào)度器兩個(gè)選擇,但大部分的TORQUE用戶(hù)選擇使用打包的第三方調(diào)度器,如Maui或Moab。

        作業(yè)整個(gè)生命周期可以分為創(chuàng)建、提交、執(zhí)行和結(jié)束四個(gè)階段。用戶(hù)首先要編寫(xiě)作業(yè)腳本,在腳本中定義作業(yè)各種參數(shù),包括作業(yè)應(yīng)運(yùn)行多長(zhǎng)時(shí)間(walltime)、哪些資源是必要的以及作業(yè)執(zhí)行內(nèi)容。然后使用qsub命令向pbs_server進(jìn)程發(fā)送作業(yè)提交請(qǐng)求。TORQUE將依據(jù)管理員預(yù)先定義的策略規(guī)則設(shè)定作業(yè)優(yōu)先級(jí),并同時(shí)開(kāi)始啟動(dòng)作業(yè)執(zhí)行。pbs_server接收到一個(gè)新作業(yè)后通知調(diào)度器。當(dāng)調(diào)度器為作業(yè)找到所需資源后,就向pbs_server發(fā)送指令,把可分配給作業(yè)的節(jié)點(diǎn)列表信息發(fā)送給pbs_server進(jìn)程。緊接著pbs_server將新作業(yè)發(fā)送到節(jié)點(diǎn)列表的第一個(gè)節(jié)點(diǎn)上,并命令它啟動(dòng)作業(yè)。此節(jié)點(diǎn)被指定為執(zhí)行主機(jī),稱(chēng)為Mother Superior,作業(yè)中的其他節(jié)點(diǎn)稱(chēng)為sister moms。

        1.2TORQUE日志記錄分析

        TORQUE把批量作業(yè)的日志記錄存放在$TORQUEROOT/server_priv/accounting/文件中,是以YYYYMMDD的日期格式進(jìn)行定義,每天的日志記錄放在同一個(gè)文件中。文件為普通的文本文件,在文件中記錄了作業(yè)發(fā)生的事件、時(shí)間戳、用戶(hù)、作業(yè)隊(duì)列、請(qǐng)求資源和使用資源的信息。日志記錄基本格式為:

        Timestamp;EventMarker;JobNum;EventDetail

        日志記錄有八種不同的事件標(biāo)記EventMarker,包括A(系統(tǒng)放棄執(zhí)行作業(yè))、C(作業(yè)已設(shè)置檢查點(diǎn)并保留)、D(作業(yè)已被刪除)、E(作業(yè)已退出,可能是作業(yè)計(jì)算完畢退出或者中途出錯(cuò)而退出)、Q(作業(yè)已遞交或者排隊(duì)中)、R(試圖返回作業(yè))、S(試圖開(kāi)始一個(gè)新作業(yè))、T(試圖從檢查點(diǎn)重啟作業(yè))。如果平臺(tái)可用資源未能滿(mǎn)足作業(yè)需求而導(dǎo)致作業(yè)未能啟動(dòng),將產(chǎn)生多個(gè)作業(yè)試圖啟動(dòng)事件,也就會(huì)記錄多個(gè)S日志記錄。

        不同事件的事件詳情EventDetail不盡相同。在事件S和事件E中,詳細(xì)記錄了作業(yè)的申請(qǐng)用戶(hù)user、用戶(hù)組group、作業(yè)名稱(chēng)jobname、作業(yè)所在隊(duì)列queue、作業(yè)提交時(shí)間ctime、啟動(dòng)時(shí)間start、實(shí)際運(yùn)行節(jié)點(diǎn)exec_host、作業(yè)請(qǐng)求資源情況(作業(yè)運(yùn)行所需節(jié)點(diǎn)、節(jié)點(diǎn)數(shù)量、運(yùn)行所需時(shí)間)。事件E中還記錄了作業(yè)結(jié)束時(shí)間end、退出狀態(tài)Exit_status、資源使用情況(CPU內(nèi)核使用時(shí)間的最大值resources_used.cput、內(nèi)存使用量的最大值resources_used.mem、虛擬內(nèi)存使用量最大值resources_used.vmem以及作業(yè)實(shí)際運(yùn)行時(shí)間最大值resources_used.walltime)。

        我們從日志記錄文件中抽取了10 000多個(gè)記錄進(jìn)行分析,從分析結(jié)果歸納出三種TORQUE日志記錄模型(如圖2所示)。通常情況下,用戶(hù)用qsub命令發(fā)出作業(yè)請(qǐng)求后,TORQUE將作業(yè)請(qǐng)求放到作業(yè)隊(duì)列中,同時(shí)生成事件Q日志。然后通知調(diào)度器為新作業(yè)搜索所需資源,同時(shí)產(chǎn)生事件S日志。如果當(dāng)前可用資源不能完全滿(mǎn)足作業(yè)要求,TORQUE將不斷重復(fù)輪詢(xún),也就是事件S。當(dāng)可用資源已能滿(mǎn)足作業(yè)所需時(shí),系統(tǒng)將分配資源給新作業(yè)并開(kāi)始計(jì)算,直到作業(yè)正確執(zhí)行完成或者中途出錯(cuò)退出,TORQUE將記錄事件E日志。在場(chǎng)景2中,在已啟動(dòng)作業(yè)或者請(qǐng)求資源還未成功時(shí),用戶(hù)執(zhí)行qdel命令主動(dòng)刪除了作業(yè)的,系統(tǒng)進(jìn)行作業(yè)刪除操作釋放資源并生成事件D日志記錄,刪除成功后再生成事件E日志記錄。

        圖2 TORQUE日志記錄模型

        對(duì)于某些VIP用戶(hù),可以把作業(yè)遞交給多個(gè)作業(yè)隊(duì)列進(jìn)行資源輪詢(xún),此時(shí)可能出現(xiàn)R事件標(biāo)記。在這些特殊場(chǎng)景中,也就是場(chǎng)景3中,即使作業(yè)進(jìn)入E退出狀態(tài)后,仍可以發(fā)生事件R,并可再次引發(fā)事件S重新試圖啟動(dòng)作業(yè)。這樣將產(chǎn)生多個(gè)E事件記錄,在計(jì)算作業(yè)實(shí)際運(yùn)行耗時(shí)時(shí)需額外考慮。

        2 記賬系統(tǒng)的設(shè)計(jì)

        本記賬系統(tǒng)是基于TORQUE日志記錄的,高性能計(jì)算集群采用曙光5000A系統(tǒng),集群平臺(tái)在2010年擴(kuò)容后理論計(jì)算峰值達(dá)3.5萬(wàn)億次,平臺(tái)日常負(fù)載在60%~70%。操作系統(tǒng)使用Rocks 5.1和CentOS 5.3,科學(xué)計(jì)算軟件有MM5、WRF、Material Studio、Gaussian、CASTEP等,可支持氣象、環(huán)境、海洋、物理、化學(xué)、材料、生物等相關(guān)領(lǐng)域的科學(xué)計(jì)算。為能適應(yīng)TORQUE日志記錄模式的特性,為便于移植到其他平臺(tái)(如GPU平臺(tái))作業(yè)調(diào)度系統(tǒng)上,本記賬系統(tǒng)的體系結(jié)構(gòu)設(shè)計(jì)體現(xiàn)開(kāi)放性和靈活性的特點(diǎn),系統(tǒng)模塊設(shè)計(jì)充分考慮原子性和擴(kuò)展性。

        2.1使用率計(jì)算算法

        高性能計(jì)算集群系統(tǒng)主要包括CPU、內(nèi)存、虛擬內(nèi)存、硬盤(pán)空間、帶寬等資源類(lèi)型。對(duì)所有資源按“集群+節(jié)點(diǎn)類(lèi)型+資源類(lèi)型”方式進(jìn)行資源分類(lèi),節(jié)點(diǎn)類(lèi)型包括計(jì)算節(jié)點(diǎn)、管理節(jié)點(diǎn)、胖節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)等。定義HPC系統(tǒng)整體可用資源集為:V={V1,V2,…,VM},假設(shè)按上述資源分類(lèi)方式共有K種資源分類(lèi)情況。

        (1) 從作業(yè)角度計(jì)算用戶(hù)應(yīng)付費(fèi)用或使用資源情況

        對(duì)于不同的資源分類(lèi)定義其單價(jià),如5000A系統(tǒng)上胖節(jié)點(diǎn)的CPU單價(jià)為p1,GPU系統(tǒng)上計(jì)算節(jié)點(diǎn)的GPU單價(jià)為p2等,則定義單價(jià)集合為:P={p1,p2,…,pK}。

        假設(shè)某用戶(hù)在集群上運(yùn)行了N個(gè)作業(yè),定義作業(yè)集為:S={s1,s2,…,sN}。設(shè)其中某個(gè)作業(yè)si(1≤i≤N)運(yùn)行實(shí)際耗時(shí)為ti,作業(yè)運(yùn)行期間共使用了Li個(gè)資源,則其使用的資源集為:Ri={rij|rij∈V且j=1,2,…,Li},資源rij的使用數(shù)量記為aij,資源使用量集合可以表示為:Ai={aij|j=1,2,…,Li}。根據(jù)以上資源分類(lèi)方式,統(tǒng)計(jì)資源使用量得到各類(lèi)資源使用量匯總集:

        此套公式同樣地可用于計(jì)算資源使用情況,只要把單價(jià)集合P看作各資源分類(lèi)的使用比重則可??梢?jiàn),費(fèi)用與所使用資源的類(lèi)型、資源的提供能力、使用資源時(shí)長(zhǎng)有關(guān),為增加系統(tǒng)可擴(kuò)展性增加了用戶(hù)組級(jí)別和作業(yè)級(jí)別的影響因子。

        (2) 從資源角度計(jì)算資源使用情況

        (3) 其他需考慮因素

        對(duì)于內(nèi)存、虛擬內(nèi)存、帶寬等系統(tǒng)資源而言,資源使用數(shù)量是動(dòng)態(tài)的,只能估算時(shí)間段內(nèi)資源使用均值,從而計(jì)算資源使用率。在實(shí)際應(yīng)用中往往以CPU利用率作為節(jié)點(diǎn)/集群使用率計(jì)算標(biāo)準(zhǔn)。例如某個(gè)計(jì)算節(jié)點(diǎn)有8個(gè)內(nèi)核,如果某作業(yè)占用了該節(jié)點(diǎn)全部8個(gè)內(nèi)核,無(wú)論其他資源的使用情況如何,可以認(rèn)為節(jié)點(diǎn)的全部資源都已分配給該作業(yè),其他作業(yè)不能同時(shí)使用此節(jié)點(diǎn)。

        作業(yè)往往會(huì)出現(xiàn)跨天、跨周、跨月運(yùn)行的情況,統(tǒng)計(jì)時(shí)間顆粒度越小則可能性越大。對(duì)于這些情況,通常記賬信息中只有事件S的日志記錄,記錄了作業(yè)運(yùn)行的節(jié)點(diǎn)和CPU內(nèi)核情況。對(duì)于從作業(yè)角度進(jìn)行用戶(hù)資源使用情況統(tǒng)計(jì)的,應(yīng)以作業(yè)運(yùn)行完畢并釋放資源才能進(jìn)行統(tǒng)計(jì)。對(duì)于從資源角度進(jìn)行資源使用情況統(tǒng)計(jì)的,應(yīng)考慮作業(yè)跨越統(tǒng)計(jì)時(shí)間段的問(wèn)題,考慮統(tǒng)計(jì)時(shí)間段之前就已經(jīng)開(kāi)始執(zhí)行的作業(yè)以及在統(tǒng)計(jì)時(shí)間段后才結(jié)束的作業(yè)。這樣的話,對(duì)于CPU內(nèi)核資源使用情況的統(tǒng)計(jì)結(jié)果才是準(zhǔn)確的。

        2.2系統(tǒng)結(jié)構(gòu)

        參考數(shù)字化校務(wù)管理系統(tǒng)的設(shè)計(jì),記賬系統(tǒng)采用自上而下的設(shè)計(jì)方法,系統(tǒng)架構(gòu)分為5層(如圖3所示),包括用戶(hù)界面層、業(yè)務(wù)層、應(yīng)用組件層、應(yīng)用接口層以及基礎(chǔ)平臺(tái)層。技術(shù)規(guī)范、信息標(biāo)準(zhǔn)和系統(tǒng)安全保障橫跨各個(gè)層面。每層為上層提供服務(wù),同時(shí)從下層接口中獲得相應(yīng)的服務(wù)。

        圖3 記賬系統(tǒng)架構(gòu)

        在最頂層為用戶(hù)界面層,直接面向最終用戶(hù)服務(wù),使用普通瀏覽器作為客戶(hù)端,用戶(hù)無(wú)需額外安裝客戶(hù)端軟件包。用戶(hù)界面層為所有用戶(hù)提供了統(tǒng)一登陸入口,系統(tǒng)掛載在高性能計(jì)算門(mén)戶(hù)系統(tǒng)下,門(mén)戶(hù)系統(tǒng)與校園SSO單點(diǎn)登陸系統(tǒng)對(duì)接實(shí)現(xiàn)了NetID登錄,用戶(hù)只需輸入NetID賬號(hào)密碼就可以進(jìn)入記賬系統(tǒng)。系統(tǒng)根據(jù)用戶(hù)所在的用戶(hù)組為其展現(xiàn)個(gè)性化界面,安全模塊中的授權(quán)管理模塊可為各用戶(hù)組設(shè)定不同的功能菜單項(xiàng)。將用戶(hù)界面作為單獨(dú)一層,可以把系統(tǒng)外觀設(shè)計(jì)獨(dú)立出來(lái),使系統(tǒng)更具柔韌性。

        第二層為業(yè)務(wù)層,也是記賬系統(tǒng)的功能模型集合。該層包含每月資源使用率計(jì)算、每月賬單打印查詢(xún)、各種類(lèi)統(tǒng)計(jì)報(bào)表表格生成以及決策支持等功能。這層以服務(wù)接口的方式為用戶(hù)界面層提供服務(wù),同時(shí)從下層的應(yīng)用組件層的相應(yīng)引擎中獲取服務(wù)。

        第三層為應(yīng)用組件層,從記賬系統(tǒng)業(yè)務(wù)中分析抽象出來(lái)的引擎組件,為上層提供通用的應(yīng)用組件以構(gòu)成業(yè)務(wù)功能塊。通用組件包括對(duì)TORQUE原始日志記錄進(jìn)行分析的數(shù)據(jù)分析引擎、實(shí)現(xiàn)日志文件訪問(wèn)的文件處理引擎、實(shí)現(xiàn)統(tǒng)計(jì)報(bào)表管理的報(bào)表引擎、記錄用戶(hù)操作的日志引擎等。應(yīng)用組件層的設(shè)計(jì)遵守以下原則:

        ① 支持未來(lái)發(fā)展,使用規(guī)則引擎避免重復(fù)編碼;

        ② 使組件盡量單一化,以實(shí)現(xiàn)代碼重用和業(yè)務(wù)功能重構(gòu);

        ③ 通過(guò)組件聚合使得組件更易于維護(hù)和擴(kuò)展。

        應(yīng)用接口層由各類(lèi)適配器構(gòu)成,負(fù)責(zé)與基礎(chǔ)平臺(tái)層進(jìn)行對(duì)接和通信,為應(yīng)用組件層提供服務(wù),使其不必依賴(lài)于基礎(chǔ)平臺(tái)。這層主要包括文件讀寫(xiě)接口、數(shù)據(jù)庫(kù)存取接口等。

        最底層的基礎(chǔ)平臺(tái)層是記賬系統(tǒng)的基礎(chǔ),包括高性能計(jì)算平臺(tái)上的各種基礎(chǔ)部件(如集群的操作系統(tǒng)和文件系統(tǒng)、作業(yè)管理調(diào)度系統(tǒng))、數(shù)據(jù)庫(kù)、Java虛擬機(jī)等。

        2.3系統(tǒng)功能

        系統(tǒng)服務(wù)對(duì)象包括普通使用者、集群管理員以及決策層領(lǐng)導(dǎo)等三大類(lèi)用戶(hù)群體,不同類(lèi)型用戶(hù)的權(quán)限將不盡相同,系統(tǒng)為不同用戶(hù)組的用戶(hù)提供差異化服務(wù)。系統(tǒng)包括五大模塊,分別是基礎(chǔ)信息管理、使用情況查詢(xún)、費(fèi)用和賬單、統(tǒng)計(jì)報(bào)表和安全管理等。

        基礎(chǔ)信息管理是對(duì)系統(tǒng)基礎(chǔ)數(shù)據(jù)的維護(hù),包括集群、節(jié)點(diǎn)、各類(lèi)資源、集群用戶(hù)等。

        在使用情況查詢(xún)模塊中,普通用戶(hù)可以獲知每個(gè)作業(yè)使用資源的詳細(xì)情況,包括運(yùn)行所使用的節(jié)點(diǎn)、CPU內(nèi)核、內(nèi)存和存儲(chǔ)的情況(對(duì)于未完成作業(yè)不可查詢(xún))。管理員可以查看某個(gè)用戶(hù)的資源使用情況,也可以查看所有用戶(hù)的使用情況詳情和單獨(dú)查看某個(gè)設(shè)備的使用情況。

        在費(fèi)用和賬單模塊中,普通用戶(hù)可以查看他們每月需付費(fèi)用,自行打印賬單以及賬單明細(xì)項(xiàng)目。對(duì)于管理員則可以進(jìn)行每月賬單的計(jì)算和適量調(diào)整,可以進(jìn)行計(jì)費(fèi)標(biāo)準(zhǔn)的設(shè)置,而且還可以按月打印所有用戶(hù)的賬單。

        統(tǒng)計(jì)報(bào)表模塊為管理員和決策領(lǐng)導(dǎo)提供每周、每月和每年的各類(lèi)資源使用報(bào)告(包括CPU內(nèi)核、內(nèi)存以及虛擬內(nèi)存),提供作業(yè)等待時(shí)間的統(tǒng)計(jì),對(duì)用戶(hù)使用資源的統(tǒng)計(jì),對(duì)緊缺資源的統(tǒng)計(jì),還提供統(tǒng)計(jì)結(jié)果圖形方式展示。圖4是資源使用情況統(tǒng)計(jì)報(bào)告的用例圖,模塊中除了含有公用的報(bào)表打印用例外,還包括對(duì)每周、每月和每年統(tǒng)計(jì)報(bào)表的查看。利用統(tǒng)計(jì)報(bào)表模塊,管理員可以摸索出各種資源使用規(guī)律,可以給集群用戶(hù)提供準(zhǔn)確的使用建議以充分發(fā)揮計(jì)算平臺(tái)性能。通過(guò)統(tǒng)計(jì)報(bào)表模塊,決策者可以獲知平臺(tái)是否使用恰當(dāng),是否能滿(mǎn)足用戶(hù)需要,資源是否緊缺,從而為平臺(tái)擴(kuò)展升級(jí)作出準(zhǔn)確的判斷和決策。

        圖4 統(tǒng)計(jì)報(bào)表模塊用例圖

        安全模塊包含了用戶(hù)管理、用戶(hù)組管理和用戶(hù)認(rèn)證授權(quán)等。用戶(hù)授權(quán)是面向用戶(hù)組的,實(shí)現(xiàn)功能菜單級(jí)授權(quán),不同用戶(hù)組可查看的業(yè)務(wù)功能不盡相同,同一用戶(hù)只能指定唯一的用戶(hù)組。

        2.4系統(tǒng)概要設(shè)計(jì)

        記賬系統(tǒng)使用單獨(dú)的服務(wù)器安裝部署,每天晚上進(jìn)行日志文件的同步。通過(guò)DAWNING 5000A系統(tǒng)中的定時(shí)任務(wù),以scp方式把TORQUE前一天的日志文件傳送到記賬系統(tǒng)上。在計(jì)算平臺(tái)DAWNING 5000A的管理節(jié)點(diǎn)上,定義定時(shí)任務(wù)腳本upload.sh,由于scp會(huì)出現(xiàn)詢(xún)問(wèn)用戶(hù)密碼和確認(rèn)傳送的交互過(guò)程,因此借助系統(tǒng)的Expect工具實(shí)行自動(dòng)化控制。另一方面,記賬系統(tǒng)中也需定義每晚的定時(shí)任務(wù),通過(guò)整合Quartz到Spring架構(gòu)中就可以實(shí)現(xiàn)。處理過(guò)程大致為:首先檢查新日志文件是否已傳送過(guò)來(lái),如果文件沒(méi)找到則發(fā)郵件給管理員,否則進(jìn)行日志文件數(shù)據(jù)分析,生成每天日志記錄、作業(yè)、資源使用情況等信息存到數(shù)據(jù)庫(kù)中。

        記賬系統(tǒng)采用Java作為開(kāi)發(fā)語(yǔ)言,采用Struts+Spring+Hibernate架構(gòu)搭建基于MySQL數(shù)據(jù)庫(kù)的B/S應(yīng)用。依據(jù)用戶(hù)需求,系統(tǒng)分日志記錄、基礎(chǔ)數(shù)據(jù)、費(fèi)用賬單、用戶(hù)管理等業(yè)務(wù)包,核心的日志記錄部分的類(lèi)圖如圖5所示。日志記錄包覆蓋了TORQUE原始日志信息(基于作業(yè)事件)、數(shù)據(jù)分析后產(chǎn)生的作業(yè)詳情(基于每個(gè)作業(yè))、節(jié)點(diǎn)和CPU內(nèi)核占用情況(從資源角度);基礎(chǔ)數(shù)據(jù)包用于記錄平臺(tái)各類(lèi)資源(節(jié)點(diǎn)、內(nèi)核、存儲(chǔ)、內(nèi)存);費(fèi)用帳單包記錄了每個(gè)用戶(hù)每月使用各類(lèi)資源的小計(jì)、費(fèi)用以及收費(fèi)標(biāo)準(zhǔn)等;用戶(hù)管理包括用戶(hù)、用戶(hù)組、菜單資源和資源分配關(guān)系等類(lèi)。

        圖5 日志記錄部分的類(lèi)圖

        圖6為經(jīng)過(guò)分析原始日志記錄后生成的作業(yè)信息的查詢(xún)界面,可以查看每個(gè)作業(yè)的狀態(tài)(事件)路徑歷程,與1.2節(jié)中日志記錄模型相吻合。圖7為通過(guò)分析原始日志記錄,得到作業(yè)執(zhí)行節(jié)點(diǎn)和內(nèi)核信息后,統(tǒng)計(jì)出的節(jié)點(diǎn)使用率,可以進(jìn)行每天、每周、每月三種粒度的使用率統(tǒng)計(jì)。

        圖6 作業(yè)信息詳情查詢(xún)頁(yè)面

        圖7 節(jié)點(diǎn)使用率統(tǒng)計(jì)頁(yè)面

        記帳系統(tǒng)的數(shù)據(jù)分析過(guò)程包括如下步驟:

        1) 每天晚上定時(shí)獲得TORQUE日志記錄文件;

        2) 分析每天日志文件,對(duì)每行記錄日志進(jìn)行分析并存儲(chǔ)在accounting日志記錄表中;如果是新作業(yè)則新建作業(yè)信息到j(luò)ob作業(yè)表中,否則更新job表的舊作業(yè);

        3) 對(duì)于已完成計(jì)算的作業(yè),根據(jù)作業(yè)計(jì)算實(shí)際使用的內(nèi)核信息,生成每天內(nèi)核上運(yùn)行作業(yè)的占用時(shí)間和比率,并存儲(chǔ)到coreOccupation內(nèi)核占用情況表中;

        4) 根據(jù)內(nèi)核占用情況,統(tǒng)計(jì)每天節(jié)點(diǎn)的占用時(shí)間和比率均值,并存儲(chǔ)在nodeOccupation節(jié)點(diǎn)占用情況表;

        5) 對(duì)于已完成計(jì)算的作業(yè),計(jì)算用戶(hù)運(yùn)行該作業(yè)所使用各類(lèi)資源總和(內(nèi)核總時(shí)數(shù)、內(nèi)存及虛擬內(nèi)存最大使用量)。

        下面給出處理日志記錄文件部分的代碼:

        /** 讀取并分析pathname路徑下文件 **/

        private boolean readFile(String pathname) {

        int rowCount=0; String line = ″″;

        try {

        File filename = new File(pathname);

        InputStreamReader reader = new InputStreamReader(new FileInputStream(filename));

        BufferedReader br = new BufferedReader(reader);

        line = br.readLine();

        //一次讀入一行數(shù)據(jù)

        while (line != null) {

        analysisOneLine(line);

        rowCount++;

        line = br.readLine();

        }

        br.close();

        } catch (Exception e) {

        e.printStackTrace();

        }

        return true;

        }

        /** 分析某一行數(shù)據(jù) **/

        private void analysisOneLine(String line) {

        Map acclog = new HashMap();

        //用于存儲(chǔ)某行的日志信息

        List hosts = new ArrayList();

        //用于存儲(chǔ)該作業(yè)的實(shí)際執(zhí)行節(jié)點(diǎn)和內(nèi)核

        if (null != line && line.length() > 0) {

        //每行數(shù)據(jù)用分號(hào)分隔并記錄日志的時(shí)間截、事件標(biāo)志、

        //作業(yè)號(hào)、詳細(xì)信息

        String[] lineCell = line.split(″;″);

        if(lineCell.length==3 || lineCell.length==4){

        acclog.put(″logTimestamp″, lineCell[0]);

        acclog.put(″status″, lineCell[1]);

        acclog.put(″jobid″, lineCell[2]);

        //有詳細(xì)信息的,要進(jìn)行詳細(xì)信息處理

        if(lineCell.length==4){

        acclog.put(″detail″, lineCell[3]);

        analysisDetail(lineCell[3], acclog, hosts);

        }

        //存儲(chǔ)日志信息到數(shù)據(jù)庫(kù)中

        addDb(acclog,hosts);

        }

        }

        }

        3 結(jié) 語(yǔ)

        本文提出的記賬系統(tǒng)適用于所有基于TORQUE的作業(yè)管理計(jì)算平臺(tái),系統(tǒng)設(shè)計(jì)充分考慮靈活性和可擴(kuò)展性,易于維護(hù)管理,易于移植到其他工作調(diào)度系統(tǒng)或其他平臺(tái)的調(diào)度系統(tǒng)上。下一步將不斷豐富系統(tǒng)功能,增強(qiáng)系統(tǒng)健壯性,并將系統(tǒng)擴(kuò)展應(yīng)用到GPU平臺(tái)上。

        鑒于我校免費(fèi)使用的政策,目前系統(tǒng)只提供用戶(hù)的資源使用情況,還沒(méi)有做用戶(hù)費(fèi)用計(jì)算。當(dāng)前系統(tǒng)數(shù)據(jù)分析完全依賴(lài)于TORQUE的日志記錄,但日志記錄只能反映單個(gè)作業(yè)對(duì)資源的整體使用情況,對(duì)于節(jié)點(diǎn)的真實(shí)使用情況無(wú)法獲得,因此目前系統(tǒng)只提供CPU資源的使用情況。

        后續(xù)可以進(jìn)一步改進(jìn),在節(jié)點(diǎn)上做操作系統(tǒng)層的資源使用情況日志記錄,并結(jié)合TORQUE日志則可以知道具體作業(yè)在節(jié)點(diǎn)上的詳盡資源使用情況??梢愿櫽脩?hù)所使用計(jì)算軟件,掌握計(jì)算軟件的資源使用特性,為以后設(shè)備采購(gòu)起指導(dǎo)性作用。

        [1] 沈瑜,李娟,常飚,等.高性能計(jì)算機(jī)統(tǒng)一資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算技術(shù)與自動(dòng)化,2014,33(1):83-90.

        [2] 顧群.基于Torque的異構(gòu)集群平臺(tái)調(diào)度算法的設(shè)計(jì)與實(shí)現(xiàn)[D].西安電子科技大學(xué),2013.

        [3] 林皎,張武生,徐偉平,等.高性能計(jì)算平臺(tái)預(yù)付費(fèi)管理系統(tǒng)的研制與應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2012,29(12):104-105.

        [4] 楊敏.廣東省教育科研網(wǎng)格門(mén)戶(hù)系統(tǒng)構(gòu)建[J].武漢大學(xué)學(xué)報(bào):理學(xué)版,2012,58(S1):371-375.

        [5] 牛鐵,朱鵬,趙毅,等.超級(jí)計(jì)算環(huán)境計(jì)算配額系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2010,30(S2):8-9,39.

        [6] Adaptive Computing.TORQUE Resource Manager Administrator Guide version 4.2.1[M].Adaptive Computing Enterprises Inc,2012.

        [7] 陳振婭,楊英,陳麗娟,等.基于OpenPBS的高性能計(jì)算平臺(tái)計(jì)費(fèi)系統(tǒng)[J].山東科學(xué),2009,22(5):98-102.

        [8] 辛小霞,吳汝明.一種基于SOA的校務(wù)管理系統(tǒng)框架模型[J].中山大學(xué)學(xué)報(bào):自然科學(xué)版,2009,48(S1):264-266.

        [9] 王偉,楊利,劉建鋒.一種高性能計(jì)算環(huán)境中的計(jì)費(fèi)系統(tǒng)[J].計(jì)算機(jī)工程與科學(xué),2008,30(1):148-150.

        [10] 劉明良.基于校園網(wǎng)格系統(tǒng)計(jì)費(fèi)方案研究[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2008,17(3):60-63,91.

        [11] Radulescu A,Van Gemund A J C.Low-cost task scheduling for distributed-memory machines[J].IEEE Transactions on Parallel and Distributed Systems,2002,13(6):648-658.

        [12] Jianhua Adu.An New Accounting and Billing System for HPC Cluster[C]//Advanced Materials Research,2010,108-111:884-887.

        TORQUE-BASED ACCOUNTING SYSTEM FOR HIGH-PERFORMANCE COMPUTING PLATFORM

        Li HuihuanYang MinWu Ruming

        (NetworkandInformationTechnologyCenter,SunYat-senUniversity,Guangzhou510275,Guangdong,China)

        High-performance computing has become the third scientific research method following the theoretical research and experimental science. How to efficiently utilise numerous devices on high-performance computing platform to provide effective services for scientific researches is a major problem faced by the managers. This paper mainly introduces the design and implementation of a TORQUE-based accounting system for high-performance computing platform, which includes the computational algorithm, the system architecture, the main functional modules, the data design and the code implementation. Through analysing the logging mode of TORQUE with induction it presents the calculation method of resource utilisation from the prospective of jobs and resources. The architecture of accounting system is divided into five levels and the system has good flexibility and openness, which can be easily ported to other platforms and other kinds of job scheduling systems. The system focuses more on the usage of current resources, user’s resource utilisation and task waiting time rather than the cost calculation and bill printing, so it can provide more effective and powerful data support for administrators and decision-makers.

        TORQUEAccounting systemHigh-performance computing platformResource utilisation

        2014-11-01。李惠歡,工程師,主研領(lǐng)域:計(jì)算機(jī)軟件和應(yīng)用,網(wǎng)絡(luò)信息技術(shù),高性能計(jì)算軟件。楊敏,工程師。吳汝明,高工。

        TP315

        A

        10.3969/j.issn.1000-386x.2016.08.028

        猜你喜歡
        記賬日志高性能
        一名老黨員的工作日志
        扶貧日志
        心聲歌刊(2020年4期)2020-09-07 06:37:14
        記賬類(lèi)APP
        農(nóng)家參謀(2019年2期)2019-09-10 03:54:02
        游學(xué)日志
        一款高性能BGO探測(cè)器的研發(fā)
        電子制作(2017年19期)2017-02-02 07:08:49
        高性能砼在橋梁中的應(yīng)用
        代理記賬:會(huì)計(jì)“工學(xué)結(jié)合”的新動(dòng)向
        SATA推出全新高性能?chē)姌孲ATAjet 5000 B
        高性能可變進(jìn)氣岐管降低二氧化碳排放
        蜜桃臀无码内射一区二区三区| 亚洲午夜精品一区二区麻豆av| 无码专区亚洲综合另类| 最新国产女主播在线观看| 国产精品无码一区二区三区电影 | 成人网站免费大全日韩国产| 国产福利小视频在线观看| 久久精品成人一区二区三区蜜臀| 精品国产一区二区三区三级| 人与人性恔配视频免费| 亚洲精品无码成人a片| 国产亚洲精品A在线无码| 亚洲最大视频一区二区三区| 成人日韩熟女高清视频一区| 午夜亚洲www湿好爽| 日韩欧美在线观看成人| 亚洲乱码av中文一区二区第八页| 日本熟妇人妻xxxx| 国产极品美女高潮抽搐免费网站| 国产精品亚洲综合天堂夜夜| 国产性感午夜天堂av| 亚洲av高清一区二区三| 国产情侣真实露脸在线| 无码久久精品国产亚洲av影片| 国产精品不卡无毒在线观看| 女人的天堂av免费看| 亚洲最大不卡av网站| 精品乱人伦一区二区三区| 黄色成人网站免费无码av| 成人国产乱对白在线观看| 91偷拍与自偷拍亚洲精品86 | 精品老熟女一区二区三区在线| 朝鲜女人大白屁股ass孕交| 亚洲国产av一区二区三区四区| 91亚洲人成手机在线观看| 99久久久69精品一区二区三区 | 狠狠躁日日躁夜夜躁2020| 久久综合第一页无码| 精品专区一区二区三区| 国产成人无码av一区二区在线观看| 免费xxx在线观看|