張茜 鄭志鋒 丁磊 武凌峰 吳妍



摘要:針對傳統的油藏數值模擬作業調度模式存在的計算效率較低的問題,本文首先基于分布式技術和反饋優化技術提出了智能數值模擬作業管理與反饋方法。在此基礎上進一步開發了分布式油藏數值模擬作業智能調度系統。將該系統應用于南海西部海域油氣田油藏數值模擬研究工作中,有效地提高了工作效率。
關鍵詞:油藏數值模擬;作業調度;分布式;反饋優化
中圖分類號:TP311? ? ? ? ?文獻標識碼:A
文章編號:1009-3044(2024)09-0104-03
開放科學(資源服務)標識碼(OSID)
0 前言
在油氣田勘探、開發和生產過程中,研究人員廣泛利用Eclipse、tNavigator[1]、Intersect[2]等軟件進行油藏數值模擬研究。通過該研究,研究人員能夠更好地理解油氣成藏物理過程,掌握巖石、流體和氣體的分布與運動規律,預測油藏產量以及開采效果,優化油田開采挖潛方案,提高油氣田開發效率[3]。
在數值模擬作業調度技術出現之前,研究人員進行油藏數值模擬研究工作,需要手動選擇并發送作業到計算服務器。然而,隨著近年來油氣田勘探開發工作的不斷推進,油藏數值模擬的計算量呈爆炸式增長,傳統模式會出現用戶因爭搶資源而引發服務器頻繁過載的情況,極大地影響了油藏數值模擬作業計算效率。
上述問題從本質上看,是由于缺少高效的數值模擬作業自動化調度算法,導致計算資源無法有序處理作業。針對該問題,本文開展了油藏數值模擬作業智能調度系統研發工作,首先在調研分析業界主流數值模擬作業調度算法的基礎上,利用分布式技術[4]和反饋優化技術[5]對其進行了針對性的改進,提出了智能數值模擬作業管理與反饋方法,在此基礎上進一步開發了分布式油藏數值模擬作業智能調度系統。將該系統應用于南海西部海域油藏數模作業調度工作中,取得了良好的應用效果。
1 智能數值模擬作業管理與反饋方法研究
數值模擬作業調度算法需要將刀片計算集群中分散的資源集中管理起來,使多個資源請求者可以共享集群中的同一個資源,資源請求者可以根據業務需要同時或先后調度使用集群中的多個資源,而不需要資源請求者付出額外的勞動。作業調度的主要功能包含4個方面:
1) 為用戶提供訪問資源的簡單接口。資源管理模塊隱藏資源實際使用的復雜技術細節,將物理資源抽象為邏輯資源,并向用戶提供。
2) 協調資源的共享使用。資源管理模塊采用排隊策略、分時共享策略或其他策略決定多個請求者如何使用同一個資源,同時還應支持一個請求者請求使用多個資源的需要。
3) 代替請求者去使用資源,建立安全的機制。資源管理器代替請求者在資源上尋找適當計算資源執行請求者的任務,一旦收到用戶請求,就在資源所在地建立一個用戶容器,并且嚴格定義該用戶容器擁有的權限和所能進行的操作。
4) 維持集群資源的正常狀態以及高效利用。能夠持續地維持集群資源的正常運行狀態,避免因個別節點故障影響整個集群系統性能甚至導致系統崩潰的情況出現。
1.1 主流數值模擬作業調度算法原理及不足
經調研,現有的主流數值模擬作業調度算法主要采用集中式集群資源調度架構如圖1所示 ,其結構特征主要體現在3個方面:
1) 集群中的節點在功能上有層次劃分,端節點運行的管理軟件模塊只能進行本地資源和應用的管理,主控節點運行的管理軟件模塊負責整個集群系統節點成員的管理以及資源和應用的動態配置。
2) 端節點的資源管理軟件不了解其他端節點的狀態和配置信息,定時向主控節點的管理軟件模塊報告本地的運行狀態,并執行后者發送的命令。
3) 主控節點的管理軟件模塊以“主運行/后備”或“并行運行”的模式運行在多個節點上,這些模塊共享集群全局信息,并保持其一致性。
雖然集中式集群系統架構在實現難度上相對簡單,但是該模式還是存在著兩方面的不足:
1) 在這種架構模式中,集群主控節點管理維護整個集群,是負責維護整個系統的關節點,因此抗毀性極差。雖然現有的集中式集群系統多采用備份主控節點的策略來保持高可用性,但是這種做法仍然無法從根本上解決單一節點控制方式所存在的問題,由此帶來的人工維護成本巨大。
2) 主控節點進行資源調度時,需要輪詢式掃描計算節點資源信息,隨著計算節點規模增加,系統性能會大幅降低,而且每個計算節點的狀態正常與否也對整套系統的運作產生較大的影響,在個別節點出現故障的情況下,現有系統并不能維持集群資源的正常狀態,影響到集群系統的性能,嚴重的還可能導致整個系統的崩潰。
1.2 智能數值模擬作業管理與反饋方法
1.2.1 分布式集群資源調度架構
由前述可知,集中式集群資源調度系統最大的性能瓶頸出現在管理節點上,所以本文采用分布式集群資源調度架構如圖2所示,該模式最大的變化就是調度管理節點和計算節點在網絡上都處于平等的地位,沒有層次結構。系統不再需要管理節點通過輪詢每一個計算節點得到最新的資源狀態信息,原來集中在管理節點上的調度功能,被分散成為功能獨立的節點控制代理以及調度代理,并分布在對應的終端里執行。節點控制代理在計算節點上執行,包含有資源統計以及作業調度執行功能。調度代理在虛擬服務器上執行,包含有作業分配功能,代理之間統一通過數據庫來進行信息交換。在這樣一個全新的系統架構中,原來集中式管理節點制約調度系統性能的瓶頸被徹底打破,并且調度代理可以布局在任何一臺虛擬服務器上,整個調度系統的穩定性和抗毀性有了質的提升。
1.2.2 反饋優化計算資源隊列
在實際計算過程中,集群的計算節點常常會出現原因不明的異常。如果系統無法自動識別并標識這些錯誤,錯誤就會持續存在,節點也會繼續接受新作業,進而導致更多的計算失敗。由于計算節點眾多,完全依靠管理員人工排查不但效率低下,而且短時間內也難以排查出錯誤所在。
針對該問題,本文設計了反饋優化計算資源隊列。程序通過自動采集用戶作業完成的狀態信息,來優化計算資源隊列,從而確保始終為用戶分配狀態健康的計算資源如圖3所示。這樣就能最大限度地避免作業被分派到非正常節點,減少各種無法預計的錯誤發生,從而大幅度提高用戶油藏數模作業計算的成功率。
反饋優化計算資源隊列的具體工作流程如圖4所示,包括如下步驟:
1) 計算節點狀態信息采樣:計算節點安裝驅動后,會持續采集節點狀態信息并發送到數據庫。采集的狀態信息包括節點的處理器使用率、后臺作業進程、網絡連接情況、網絡存儲情況等綜合信息。
2) 計算資源隊列優化:服務器程序從數據庫獲取各計算節點的優先級及狀態信息,排除異常節點后按各節點優先級排列,組合成等候調度的計算資源隊列。其中節點異常包括但不限于網絡連接異常、網絡存儲未掛載、節點硬件異常等情況。
3) 客戶端程序發送數值模擬作業計算請求:用戶使用客戶端程序將數值模擬作業計算請求發送到數據庫,作業計算請求信息含有作業路徑信息。
4) 作業分派:服務器程序從數據庫讀取用戶的作業計算請求,在計算資源足夠的情況下,將作業優先指派到優先級高的計算節點上進行計算。
5) 計算節點業績評估:作業計算完成后,客戶端程序通過分析作業日志獲得作業完成情況(成功/失敗)。
6) 反饋更新:客戶端程序根據作業完成情況更新計算節點的優先級。若作業計算成功,則提高計算所用節點的優先級;相反,若作業計算失敗,則降低所用節點優先級。通過優勝劣汰的競爭算法,達到優先分配最優資源的目的。
2 油藏數值模擬作業智能調度系統研發
基于智能數值模擬作業管理與反饋方法,本文開發了油藏數值模擬作業智能調度系統HiSYS。該軟件能夠全面支持Eclipse、Intersect、tNavigator以及CMG四大油藏解釋軟件數模作業調度如圖5所示,并具備以下優點:
1) 精細用戶管理:作業與域用戶關聯,能夠精準定位作業所有者。
2) 規范共享管理:統一數模文件權限,取消權限與項目綁定,避免人員項目變動影響。
3) 人機界面友好:實現實時觀察、動態優化配置資源功能,管理更靈活。
4) 后端調度智能:后端計算節點自動排除異常,以作業狀態優化資源隊列,調度更智能。
3 應用效果分析
南海西部油田自油藏數值模擬作業智能調度系統HiSYS部署上線以來,已累計完成數模調度作業數超過3萬次如圖6所示,期間未發生過系統崩潰掉線的現象。相比傳統算法,系統穩定性和抗毀性有明顯提升。
利用該系統完成數模作業計算,并與傳統模式進行對比,如表1所示,對于一臺CPU核數為16的刀片服務器來說,當計算數模作業需要的CPU數小于等于CPU核數時,手動模式與智能調度計算時間相同;但是當需要的CPU數量多于CPU核數時,由于手動模式中CPU會不斷切換線程處理每個作業,導致計算時間出現陡增的現象。相對地,智能調度可以將超出CPU數量的作業排隊,因此計算時間仍處于線性增長,明顯低于手動模式。
4 結論與認識
1) 本文針對傳統油藏數模作業調度存在的問題,利用分布式技術和反饋優化技術提出了智能數值模擬作業管理與反饋方法。該方法在有效提高系統的穩定性與抗毀性的同時,也可以大幅提高油藏數模作業的計算效率。
2) 基于智能數值模擬作業管理與反饋方法,開發了油藏數值模擬作業智能調度系統HiSYS,在南海西部油田油藏數模研究中起到了良好的應用效果。
參考文獻:
[1] 羅冬陽,喬聰穎,谷悅,等.tNavigator基于現代CPU和GPU計算平臺的精細油藏模擬器助力大型油氣田高效開發[J].電腦知識與技術,2020,16(18):205-206.
[2] 羅冬陽,王風,李元元.Intersect大型油氣藏模擬器助力高效開發油氣田[J].電腦知識與技術,2017,13(9):227-228,236.
[3] 朱爭,黨海龍,崔鵬興,等.低滲透油藏蓄能增滲壓力規律數值模擬[J].新疆石油天然氣,2023,19(4):56-62.
[4] 蔡海林.異構分布式計算系統下工作流調度時間和可靠性優化算法研究[D].岳陽:湖南理工學院,2022.
[5] 任旭,高晶晶,艾明浩,等.基于多級反饋隊列調度的電動汽車充電模型及其云實現[J].中國科技信息,2016(21):95-97,13.
【通聯編輯:梁書】