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