王 珊
(山西財經(jīng)大學實驗中心,山西 太原 03006)
高校作為科學研究的主力軍之一,承擔著大量的科研工作,但是由于計算問題的規(guī)模日益增大,教師進行科研時普通的計算機已經(jīng)無法滿足對計算作業(yè)的高性能及多元化需求,需使用高性能計算(High Performance Computing,HPC)資源。但是高性能計算實驗室建設成本較高,且各學院之間資源共享性差,如何充分利用高性能計算實驗室的計算、存儲、網(wǎng)絡等資源,如何提高高性能計算的管理效率成為了目前建設高性能實驗室需要考慮的問題。
云計算對資源的管理具有按需分配、安全可靠、可擴展性強、資源可控等特點,改變了傳統(tǒng)的實驗室資源管理模式,因此云計算的出現(xiàn),為目前高校高性能實驗室的建設提供了一種新的方案。
高性能計算所需的底層基礎設施、服務器、應用軟件等大都成本高昂,建設一個高性能計算實驗室需要耗費大量資金。傳統(tǒng)的高性能計算實驗室一旦建成便成為學院獨立資源,各學院之間共享性差,如果多個學院都需要建設高性能計算實驗室,勢必會消耗巨大的建設成本。同時傳統(tǒng)的高性能計算應用場景復雜,用戶必須進行專門培訓才能使用高性能計算資源進行作業(yè)計算,其操作復雜性導致用戶使用不便。
傳統(tǒng)的高性能實驗室共享性差,各學院之間無法相互使用,存在閑置資源浪費。同時傳統(tǒng)的高性能計算管理軟件在進行任務作業(yè)時,用戶作業(yè)一旦分配到請求的節(jié)點上,便獨占該節(jié)點,在用戶作業(yè)未完成的情況下,即使該用戶作業(yè)目前用不到該節(jié)點的全部物理資源,其他的用戶也無法使用直至該用戶作業(yè)全部完成,這勢必造成資源利用率低下,使其往往無法達到最佳性能[1]。
傳統(tǒng)的高性能計算機在執(zhí)行計算任務時,一旦某臺物理服務器出現(xiàn)故障,則該服務器上的所有作業(yè)將會被中斷,用戶不得不重新部署計算作業(yè),這勢必會耽誤實驗進程,給用戶造成不便。而且隨著計算任務在集群上運行的時間越長,其作業(yè)被中斷的概率就會越大,使得用戶進行作業(yè)計算時的數(shù)據(jù)和服務安全性無法保證。
云計算(Cloud Computing)是一種基于互聯(lián)網(wǎng)的計算方式,利用虛擬化技術將計算、存儲、網(wǎng)絡等資源集成為一種類似于“云”的可配置的虛擬化資源池,使用戶無需關心底層構造,按需獲取想要的軟硬件資源和服務。
簡單來說,云計算就是把許多計算、存儲、網(wǎng)絡等資源集合起來,通過虛擬化軟件進行自動化管理,讓每一個用戶都可以通過網(wǎng)絡使用到龐大的計算資源和數(shù)據(jù)中心。
利用云計算技術建設高校高性能計算云實驗室具有如下優(yōu)勢:
1) 成本優(yōu)勢。學校建設校級高性能計算云實驗室,各學院老師均可以通過網(wǎng)絡訪問高性能計算云資源進行作業(yè),避免重復建設,有效降低建設成本。同時高性能計算云可以根據(jù)用戶的作業(yè)情況動態(tài)調整計算資源,在用戶釋放虛擬機后能動態(tài)調整剩余虛擬機至同一臺物理服務器上,節(jié)約數(shù)據(jù)中心用電,降低運行成本。
2) 易用性好。高性能計算云具有良好的用戶交互界面,底層計算、存儲、網(wǎng)絡等資源對用戶透明,用戶無須關心這些資源采取的設備型號、復雜的內部結構、實現(xiàn)的方法和地理位置。支持多用戶、多任務使用。同時通過虛擬機鏡像的保存可以為用戶提供特定的操作系統(tǒng)和運行環(huán)境,用戶無需重復搭建便可進行作業(yè)計算,從而使用戶脫離復雜的環(huán)境配置工作,專注進行科學研究,具有良好的易用性。
3) 可靠性高。高性能計算云通過網(wǎng)絡冗余機制實現(xiàn)高可靠性,一旦某臺物理服務器發(fā)生故障,系統(tǒng)會自動將該服務器上的虛擬機遷移至正常的物理服務器上,任務運行不會中斷,具有較高的容錯性。同時系統(tǒng)還會對底層的CPU、存儲、網(wǎng)絡等資源進行全方位監(jiān)控,用戶數(shù)據(jù)實時存儲云端,用戶也可以使用快照技術對虛擬機進行備份,確保數(shù)據(jù)安全。
4) 支持彈性管理。對實驗室管理人員來講,資源池可以無限地增減和更換設備,統(tǒng)一管理、動態(tài)調度以滿足不同用戶的需求。對用戶來講,“云”的規(guī)模可以動態(tài)伸縮,當用戶在進行高性能計算作業(yè)時,虛擬計算集群可以隨著計算量的變化靈活地擴大或者縮小集群規(guī)模,支持資源彈性管理。同時在高性能計算云中,用戶的虛擬機具有隔離性,用戶可以對其虛擬機上的操作系統(tǒng)和運行環(huán)境進行任意修改,而不影響底層物理服務器的參數(shù)配置。
云計算技術提供三種服務類型,分別為基礎設施即服務(Infrastructure as a Service,IaaS)、平臺即服務(Platform as a Service,PaaS)和軟件即服務(Software as a Service,SaaS)。表1對這三種服務類型進行了詳細對比[2]。
表1 IaaS、PaaS、SaaS比較
可以看出,PaaS是在虛擬的硬件架構之上,在軟件之下為不同的開發(fā)及應用提供服務,與其他的服務最根本的區(qū)別是PaaS提供的是一個基礎平臺,而不是某種應用,它能夠提供定制化研發(fā)的中間件平臺,同時涵蓋數(shù)據(jù)庫和應用服務器等。結合高校高性能計算云實驗室將要滿足不同學院不同專業(yè)教師和學生多元化需求的特點,因此PaaS服務類型非常適用于高校高性能計算云實驗室的建設。
通過對云計算技術和高性能計算的深入研究,結合高校實驗室的具體情況,基于PaaS服務類型建立分層次的高性能計算云平臺,如圖1所示,高校高性能計算云平臺的系統(tǒng)架構由下往上分為四層:分別是資源層、數(shù)據(jù)層、服務管理層和應用層[3]。
圖1 系統(tǒng)架構圖
資源層:該層為高性能計算云平臺的最底層,提供各種軟硬件資源。硬件資源主要包括集群功能節(jié)點、高性能計算專用節(jié)點、存儲系統(tǒng)、網(wǎng)絡系統(tǒng)等,形成硬件資源池,可以滿足各類計算要求。軟件資源除了必須的編譯環(huán)境和并行庫以外,還包括HPC基礎軟件環(huán)境、集群管理軟件、集群監(jiān)控軟件、并行文件系統(tǒng)、節(jié)點操作系統(tǒng)等,形成軟件資源池。該層通過虛擬化技術為上層提供資源服務。
數(shù)據(jù)層:該層為高性能計算云平臺的中間層,對數(shù)據(jù)的查詢、修改、增加、刪除和存儲等操作提供支持。高性能計算不僅要處理海量的數(shù)據(jù),在計算過程中也會產(chǎn)生海量的數(shù)據(jù),對這些數(shù)據(jù)的處理和存儲就顯得十分重要,因此該層的海量數(shù)據(jù)存儲與處理技術對整個平臺起著十分關鍵的作用[4]。
服務管理層:該層為高性能計算云平臺的核心層,管理資源層的各類軟件和硬件資源,為應用層提供計算服務。主要包括高性能計算并行計算服務管理、日志服務管理、高性能計算調度管理、安全服務管理及數(shù)據(jù)傳輸服務管理等。其中高性能計算調度管理包括基于優(yōu)先級的資源分配策略、多級別資源分配策略、自適應資源分配策略等,合理調度可以有效提高整體的資源利用效率。
應用層:該層是整個高性能計算云平臺與用戶的交互層,為用戶提供人機交互的圖形化界面,向用戶提供高性能計算服務。用戶通過訪問接口登錄高性能計算云平臺,提交資源申請,管理員分配虛擬機,用戶上傳程序代碼和數(shù)據(jù)進行計算,計算完成后,將結果輸出到用戶指定的文件夾,用戶可直接進行下載[5]。
利用云計算技術建設高校高性能計算云實驗室可以很好地解決傳統(tǒng)高校高性能計算操作復雜、資源利用率低下、可靠性不高等問題,改變了傳統(tǒng)的高性能計算實驗室運維方式,極大地方便了教師進行科研工作,能很好地推進高校的科研事業(yè)發(fā)展。本文重點就高校高性能計算云平臺的體系架構設計進行了研究,但是在實際建設過程中虛擬化技術、海量數(shù)據(jù)處理技術以及資源調度策略等關鍵技術的應用還需要更進一步的研究。