游偉倩,盛樂標(biāo),張予倩
(南京大學(xué) 高性能計(jì)算中心,江蘇 南京 210093)
高性能計(jì)算(High Performance Computing, HPC)主要致力于開發(fā)超級(jí)計(jì)算機(jī),提高并行計(jì)算效率。近些年,高性能計(jì)算領(lǐng)域發(fā)展非常迅速。隨著大規(guī)模計(jì)算集群的應(yīng)運(yùn)而生,人們對(duì)于高性能計(jì)算集群的管理與運(yùn)維也投入大量的研究。南京大學(xué)HPC中心成立于2010年,自成立起共購置了兩套集群,一套IBM刀片集群,共包括402個(gè)計(jì)算節(jié)點(diǎn),3216核,該套系統(tǒng)Linpack測試達(dá)到了91.92%。2016年,由于計(jì)算資源無法滿足用戶的科研計(jì)算需求,南京大學(xué)又投資了建設(shè)了一套新的高性能計(jì)算集群系統(tǒng)。這套集群系統(tǒng)共包括910個(gè)CPU節(jié)點(diǎn),共計(jì)21840個(gè)CPU核;4個(gè)gpu計(jì)算節(jié)點(diǎn),兩套存儲(chǔ)設(shè)備,規(guī)模龐大。整個(gè)集群系統(tǒng)的CPU理論峰值達(dá)到870萬億次浮點(diǎn)運(yùn)算/秒,在2016年12月份的Linpack測試并行效率為79.62%。該套計(jì)算集群已于2017年5月正式投入使用,為校內(nèi)外科研用戶計(jì)算提供了良好的服務(wù)。截至目前,集群用戶已有兩百多人。該套集群節(jié)點(diǎn)多,使用人數(shù)眾多,用戶應(yīng)用程序也比較廣泛。為了使整個(gè)龐大的計(jì)算集群可以安全的運(yùn)行與管理,使用戶能夠高效方便地去做科研計(jì)算,該套集群無論是用戶創(chuàng)建以及管理,還是用戶作業(yè)提交以及管理方面都有著自己的特色。在集群管理方面,集群也做到了遠(yuǎn)程監(jiān)控以及實(shí)時(shí)監(jiān)控集群節(jié)點(diǎn)運(yùn)行情況以及用戶作業(yè)運(yùn)行情況,還可以分析集群整體運(yùn)行特性以及用戶應(yīng)用程序分析。本文將以該套HPC集群為研究對(duì)象,詳細(xì)闡述一下整套集群的運(yùn)行與管理。
LSF是智能化的、基于調(diào)度策略的高性能計(jì)算負(fù)載均衡管理系統(tǒng),通過集中監(jiān)控、調(diào)度和分析聯(lián)網(wǎng)計(jì)算機(jī)的負(fù)載,LSF可最大限度地共享計(jì)算機(jī)的CPU、內(nèi)存、磁盤、License等計(jì)算資源。南京大學(xué)HPC中心集群采用IBM公司的LSF10.1資源調(diào)度軟件對(duì)集群上的計(jì)算資源進(jìn)行統(tǒng)一調(diào)度管理,用戶提交作業(yè)時(shí)將統(tǒng)一使用LSF作業(yè)管理系統(tǒng)進(jìn)行作業(yè)提交、管理、監(jiān)控、刪除、卸載等操作。集群總計(jì)三個(gè)作業(yè)調(diào)度節(jié)點(diǎn),分別為job01、job02、job03,其中一個(gè)節(jié)點(diǎn)運(yùn)行Platform LSF的主調(diào)度程序,另外兩個(gè)節(jié)點(diǎn)運(yùn)行LSF從調(diào)度進(jìn)程,三個(gè)節(jié)點(diǎn)組合保證了調(diào)度系統(tǒng)的高可用。
用戶必須在登錄節(jié)點(diǎn)用 bsub 命令遞交作業(yè),作業(yè)調(diào)度主機(jī)接收并放到匹配的隊(duì)列里排隊(duì)等待,當(dāng)系統(tǒng)滿足該作業(yè)的資源及條件后,將作業(yè)分配到相關(guān)節(jié)點(diǎn)進(jìn)行計(jì)算,計(jì)算結(jié)束時(shí)系統(tǒng)在登錄節(jié)點(diǎn)上給出計(jì)算結(jié)果報(bào)告、錯(cuò)誤報(bào)告和相關(guān)信息。如圖1所示。
圖1 LSF作業(yè)生命周期
南大HPC集群共有四個(gè)計(jì)算節(jié)點(diǎn)c01n01、c01n02、 c01n03、 c01n04,作業(yè)只能在登錄節(jié)點(diǎn)上提交。但是gpu作業(yè)也可以在gpu01節(jié)點(diǎn)提交。
LSF可以根據(jù)集群特點(diǎn)和需求將集群節(jié)點(diǎn)分成幾個(gè)隊(duì)列,南大HPC計(jì)算集群共有906個(gè)CPU計(jì)算節(jié)點(diǎn),4個(gè)gpu節(jié)點(diǎn),其隊(duì)列如下。
serial隊(duì)列:總計(jì)6個(gè)節(jié)點(diǎn),總核數(shù)144個(gè),我們?cè)O(shè)定串行作業(yè)和24核(不含)以下的并行作業(yè)默認(rèn)提交至此隊(duì)列。
mpi隊(duì)列:共包含節(jié)點(diǎn)890個(gè)(每節(jié)點(diǎn)24核,內(nèi)存128GB),總核數(shù)21360個(gè),是南大HPC集群主要并行計(jì)算隊(duì)列。
largemem隊(duì)列:包含10個(gè)節(jié)點(diǎn)(每節(jié)點(diǎn)24核,內(nèi)存256GB),主要為一些大內(nèi)存特殊用戶使用。
gpu隊(duì)列:包含節(jié)點(diǎn):4個(gè)節(jié)點(diǎn),主要為做gpu需求的用戶提供需要。
上面給出了LSF作業(yè)調(diào)度系統(tǒng)的作業(yè)生命周期以及高性能計(jì)算中心的隊(duì)列設(shè)置情況。事實(shí)上LSF還有很多強(qiáng)大的功能,比如對(duì)于系統(tǒng)管理員,可以通過其設(shè)置機(jī)器分組、查看機(jī)器負(fù)載,以及統(tǒng)計(jì)機(jī)時(shí)和限制用戶提交作業(yè)數(shù)目以及核數(shù)等。而用戶則可以通過LSF很多命令查看作業(yè)運(yùn)行情況、終止作業(yè)等??梢酝ㄟ^表1來查看LSF的各種命令。
表1 LSF常用命令
截止到2018年6月,南大HPC中心計(jì)算賬號(hào)達(dá)到了228個(gè),中心使用LDAP用戶管理方式給用戶開戶以及管理用戶及用戶組。LDAP server節(jié)點(diǎn)安裝在集群的job01和job02上,其他節(jié)點(diǎn)均為客戶端節(jié)點(diǎn)。管理員可通過圖形化界面方式以及命令行方式創(chuàng)建和管理用戶,這里僅介紹圖形化界面方式如何創(chuàng)建用戶。
在windows上啟動(dòng)ldap admin程序,在左側(cè)樹形結(jié)構(gòu)中,找到ou=people,創(chuàng)建新用戶,如圖2所示。在正確的條目下,右鍵點(diǎn)擊創(chuàng)建新的用戶即可。按照目錄里面的信息將用戶信息填寫完畢后,這樣用戶zhenyn就創(chuàng)建完成,生成的用戶條目如下圖3所示。
圖2 南大HPC集群創(chuàng)建用戶界面
圖3 南大HPC集群創(chuàng)建好的用戶
我們還通過LDAP來創(chuàng)建用戶組,以及管理用戶和用戶組,包括修改、刪除用戶等。
集群系統(tǒng)作業(yè)管理通過LSF作業(yè)調(diào)度系統(tǒng)來實(shí)現(xiàn),LADP用戶管理則承擔(dān)了整個(gè)集群用戶創(chuàng)建和用戶管理的任務(wù)。為了更加有效地管理與運(yùn)行集群系統(tǒng),集群還安裝一些管理軟件,下面將具體介紹一下南大HPC集群的管理是如何實(shí)現(xiàn)的。
南大HPC集群的LICO安裝在job03節(jié)點(diǎn),在管理員主頁上如圖4所示,系統(tǒng)管理員可以查看整個(gè)集群的基本狀態(tài),這里可以看到以下信息。
圖4 南大HPC集群LICO管理界面
hpc.com:集群名字。
集群CPU:服務(wù)器集群CPU的利用率。目前Flex集群被占用核數(shù)為14560個(gè),集群總開機(jī)核數(shù)18600個(gè),CPU利用率為78%。
集群內(nèi)存:整個(gè)服務(wù)器集群系統(tǒng)的內(nèi)存的利用率,包括集群總共具有的內(nèi)存大小和已經(jīng)被占用的內(nèi)存大小。圖4顯示南大HPC集群內(nèi)存使用率為15.91%,說明目前集群內(nèi)存資源充足。
集群存儲(chǔ):表示整個(gè)集群存儲(chǔ)系統(tǒng)的利用率,包括集群總共具有的存儲(chǔ)空間大小和已經(jīng)被占用存儲(chǔ)空間大小。這里僅顯示南大HPC集群家目錄總存儲(chǔ)容量為1.39PB,已經(jīng)使用80.56TB。
作業(yè):顯示作業(yè)的歷史信息,包括運(yùn)行中的作業(yè)數(shù),正在等待中的作業(yè)數(shù)和已經(jīng)結(jié)束的作業(yè)數(shù)。系統(tǒng)管理員可以根據(jù)自己的需求設(shè)置隊(duì)列、時(shí)間等各種選項(xiàng),查看當(dāng)前的集群上運(yùn)行的作業(yè)情況,對(duì)集群作業(yè)運(yùn)行情況有一個(gè)比較全面的了解。
節(jié)點(diǎn)占用情況:顯示整個(gè)計(jì)算集群中的節(jié)點(diǎn)占用情況:包括忙碌、占用、空閑和關(guān)機(jī)。節(jié)點(diǎn)占用情況可以讓系統(tǒng)管理員詳細(xì)了解集群的負(fù)載情況。
網(wǎng)絡(luò)吞吐:表示整個(gè)集群服務(wù)器網(wǎng)絡(luò)的吞吐量,包括寫速率和讀速率。系統(tǒng)管理員可以通過這個(gè)大概了解一下集群系統(tǒng)的網(wǎng)絡(luò)是否有異常。
由上述集群的基本狀態(tài)參數(shù),系統(tǒng)管理員就能對(duì)整個(gè)集群做出一個(gè)初步判斷。如果發(fā)現(xiàn)異常,再找到解決措施。
為了監(jiān)控與分析集群系統(tǒng)應(yīng)用運(yùn)行情況,同時(shí)為系統(tǒng)調(diào)優(yōu)收集數(shù)據(jù),南大HPC集群安裝了Paramon和Paratune。Paramon通過實(shí)時(shí)監(jiān)控、采集HPC集群服務(wù)器的CPU、gpu、內(nèi)存、網(wǎng)絡(luò)和存儲(chǔ)等關(guān)鍵設(shè)備的性能數(shù)據(jù),然后以圖形化的方式直觀顯示,可以了解硬件環(huán)境的運(yùn)行現(xiàn)狀,了解集群中隱含的硬件問題,從而在問題發(fā)生第一時(shí)間給出解決方案。Paratune則可以針對(duì)Paramon采集的數(shù)據(jù),分析集群系統(tǒng)一段時(shí)間以來的運(yùn)行情況,而且可以對(duì)集群系統(tǒng)中應(yīng)用軟件隨時(shí)間變化的運(yùn)行特征作詳細(xì)分析。
(1)南大HPC集群實(shí)時(shí)監(jiān)控及整機(jī)特性分析
圖5 南大HPC集群Paramon實(shí)時(shí)監(jiān)控界面
南大HPC集群共包含900多個(gè)節(jié)點(diǎn),如果每個(gè)節(jié)點(diǎn)都要查看是否正常,則是一件非常繁瑣的事情。而由上圖5在實(shí)時(shí)監(jiān)控界面,可以看到整個(gè)南大HPC集群的運(yùn)行狀態(tài),可看到各個(gè)節(jié)點(diǎn)的運(yùn)行狀況,是否有異常。如果發(fā)現(xiàn)某個(gè)節(jié)點(diǎn)有異常如負(fù)載過高,再以root賬戶登錄查看,找到解決方案。而在匯總信息上,可以查看集群平均負(fù)載。作業(yè)信息界面可以查看用戶作業(yè)運(yùn)行情況,如作業(yè)是否空跑等。
由下圖6整機(jī)性能特征分析可見:2018年5月份,南大HPC集群的CPU 利用率在45%~80%之間波動(dòng),內(nèi)存利用率穩(wěn)定在15%左右。
圖6 南大HPC計(jì)算資源整體利用率曲線
(2)南大HPC集群上各應(yīng)用程序特征分析
南大HPC集群上目前使用比較多的應(yīng)用程序有wrf,vasp,qcprog等,其中wrf應(yīng)用占用比達(dá)到了76.07%。為了能夠詳細(xì)了解各個(gè)應(yīng)用對(duì)集群的需求情況,我們對(duì)wrf做了如下分析。
圖7 南大HPC集群中某wrf算例運(yùn)行特征圖
由圖7可見:wrf應(yīng)用計(jì)算量大,網(wǎng)絡(luò)流量高。對(duì)集群資源需求是高主頻多核CPU,同時(shí)需要高速的IB網(wǎng)絡(luò)。通過此分析管理員會(huì)建議wrf用戶在提交作業(yè)時(shí)注意這幾個(gè)方面的需求,將作業(yè)提交到指定的隊(duì)列。
vasp也是集群用戶常用的一個(gè)應(yīng)用,我們也對(duì)該應(yīng)用作了特征分析(如圖8)。
由上圖可見vasp應(yīng)用計(jì)算量大、通信頻繁,對(duì)計(jì)算集群的需求是要高速網(wǎng)(需要通信、大量讀寫),但是其對(duì)內(nèi)存要求比較低。所以我們會(huì)建議用戶將vasp作業(yè)提交到小內(nèi)存隊(duì)列,避免資源浪費(fèi)。
圖8 南大HPC集群中某vasp算例運(yùn)行特征圖
南京大學(xué)高性能計(jì)算中心一直走在國內(nèi)高校高性能計(jì)算的前沿,新集群規(guī)模目前排國內(nèi)高校第一。集群不僅規(guī)模龐大,性能也穩(wěn)定高效,為校內(nèi)以及校外科研用戶提供一個(gè)可靠的計(jì)算平臺(tái)。其在集群系統(tǒng)運(yùn)行與管理方面也有著豐富的經(jīng)驗(yàn)。集群運(yùn)行一年多來,良好的集群管理與運(yùn)維模式讓廣大用戶使用集群更加高效便捷,得到了廣大用戶的一致認(rèn)可。隨著高性能計(jì)算的發(fā)展,更加高效合理的管理與運(yùn)維模式將是大家關(guān)注的重點(diǎn)。