盡管高性能計算的應用范圍已經越來越廣,但是其面臨著大數據集帶來的全新挑戰。高性能計算如今要解決的計算難題極為復雜,其負載程度與十年前要解決問題的難度相比要高出多個數量級,并且復雜程度仍在不斷增加,不斷挑戰著技術的極限。例如,當代石油物探高性能計算面臨著地震勘探數據量海量增長的嚴峻形勢。從上世紀80年代的2-36MB/km2 的2D數據,增長至3D的30-300GB/km2 。一個尋常勘探項目的原始數據通常都在十幾TB左右,而要真正處理這些數據,至少要五倍于原始數據的存儲空間。
高性能計算運行的應用程序一般使用并行算法,把一個大的普通問題根據一定的規則分為許多小的子問題,在集群內的不同節點上進行計算。之后,對這些小問題的結果進行處理并合并為原問題的最終結果。通常,這些小問題的計算是可以并行完成的,從而縮短問題的處理時間,提高系統的運算速度。
高性能計算最典型的三個數據流程包括:創建輸入數據、運行應用程序進行分析處理和結果歸檔管理。
1. 創建輸入數據:創建數據的數據安全可靠性和一致性非常重要。如果丟失了輸入數據,通常可以通過重新運行應用程序,來重建丟失的數據。重新創建數據不僅費用高昂,很多高性能環境的數據往往是無法再次生成的。因此,高性能創建數據的價值往往不是能用金錢來衡量的。
2. 應用程序分析處理:在分析處理階段,保證執行應用程序的讀/ 寫性能是高性能分析效率和項目周期的關鍵。這可能需要使用高性能可擴展性存儲系統來滿足吞吐量和存儲容量的需求。
3. 數據歸檔:高性能環境下,不同屬性的數據在數據生命周期的不同階段體現出來的價值是不同的。歸檔可以釋放出主存儲空間,使之用于主要的應用程序和項目。如何用不同存儲介質存儲不同數據,是高性能環境降低數據生命周期總成本的關鍵。
高性能計算的分析效率取決于計算能力、帶寬和存儲三方面。數據密集型計算如何保證存儲為海量大數據并行處理提供穩定的性能和可擴展的容量,在存儲超大規模數據量的同時,滿足多節點集群計算對存儲I/O 帶寬的需求,是保證高性能處理能力和效率的關鍵。
高性能計算集群系統中的節點,可分為計算節點和存儲節點。其中,存儲節點是指集群系統的數據存儲器和數據服務器。如果需要存儲TB級的數據,通常需要部署并行文件系統及多臺IO 服務器;計算節點功能則是執行計算。眾多的計算節點帶有IO 流量瓶頸問題。當承載的計算任務被分布到眾多的計算節點上實現,存儲最終還是要匯總到一起。高性能計算中的計算節點可以是服務器、主機、工作站甚至PC筆記本等。計算節點對統一存儲的必須性要求和各節點所匯集而來的IO 流量對存儲造成的沖擊,是每個高性能計算中必須要考慮的因素。

