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