淺談高性能計算機集群系統(tǒng)的技術與應用
高性能計算 ( high performance compute , HPC)是一個計算機集群系統(tǒng) , 它通過各種互聯(lián)技術將 多個計算機系統(tǒng)連接在一起 , 利用所有被連接系 統(tǒng)的綜合計算能力來處理大型計算問題。高性能 計算方法的基本原理就是將問題分為若干部分 , 而相連的每臺計算機 ( 稱為節(jié)點) 均可同時參與 問題的解決 , 從而顯著縮短了解決整個問題所需 的計算時間。
本文引用地址:http://butianyuan.cn/article/202277.htm1 集群系統(tǒng)的概念 集群是以網絡技術連接起來的工作站或 PC 機的組合 , 這些工作站或 PC 機就像一個單獨集 成的計算資源一樣協(xié)同工作 , 這些單個的計算機 就是集群的節(jié)點 ( node) 。
1.1.1 集群計算機系統(tǒng)是并行處理的主流 集群計算機提速的前提基礎是微處理器和網 絡技術的進步。集群計算機是利用高速通信網絡 將一組高性能工作站或高檔 PC 網絡結構連接起 來 , 在并行程序設計及可視化人機交互集成開發(fā) 環(huán)境支持下 , 統(tǒng)一調度 , 協(xié)調處理 , 實現(xiàn)高效并 行處理的系統(tǒng)。從結構和結點間的通信方式來看 , 它屬于分布存儲系統(tǒng) , 主要利用消息傳遞方式實 現(xiàn)各結點之間的通信。目前己實現(xiàn)和正在研究中的集群系統(tǒng)大多采用現(xiàn)有商用工作站 1 代和通用 LA N 網絡 , 這樣既可以縮短開發(fā)周期 , 又可以利 用最新的微處理器技術。
1.1.2 集群系統(tǒng)的分類 按照應用目的可以分成高性能計算集群和高 可用集群。高性能計算 ( High Perfermance Comput2ing) 集群 , 簡稱 HPC 集群 , 這類集群通過將多臺機器連接起來同時處理復雜的計算問題 , 提供單 個計算機不能提供的強大的計算能力。高可用 (High Acailability) 集群 , 簡稱 HA 集群 , 這類集 群的主要功能就是提供不間斷高可靠度的服務。按照結點的歸屬可分為專用集群和非專用集 群。在專用集群中所有的資源是共享的 , 并行應 用可以在整個集群上運行 , 而在非專用集群中 , 全局應用通過竊取 CPU 時間獲得運行。非專用機 群中由于存在本地用戶和遠地用戶對處理器的競爭 , 帶來了進程遷移和負載平衡等問題。按照結點的操作系統(tǒng)可分為 Linux 集群、So2 laris 集群、NT 集群等 ; 按照各結點是否相同可分 為同構集群和異構集群。同構機群中各節(jié)點有相 似的體系并且使用相同的操作系統(tǒng) , 而異構機群 中節(jié)點可以有不同的體系 , 運行的操作系統(tǒng)也可 以不盡相同。按照結點的機型可分為 PC 集群、工作站集 群和 SMP 集群等。
1.1.3 集群系統(tǒng)的特點:
高可擴展性提高 CPU 主頻和總線寬帶是最初提供計算機 性能的主要手段。但是這一手段對系統(tǒng)性能的提 供是有限的。接著人們通過增加 CPU 個數和內存 容量來提高性能 , 于是出現(xiàn)了向量機 , 對稱多處 理機 ( SMP) 等。但是當 CPU 的個數超過某一閾 值 , 象 SMP 這些多處理機系統(tǒng)的可擴展性就變得 極差。主要瓶頸在于 CPU 訪問內存的寬帶并不能 隨著 CPU 個數的增加而有效增長。與 SMP 相反 , 集群系統(tǒng)的性能隨著 CPU 個數的增加幾乎是線性 的。 11312 高可用性集群中的一個節(jié)點失效 , 它的任務可以傳遞 給其他節(jié)點。可以有效防止單點失效。 11313 高性能 負載平衡集群允許系統(tǒng)同時接入更多的用戶。 11314 高性價比集群 ( Cluster) 技術是使用特定的連接方式 , 將價格相對較低符合工業(yè)標準的硬件設備結合起來 , 同時也能提供高性能相當的任務處理能力。
2 影響集群系統(tǒng)并行運算的因素
2.1.1 網絡性能因素 快速消息通信系統(tǒng)集群計算機是基于高速通 信網絡互連而構成的系統(tǒng)。網絡性能的好壞對集
群計算機并行計算效率的提高、處理問題的適應 范圍以及系統(tǒng)的可擴展性都有很大影響。通信延 遲時間是衡量網絡性能的重要因素 , 它包括協(xié)議 軟件處理開銷和網絡硬件處理時間。高速網絡硬 件雖然降低了網絡的傳輸延遲 , 但并沒有減少通 信軟件的處理開銷 , 由于軟件處理開銷所占比重 過大 , 在很大程度上阻礙了高速網實際性能的提 高 , 因此 , 在使用高速網絡的集群系統(tǒng)中 , 影響通信系統(tǒng)性能的瓶頸己不再是網絡硬件的性能 , 而是通信軟件的處理開銷。傳統(tǒng) TCP/ IP 協(xié)議是為廣域網設計的網際互連 協(xié)議 , 它提供了復雜而強大的諸多功能 , 這些復 雜的功能必然帶來很大的軟件開銷 , 因此這種協(xié) 議并不適合集群計算機進行并行處理。另外 , 傳 統(tǒng)協(xié)議往往是在操作系統(tǒng)核心中實現(xiàn)的 , 由操作 系統(tǒng)引入的開銷也是不容忽視的重要因素。對集 群計算機系統(tǒng)而言 , 其網絡系統(tǒng)分布范圍小 , 通 信鏈路可靠性高 , 系統(tǒng)結構相對簡單。為了降低 通信軟件處理開銷 , 需要通過對高效通信協(xié)議的 研究 , 設計一種適用于集群計算機系統(tǒng)的快速消 息傳遞機制 , 為用戶提供一個低延遲、高帶寬、 高可靠的通信模式 , 達到改善系統(tǒng)性能的目的。
2.1.2 可視化并行程序開發(fā)與調試環(huán)境因素 影響并行機推廣使用的一個最重要的障礙是 在并行機上編寫、編譯、鏈接和調試程序比較困 難。目前雖然有了許多功能強大的并行環(huán)境 , 但 是編制高效的并行程序仍然是一件比較困難的事 情。主要是因為這些并行環(huán)境的重點都在運行環(huán)境上 , 對編程環(huán)境的方便性和實用性注意不夠 , 缺少實用的工具。 一個友好、實用、方便的可視化人機交互集成開發(fā)環(huán)境 , 應為應用程序員和最終用戶提供編 輯 , 多種語言的編譯、鏈接、裝配 , 并行環(huán)境配 置 , 各節(jié)點資源使用情況顯示 , 并行任務的加載、運行、狀態(tài)監(jiān)視和控制 , 性能評測和并行調試以 及聯(lián)機幫助等功能 , 使用戶在此環(huán)境中即可方便 地完成并行程序的編寫、編譯鏈接 , 并且通過性 能監(jiān)測分析比較并行算法 , 找出性能瓶頸 , 優(yōu)化 并行算法設計 , 并最終編寫出高效的并行程序。這對于解決并行處理技術難以實用具有現(xiàn)實意義。 并行程序的可視化是當前并行程序環(huán)境的一個重 要趨勢 , 通過控制流和數據流模式的圖形動畫可 使程序員直觀地看到并行程序的運行過程 , 使用 戶能形象地發(fā)現(xiàn)并行程序的瓶頸 , 為并行程序的調試及提高編譯效率提供有效的乎段。
2.1.3 程序并行化因素 計算機發(fā)展到今天 , 己經積累了大量的應用 軟件 , 要把這些軟件人工改寫成等價的并行軟件 是一件工作量極其龐大、也很繁瑣的工作。用戶迫切要求對現(xiàn)有的應用軟件不作任何改動 , 就能 在并行系統(tǒng)上運行。因此 , 設計和實現(xiàn)一個并行 化編譯系統(tǒng)是非常必要的。經過近年來的研究 , 全自動并行化系統(tǒng)在并行化能力上有了較大提高 , 但在對某些串行程序進行并行化后 , 生成的并行程序的加速比仍然不能令人滿意。其原因在于全 自動并行化系統(tǒng)中的相關性分析算法、數據劃分 算法和通信生成算法還不能有效地處理這些應用 程序的復雜性。除了算法本身的能力不足外 , 缺 乏有關的程序語義信息。交互式的并行化系統(tǒng)引起人們的格外注意。交互式的并行化系統(tǒng)除了考 慮到全自動系統(tǒng)的功能和特點外 , 還允許用戶選 擇使用或不使用系統(tǒng)中的交互行為。在不使用交 互功能時 , 系統(tǒng)就成了一個全自動的并行化系統(tǒng)。 如果用戶認為全自動的并行化效果不好 , 那么可以選擇使用交互功能來進一步提高并行代碼質量。
2.1.4 容錯與高可用技術因素 越來越多的應用對計算機系統(tǒng)的性能、可靠 性和可用性提出了越來越高的要求。并行處理是 提高計算能力、滿足不斷增長的應用需求的有效途徑。而容錯技術是提高計算可靠性和可用性的 重要保證。隨著系統(tǒng)規(guī)模的不斷擴大 , 工作站/ PC 集群計算機在計算過程中發(fā)生故障的機會曾指 數般增長 , 同時由于集群計算機系統(tǒng)通常為多用 戶使用 , 結點等資源具有較大的可變特性。系統(tǒng)在發(fā)生各種異?;蚬收鲜录r會導致本次并行計 算的徹底失敗 , 此前的大量計算不能再用。要想 使集群計算機系統(tǒng)在上述領域廣泛應用 , 系統(tǒng)需 要具有一定的容錯能力 , 保證在發(fā)生各種異常事 件或故障時 , 為用戶提供持續(xù)的服務。雖然實現(xiàn)容錯的方法有多種 , 但都不能有效地應用于工作 站/ PC 集群計算機。檢查點設置與卷回恢復技術 作為一種后向恢復技術 , 通過在系統(tǒng)正常運行過 程中設置檢查點 , 保存系統(tǒng)當時的一致性狀態(tài) , 并對各進程進行相關性跟蹤和記錄。系統(tǒng)發(fā)生故障后 , 將相關進程回卷到故障前系統(tǒng)一致性狀態(tài) (檢查點) , 經過狀態(tài)恢復后從該檢查點處重新執(zhí)行 (而不是從程序開始執(zhí)行) , 實現(xiàn)對系統(tǒng)故障的 恢復 , 節(jié)省了大量重復計算時間 , 充分體現(xiàn)集群 計算機系統(tǒng)的并行性能 , 提高集群計算機系統(tǒng)的可用性。這種后向故障恢復技術不僅可以對系統(tǒng) 瞬時、間歇故障進行自動恢復 , 并且通過檢查點 文件鏡像和進程遷移技術也可以容忍節(jié)點的永久 故障。同時也是恢復未知故障 —在某一應用設計過程中未預料到故障的唯一乎段。
2.1.5 智能資源管理與調度因素 負載在系統(tǒng)的各處理結點上分布的均衡程度 被稱為負載平衡度。負載平衡度是影響并行效率 的重要因素。對集群計算機系統(tǒng)來說 , 如何合理 地安排和調度任務 , 充分運用各節(jié)點的處理能力 , 縮短程序的響應時間 , 是進行并行計算必須解決 的問題。由于集群計算機系統(tǒng)具有資源共享動態(tài) 變化的特點 , 而各節(jié)點的負載分布情況在很大程 度上影響著應用程序的執(zhí)行效率 , 因此 , 需要為 系統(tǒng)的資源提供一種智能化的管理機制 , 以更加充分、合理地利用系統(tǒng)資源 , 加快應用程序的執(zhí) 行速度。具體地說 , 一個智能化的資源管理與調 度系統(tǒng)至少應具備負載與系統(tǒng)信息的監(jiān)測與采集、 負載初始分配、動態(tài)資源調度與任務遷移功能 , 除了以上技術外 , 諸如單一系統(tǒng)映像 , DSM 并行模型的支持、并行 I/ O 、并行語言等技術也是集 群計算機的主要研究內容。
3 集群系統(tǒng)的應用
高性能計算機系統(tǒng)一般用于解決大容量存儲、大數據量計算等需要大幅度降低處理時間以提高生產效率的應用問題。許多對經濟、科技和人類 社會的發(fā)展有廣泛影響的重大應用問題都存在固 有的并行性。但是近幾年來由于價格、效率等因素的影響 , 傳統(tǒng)巨型機、MPP 的應用受到一定的 限制 , 而集群計算機系統(tǒng)提供了一種建立從中小 規(guī)模到大規(guī)模并行處理系統(tǒng)的可擴展的方法 , 是 解決許多有關國計民生的重大計算問題的可行途 徑之一。以石油地震數據處理為例。在石油地震勘探 開發(fā)工作中 , 三維地震勘探能提供比二維勘探更 精確的地下圖像 , 接近實際地反映地下真實情況 , 有效地解決地質問題。但是 , 由于其數據量大、 計算量大、處理周期長 , 特別是由于計算量大 , 因此許多先進的三維地震資料處理方法在大型計 算機上難以實現(xiàn)。而并行處理則為實現(xiàn)這些方法 提供了可能。另外 , 美國空間物理研究院在互聯(lián)網上開展 尋找外星人的集群算法活動 , 將事先由射電望遠 鏡記錄的資料轉成數據庫放在網上 , 然后各用戶 通過該活動的網頁下載算法程序 , 利用空余機時 下載數據并進行計算 , 程序自動將未計算過的數 據下載回來 , 計算完成后自動上傳到網站上去 , 通過全世界喜歡宇宙探索的 PC 機使用者的空余 機時完成大型機才能勝任的計算。隨著網絡技術的發(fā)展和對集群計算機系統(tǒng)研 究的深入 , 特別是高效通信機制的開發(fā) , 系統(tǒng)的 通信性能將會接近專用的互聯(lián)網絡 , 并行編程環(huán) 境和工具更加完善 , 集群計算機必將對許多具有 挑戰(zhàn)性的計算問題及國民經濟起到積極影響。
參考文獻
[1 ]鄭緯民. 集群系統(tǒng)的現(xiàn)狀與挑戰(zhàn)[J ] . 計算機教育 ,2004 , (6) :23
[ 2 ] 陳國良 ,吳俊敏. 高性能訓算與高性能計算機[J ] . 2006 , (7)
[ 3 ] 劉仲. 基于對象存儲的集群存儲系統(tǒng)設計[ J ] 計算機工程與科 學 ,2005 ,27 (2) :78 - 81
[ 4 ] 楊剛 ,龍海燕 ,楊 . 計算機總線發(fā)展新趨勢[J ] . 微計算機信息 , 2003 ,19 (1) :1 - 2
[ 5 ] 胡玉平. 集群計算機[J ] . 現(xiàn)代計算機. 2001 , (12)
評論