曹士炳 王克斌 馬迅飛 張紅杰 羅剛 金慧鑫



摘要:隨著油氣勘探步伐的不斷加大,地震勘探數據量呈現快速增長趨勢,這必然加大對地震資料解釋系統軟硬件資源的需求,同時資源的負載均衡問題也日益凸顯。介紹了常見的負載均衡技術,重點對層次分析法進行探索與研究,并將該方法運用到GeoEast解釋系統的資源分配過程中,取得了令人滿意的效果。文章對未來的負載均衡技術進行了展望,指出自動化配置與資源池的智能劃分將是其技術核心。
關鍵詞:地震資料解釋系統;資源池;負載均衡技術;層次分析法;GeoEast解釋系統
中圖分類號:TP399
文獻標識碼:A
文章編號:1006-8228(2020)09-20-04
Research and application of resource load balancing strategy in seismicdata interpretation system
Cao Shibing, Wang Kebin, Ma Xunfei, Zhang Hongjie, Luo Gang, Jin Huixin
(BGP. CNPC. Zhuozhou. Hebei 072750. China )
Abstract: With the increasing pace of oil and gas exploration, the amount of seismic exploration data shows a trend of rapidgrowth, which inevitably increases the demand for software and hardware resources of seismic data interpretation system. andthe load balancing problem of resources is increasingly prominent. This paper introduces the common load balancingtechnologies, focuses on the exploration and research of analytic hierarchy process. and applies this method to the resourceallocation process of GeoEast interpretation system, which has achieved satisfactory results. The future load balancingtechnologies are prospected. and it is pointed out that automatic configuration and intelligent division of resource pool wouldbe the key technologies.
Key words: seismic data interpretation system; resource pool; load balancing technology; analytic hierarchy process; GeoEastinterpretation system
0引言
地震資料解釋是把經過處理的地震數據變成地質成果的過程,通過運用波動理論和地質知識,綜合地質、鉆井、測井等各項資料,做出構造解釋、地層解釋、巖性及綜合解釋,對這些資料進行綜合分析、模擬計算、反復對比,繪出有關的成果圖件,對探區作出含油氣評價,提出鉆井位置的過程。
地震資料解釋系統是完成人機交互的過程,解釋專家把地震資料從存儲系統中調入內存,生成相應的地質模型來進行分析,因此需保證圖形的精度。這就需要對地震資料進行流暢的三維顯示,這對工作站、服務器硬件中的CPU、內存、硬盤、圖卡、顯示器等都有一定的要求。因此,工作站硬件配置與解釋軟件的性能發揮有著密切的正關聯。
為了更好地應對地震勘探數據量快速增長的問題,地震資料解釋所需的硬件資源規模不斷擴大,資源運維管理難度越來越大,傳統的人工分配資源,常使多個生產項目相互擠占資源,導致資源失衡和生產效率降低。通過技術研究及程序開發,對資源實現自動分配、統一監控,可以極大提高設備利用率和生產效率。
1關鍵技術
1.1負載均衡算法
負載均衡的實現,綜合了評估資源池內所有服務器的CPU使用率、內存使用率、顯存使用率和云桌面連接數,根據軟件資源使用特點設置優先級,將資源最優的服務器分配給用戶,從而達到平衡資源使用率的目標。
負載均衡的核心在于算法。傳統模式下,負載均衡的算法已經比較成熟,常用的主流算法有:隨機、輪詢、加權輪詢、動態輪詢、最快算法、最少連接、觀察算法、預判算法[1-2]。
隨機:即隨機的把負載分配到各個可用的服務器上,通過隨機數生成算法選取一個服務器,然后把軟件連接請求分配到該服務器上。
輪詢:按順序把每個新的連接請求分配給下一個服務器,最終把所有請求平分給所有的服務器。
加權輪詢:該算法中,每個機器接受的連接數量是按權重比例分配的。這是對普通輪詢算法的改進,如可以設定第三臺機器的處理能力是第一臺機器的兩倍,那么負載均衡器會把兩倍的連接數量分配給第三臺機器。
動態輪詢:類似于加權輪詢,但權重值是基于對各個服務器的持續監控,并且不斷更新。這是一個動態負載均衡算法,基于對服務器的實時性能分析分配連接,比如每個節點的當前連接數,或者節點的最快響應時間等。
最快算法:基于所有服務器中的最快響應時間分配連接。該算法在服務器跨不同網絡的環境中特別有用。
最少連接:系統把新連接分配給當前連接數目最少的服務器。該算法在各個服務器運算能力基本相似的環境中非常有效。
觀察算法:該算法同時利用最小連接算法和最快算法來實施負載均衡。服務器根據當前的連接數和響應時間得到一個分數,分數較高代表性能較好,會得到更多的連接。
預判算法:該算法使用觀察算法來計算分數,但是預判算法會分析分數的變化趨勢,以此來判斷某臺服務器的性能是在改善還是降低,具有改善趨勢的服務器會得到更多的連接。該算法適用于大多數環境。
1.2層次分析法
經過對負載均衡各種算法的分析與研究,并綜合考慮地震資料解釋軟件的特點,我們創新性地運用了層次分析負載均衡算法。
層次分析法(Analytic Hierarchy Process,AHP)是一種定性分析和定量分析相結合的評價決策方法。它通過建立層次結構模型、構造判斷矩陣、進行層次單排序及一致性檢驗、進行層次總排序及一致性檢驗等步驟,來完成評價指標排序。
對于眾多的專業軟件,其服務器的CPU、內存、顯卡等資源使用權重不盡相同。使用層次分析法可以科學有效的確定各因素的相對重要性,并確定權重。基于層次分析法的負載均衡算法,按影響負載均衡的參數間的相互關聯影響及隸屬關系,將參數按不同層次聚集組合,形成一個多層次的分析結構模型,使問題歸結為最低層相對于高層的相對重要權值的確定。根據每臺服務器的最大處理能力和當前負載情況,使處理能力強的節點獲得處理任務的數量相對較多,從而達到負載均衡[3-4]。
1.3AHP分析過程
AHP分析問題過程經過以下五個步驟。
(1)建立層次結構模型:將決策目標、考慮的因素(決策準則)和決策對象,按它們之間的相互關系分為最高層、中間層和最低層,并繪出層次結構圖,如圖1所示。
(2)構造判斷矩陣:在確定各層次、各因素之間的權重時,如果只是定性的結果,則常常不容易被別人接受,因而提出一致矩陣法,即不把所有因素放在一起比較,而是兩兩相互比較。對比時采用相對尺度,以盡可能減少性質不同因素相互比較的困難,以提高準確度。
準則層包含四個準則:連接數(C1)、CPU使用率(C2)、內存使用率(C3)、圖卡使用率(C4),相對于目標層選擇設備,進行兩兩比較打分,如圖2所示。
(3)層次單排序:所謂層次單排序是指,對于上一層某因素而言,本層次各因素的重要性的排序,即方案層對準則層連接的矩陣構造。
(4)矩陣的一致性檢驗:所謂一致性是指判斷思維的邏輯一致性。如當甲比丙是非常重要,而乙比丙是稍微重要時,顯然甲一定比乙重要。這就是判斷思維的邏輯一致性,否則判斷就會有矛盾。
(5)層次總排序:確定某層所有因素對于總目標相對重要性的排序權值過程。這一過程是從最高層到最底層依次進行的。對于最高層而言,其層次單排序的結果也就是總排序的結果。
1.4配置流程
負載均衡的主要流程:
(1)管理員設置應用負載指標及權重;
(2)系統創建三種資源最優隊列,每種隊列按照層次分析法選擇20個資源放入隊列,進入等待狀態;如果同時連接資源數超過20個,則系統按照層次分析法尋址、分配;
(3)用戶發送應用連接請求;
(4)將最優的資源連接給用戶;
(5)系統向選定的資源發送指令,啟動應用。
負載均衡對于各項指標參數判斷的準確性非常重要。基于平臺基礎架構的監控系統抓取CPU、內存、磁盤10等幾十項指標,可從中選擇與負載均衡相關的參數來計算資源的負載。
2應用實例分析
GeoEast云計算管理系統,能夠對大型數據處理中心的可視化服務器、高性能并行計算集群、海量存儲等硬件資源,進行集中管理和統一調度,可實現資源在多個處理、解釋軟件間的高效共享[5-6]。
通過在各交互節點駐有監控程序,包括CPU、內存、網絡、磁盤等多項指標,同時能夠以服務器、服務器組或集群等為單位進行查詢、瀏覽和統計分析,為資源量化管理奠定了基礎;在對資源使用情況量化的基礎上,結合負載均衡策略及用戶啟動應用軟件的要求,來指派給合適的交互節點,如圖3所示。
(1)將數據中心的所有資源,根據軟件、用戶、部門或者項目組的使用需求,劃分出對應的資源池,并將用戶、軟件與資源池進行綁定與權限配置。
(2)在不同的資源池配置信息中,填入此資源池的預置負載均衡策略,如該資源池資源的最大連接數、使用CPU類型模塊的用戶分配、CPU優先的負載策略、使用內存類型的用戶分配為內存優先的負載策略等。
(3)用戶在選擇使用軟件時,負載均衡系統自動為用戶選擇最符合預定規則的一臺設備,打開遠程三維可視化軟件桌面,如圖4所示。
(4)收集用戶在使用過程中的資源占用情況,并定期生成該資源池的歷史使用報表。
(5)對歷史使用報表進行數據分析,判定初始設置的負載均衡策略是否符合實際使用情況,如有必要將自動進行調整。
(6)對所有受管資源池統一分析,對每個資源池的使用情況分析后,重新分配資源,將空閑率高的資源池中的部分設備,移至資源占用率高的資源池中。
3未來技術展望
基于智能化、自動化的配置部署將成為未來技術發展的主流趨勢。自動化的部署不僅可以極大提高工作效率,節約人力成本,更可以通過智能數據分析等技術手段,得到更加符合實際場景的負載策略。
3.1自動化配置
通過負載均衡系統與監控系統的配合,得到用戶的使用習慣、軟件模塊的資源占用歷史記錄、資源池的整體占用情況;再通過運營分析系統,獲得對當前用戶、軟件、硬件的使用分析數據;最終依據分析數據判斷出最佳的負載均衡策略,自動為用戶的未來使用,逐漸采取更加符合的負載均衡策略,并自動進行細節優化。
3.2智能劃分資源池
在地震資料解釋系統的硬件資源集群中,針對不同軟件、部門或者用戶,都可能會有著自己完全獨立的資源池。然而在資源池之間,或者每個資源池內部,硬件資源的性能、利用率,以及與用戶使用習慣的適配程度,都可能會對最終的軟件使用效果產生或大或小的影響。
在劃分資源池的過程中,更合理、更符合實際需求的方案,永遠都是問題的關鍵。未來的技術發展,能否智能劃分資源池,將是衡量負載均衡系統能力的一個重要指標。通過負載均衡系統得到用戶的使用側重點,然后在整體的硬件集群中,自動地調整每個資源池的設備資源,從而最終達到提高資源利用率的目的。
4結束語
目前,在大規模集群服務器、工作站使用環境中,負載均衡是一項必要的技術。而在石油勘探解釋系統環境下,負載均衡技術的必要性體現的更加明顯。
隨著油氣勘探業務的不斷擴展,用戶會產生大量并發的需求,如果這些單個用戶面對的還是固定的軟、硬件資源,就會造成資源過多的浪費。如何將有限的計算資源充分利用,使硬件利用率提高,但同時又不會因可能出現的大并發量,給系統造成壓力而降低系統性能,是今后負載均衡體系設計中的一個需要長期考慮的問題。
參考文獻(References):
[1]劉梓璇,周建濤,負載均衡的主導資源公平分配算法[J],計算機工程與科學,2019.41(9):1574-1579
[2]張寶祥,何利力,高并發集群系統下的負載均衡技術研究[J].工業控制計算機,2017.30(10):76-77
[3]王宇耕,肖鵬,張力等,基于負載預測的自適應權值負載均衡算法[J],計算機工程與設計,2019.40(4):1033-1037
[4]汪佳文,王書培,徐立波等,基于權重輪詢負載均衡算法的優化[J],計算機系統應用,2018.27(4):138-144
[5]詹毅,趙波,劉建紅等.GeoEastV3.0地震數據處理解釋—體化軟件系統[J],石油科技論壇(增刊),2017:4-7
[6]文佳敏,趙長海,侯紅軍,等.GeoEast海量地震數據高效處理技術[J].石油工業計算機應用,2016.24(3):12-18
收稿日期:2020-04-21
基金項目:中國石油集團東方地球物理勘探有限責任公司科技信息處“基于PB級地震數據的GeoEast云計算架構研究及應用”科研項目(BGP02-03-2019)
作者簡介:曹士炳(1968-),男,河南信陽人,高級工程師,主要研究方向:計算機技術綜合應用與管理。