

摘要:在長(zhǎng)期分析研究高密度數(shù)據(jù)處理項(xiàng)目作業(yè)運(yùn)行特點(diǎn)的基礎(chǔ)上,歸納常規(guī)處理和偏移處理兩大類應(yīng)用下,不同處理方法實(shí)現(xiàn)模塊的資源需求特點(diǎn)及處理員的作業(yè)模式,優(yōu)化組合集群計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)三元素技術(shù)發(fā)展路線及產(chǎn)品性能參數(shù),搭建了硬件架構(gòu)上適用于地震勘探處理應(yīng)用的高性能GPU計(jì)算集群系統(tǒng)。綜合應(yīng)用鏡像管理、多種子點(diǎn)分發(fā)等多種集群管理及作業(yè)調(diào)度技術(shù),實(shí)現(xiàn)異構(gòu)集群統(tǒng)一管理及監(jiān)控,實(shí)現(xiàn)油田高性能計(jì)算資源共享,高效提升處理生產(chǎn)大規(guī)模計(jì)算能力,實(shí)現(xiàn)綠色高效體系建設(shè)。
關(guān)鍵詞:高性能計(jì)算;GPU;XCAT;集群管理
一、前言
地震勘探處理集群是指利用高性能計(jì)算(HPC)和并行處理技術(shù),通過集群計(jì)算機(jī)系統(tǒng)對(duì)地震數(shù)據(jù)進(jìn)行高效處理的技術(shù)體系。集群技術(shù)被廣泛應(yīng)用于地震數(shù)據(jù)的疊前時(shí)間偏移、深度偏移、層析反演等關(guān)鍵處理環(huán)節(jié),在地震勘探中發(fā)揮重要作用,能夠顯著提升地震數(shù)據(jù)處理的速度和精度,從而支持更復(fù)雜、更精細(xì)的地質(zhì)解釋和資源勘探。
基于高密度地震采集數(shù)據(jù)量和地震資料處理計(jì)算量呈幾何級(jí)數(shù)增長(zhǎng),偏移處理等大規(guī)模并行計(jì)算的資源需求越來越龐大,本企業(yè)勘探處理集群自2012年投產(chǎn)以來已高效運(yùn)行數(shù)年。現(xiàn)有舊的大規(guī)模CPU、GPU集群組合架構(gòu)已無法適應(yīng)復(fù)雜地質(zhì)目標(biāo)研究需求及高密度數(shù)據(jù)和高精度成像數(shù)據(jù)處理工作。如何在異構(gòu)計(jì)算架構(gòu)中打造高效、高性能計(jì)算集群運(yùn)行平臺(tái),優(yōu)化處理大規(guī)模并行計(jì)算任務(wù),實(shí)現(xiàn)高效的資源調(diào)度和管理是下一步的工作目標(biāo)。本次重點(diǎn)探討GPU集群搭建及實(shí)施應(yīng)用體系建設(shè)。
GPU集群是一種由多個(gè)圖形處理單元(GPU)組成的高性能計(jì)算系統(tǒng),廣泛應(yīng)用于科學(xué)計(jì)算、深度學(xué)習(xí)、圖形渲染、數(shù)據(jù)分析等領(lǐng)域[1]。它有強(qiáng)大的并行計(jì)算能力,通過多個(gè)GPU的協(xié)同工作,能夠顯著提升計(jì)算效率和處理能力,使其特別適合處理大規(guī)模并行計(jì)算任務(wù)。同時(shí)通過GPU集群運(yùn)行的深度學(xué)習(xí)模型可以大幅提高訓(xùn)練效率,同時(shí)支持更復(fù)雜的模型和更大的數(shù)據(jù)集。GPU集群在圖形渲染和視頻處理中具有顯著優(yōu)勢(shì),能夠快速生成高質(zhì)量的圖像和視頻內(nèi)容,在地震地質(zhì)解釋圖形、3D建模和虛擬現(xiàn)實(shí)等領(lǐng)域尤為重要。GPU集群憑借強(qiáng)大的并行計(jì)算能力、高效的資源利用和廣泛的應(yīng)用場(chǎng)景,在現(xiàn)代高性能計(jì)算領(lǐng)域中發(fā)揮著至關(guān)重要的作用。
隨著計(jì)算機(jī)技術(shù)迅速發(fā)展,技術(shù)路線各異,實(shí)現(xiàn)產(chǎn)品眾多。新技術(shù)、新產(chǎn)品引進(jìn)得當(dāng)與否決定了集群的實(shí)際生產(chǎn)效能。GPU集群搭建是一個(gè)復(fù)雜且多方面的任務(wù),涉及硬件選擇、網(wǎng)絡(luò)配置、軟件部署以及管理等多個(gè)方面。它通過高性能計(jì)算、并行處理、人工智能和三維可視化等先進(jìn)技術(shù),大幅提升了地震數(shù)據(jù)處理的速度和精度。
綜上,搭建GPU集群是一項(xiàng)需要綜合考慮硬件、軟件、網(wǎng)絡(luò)和成本的復(fù)雜工程。通過合理規(guī)劃和選擇合適的配置,可以有效提升計(jì)算能力和效率,滿足深度學(xué)習(xí)、科學(xué)計(jì)算和大規(guī)模數(shù)據(jù)處理的需求。
二、集群構(gòu)成
高性能集群(High-Performance Computing,HPC)的構(gòu)成要素主要包括硬件、軟件和管理三大部分,其核心目標(biāo)是通過多臺(tái)計(jì)算機(jī)協(xié)同工作,提供高效的計(jì)算能力、高可擴(kuò)展性和高可靠性。
(一)集群計(jì)算節(jié)點(diǎn)
集群計(jì)算節(jié)點(diǎn)是指在高性能計(jì)算集群中,通過高速網(wǎng)絡(luò)連接的獨(dú)立計(jì)算機(jī)節(jié)點(diǎn),它們共同協(xié)作完成大規(guī)模計(jì)算任務(wù)[2]。這些節(jié)點(diǎn)可以是CPU節(jié)點(diǎn)、GPU節(jié)點(diǎn)或其他類型的計(jì)算資源。CPU節(jié)點(diǎn)用于處理通用計(jì)算任務(wù),GPU節(jié)點(diǎn)用于加速深度學(xué)習(xí)、科學(xué)計(jì)算等并行計(jì)算任務(wù),存儲(chǔ)節(jié)點(diǎn)提供共享存儲(chǔ)資源,用于存儲(chǔ)數(shù)據(jù)和結(jié)果。每個(gè)計(jì)算節(jié)點(diǎn)通常包含處理器、內(nèi)存和存儲(chǔ)設(shè)備,通過高速互聯(lián)網(wǎng)絡(luò)連接,以實(shí)現(xiàn)高效的數(shù)據(jù)傳輸和任務(wù)分配,負(fù)責(zé)執(zhí)行具體的計(jì)算任務(wù),如數(shù)值模擬、數(shù)據(jù)處理等。集群計(jì)算節(jié)點(diǎn)是高性能計(jì)算系統(tǒng)的核心,通過合理的硬件配置和動(dòng)態(tài)管理,能夠高效地完成大規(guī)模計(jì)算任務(wù),如圖1所示。
在集群環(huán)境中,計(jì)算節(jié)點(diǎn)通常通過以下流程完成任務(wù):用戶通過登錄節(jié)點(diǎn)提交作業(yè);管理節(jié)點(diǎn)接收作業(yè)請(qǐng)求,并將其分配到合適的計(jì)算節(jié)點(diǎn);計(jì)算節(jié)點(diǎn)讀取存儲(chǔ)節(jié)點(diǎn)上的數(shù)據(jù),執(zhí)行計(jì)算任務(wù);計(jì)算結(jié)果返回存儲(chǔ)節(jié)點(diǎn)或直接返回給用戶。
集群計(jì)算節(jié)點(diǎn)相比單機(jī)計(jì)算具有顯著優(yōu)勢(shì):
性能提升:通過多節(jié)點(diǎn)協(xié)同工作,顯著提高計(jì)算速度。
擴(kuò)展性:可以根據(jù)需求動(dòng)態(tài)擴(kuò)展計(jì)算資源。
容錯(cuò)能力:通過冗余設(shè)計(jì),提高系統(tǒng)的穩(wěn)定性和可靠性。
為保障處理集群長(zhǎng)期穩(wěn)定提供高效服務(wù),項(xiàng)目組長(zhǎng)期跟蹤研究集群技術(shù)發(fā)展和地震資料處理方法新進(jìn)展,越來越多的工作負(fù)載需要利用加速器性能,對(duì)GPU密度的需求也隨之增加。歷經(jīng)多年集群產(chǎn)品選型和應(yīng)用效果評(píng)估,計(jì)算處理節(jié)點(diǎn)本方案選定聯(lián)想SR670服務(wù)器,聯(lián)想ThinkSystem SR670能為人工智能(AI)和高性能計(jì)算(HPC)工作負(fù)載提供最佳性能,同時(shí)維持較低的總擁有成本(TCO)。SR670每個(gè)2U節(jié)點(diǎn)可容納四個(gè)雙寬或八個(gè)單寬GPU,可滿足機(jī)器學(xué)習(xí)(ML)和深度學(xué)習(xí)(DL)或計(jì)算密集型工作負(fù)載需求。圖形解釋服務(wù)器采用聯(lián)想SR860服務(wù)器,SR860可以支持從業(yè)務(wù)整頓到數(shù)據(jù)虛擬化、數(shù)據(jù)分析和科學(xué)/技術(shù)在內(nèi)的廣泛工作負(fù)載。此外,SR860支持大量超快內(nèi)存、存儲(chǔ)和適配器插槽以及多個(gè)NIC外形,甚至是兩個(gè)GPU。靈活適應(yīng)各種工作負(fù)載,許多類型的工作負(fù)載可以受益于GPU加速的計(jì)算。數(shù)以千計(jì)的處理解內(nèi)核和并行架構(gòu)使GPU非常適合計(jì)算密集型應(yīng)用,如機(jī)器學(xué)習(xí)、人工智能、分析、3D建橫和曾經(jīng)需要超計(jì)算機(jī)的其他應(yīng)用。
(二)集群軟件及數(shù)據(jù)庫(kù)節(jié)點(diǎn)
集群軟件主要用于管理和監(jiān)控集群中的節(jié)點(diǎn)狀態(tài),以及調(diào)度資源以保證系統(tǒng)的高可用性和性能[3]。數(shù)據(jù)庫(kù)節(jié)點(diǎn)在不同系統(tǒng)中具有不同的角色和功能,包括數(shù)據(jù)節(jié)點(diǎn)(Data Node)負(fù)責(zé)存儲(chǔ)數(shù)據(jù)并執(zhí)行數(shù)據(jù)操作;SQL節(jié)點(diǎn)(SQL Node)負(fù)責(zé)提供SQL接口,處理SQL查詢并返回結(jié)果;元數(shù)據(jù)節(jié)點(diǎn)(Meta Node)負(fù)責(zé)維護(hù)集群的元數(shù)據(jù)信息,如角色分配、配置管理等;協(xié)調(diào)節(jié)點(diǎn)(gcluster節(jié)點(diǎn))在GBase中,負(fù)責(zé)解析和執(zhí)行計(jì)劃。存儲(chǔ)技術(shù)方面需要選型擴(kuò)展性好、性價(jià)比高、基于開源文件系統(tǒng)的X86通用服務(wù)器構(gòu)建的分布式存儲(chǔ)系統(tǒng),用以滿足勘探處理集群海量數(shù)據(jù)存儲(chǔ)需求。
軟件及數(shù)據(jù)庫(kù)節(jié)點(diǎn)采用了ThinkSystem SR670服務(wù)器,每臺(tái)計(jì)算節(jié)點(diǎn)配置了2個(gè)Intel Xeon Gold 6242R處理器(20核,3.1GHz)、24根16GB ECC DDR4 2Rank內(nèi)存、2塊960G企業(yè)級(jí)SSD硬盤做RAID1用于安裝操作系統(tǒng),2塊1.92TB企業(yè)級(jí)SSD硬盤用于存儲(chǔ)數(shù)據(jù)。軟件及數(shù)據(jù)庫(kù)節(jié)點(diǎn)的硬盤RAID1,1+1冗余電源等冗余特性保障了軟件及數(shù)據(jù)庫(kù)節(jié)點(diǎn)的可靠性。
集群軟件及數(shù)據(jù)庫(kù)節(jié)點(diǎn)的設(shè)計(jì)目標(biāo)是提高系統(tǒng)的可靠性和可擴(kuò)展性。通過合理的架構(gòu)設(shè)計(jì)(如主從備份、負(fù)載均衡、一致性機(jī)制),可以有效應(yīng)對(duì)大規(guī)模數(shù)據(jù)處理需求[4]。同時(shí),不同系統(tǒng)中的節(jié)點(diǎn)類型(如數(shù)據(jù)節(jié)點(diǎn)、元數(shù)據(jù)節(jié)點(diǎn)、協(xié)調(diào)節(jié)點(diǎn)等)承擔(dān)不同的職責(zé),共同協(xié)作以實(shí)現(xiàn)集群的高效運(yùn)行。
(三)集群網(wǎng)絡(luò)
高性能集群網(wǎng)絡(luò)(High-Performance Computing Cluster Network)是高性能計(jì)算(HPC)的核心組成部分,其主要目的是通過高速網(wǎng)絡(luò)連接多個(gè)計(jì)算節(jié)點(diǎn),以實(shí)現(xiàn)大規(guī)模并行計(jì)算任務(wù)的高效處理。高性能集群網(wǎng)絡(luò)搭建需要從需求分析到硬件選型、網(wǎng)絡(luò)規(guī)劃、軟件配置、集群部署、性能優(yōu)化以及安全防護(hù)等多個(gè)方面綜合考慮。通過科學(xué)合理的規(guī)劃和實(shí)施,可以構(gòu)建出高效、可靠的高性能計(jì)算平臺(tái)。
針對(duì)海量地震數(shù)據(jù)處理,存儲(chǔ)系統(tǒng)和網(wǎng)絡(luò)交換設(shè)備也不同于通用集群,通常采用專為高性能計(jì)算設(shè)計(jì)的高速互連技術(shù),如InfiniBand、RDMA(遠(yuǎn)程直接內(nèi)存訪問)和100Gbps以上的高速以太網(wǎng)等,以確保節(jié)點(diǎn)間通信的高帶寬和低延遲。Inifiniband網(wǎng)絡(luò)能夠提供更高的網(wǎng)絡(luò)傳輸速率和更短的網(wǎng)絡(luò)延時(shí),但受限于目前主流勘探處理軟件均未使用其最重要的兩個(gè)特性技術(shù)(RDMA、GPUdirect),處理集群網(wǎng)絡(luò)引入IB交換設(shè)備除了導(dǎo)致更加復(fù)雜的網(wǎng)絡(luò)架構(gòu)以外無法獲取IB的特性技術(shù)優(yōu)勢(shì),故現(xiàn)階段勘探處理集群網(wǎng)絡(luò)采用了單一的以太網(wǎng)絡(luò)設(shè)備。本方案采用了思科Nexus C9336C-FX2數(shù)據(jù)中心交換機(jī),搭建100GE高速計(jì)算數(shù)據(jù)網(wǎng)絡(luò),它支持7.2 Tbps帶寬和2.8bpps以上的吞吐量,集群中的GPU節(jié)點(diǎn)使用100GbE網(wǎng)絡(luò)進(jìn)行并行計(jì)算,使用管理網(wǎng)絡(luò)進(jìn)行操作系統(tǒng)管理、信任關(guān)系配置、目錄共享等,實(shí)現(xiàn)了計(jì)算節(jié)點(diǎn)間的高速通信和數(shù)據(jù)的高效傳輸。
(四)集群管理
集群管理是一個(gè)復(fù)雜且多方面的領(lǐng)域,涉及對(duì)多個(gè)計(jì)算節(jié)點(diǎn)或設(shè)備的協(xié)調(diào)、調(diào)度、監(jiān)控和維護(hù),其目標(biāo)是通過高效的資源調(diào)度、實(shí)時(shí)監(jiān)控和容錯(cuò)的機(jī)制確保了集群的穩(wěn)定運(yùn)行和性能優(yōu)化。無論是基于Agent的傳統(tǒng)方式還是現(xiàn)代的自動(dòng)化工具,集群管理都需要根據(jù)具體需求進(jìn)行定制化設(shè)計(jì)和實(shí)施。集群管理的核心任務(wù)是確保資源分配、負(fù)載均衡、監(jiān)控、故障恢復(fù)以及性能優(yōu)化等集群高效、穩(wěn)定地運(yùn)行。具體包括:
資源調(diào)度:將任務(wù)合理分配到不同的節(jié)點(diǎn)上,優(yōu)化資源利用率,實(shí)現(xiàn)負(fù)載均衡。
監(jiān)控與日志記錄:實(shí)時(shí)監(jiān)控集群運(yùn)行狀態(tài),包括節(jié)點(diǎn)健康狀況、資源使用情況等,并記錄日志以便后續(xù)分析。
故障恢復(fù)與容錯(cuò):通過冗余設(shè)計(jì)和自動(dòng)故障切換機(jī)制,確保集群在發(fā)生故障時(shí)能夠快速恢復(fù)。
安全與訪問控制:保護(hù)集群免受未授權(quán)訪問,同時(shí)確保數(shù)據(jù)的安全性和完整性。
GPU集群在異構(gòu)計(jì)算架構(gòu)中實(shí)現(xiàn)高效的資源調(diào)度和管理,主要依賴于多種技術(shù)手段和策略,包括資源池化、細(xì)粒度調(diào)度、自動(dòng)化管理工具以及異構(gòu)資源的統(tǒng)一管理。異構(gòu)計(jì)算架構(gòu)通常包含CPU、GPU等多種計(jì)算資源,這些資源需要通過統(tǒng)一的管理平臺(tái)進(jìn)行調(diào)度和優(yōu)化。在節(jié)點(diǎn)部署上,綜合應(yīng)用系統(tǒng)鏡像管理技術(shù)、多種子點(diǎn)分發(fā)技術(shù)、配置文件批量修改等技術(shù),建立了地震勘探處理應(yīng)用軟件平臺(tái)快速部署系統(tǒng)。
XCAT是一種開源的集群管理和配置工具,主要用于大規(guī)模計(jì)算機(jī)集群的自動(dòng)化部署、擴(kuò)展和管理。支持多種操作系統(tǒng)和硬件平臺(tái),適用于高性能計(jì)算(HPC)、云計(jì)算、大數(shù)據(jù)分析等領(lǐng)域。通過XCAT,簡(jiǎn)化了集群管理流程,減少手動(dòng)配置的時(shí)間和錯(cuò)誤。同時(shí)利用監(jiān)控工具實(shí)時(shí)監(jiān)控集群狀態(tài),及時(shí)發(fā)現(xiàn)和解決問題,實(shí)現(xiàn)從創(chuàng)建到監(jiān)控的全過程自動(dòng)化管理,既滿足1套處理集群復(fù)用不同處理應(yīng)用軟件的需求,也滿足油氣勘探高精度成像對(duì)比研究的科研、生產(chǎn)需求。
三、性能評(píng)估(測(cè)試)
應(yīng)用軟件運(yùn)行環(huán)境約束條件下,在高性能LINPACK(HPL)測(cè)試、理論浮點(diǎn)峰值(Rpeak)、組網(wǎng)測(cè)試3個(gè)關(guān)鍵性能測(cè)試上領(lǐng)先國(guó)內(nèi)石油行業(yè)。
(一)驗(yàn)證測(cè)試條件
在所有計(jì)算節(jié)點(diǎn)上執(zhí)行which mpirun命令,查看是否存在該命令。mpirun命令為英特爾Parallel Studio XE安裝目錄(本例中為/opt/intel)的子目錄。若無錯(cuò)誤輸出,運(yùn)行以下命令進(jìn)行英特爾Parallel Studio環(huán)境設(shè)置。
source /opt/intel/bin/iccvars.sh intel64
source /opt/intel/impi/2019.1.144/intel64/bin/mpivars.sh intel64 source /opt/intel/bin/compilervars.sh intel64
(二)運(yùn)行測(cè)試腳本
進(jìn)入配置腳本所在目錄,執(zhí)行./run_1_node_dgx1_v100x4命令。
# cd /softs/xhpl_cuda
# ./run_1_node_dgx1_v100x4
理論浮點(diǎn)峰值是該計(jì)算機(jī)理論上能達(dá)到的、每秒鐘能完成浮點(diǎn)計(jì)算的最大次數(shù),主要由CPU本身規(guī)格和CPU數(shù)量決定:Rpeak = CPU主頻(標(biāo)準(zhǔn)頻率)×CPU每個(gè)時(shí)鐘周期執(zhí)行浮點(diǎn)運(yùn)算的次數(shù)×系統(tǒng)中CPU的總核數(shù),以配置2顆2.8GHz的10核Intel E5-2680 v3 CPU為例,理論浮點(diǎn)峰值計(jì)算如下:2.8×20×16=896GFLOPS,抽取5個(gè)節(jié)點(diǎn)測(cè)試結(jié)果,見表1。
四、結(jié)語
后期針對(duì)集群“好建難用”的業(yè)界難題,以用戶需求為導(dǎo)向,借鑒IT服務(wù)管理,結(jié)合集群運(yùn)維技術(shù)和協(xié)同管理平臺(tái)技術(shù),圍繞處理員和系統(tǒng)管理員,以知識(shí)管理為核心建立了適用于地震勘探處理解釋工作環(huán)境的集群運(yùn)維體系,保障處理集群高效穩(wěn)定運(yùn)行。
通過研究TB級(jí)數(shù)據(jù)遠(yuǎn)程傳輸模式、遠(yuǎn)程三維圖像顯示技術(shù)、集群隊(duì)列管理和作業(yè)分發(fā)技術(shù)、容器和虛擬機(jī)技術(shù)、NIS+用戶管理體系等云計(jì)算管理技術(shù),從“云—邊—端”三元素入手,在保障勘探處理工作順利開展的前提下,吸收融合尖端計(jì)算機(jī)技術(shù)發(fā)展成果,繼續(xù)探索勘探處理集群向科學(xué)計(jì)算云平穩(wěn)高效融合的道路,提出的科學(xué)計(jì)算云“多中心分布”建設(shè)模式,將勘探處理集群有序融入科學(xué)計(jì)算云,進(jìn)一步推動(dòng)油田高性能計(jì)算、存儲(chǔ)資源科學(xué)計(jì)算云體系建設(shè)項(xiàng)目發(fā)展。
參考文獻(xiàn)
[1]Rajkumar Buyya.高性能集群計(jì)算: 第二卷[M].北京:電子工業(yè)出版社,2001.
[2]陳云霽.智能計(jì)算系統(tǒng)[M].北京:機(jī)械工業(yè)出版社,2020.
[3]Alex Vrenios. Linux集群體系結(jié)構(gòu)[M].北京:機(jī)械工業(yè)出版社,2003.
[4]黃傳河.計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)[M].武漢:武漢大學(xué)出版社,2004.
作者單位:新疆油田公司勘探開發(fā)研究院地球物理研究所
責(zé)任編輯:王穎振 鄭凱津