文/萬林 包嬋嬋 平凡
近些年的科研實踐表明,高性能計算在提高科研水平,加速科研成果產出方面具有無可替代的重要意義[1]。高校作為重要的科研力量,其在高性能計算系統的應用和建設方面投入了巨大的資源。其中以校級計算系統最具有代表性,包括北京大學的“未名一號”,上海交通大學的“π”[2],以及中國科學技術大學的“超級計算中心”[3]等。山東大學從2016 年開始組織籌備新的高性能計算系統,實踐了容器技術在高性能計算環境中完成資源的管控,改變了高性能計算環境的公共服務能力與模式,并優化用戶應用體驗,取得了較滿意的應用效果。
山東大學科學計算的應用需求具有多樣化碎片化的特點,其中既包括計算機、數學、信息、生命、物理、化學、醫學、材料、機械等傳統的科學計算相關專業,也包括經濟、管理、文學、新聞傳播、電氣等有新興的計算需求的專業。絕大多數計算和存儲能力的需求不高,但個性化需求較多,工具軟件繁雜,用戶技術能力和經驗參差不齊。此外山東大學具有異地辦學的特點,校區眾多、人員分散。新系統作為山東大學“大型設備公共技術平臺”的一部分[4],從項目建設伊始就以“統管共享”運行機制為基礎,整合匯集全校的科研計算需求,以簡便用戶應用獲得和使用為核心,而計算性能并不作為最關鍵的考核指標?;谏鲜霈F狀,結合近些年IT 技術的新進展和IT 服務的新模式,形成了具有山東大學特色,以服務山東大學教學科研為目標的,具有公共服務屬性的“山東大學高性能計算云平臺”(文中簡稱“平臺”)。
平臺與傳統的高性能計算系統的最主要區別是用戶服務模式的不同。首先,引入云計算的服務模式,將絕大多數的用戶訪問和工具軟件安裝部署等工作通過互聯網轉移到平臺端,減少用戶在具體設備和系統側的工作量和技術難度;其次,通過容器技術對計算資源進行抽象,并封裝工具軟件和環境,實現工具軟件安裝部署工作的可復制化,減少重復性工作量,實現對資源的精細化管理調度。此外,實現計算資源抽象后,傳統高性能計算系統中的資源獨占、資源利用率低的問題就能夠得到較好的解決,資源需求并不極端的多個用戶可以同時共享計算資源;再次,引入互聯網應用中較為普及的社交功能,平臺用戶可以通過專業領域和科研興趣形成科研團隊,交換計算應用實例和數據,交流平臺使用經驗,從而形成以科研和學習為目的的協作促進機制,促進多學科的交叉與融合式發展;最后,平臺對于每個用戶都是獨立的學習工作空間,平臺的易用程度遠高于本地計算機,交互模式又近似于本地計算機,軟件資源和數據資源也是即插即用式的,因此這樣的環境對提高專業背景不同的用戶在學習工作中的“獲得感”和“滿足感”,并促使其把更多的精力投入到具體的學習科研工作中,提高科研的產出率。因此這種具有公共服務屬性的高性能計算系統服務模式就能在實現簡便易用的同時,適配盡可能多的應用軟件和應用場景。
根據山東大學現有與科研計算相關的業務,平臺確定服務如下的目標場景:
基于科研項目的中小規模的并行計算需求;

圖1 山東大學高性能計算云平臺
個人的程序設計與測試運行;
教學實驗課中的實踐內容;
基于工作流的計算需求。
其中前兩個場景可以直接替代傳統高性能計算系統應用場景。后兩個場景由于具有了流程化的特征,因此需要與具體的用戶需求相結合并融合部分高校業務系統,同時進行較多的教學科研需求分析,目前尚處于需求調研分析階段。

圖2 平臺用戶界面
資源使用量,包括實例個數、實例運行時長、內核使用量、內存使用量、異構計算資源的使用量等[5]。平臺中每個用戶自助創建的應用實例和數據都是私有獨立的,并可以實現數據持久化,既用于存儲作業完成后的結果數據,也用于作業運算期間結果的存儲和數據緩存。用戶與應用實例的交互可以通過命令行界面,也可以通過圖形界面,其操作的方式與本地計算機類似,且用戶本地的計算機無需安裝任何軟件。目前應用實例還只能適配基于Linux環境的操作規則和應用環境[6]。
平臺的系統體系基于傳統的x86 架構處理器,以容器技術對資源進行抽象和調度,同時容器實例對工具軟件和環境進行封裝。平臺與山東大學校園網連接,并利用山東大學信息服務系統實現全校師生的統一認證登錄,在校園網提供具有統一服務門戶的計算服務。
用戶應用方面,應用交互通過瀏覽器實現。由于部分工具軟件和環境已被封裝為容器應用模板,因此可以免去軟件安裝部署和環境配置的工作,簡便用戶使用。同時容器輕量化的特點,使其更容易實現定制化和迭代的版本管理,并且應用模板的管理也更靈活簡便。模板既可以是所有用戶通用的,通過類似應用市場分發的應用模板,也可以是用戶自定義的私有應用模板。每個應用實例通過應用模板創建,創建實例時,部分應用可以定制化的設置
與傳統的計算中心或數據中心不同,“山東大學高性能計算云平臺”當中的容器實例不提供Web 應用,而是模仿本地計算機提供用戶交互。因此平臺在軟件開發期間對容器技術做了大量優化和擴充,以使容器實例適應這種類型的工作模式。這其中容器的網絡與數據持久化是較為關鍵的技術。
平臺中容器實例的網絡既是人機交互的途徑,也是實例與數據存儲交互的途徑,也是創建私有的計算集群時集群節點互聯互通的途徑。因此傳統的以太網結構容易出現不同用戶的應用實例網絡能夠聯通,造成旁路數據泄露,并可能由于地址配置的混亂影響應用正常運行。平臺借鑒虛擬網絡設備的組網方式,為每個用戶創建獨立的私有網絡(VPC),私 有 網絡內包含兩個獨立的網絡區域Public Vxlan N e t w o r k 和 P r i v a t e Vxlan Network,并均與應用實例通過veth虛擬網絡設備連接[7],具體如圖2。
其中Public Vxlan Network 用于為應用實例提供人機交互和數據存儲交互等需要容器與外部網絡交互的服務(南北向網絡),Private Vxlan Network 用于為應用實例間提供交互的能力(東西向網絡),Public Vxlan Network 中設置一個網橋節點,以實現與外部網絡的連接。在虛擬網絡中,用Vxlan 區分不同主機的網絡接入,用iptables 實現應用實例間的隔離。在物理網絡中,Public Vxlan Network 通過每臺服務器的10Gbps 以太網實現連接,Private Vxlan Network 則通過服務器的100Gbps Omni-Path 組成的網絡承載的以太網實現連接,此種組網方式也符合傳統高性能計算系統中光纖架構網絡獨立組網的配置應用習慣。
由于容器的工作特性,必須重新調整容器內的數據存儲模式,才能夠實現數據存儲的功能。平臺中每個容器應用模板利用OverlayFS 重新組織了RootFS8,實現了類似鏡像的模板功能。需要實現數據持久化的存放在獨立的外部存儲設備上。在應用安裝配置時,指定由Lustre 節點組成的用戶存儲空間用于存放中間結果,由NFS 組成的用戶存儲空間用于存放結果數據。
此外平臺還用Cgroup 實現對不同用戶應用實例的資源分配和約束,并在未來結合Kubernetes 實現資源調度和應用融合。
平臺的硬件設備以一體化規劃建設和運維為原則,著力打造整體化的硬件體系。其中全部設備設施集中在一套FusionModule 微模塊數據中心內(圖3),包括高性能計算、通用計算、大數據分析、人工智能、胖節點、運維管理等各型服務器約160 余臺,存儲設備2 套,全部服務器和存儲節點具備10Gbps 以太網互聯和100Gbps Omni-Path 光纖架構互聯(圖4)。此外作為主要設備供應商的Huawei 還提供了其eSight 統一運維管理系統,配合帶外的IPMI 設備運維網絡,從而實現整個數據中心全部設備設施運維的集中化,絕大多數運維工作無需在數據中心現場完成。最后平臺的規劃建設期間也重視網絡安全的保障能力,配置了專用的多功能防火墻和運維審計設備(堡壘機),網絡出口采用了地址轉換和端口映射,配合最小化服務的白名單機制,縮小平臺的網絡暴露范圍。

圖3 平臺數據中心設備分布

圖4 平臺Omni-Path 網絡示意
平臺在2017 年底開始試運行部分基礎性功能,并利用山東大學信息服務系統實現全校師生的統一認證登錄,面向全校師生進行試用。經過近一年的測試,平臺積累并發布了20 個應用模板,其中既包括Gromacs、MOCAT2 等開源軟件應用,也包含MATLAB這樣的大型商用軟件。專業領域囊括了數學、生命、材料、化學、計算機、信息、控制、機械、流體、電氣、經濟等諸多專業,累計創建的應用實例數千余個,累計登陸用戶超過200 人。測試期間整個平臺IT 設備峰值功耗高達48 千瓦,服務器的CPU 平均負載接近40%。
近一年的測試證明,山東大學高性能計算云平臺為教學和科研提供公共計算服務的實踐是成功的,使廣大師生能夠在相對低的技術難度和成本付出的情況下使用到高性能的計算資源。未來平臺規劃在如下幾個方面進行優化和擴展:
網絡資源:在現有網絡條件下,借助國家超算的網絡傳輸優化相關課題的成果,對平臺網絡的接入訪問和數據傳輸性能進行優化提升,增強服務能力和數據吞吐能力,方便大數據量計算任務的承接能力。同時增加IPv6 的訪問接入,使其成為具有山東大學特色的IPv6 網絡服務,并吸引更多的用戶在教學科研中應用IPv6 網絡,為IPv6 網絡的發展貢獻綿薄之力。
計算和應用資源:整合校內的資金和需求,擴充平臺的計算、網絡、存儲資源,尤其在計算方面引入基于Ascend 和Dhyana 等自主可控計算設備。此外擴充應用規模,加入更多的面向更多專業領域的開源或商用軟件,規劃用戶自定義應用模板的相關功能,并豐富軟件的不同版本。
計算模式:開放容器集群計算應用,探索不同應用軟件在容器集群環境下的優化和應用模式。
服務場景:擴展服務場景。包括平臺在教學活動中的應用,提供實訓和動手實踐,進行新的應用組合,實踐在原有環境下不能實現的計算功能。此外還包括利用容器輕量化功能化的特點,將有工作流性質的科研活動在平臺中構建并運行,實現流程的可復制,從而促進科研活動的深層次化,使平臺成為不同學科領域交叉融合的載體,促進科研活動中人與計算資源,以及人與人之間的交流碰撞。
山東大學高性能計算云平臺的建設是一次用互聯網思維對傳統應用領域的優化,使得人們傳統上認為陽春白雪的高性能計算,能夠以一種更親民的姿態呈現。雖然與社交相關的功能在測試期間還沒體現出價值,但它卻讓每個應用有了自己的個性。在目前互聯網席卷并重塑各行各業的大背景下,教育和科研,這兩個在早期就推動了計算機網絡發展成熟的元素,也需要融入新的思維,探索新的思路,以謀求自身在互聯網大潮下的自我變革和自我發展。希望我們進行的這些實踐對這一過程能夠提供一點益處。