999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

水聲環境特征參數并行預報方法研究*

2021-11-22 08:44:38范培勤過武宏
計算機工程與科學 2021年11期
關鍵詞:進程優化

范培勤,過武宏,韓 梅,唐 帥,張 馳

(1.海軍潛艇學院,山東 青島 266199;2.青島海洋科學與技術試點國家實驗室,山東 青島 266000 )

1 引言

海洋水聲環境主要指聲音在海水中傳輸的信道環境,由海水聲速垂直結構、聲吸收、界面特性和海洋內部不均勻性等要素構成。聲波是目前唯一有效的水下遠距離信息傳輸載體,由于海洋水聲環境具有強烈的時空易變性,從而引起水聲信息傳輸信道的改變,進而顯著影響到水聲裝備的使用和性能發揮[1]。因此,為實現水聲裝備與水聲環境的最佳匹配,優化水聲裝備的使用,迫切需要利用溫鹽流等基礎海洋環境數值預報數據,結合水聲裝備的具體需求,開展海洋水聲環境特征參數的快速預報,為水聲裝備的使用提供時效更長、準確率更高、范圍更廣的水聲環境預報產品。隨著海洋環境數值預報能力的快速提高[2,3],三維溫鹽流數值預報產品[4]的范圍、分辨率和精度都有了大幅提升,如何將海洋數值預報產品快速轉化為水聲環境產品,為水聲裝備的有效使用提供大范圍、長時間序列、高分辨率和精細化水聲環境輔助決策支持成為亟待解決的問題。

針對上述問題,本文基于SMP集群,采用MPI并行編程方式[5],完成了水聲環境參數并行計算程序的設計和實現,圍繞程序運行中存在的負載不均衡問題,對計算任務并行劃分方法進行了優化和完善,有效改善了程序負載均衡性,大幅提高了水聲環境特征參數的預報能力。

2 并行程序測試分析

海洋水聲環境特征參數的快速預報,主要基于高性能計算機和三維溫鹽流數值預報結果,結合水聲裝備的技術指標和使用要求,利用水聲環境特征參數計算模型,實現聲速剖面分類,躍層強度和深度等特征參數的快速計算,為水聲裝備的合理使用和優化設計提供水聲環境輔助決策信息。水聲環境參數的預報主要圍繞經度和緯度方向上的兩重循環開展,每一個位置點獲取相應的溫鹽流等環境數據后,利用特征參數計算模型便可以開展計算,不同循環間基本不存在數據交換,其并行處理主要針對經度和緯度方向上的兩重循環的并行劃分進行,實現過程相對簡單。本文基于MPI并行編程環境,設計開發了水聲環境特征參數并行預報程序,并對程序進行了性能分析和測試。

2.1 并行程序設計

水聲環境參數并行預報的計算流程如圖1所示。其主要計算過程如下所示:

第1步:調用MPI_INIT函數,完成MPI的初始化。

第2步:為提高并行度,將經度和緯度方向上的兩重循環改為一重循環。

第3步:利用MPI,按照均勻劃分方法,將預報區域分配至不同進程,然后各進程從數據文件中讀取相應位置的初始場數據,開始計算。上述過程實際是將預報區域按緯度由低向高均勻分區,然后分配至不同的進程進行計算。

第4步:計算完成后,調用MPI_REDUCE(),將結果收集到某個進程,并輸出,計算完成。

Figure 1 Flow chart of underwater acoustic environment parameters parallel forecasting圖1 水聲環境參數并行預報流程圖

2.2 性能分析

并行程序的性能主要受串行程序開銷、I/O開銷、進程通信開銷和任務負載均衡等幾個因素的影響[6,7],表1給出了上述4個因素對并行程序性能影響的分析。

Table 1 Performance analysis of parallel program表1 并行程序性能分析

綜上所述,該并行程序中的I/O開銷、通信開銷和負載均衡等方面可能會對程序的性能有較大影響。

2.3 結果測試與分析

本文利用海軍潛艇學院超算平臺對海洋水聲環境參數并行預報程序進行了測試,該平臺共314個計算結點,單結點配置雙路V3 CPU,24顆計算核心,內存128 GB,計算網絡為InfiniBand 交換機(56 Gb/s)。

表2給出了分別用1 200,2 400,4 800個進程執行程序時所花費的時間,圖2分別為其對應加速比。

Table 2 Computing time of parallel program表2 并行程序計算時間

Figure 2 Speedup of parallel program圖2 并行程序加速比

單純地從表2和圖2來看,其加速比基本呈線性增長,進程數為2 400時加速比甚至出現了超線性現象。為進一步優化程序的并行性能,本文分別從I/O、通信和負載均衡3個方面進行測試分析。表3給出了I/O和通信消耗時間的測試結果。

Table 3 Consumption time of I/O and communication表3 I/O和通信消耗的時間

從表3可以看出,隨著進程數量的增加,I/O和通信消耗的時間逐漸增加,特別是I/O所消耗的時間,對并行程序整體性能有一定影響,但影響有限。

為分析程序負載分配的均衡性,表4給出了上述3種情況下并行計算部分消耗的時間。

Table 4 Computing time statistics of parallel program表4 并行程序計算時間統計

從表4可以看出,該程序負載不均衡問題十分嚴重,部分進程甚至沒有分配到有效計算任務,最長計算時間均比最短計算時間高出4個以上數量級。

通過以上測試可以看出,在I/O性能、通信性能和負載分配這3個因素中,I/O性能和通信性能對該程序的并行性能影響不大,負載分配不均衡是主要影響因素。因此,并行性能的提升也應主要圍繞著并行任務的劃分進行優化和完善。

3 并行程序優化設計

由以上分析可知,水聲環境參數并行預報程序存在嚴重的負載不均衡現象,且由于采用阻塞通信方式,在很大程度上降低了通信和計算的并發性,本節將從這2個方面對程序進行優化完善。

2.2節中曾指出,由于不同緯度上陸地所占面積和海水深度存在差異,計算任務按緯度均勻劃分可能會導致負載分配不均衡問題,仿真結果也驗證了這個結論。圖3給出了預報區域不同緯度陸地點個數的分布情況。

Figure 3 Number of non-land point at different latitudes in forecast region圖3 預報區域不同緯度非陸地點個數

從圖3可以看出,隨著緯度的增加,海洋面積所占的比例呈逐漸減小趨勢,計算任務按緯度均勻分區,必然會造成有效計算任務隨進程數的增加逐漸減少,進程的計算時間也會隨進程數的增加逐漸縮短,從而導致負載分配不均衡。因此,并行任務應按照對預報區域中海洋面積進行均勻分區的原則進行劃分,將區域中有效計算任務均勻地分配至每個進程。算法主要步驟如下所示:

第1步 變量聲明:預報區域總柵格點數記為N_All、海洋柵格點數記為N_Ocean、進程數記為NP、進程號記為np、進程np分配的海洋柵格點數記為N_np。

第2步 初始場數據處理:利用水深數據對統計預報區域逐柵格點進行處理,剔除陸地柵格點,記錄海洋柵格點的總數N_Ocean,記錄下排序前后海洋柵格點的對應關系。排序后參與計算的柵格點數減少近一半,整體對內存的需求也會下降一半。因此,數據讀寫和進程間的通信時間也會有大幅下降。

第3步 if 0≤np≤NP-2:N_np=N_Ocean/NP;

第4步 ifnp=NP-1:N_np=N_Ocean-(np-1)*N_np。

表5給出了優化后程序的計算時間統計表,圖4為其對應的加速比圖。表6給出了3種情況下計算時間統計分析情況。

Table 5 Computing time of parallel program after optimization表5 優化后并行程序計算時間

Figure 4 Speedup of parallel program after optimization圖4 優化后并行程序加速比

Table 6 Computing time statistics of parallel program after optimization

從表5、表6和圖4可以看出,優化后并行程序計算性能有了明顯提升,計算時間整體下降約20%,其加速比基本呈線性增長,各進程計算時間的均方差下降近1個數量級,時間的離散程度有了明顯改善,負載分配不均衡問題得到了很大的改善。

為進一步分析程序負載分配情況,對3種情況下進程計算時間進行了分析,圖5~圖7為計算時間的散點分布情況。

Figure 5 Computing time distribution of 1 200 processes圖5 1 200個進程計算時間分布

Figure 6 Computing time distribution of 2 400 processes圖6 2 400個進程計算時間分布

Figure 7 Computing time distribution of 4 800 processes圖7 4 800個進程計算時間分布

從圖5~圖7可以看出,3種情況下約2/3進程計算時間曲線基本呈水平分布,后1/3進程計算時間仍有明顯的變化,負載不均問題仍然比較突出。

為找到造成上述現象的原因,本文對計算任務在進程的分布情況進行進一步分析。按照上面的任務劃分方法,后1/3的進程分配到的計算區域為整個預報區域中海洋面積的后1/3,約為北緯30°以北區域(見圖3),通過對水深數據統計發現該區域平均水深較深(見圖8),約為其他海區水深的2倍,且水深變化劇烈。水聲環境特征參數的計算過程中會大量地調用水聲傳播模型,而水聲傳播模型的計算量與水深有關,水深越大,水聲傳播模型的計算量就越大。因此,在分配同樣數量海洋柵格點的情況下,后1/3進程的計算時間要更長,從而造成負載不均衡。

Figure 8 Average water depth at different latitudes in forecast region圖8 預報區域不同緯度平均水深深度分布

鑒于此,為縮短后1/3進程的計算時間,盡可能達到負載均衡,本文對任務并行劃分步驟的第3、4步進行了調整,具體步驟如下所示:

(1)np<2*NP/3:

N_np=f(np)*(N_Ocean)*NP/3

(2)np≥2*NP/3:

其中,

通過對參數a,b進行調整,便可完成對負載分配的控制。表7給出了a=0.08,b=0.05時,并行程序的計算時間統計,圖9為其加速比圖。

Table 7 Computing time of parallel program when a=0.08,b=0.05表7 a=0.08,b=0.05時并行程序計算時間

Figure 9 Speedup of parallel program when a=0.08,b=0.05圖9 a=0.08,b=0.05時并行程序加速比

從表7和圖9可以看出,并行程序計算性能有了進一步的提升,其計算時間較首次優化縮短了約50%,其加速比基本呈線性增長。表8是3種情況下計算時間統計分析表。從表8中可以看出,進一步優化后計算時間的離散程度進一步減小,負載均衡性得到了進一步提升。

圖10~圖12為計算時間散點分布情況圖,從圖中也可以看到,采用上述優化方法后,各進程計算時間基本呈水平分布,計算時間大幅縮短,負載不均衡問題得到了較好的解決。

Table 8 Computing time statistics of parallel program when a=0.08,b=0.05表8 a=0.08,b=0.05時并行程序計算時間統計

Figure 10 Computing time distribution of 1 200 processes when a=0.08,b=0.05圖10 a=0.08,b=0.05時1 200個進程計算時間分布

Figure 11 Computing time distribution of 2 400 processes when a=0.08,b=0.05圖11 a=0.08,b=0.05時2 400個進程計算時間分布

Figure 12 Computing time distribution of 4 800 processes when a=0.08,b=0.05圖12 a=0.08,b=0.05時4 800個進程計算時間分布圖

4 結束語

并行程序開發和性能優化是一項非常復雜的工作,需綜合考慮高性能計算機體系結構、編程環境、應用問題和開發人員等多種因素的影響,詳細分析算法的I/O性能、通信性能和任務劃分等對性能的影響,找到影響性能提升的瓶頸,有針對性地開展優化。優化過程中既要對算法的整體結構進行粗粒度的完善,又要針對影響性能的具體問題進行細粒度優化,有時甚至需要細化到某一個具體進程,往往需要多次迭代才能獲得一個較好的結果。本文基于MPI實現了水聲環境特征參數的并行預報,從I/O性能、通信性能和并行任務劃分方法等方面對并行程序的性能進行了分析和優化。針對并行程序負載不均衡問題,采用按有效計算任務進行均勻劃分的原則,綜合考慮海洋柵格點數和水深對計算量的影響,對并行任務的劃分方法進行優化和完善,有效提高了負載均衡性,大幅提高了水聲環境特征參數數值預報能力。本文工作對大規模、長時間序列、數據耦合度低的應用問題并行程序設計和優化具有一定的參考價值。

猜你喜歡
進程優化
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
基于低碳物流的公路運輸優化
現代企業(2015年2期)2015-02-28 18:45:09
我國高等教育改革進程與反思
教育與職業(2014年7期)2014-01-21 02:35:04
Linux僵死進程的產生與避免
男女平等進程中出現的新矛盾和新問題
主站蜘蛛池模板: 激情综合五月网| 2024av在线无码中文最新| 热九九精品| 97视频精品全国免费观看 | 91无码网站| 亚洲毛片一级带毛片基地| 全色黄大色大片免费久久老太| 午夜视频日本| 波多野结衣一区二区三区88| 无码高潮喷水专区久久| 亚洲无线视频| 2020久久国产综合精品swag| 一级全黄毛片| 免费看一级毛片波多结衣| 一本色道久久88| 国产91全国探花系列在线播放| 欧美黄网站免费观看| 欧美综合一区二区三区| 少妇精品在线| 欧美精品成人一区二区在线观看| 成人国产三级在线播放| 婷婷六月在线| 欧美另类图片视频无弹跳第一页| 日本在线视频免费| 国产不卡在线看| 一本大道AV人久久综合| 伊人久久久大香线蕉综合直播| 激情乱人伦| 精品成人一区二区三区电影| 久久久久九九精品影院| 日韩精品无码不卡无码| 精品一区二区无码av| 精品久久香蕉国产线看观看gif| 国产黄网永久免费| 精品视频第一页| 在线播放精品一区二区啪视频| 婷婷亚洲视频| 久热精品免费| 欧美午夜网| 亚洲成a人片7777| 2021无码专区人妻系列日韩| 极品av一区二区| 久久中文字幕av不卡一区二区| 尤物视频一区| 欧美人人干| 99青青青精品视频在线| 五月天在线网站| 一级全黄毛片| 亚洲一区网站| 2021国产乱人伦在线播放| 夜夜高潮夜夜爽国产伦精品| 99成人在线观看| 国产亚洲高清视频| 国产亚洲欧美日韩在线一区二区三区 | 97成人在线视频| 精品少妇人妻无码久久| 香蕉国产精品视频| 欧洲亚洲欧美国产日本高清| 亚洲人成在线精品| 亚洲综合激情另类专区| 亚洲区一区| 制服无码网站| 欧美人在线一区二区三区| 麻豆精品在线播放| 色偷偷综合网| 亚洲福利一区二区三区| 欧美激情一区二区三区成人| 亚洲精品老司机| 日本午夜三级| 萌白酱国产一区二区| 亚洲无码熟妇人妻AV在线| 国产日本视频91| 色哟哟国产精品| 国产精品大白天新婚身材| 首页亚洲国产丝袜长腿综合| 国产AV毛片| 精品中文字幕一区在线| 国产91在线|日本| 中文字幕自拍偷拍| 精品撒尿视频一区二区三区| 色国产视频| 午夜免费视频网站|