本發(fā)明涉及計算機,尤其涉及一種資料同化方法、裝置、設(shè)備和存儲介質(zhì)。
背景技術(shù):
1、在海洋數(shù)值模式運行過程中,資料同化作為核心環(huán)節(jié),通過整合觀測數(shù)據(jù)修正模擬的狀態(tài)數(shù)據(jù),有效抑制了模擬誤差隨時間迭代的累積。目前采用的資料同化技術(shù)包括集合卡爾曼濾波(ensemble?kalman?filter,enkf)等方案,其中,enkf融合了集合預(yù)測與卡爾曼濾波技術(shù),雖顯著提高模擬精度,但計算成本大幅增加。
2、隨著海洋模式向更高精度和分辨率發(fā)展,資料同化的性能逐漸成為制約計算效率和擴展性的瓶頸?,F(xiàn)有資料同化軟件面臨多個挑戰(zhàn):首先,涉及大規(guī)模的數(shù)據(jù)i/o操作和復(fù)雜的多進程通信機制,導(dǎo)致存儲與傳輸開銷激增,進一步增加了系統(tǒng)的負(fù)擔(dān);其次,弱依賴計算與強依賴計算的嵌套結(jié)構(gòu)增加了并行化難度;此外,算法代碼結(jié)構(gòu)復(fù)雜,限制了程序的可擴展性和執(zhí)行效率,導(dǎo)致了較大的性能浪費和較低的執(zhí)行效率。因此,基于國產(chǎn)e級超算系統(tǒng)對資料同化關(guān)鍵算法程序進行性能優(yōu)化就顯得尤為必要,旨在解決現(xiàn)有技術(shù)中存在的效率低下問題,并充分利用新型計算架構(gòu)的優(yōu)勢以提升整體性能表現(xiàn)。然而,當(dāng)前技術(shù)實現(xiàn)中仍存在顯著的性能浪費和低效執(zhí)行的問題,需要進一步探索有效的解決方案來克服這些挑戰(zhàn)。最終,如何高效利用資源、減少性能浪費成為亟待解決的技術(shù)難題。
技術(shù)實現(xiàn)思路
1、為了解決上述技術(shù)問題,本公開實施例提供了一種資料同化方法、裝置、設(shè)備和存儲介質(zhì)。
2、第一方面,本公開實施例提供了一種資料同化方法,包括:
3、計算多個進程待處理觀測數(shù)據(jù)在當(dāng)前觀測文件中的第一位置信息;
4、通過多個進程根據(jù)第一位置信息并行讀取觀測數(shù)據(jù);
5、確定多個進程待處理狀態(tài)數(shù)據(jù)在當(dāng)前狀態(tài)文件中的第二位置信息,當(dāng)前狀態(tài)文件是基于歷史觀測文件得到的狀態(tài)估計文件;
6、通過多個進程根據(jù)第二位置信息讀取狀態(tài)數(shù)據(jù);
7、將狀態(tài)數(shù)據(jù)和觀測數(shù)據(jù)進行資料同化,更新當(dāng)前狀態(tài)文件。
8、可選的,通過多個進程根據(jù)第一位置信息并行讀取觀測數(shù)據(jù)之后,方法還包括:
9、將讀取到的觀測數(shù)據(jù)存儲到多個進程對應(yīng)的多個緩沖區(qū)內(nèi),緩沖區(qū)用于對觀測數(shù)據(jù)進行讀解析。
10、可選的,通過多個進程根據(jù)第二位置信息讀取狀態(tài)數(shù)據(jù),包括:
11、在當(dāng)前觀測文件包括的多個觀測數(shù)據(jù)中,確定多個進程待處理的目標(biāo)觀測數(shù)據(jù);
12、在當(dāng)前狀態(tài)文件包括的多個狀態(tài)數(shù)據(jù)中,確定和目標(biāo)觀測數(shù)據(jù)對應(yīng)的目標(biāo)狀態(tài)數(shù)據(jù);
13、通過多個進程采用預(yù)設(shè)通信方式,根據(jù)目標(biāo)狀態(tài)數(shù)據(jù)的第二位置信息讀取目標(biāo)狀態(tài)數(shù)據(jù),預(yù)設(shè)通信方式是指多個進程之間直接進行數(shù)據(jù)通信的方式。
14、可選的,在當(dāng)前觀測文件包括的多個觀測數(shù)據(jù)中,確定多個進程待處理的目標(biāo)觀測數(shù)據(jù),包括:
15、根據(jù)預(yù)設(shè)數(shù)量和當(dāng)前觀測文件包括的多個觀測數(shù)據(jù)的數(shù)量,計算多個進程的處理輪次,預(yù)設(shè)數(shù)量是基于多個進程的數(shù)量確定的;
16、在多個觀測數(shù)據(jù)中,確定多個進程在當(dāng)前處理輪次待處理的多個目標(biāo)觀測數(shù)據(jù)。
17、可選的,在當(dāng)前觀測文件包括的多個觀測數(shù)據(jù)中,確定多個進程待處理的目標(biāo)觀測數(shù)據(jù),包括:
18、統(tǒng)計多個進程處理不同觀測數(shù)據(jù)的處理時間;
19、計算預(yù)設(shè)數(shù)量的觀測數(shù)據(jù)的處理時間的和值,其中,和值表征了多個進程在一輪處理完預(yù)設(shè)數(shù)量的觀測數(shù)據(jù)的總時長;
20、在和值小于時間閾值的情況下,將預(yù)設(shè)數(shù)量的觀測數(shù)據(jù)確定為目標(biāo)觀測數(shù)據(jù)。
21、可選的,計算預(yù)設(shè)數(shù)量的觀測數(shù)據(jù)的處理時間的和值后,方法還包括:
22、在和值大于或等于時間閾值的情況下,調(diào)整預(yù)設(shè)數(shù)量,直至重新計算得到的和值小于重新計算得到的時間閾值。
23、可選的,確定多個進程待處理狀態(tài)數(shù)據(jù)在當(dāng)前狀態(tài)文件中的第二位置信息之后,方法還包括:
24、根據(jù)第二位置信息構(gòu)建動態(tài)數(shù)組,其中,動態(tài)數(shù)組是指狀態(tài)數(shù)據(jù)在當(dāng)前狀態(tài)文件中的索引文件;
25、根據(jù)設(shè)定網(wǎng)格信息為索引文件動態(tài)分配存儲空間;
26、通過多個進程根據(jù)第二位置信息讀取狀態(tài)數(shù)據(jù),包括:
27、通過多個進程從存儲空間中第二位置信息處讀取狀態(tài)數(shù)據(jù)。
28、第二方面,本公開實施例提供了一種資料同化裝置,包括:
29、計算單元,用于計算多個進程待處理觀測數(shù)據(jù)在當(dāng)前觀測文件中的第一位置信息;
30、第一讀取單元,用于通過多個進程根據(jù)第一位置信息并行讀取觀測數(shù)據(jù);
31、確定單元,用于確定多個進程待處理狀態(tài)數(shù)據(jù)在當(dāng)前狀態(tài)文件中的第二位置信息,當(dāng)前狀態(tài)文件是基于歷史觀測文件得到的狀態(tài)估計文件;
32、第二讀取單元,用于通過多個進程根據(jù)第二位置信息讀取狀態(tài)數(shù)據(jù);
33、資料同化單元,用于將狀態(tài)數(shù)據(jù)和觀測數(shù)據(jù)進行資料同化,更新當(dāng)前狀態(tài)文件。
34、第三方面,本公開實施例提供了一種電子設(shè)備,包括:
35、存儲器;
36、處理器;以及
37、計算機程序;
38、其中,計算機程序存儲在存儲器中,并被配置為由處理器執(zhí)行以實現(xiàn)如上述的第一方面方法。
39、第四方面,本公開實施例提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,計算機程序被處理器執(zhí)行時實現(xiàn)如上述的第一方面方法的步驟。
40、本公開提供的資料同化方法,包括:計算多個進程待處理觀測數(shù)據(jù)在當(dāng)前觀測文件中的第一位置信息;通過多個進程根據(jù)第一位置信息并行讀取觀測數(shù)據(jù);確定多個進程待處理狀態(tài)數(shù)據(jù)在當(dāng)前狀態(tài)文件中的第二位置信息,當(dāng)前狀態(tài)文件是基于歷史觀測文件得到的狀態(tài)估計文件;通過多個進程根據(jù)第二位置信息讀取狀態(tài)數(shù)據(jù);將狀態(tài)數(shù)據(jù)和觀測數(shù)據(jù)進行資料同化,更新當(dāng)前狀態(tài)文件。本申請?zhí)峁┑姆椒ǎ谫Y料同化過程中能夠高效利用資源,減少了性能浪費。
1.一種資料同化方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過所述多個進程根據(jù)所述第一位置信息并行讀取觀測數(shù)據(jù)之后,所述方法還包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過所述多個進程根據(jù)所述第二位置信息讀取狀態(tài)數(shù)據(jù),包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述在所述當(dāng)前觀測文件包括的多個觀測數(shù)據(jù)中,確定所述多個進程待處理的目標(biāo)觀測數(shù)據(jù),包括:
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述在所述當(dāng)前觀測文件包括的多個觀測數(shù)據(jù)中,確定所述多個進程待處理的目標(biāo)觀測數(shù)據(jù),包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述計算預(yù)設(shè)數(shù)量的觀測數(shù)據(jù)的處理時間的和值后,所述方法還包括:
7.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述確定所述多個進程待處理狀態(tài)數(shù)據(jù)在當(dāng)前狀態(tài)文件中的第二位置信息之后,所述方法還包括:
8.一種資料同化裝置,其特征在于,包括:
9.一種電子設(shè)備,其特征在于,包括:
10.一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至7中任一所述的資料同化方法的步驟。