1、計劃和設計:為了成功地計劃和設計一個HPC底層結構,第一步應該是“透視表面之下”。簡單地理解,就是首先要找出投入HPC建設的主要理由,對HPC設備的需求,就像是很多商業客體都應該對投資和利潤有清晰的目標。這方面的考慮在今天比以往任何時候都明顯,因為HPC系統的使用量,特別是在研究和發展領域比過去4年就有了70%的穩固增長(數據來自primeur)。先不看HPC技術的巨大發展,它自身類型的增長就是驚人的。這種增長的原因之一或許是復雜性,不只在設計方面,還在消耗方面。加拿大安大略省的HPC研究機構SHARCNET ,圍繞HPC技術的采用和實施建立了一項長遠的計劃。根據他們的報告,設計HPC的所遇到的挑戰是“它對大量不同的研究者來說都是可能的技術”。這體現了HPC在復雜性和多樣性之外的本質。
2、分析設計硬件:當考慮計劃和設計一個HPC底層實現的時候,我曾經對這個領域的一些人說過,我作為一個從業10余年的系統架構師,有一些經驗和想法,我所考慮的關鍵領域包括如下:
a)設備考慮(Rackspace, Power and Cooling機位,電源,制冷設備):如果要問任何一個企業層數據中心管理員,讓他最頭疼的10件事情是什么,他一定會說是“rackspace, power and cooling”。更深入考慮,你就會發現,在任何數據中心,Colocation(可以使用的機位)的數量都是固定的。這意味著,以每個u(rackspace的計算單位)計算,在每個colocation上的rackspace是非常珍貴的。而且在這些小型即插即用的服務器電路板上布置那么多密集芯片集也就帶來了電源和制冷設備的挑戰。
注釋——在每個rank,相比10多年前,你需要更多的出口和更多的氣流,同時還有4、5u的服務器占據整個rank。
b)物理設施計劃:引用HPC領袖Frank Chism說的一句話“我不能不強調在HPC部署中物理設施計劃的重要性。這件事情就像要想很好地管理和設計布線,就要首先考慮好房間和通路。HPC使用僅比SAN稍少的電纜線數,同時,還要注意地板的承重量,空氣流通性,足夠的電力。最后,千萬千萬不要忘記帶外管理。深層的底層地板確實能夠幫助電纜布線。”
注釋——有效的HPC性能來自于有效的HPC設計,它不僅包括軟件部分,也包括很多硬件設施。這些硬件設施不單指芯片設計,還包括在地板之下的布線設計。
c)硬件和處理機設計:硬件和處理機體系結構的設計關系到HPC的性能(這是HPC的核心和靈魂)。在HPC體系結構之上加上能源有效的硬件就等于是增強了普通計算能力,也就相當于建立了一個HPC底層結構。在這方面所展現出來的優勢就是更快的數據訪問和增強的指令。“性能”這個詞重復貫穿整個主題,這是因為“性能”就是HPC所關心的,就是減少數據計算周期的能力。這方面需求核心的一部分是選擇適合的硬件和處理機規格。
3、實現HPC工具和軟件:就像其他硬件,HPC集群就是一些軟件和工具通過底層結構來運行,進行計算,產生結果。考慮一些核心的HPC工具和軟件,下面是我的想法:
a)建立和部署系統:建立一個HPC集群,使問題回到了我第一部分提到的——你想用它來干什么?盡管有很多方式和方法允許你驅動一個HPC系統的軟件和安裝,但底線是,這很大程度上取決于你規劃的這個HPC集群的組成部件有哪些。我們來一起關注一些現有的HPC軟件和部署工具,比較流行的很少,如SCALI和HP-MPI。這些軟件包為管理一個HPC集群提供部署,監測和任務調度服務,比如IBM的CSM軟件。而開源軟件有Maui和Torque,它們就像是任務調度程序和資源管理程序那樣來管理計算節點和集群。Platform Rocks是另一套軟件,它允許安裝和綜合第三方應用程序。
b)平行的文件系統:引用Wikipedia的描述“分布式平行文件系統可以從多個服務器平行獲得數據,以此達到高性能。一些分布式平行文件系統使用OSD(目標存儲設備,在Lustre叫做OST)和集中的元數據服務器來同時獲得大塊數據,例如,UCSC的Ceph分布式文件系統;CFS的Lustre文件系統以及PVFS,PVFS2。”
深入考慮: 根本地說,平行文件系統是那些通過平行達到高帶寬的文件的全球命名空間。這種帶寬有三維:高聚集帶寬,高單一數據流帶寬,和每秒的高元數據操作。似乎還沒有人能夠在所有這三維上都達到高性能。不要忘記數據量是如此巨大,做備份是主要保證,因此,也需要可靠性。而且,似乎還沒有人能夠實現一個平行文件系統可以很好地為短期I/O操作實現高速度數據傳輸。
c)成倍處理能力的網絡:實現HPC最后要考慮的通常是HPC需要有成倍處理能力的網絡。例如,如果一個網絡不能處理如此大的帶寬,那么即使有一個平行文件系統可以在每秒發送十億字節數據到一個節點也是徒勞的。
所以,總結地說,在建立HPC底層結構中我們學習到的知識是:
◆全面的理解為什么要投資HPC和我們期望的成果是什么
◆深層理解HPC核心硬件以及設計組件
◆為確保有充足的布線和底層地板空間,需要考慮的設備和物理設施
◆基于軟件和工具集的HPC設計
◆理解三維帶寬
◆為了所需的帶寬,需要把“成倍處理能力網絡”的概念注入到節點設計中
原文鏈接:http://port25.technet.com/archive/2006/12/01/thinking-about-hpc-infrastructure.aspx