文/萬林 包嬋嬋 平凡
近些年的科研實踐表明,高性能計算在提高科研水平,加速科研成果產(chǎn)出方面具有無可替代的重要意義[1]。高校作為重要的科研力量,其在高性能計算系統(tǒng)的應(yīng)用和建設(shè)方面投入了巨大的資源。其中以校級計算系統(tǒng)最具有代表性,包括北京大學的“未名一號”,上海交通大學的“π”[2],以及中國科學技術(shù)大學的“超級計算中心”[3]等。山東大學從2016 年開始組織籌備新的高性能計算系統(tǒng),實踐了容器技術(shù)在高性能計算環(huán)境中完成資源的管控,改變了高性能計算環(huán)境的公共服務(wù)能力與模式,并優(yōu)化用戶應(yīng)用體驗,取得了較滿意的應(yīng)用效果。
山東大學科學計算的應(yīng)用需求具有多樣化碎片化的特點,其中既包括計算機、數(shù)學、信息、生命、物理、化學、醫(yī)學、材料、機械等傳統(tǒng)的科學計算相關(guān)專業(yè),也包括經(jīng)濟、管理、文學、新聞傳播、電氣等有新興的計算需求的專業(yè)。絕大多數(shù)計算和存儲能力的需求不高,但個性化需求較多,工具軟件繁雜,用戶技術(shù)能力和經(jīng)驗參差不齊。此外山東大學具有異地辦學的特點,校區(qū)眾多、人員分散。新系統(tǒng)作為山東大學“大型設(shè)備公共技術(shù)平臺”的一部分[4],從項目建設(shè)伊始就以“統(tǒng)管共享”運行機制為基礎(chǔ),整合匯集全校的科研計算需求,以簡便用戶應(yīng)用獲得和使用為核心,而計算性能并不作為最關(guān)鍵的考核指標。基于上述現(xiàn)狀,結(jié)合近些年IT 技術(shù)的新進展和IT 服務(wù)的新模式,形成了具有山東大學特色,以服務(wù)山東大學教學科研為目標的,具有公共服務(wù)屬性的“山東大學高性能計算云平臺”(文中簡稱“平臺”)。
平臺與傳統(tǒng)的高性能計算系統(tǒng)的最主要區(qū)別是用戶服務(wù)模式的不同。首先,引入云計算的服務(wù)模式,將絕大多數(shù)的用戶訪問和工具軟件安裝部署等工作通過互聯(lián)網(wǎng)轉(zhuǎn)移到平臺端,減少用戶在具體設(shè)備和系統(tǒng)側(cè)的工作量和技術(shù)難度;其次,通過容器技術(shù)對計算資源進行抽象,并封裝工具軟件和環(huán)境,實現(xiàn)工具軟件安裝部署工作的可復(fù)制化,減少重復(fù)性工作量,實現(xiàn)對資源的精細化管理調(diào)度。此外,實現(xiàn)計算資源抽象后,傳統(tǒng)高性能計算系統(tǒng)中的資源獨占、資源利用率低的問題就能夠得到較好的解決,資源需求并不極端的多個用戶可以同時共享計算資源;再次,引入互聯(lián)網(wǎng)應(yīng)用中較為普及的社交功能,平臺用戶可以通過專業(yè)領(lǐng)域和科研興趣形成科研團隊,交換計算應(yīng)用實例和數(shù)據(jù),交流平臺使用經(jīng)驗,從而形成以科研和學習為目的的協(xié)作促進機制,促進多學科的交叉與融合式發(fā)展;最后,平臺對于每個用戶都是獨立的學習工作空間,平臺的易用程度遠高于本地計算機,交互模式又近似于本地計算機,軟件資源和數(shù)據(jù)資源也是即插即用式的,因此這樣的環(huán)境對提高專業(yè)背景不同的用戶在學習工作中的“獲得感”和“滿足感”,并促使其把更多的精力投入到具體的學習科研工作中,提高科研的產(chǎn)出率。因此這種具有公共服務(wù)屬性的高性能計算系統(tǒng)服務(wù)模式就能在實現(xiàn)簡便易用的同時,適配盡可能多的應(yīng)用軟件和應(yīng)用場景。
根據(jù)山東大學現(xiàn)有與科研計算相關(guān)的業(yè)務(wù),平臺確定服務(wù)如下的目標場景:
基于科研項目的中小規(guī)模的并行計算需求;
圖1 山東大學高性能計算云平臺
個人的程序設(shè)計與測試運行;
教學實驗課中的實踐內(nèi)容;
基于工作流的計算需求。
其中前兩個場景可以直接替代傳統(tǒng)高性能計算系統(tǒng)應(yīng)用場景。后兩個場景由于具有了流程化的特征,因此需要與具體的用戶需求相結(jié)合并融合部分高校業(yè)務(wù)系統(tǒng),同時進行較多的教學科研需求分析,目前尚處于需求調(diào)研分析階段。
圖2 平臺用戶界面
資源使用量,包括實例個數(shù)、實例運行時長、內(nèi)核使用量、內(nèi)存使用量、異構(gòu)計算資源的使用量等[5]。平臺中每個用戶自助創(chuàng)建的應(yīng)用實例和數(shù)據(jù)都是私有獨立的,并可以實現(xiàn)數(shù)據(jù)持久化,既用于存儲作業(yè)完成后的結(jié)果數(shù)據(jù),也用于作業(yè)運算期間結(jié)果的存儲和數(shù)據(jù)緩存。用戶與應(yīng)用實例的交互可以通過命令行界面,也可以通過圖形界面,其操作的方式與本地計算機類似,且用戶本地的計算機無需安裝任何軟件。目前應(yīng)用實例還只能適配基于Linux環(huán)境的操作規(guī)則和應(yīng)用環(huán)境[6]。
平臺的系統(tǒng)體系基于傳統(tǒng)的x86 架構(gòu)處理器,以容器技術(shù)對資源進行抽象和調(diào)度,同時容器實例對工具軟件和環(huán)境進行封裝。平臺與山東大學校園網(wǎng)連接,并利用山東大學信息服務(wù)系統(tǒng)實現(xiàn)全校師生的統(tǒng)一認證登錄,在校園網(wǎng)提供具有統(tǒng)一服務(wù)門戶的計算服務(wù)。
用戶應(yīng)用方面,應(yīng)用交互通過瀏覽器實現(xiàn)。由于部分工具軟件和環(huán)境已被封裝為容器應(yīng)用模板,因此可以免去軟件安裝部署和環(huán)境配置的工作,簡便用戶使用。同時容器輕量化的特點,使其更容易實現(xiàn)定制化和迭代的版本管理,并且應(yīng)用模板的管理也更靈活簡便。模板既可以是所有用戶通用的,通過類似應(yīng)用市場分發(fā)的應(yīng)用模板,也可以是用戶自定義的私有應(yīng)用模板。每個應(yīng)用實例通過應(yīng)用模板創(chuàng)建,創(chuàng)建實例時,部分應(yīng)用可以定制化的設(shè)置
與傳統(tǒng)的計算中心或數(shù)據(jù)中心不同,“山東大學高性能計算云平臺”當中的容器實例不提供Web 應(yīng)用,而是模仿本地計算機提供用戶交互。因此平臺在軟件開發(fā)期間對容器技術(shù)做了大量優(yōu)化和擴充,以使容器實例適應(yīng)這種類型的工作模式。這其中容器的網(wǎng)絡(luò)與數(shù)據(jù)持久化是較為關(guān)鍵的技術(shù)。
平臺中容器實例的網(wǎng)絡(luò)既是人機交互的途徑,也是實例與數(shù)據(jù)存儲交互的途徑,也是創(chuàng)建私有的計算集群時集群節(jié)點互聯(lián)互通的途徑。因此傳統(tǒng)的以太網(wǎng)結(jié)構(gòu)容易出現(xiàn)不同用戶的應(yīng)用實例網(wǎng)絡(luò)能夠聯(lián)通,造成旁路數(shù)據(jù)泄露,并可能由于地址配置的混亂影響應(yīng)用正常運行。平臺借鑒虛擬網(wǎng)絡(luò)設(shè)備的組網(wǎng)方式,為每個用戶創(chuàng)建獨立的私有網(wǎng)絡(luò)(VPC),私 有 網(wǎng)絡(luò)內(nèi)包含兩個獨立的網(wǎng)絡(luò)區(qū)域Public Vxlan N e t w o r k 和 P r i v a t e Vxlan Network,并均與應(yīng)用實例通過veth虛擬網(wǎng)絡(luò)設(shè)備連接[7],具體如圖2。
其中Public Vxlan Network 用于為應(yīng)用實例提供人機交互和數(shù)據(jù)存儲交互等需要容器與外部網(wǎng)絡(luò)交互的服務(wù)(南北向網(wǎng)絡(luò)),Private Vxlan Network 用于為應(yīng)用實例間提供交互的能力(東西向網(wǎng)絡(luò)),Public Vxlan Network 中設(shè)置一個網(wǎng)橋節(jié)點,以實現(xiàn)與外部網(wǎng)絡(luò)的連接。在虛擬網(wǎng)絡(luò)中,用Vxlan 區(qū)分不同主機的網(wǎng)絡(luò)接入,用iptables 實現(xiàn)應(yīng)用實例間的隔離。在物理網(wǎng)絡(luò)中,Public Vxlan Network 通過每臺服務(wù)器的10Gbps 以太網(wǎng)實現(xiàn)連接,Private Vxlan Network 則通過服務(wù)器的100Gbps Omni-Path 組成的網(wǎng)絡(luò)承載的以太網(wǎng)實現(xiàn)連接,此種組網(wǎng)方式也符合傳統(tǒng)高性能計算系統(tǒng)中光纖架構(gòu)網(wǎng)絡(luò)獨立組網(wǎng)的配置應(yīng)用習慣。
由于容器的工作特性,必須重新調(diào)整容器內(nèi)的數(shù)據(jù)存儲模式,才能夠?qū)崿F(xiàn)數(shù)據(jù)存儲的功能。平臺中每個容器應(yīng)用模板利用OverlayFS 重新組織了RootFS8,實現(xiàn)了類似鏡像的模板功能。需要實現(xiàn)數(shù)據(jù)持久化的存放在獨立的外部存儲設(shè)備上。在應(yīng)用安裝配置時,指定由Lustre 節(jié)點組成的用戶存儲空間用于存放中間結(jié)果,由NFS 組成的用戶存儲空間用于存放結(jié)果數(shù)據(jù)。
此外平臺還用Cgroup 實現(xiàn)對不同用戶應(yīng)用實例的資源分配和約束,并在未來結(jié)合Kubernetes 實現(xiàn)資源調(diào)度和應(yīng)用融合。
平臺的硬件設(shè)備以一體化規(guī)劃建設(shè)和運維為原則,著力打造整體化的硬件體系。其中全部設(shè)備設(shè)施集中在一套FusionModule 微模塊數(shù)據(jù)中心內(nèi)(圖3),包括高性能計算、通用計算、大數(shù)據(jù)分析、人工智能、胖節(jié)點、運維管理等各型服務(wù)器約160 余臺,存儲設(shè)備2 套,全部服務(wù)器和存儲節(jié)點具備10Gbps 以太網(wǎng)互聯(lián)和100Gbps Omni-Path 光纖架構(gòu)互聯(lián)(圖4)。此外作為主要設(shè)備供應(yīng)商的Huawei 還提供了其eSight 統(tǒng)一運維管理系統(tǒng),配合帶外的IPMI 設(shè)備運維網(wǎng)絡(luò),從而實現(xiàn)整個數(shù)據(jù)中心全部設(shè)備設(shè)施運維的集中化,絕大多數(shù)運維工作無需在數(shù)據(jù)中心現(xiàn)場完成。最后平臺的規(guī)劃建設(shè)期間也重視網(wǎng)絡(luò)安全的保障能力,配置了專用的多功能防火墻和運維審計設(shè)備(堡壘機),網(wǎng)絡(luò)出口采用了地址轉(zhuǎn)換和端口映射,配合最小化服務(wù)的白名單機制,縮小平臺的網(wǎng)絡(luò)暴露范圍。
圖3 平臺數(shù)據(jù)中心設(shè)備分布
圖4 平臺Omni-Path 網(wǎng)絡(luò)示意
平臺在2017 年底開始試運行部分基礎(chǔ)性功能,并利用山東大學信息服務(wù)系統(tǒng)實現(xiàn)全校師生的統(tǒng)一認證登錄,面向全校師生進行試用。經(jīng)過近一年的測試,平臺積累并發(fā)布了20 個應(yīng)用模板,其中既包括Gromacs、MOCAT2 等開源軟件應(yīng)用,也包含MATLAB這樣的大型商用軟件。專業(yè)領(lǐng)域囊括了數(shù)學、生命、材料、化學、計算機、信息、控制、機械、流體、電氣、經(jīng)濟等諸多專業(yè),累計創(chuàng)建的應(yīng)用實例數(shù)千余個,累計登陸用戶超過200 人。測試期間整個平臺IT 設(shè)備峰值功耗高達48 千瓦,服務(wù)器的CPU 平均負載接近40%。
近一年的測試證明,山東大學高性能計算云平臺為教學和科研提供公共計算服務(wù)的實踐是成功的,使廣大師生能夠在相對低的技術(shù)難度和成本付出的情況下使用到高性能的計算資源。未來平臺規(guī)劃在如下幾個方面進行優(yōu)化和擴展:
網(wǎng)絡(luò)資源:在現(xiàn)有網(wǎng)絡(luò)條件下,借助國家超算的網(wǎng)絡(luò)傳輸優(yōu)化相關(guān)課題的成果,對平臺網(wǎng)絡(luò)的接入訪問和數(shù)據(jù)傳輸性能進行優(yōu)化提升,增強服務(wù)能力和數(shù)據(jù)吞吐能力,方便大數(shù)據(jù)量計算任務(wù)的承接能力。同時增加IPv6 的訪問接入,使其成為具有山東大學特色的IPv6 網(wǎng)絡(luò)服務(wù),并吸引更多的用戶在教學科研中應(yīng)用IPv6 網(wǎng)絡(luò),為IPv6 網(wǎng)絡(luò)的發(fā)展貢獻綿薄之力。
計算和應(yīng)用資源:整合校內(nèi)的資金和需求,擴充平臺的計算、網(wǎng)絡(luò)、存儲資源,尤其在計算方面引入基于Ascend 和Dhyana 等自主可控計算設(shè)備。此外擴充應(yīng)用規(guī)模,加入更多的面向更多專業(yè)領(lǐng)域的開源或商用軟件,規(guī)劃用戶自定義應(yīng)用模板的相關(guān)功能,并豐富軟件的不同版本。
計算模式:開放容器集群計算應(yīng)用,探索不同應(yīng)用軟件在容器集群環(huán)境下的優(yōu)化和應(yīng)用模式。
服務(wù)場景:擴展服務(wù)場景。包括平臺在教學活動中的應(yīng)用,提供實訓和動手實踐,進行新的應(yīng)用組合,實踐在原有環(huán)境下不能實現(xiàn)的計算功能。此外還包括利用容器輕量化功能化的特點,將有工作流性質(zhì)的科研活動在平臺中構(gòu)建并運行,實現(xiàn)流程的可復(fù)制,從而促進科研活動的深層次化,使平臺成為不同學科領(lǐng)域交叉融合的載體,促進科研活動中人與計算資源,以及人與人之間的交流碰撞。
山東大學高性能計算云平臺的建設(shè)是一次用互聯(lián)網(wǎng)思維對傳統(tǒng)應(yīng)用領(lǐng)域的優(yōu)化,使得人們傳統(tǒng)上認為陽春白雪的高性能計算,能夠以一種更親民的姿態(tài)呈現(xiàn)。雖然與社交相關(guān)的功能在測試期間還沒體現(xiàn)出價值,但它卻讓每個應(yīng)用有了自己的個性。在目前互聯(lián)網(wǎng)席卷并重塑各行各業(yè)的大背景下,教育和科研,這兩個在早期就推動了計算機網(wǎng)絡(luò)發(fā)展成熟的元素,也需要融入新的思維,探索新的思路,以謀求自身在互聯(lián)網(wǎng)大潮下的自我變革和自我發(fā)展。希望我們進行的這些實踐對這一過程能夠提供一點益處。