南京大學信息化專家組 楊獻春
選擇HPCC模式主要基于以下原因:
(1)我校公共計算平臺與高性能計算中心的服務對象不同,無法實現統一管理。
(2)有利于集中資金整合資源打造提供計算服務的公共大平臺,消除計算資源分散帶來的諸多問題。
(3)利用云計算的的特點,通過部署云計算管理平臺,將數據中心的硬件資源、軟件資源、數據資源整合。
(1)充分發揮投資效益,盡量提高設備使用效率
1)計算效率
不只是高性能設備的堆砌,而是讓設備發揮出高性能,讓應用享用到高性能,讓用戶體驗到高性能;優化進程/線程并行度獲得最優加速比和處理器(核)載荷,優化內存利用率獲得最大內存帶寬,優化指令利用率獲得指令最大吞吐量。
2)管理效率
最大化資源共享,減少設備獨占性;減緩資源忙閑不勻,提高設備利用率,減少設備空載,節約能耗;對資源的占用按需動態調節,不同用戶在同一組設備上靈活切換,并能合理重配資源,當資源所剩無幾時,即使設備未增加,新用戶仍能提交作業;資源重復利用,新用戶可以分享老用戶釋放的資源,并保證老用戶能方便再度獲得資源且恢復到先前的運行環境。
(1)應用為先(適用)
綜合各研究方向需求,兼顧共性并盡可能考慮到個性化,選擇最適宜的軟硬件平臺,由應用決定平臺,而不是由平臺限制應用。
選擇的方案需確保其跨越硬件架構與操作系統平臺,兼顧虛擬資源分配與物理設備切換,支持多種編程模式,滿足各種應用的不同需求。
(2)創新為體(夠用)
在架構設計時充分考慮高性能計算技術發展趨勢,采用先進的產品和創新的思路,最大化利用現有投入,并考慮到今后擴展的需求。絕不僅僅是一組高性能設備的建設,而是一個多功能、多應用、多客戶的服務平臺,引入當今先進的云計算技術是適宜的
(3)效率為要(好用)
堅持夠用原則,不追求超越實際需求的規模,不去比較沒有實質意義的峰值運算能力,即使Linpack測試指標也不應作為設備選型的單一依據,而是充分考慮總體架構的合理性和資源管理調度等要素,實現一個高效率計算(High Productivity Computing)的平臺。在多用戶、多應用的使用場景下,我們不單單要考慮到整體設備的高性能,還需要考慮到系統在使用過程中,如何通過虛擬化、資源共享,自動化等手段來協調整個計算平臺的計算資源利用,即使物理分配也允許系統管理員切換用戶,提高整體利用率,實現一個綠色高效的計算環境
(1)注重計算節點性能
配備高主頻處理器大內存提高計算處理能力。對于用戶提交只含有一個或少量幾個任務且耗時較多的作業,購置處理器主頻盡可能高的機架式服務器加速處理能力,且配置較大的內存盡可能將進程全部常駐內存以消除Paging及Swapping節省時間開銷,且便于用戶動態切換。
減輕I/O“瓶頸”現象,提升計算節點整機性能。對于頻繁訪問大批數據的計算任務而言,磁盤存取速度的提升跟不上處理器速度因工藝及多核技術而性能大幅度提升的步伐,是制約處理性能的關鍵因素,提升數據存儲設備的IOPS是其出路,比如選用光纖固態盤。
(2)選擇與計算任務相適應的服務器體系結構
對于支持OpenMP自動編譯的并行計算作業,或者含有很多個任務的批作業或者同時提交一大批作業的場合,選用由眾多(8顆及以上)多核處理器構成共享內存的胖節點SMP架構服務器。利用操作系統的可以將一個批作業或者多道作業中各個計算任務自動分配到各核創建進程執行的能力,實現作業級的同時處理或者批作業中不需要進程間通信和同步的獨立任務平行計算。
對于調用已內嵌支持MPI并行機制的一些軟件包,實現并行計算且進程間通信開銷不太大的作業,以及利用MapReduce并行機制搜索引擎、數字媒體服務等互聯網應用,購置采用分布式內存并行架構的刀片式集群或者選擇專門面向高密集計算的融入了刀片技術的新型機架式服務器。經過實際運行對比,其計算效率比胖節點SMP架構服務器要高。
(3)合理配備存儲資源
對于物理分配的計算節點,選用大容量的高吞吐率硬盤。因為追求其單機處理性能,用戶數據可直接本機存儲。
對于虛擬化的計算節點,可選容量較小的高吞吐率硬盤。
為增強系統可靠性,對云存儲實時備份。
(4)節點互連鏈路的高速化與靈活性
計算專用互連鏈路與互聯網信息通道共存。計算節點間及計算節點與存儲間配備專用互連鏈路,與互聯網隔離;多網卡技術,冗余鏈路增加吞吐率以及某些應用的互聯網信道。
性價比權衡,不同高速網絡鏈路協議共存。以千兆以太鏈路為主,個別特殊需求考慮更高速技術。
(1)對大部分計算資源和存儲資源進行虛擬化,分配給用戶的資源不再是物理服務器和物理存儲,而是經過虛擬化的一組資源,具體使用那一臺物理設備則通常是用戶不必知曉的。
(2)用戶可以透明地使用計算資源和存儲資源,仍可像以前一樣自主構建自己的運行環境,該環境是可以被卸載到后臺或者需要時重新恢復。
(3)當用戶暫時不再使用資源時,將其運行環境保存到后臺,釋放虛擬計算資源再行調度和分配,當用戶再次打算使用時,重新還原先前一樣的環境繼續使用,但可能物理的設備已與原來不一致了,也就比方是,同樣的節目可以在不同的舞臺上演。
(4)根據用戶對資源需求的變化,動態調正所需的處理器核數和存儲空間大小,資源可以動態在不同用戶之間調劑。
(5)根據特殊用戶的個性化需求,分配的虛擬化資源可以相對長期穩定,以利于對比測試等科學實驗需要。
(6)鑒于虛擬化帶來的性能開銷不可忽略,針對一些對性能要求很高的計算任務,可以考慮在不虛擬化的情況下進行物理設備的分配和管理,而且可在不卸載本地硬盤上原用戶環境的前提下,通過遠程引導的方式讓其他用戶使用高設備的處理器及內存完成計算任務。
(1)整合計算資源
在圖1所示架構中,底層的硬件資源采用標準化、高性能、易擴展的設計思路,根據應用對硬件設備的不同需求,建立完善的服務器資源池、存儲資源池,由云計算管理平臺統一進行管理。

圖1 南京大學計算機學科高性能云計算平臺參考架構
(2)虛擬化技術
在整體方案中,可以劃分一部分資源進行虛擬化,從而提供一個共享的開發測試環境給用戶,便于用戶在正式提交作業之前進行程序的調試和試運行。
在一些具體的應用場景上,針對一些對性能要求很高的計算任務,虛擬化帶來的性能開銷不可忽略,因此可以考慮在不虛擬化的情況下進行資源的分配和管理。
(3)統一管理平臺
采用統一的云計算管理平臺來進行整體資源管理和服務流程管理。通過管理平臺,可以提供硬件資源、軟件資源和操作系統等的按需調配。最終用戶或者管理員可以通過該系統對中心內的計算資源進行申請、批準、調整和回收等等自動化操作。
(4)服務接口
最終用戶可以采用兩種服務接口來進行計算任務的運行。一種是通過云計算管理平臺獲取自己項目獨占的計算資源,包括硬件、應用軟件和操作系統等,用戶可以在計算資源上按照自己的需求進行個性化調。另一種方式是可以通過云計算管理平臺部署的計算資源上的作業管理系統,以排隊的方式和其他用戶共享計算資源,來進行作業的運算。