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