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

MPI技術在膠州灣水質預報系統的應用研究

2013-09-08 10:18:48黃偉建
計算機工程與設計 2013年6期
關鍵詞:進程水質系統

杜 巍,牛 沛,黃偉建

(河北工程大學 信息與電氣工程學院,河北 邯鄲056038)

0 引 言

目前的水質預報系統多來自于海洋研究模型。由于這些模式大部分是串行代碼編寫,在業務化應用過程中,計算效率較低,具有一定的局限性。尤其是短期預報系統,力爭在短的時間內完成運算任務是其基本需求。本文以膠州灣水質預報系統為例,將MPI并行技術應用于水質模型,并且分別采用組通信模式和非阻塞通信模式,將水質模塊的問題分解為多個子任務,并在基于MPI消息傳遞模式的集群系統中進行運算。

1 程序設計

1.1 膠州灣水質預報模式簡介

在挖掘和整理歷史觀測數據的基礎上,利用現有的浮標,海洋站資料,對膠州灣及鄰近海域進行春季或夏季穩定天氣條件下多參數的走航與連續觀測。具體的系統模型所劃分的模塊如圖1所示。

圖1 水質預報模型

由圖1可知,區域大氣模式是整個系統的啟動模塊,其分別為流域面源模式提供降水等,為黃海大區水動力模式和膠州灣小區水動力模式提高動量和熱量強迫,為水質模型提供海表光強;而流域面源模式是研究膠州灣流域對海灣的營養物質輸送通量等,他具體的作用是為膠州灣水動力模型提供河流淡水輸入量,為水質模型提供陸源營養物質的通量;黃海大區水動力模式是為膠州灣小區水動力模式提供一個開邊界,膠州灣小區水動力模式為水質模型提供了海流和擴散系數等。經過各個模塊的耦合,最終監測的數據經過水質模塊的計算,并在水質模塊部分輸出。

水質模型的網格設置與水動力模型小區一致。模型包括氮、磷、硅、溶解氧、COD、浮游植物、浮游動物、水體碎屑等變量,考慮逕流、流域面源輸入、大氣沉降、沉積物-水界面物質通量、與外海物質交換等外部過程,以及浮游植物光合作用、呼吸代謝、浮游動物攝食等內部過程。具體直觀的水質模式概念圖如圖2所示。

圖2 水質模式概念

由圖2可以看到,水質預報可以通過一級,二級,三級,四級物質變化過程分別對氮、磷、硅、溶解氧、COD、浮游植物、浮游動物、水體碎屑等等各個物質進行監測衡量。

1.2 組通信和非阻塞通信

1.2.1 MPI簡介

MPI全稱消息傳遞接口是 Message-Passing Interface的縮寫。它由全球的政府,科研以及工業部門聯合建立的一種標準,提供了一個可移植、高效、靈活的消息傳遞接口庫。它是目前為止最為通用的一種并行編程方式,同時也是分布式并行系統中的一個主要編程環境。各大計算機廠商和科研部門定義了MPI標準中的一組函數接口,用于進程間的消息傳遞。另外,除各個廠商提供的系統外,一些有能力的高校、科研部門也正在開發一些免費的通用的MPI系統。

頭文件、相應的運行調試環境和一組庫,構成一個完整的MPI系統。其中MPI并行程序通過調用其自身庫中的函數完成消息的傳遞,并在編譯時與MPI庫相連接。而一個MPI并行程序的啟動、退出、調試和跟蹤等方面的支持則由其系統提供的運行環境所負責。MPI程序的框架結構圖如圖3所示。

圖3 MPI程序的框架結構

圖3中的第一部分是MPI函數庫的頭文件形式,Fortran語言中應用mpif.h;第二部分定義整個程序中所用到的與MPI相關的變量;第三部分是有關MPI程序的初始化,使用的函數是MPI_INTT (IERR);第四部分是程序體的計算與通信,其中進行通信的函數由MPI消息傳遞接口提供;第五部分問MPI程序的結束,使用的函數是MPI_FINALIZE (IERR)。

MPI既有一致性好、功能強大、效率高等多項優點,而且在對于處理海洋環境模型的應用更為普遍。文中是以MPICH2為測試環境,運行于Linux服務器版操作系統的集群上,編譯環境為Intel Fortran 90編譯器。

1.2.2 組通信的基本思想及其特征

組通信調用的通信域即限定了該組通信是由哪些進程參加以及該組通信的上下文,而該通信域是可以和點對點通信共用的,MPI可以保證由這兩者調用產生的消息不會發生相混淆。組通信實現的功能一般有3個即:通信,同步和計算。

其中,通信的主要功能是完成組內數據的傳輸;同步功能則完成的是在組內特定地點使所有進程保持一致;計算功能相對比較復雜,主要是對一些特定的數據進行處理。

1.2.3 非阻塞通信的基本思想及其特征

由于通信需要的時間較長,在阻塞通信還沒有完成時,處理機就只有等待,這樣就造成了處理機計算資源的浪費。而非阻塞通信可以使計算和通信重疊,通信操作不必執行完就可以返回,而此時處理機可以同時進行有關計算的操作,從而提高整個程序的執行效率。

對于非阻塞通信,通信調用的返回并不意味著整個通信過程的完成,因此,還需要引入新的方法或語句用來檢查該消息是否已成功接收或發送。

1.3 并行程序算法

1.3.1 組通信在水質預報模塊的實現

膠州灣水質預報系統中的水質部分的計算占整體系統部分的一半左右,所以,對這部分程序進行并行的過程中,并行效率是有限的。

膠州灣水質預報系統中采用的是C網格的形式,在三維坐標 (i,j,k)下,分別對水質中的氮,磷,浮游動物,浮游植物,硝酸鹽,亞硝酸鹽,銨鹽,磷酸鹽,硅酸鹽,碎屑,化學需氧量進行物質的監測。在對水質中物質的擴散分為水平擴散和垂向兩種,其中,垂向擴散的值的計算不需要數據的傳遞,但是,水平擴散方向的計算需要相鄰網格點的計算結果,所以就涉及到MPI消息傳遞函數。

本系統組通信的設計思想是把網格點進行劃分,即總網格數位i*j*k個,在對任務區域進行劃分的時候有多種方法,可以3個方向i,j,k同時劃分,也可以部分進行劃分,由于本系統采用的是Fortran語言,其數據的存儲遵循列優先存儲的,所以,對j方向上進行劃分時在對各個進程進行數據傳遞時的傳遞量相對要少一些,這樣有利用減少消息傳遞時間。假設有p個CPU,則將網格區域劃分為p塊,前p-1個CPU執行j/p個行整數網格點,第p個CPU執行j-·(p-1)個網格點,由于進程在計算臨界點的值時需要相鄰的進程的數據值,因此,每個進程的網格點數將多劃分2*i*j個,若將其劃分寫成代碼的形式,如下:

其中,jbegin_col和jend_col代表每個進程中j方向的起始值和結束值,myid表示進程號,size表示整個系統中的進程總數。jm指j的總網格數。

劃分完需要計算的網格區域后,就是對水質中各個物質計算的水平擴散所需的數值進行傳遞,在此,由于每個進程之間所要傳遞的數據有氮,磷,浮游動物,浮游植物,硝酸鹽,亞硝酸鹽,銨鹽,磷酸鹽,硅酸鹽,碎屑,化學需氧量,所以,每個量都在一個數組中,在此首先需要數據的打包,把每個進程中需要傳遞的數據打包在一個緩沖區中,然后再通過組通信函數進行傳播即可。打包函數如下所示:

其中,INBUF指準備打在包中的輸入緩沖區,INCOUNT指輸入元素的個數,DATATYPE指數據類型,OUTBUF指打包緩沖區,OUTSIZE指用字節數定義的打包緩沖區的大小,POSITION指打包緩沖區的當前位置,COMM指打包消息的通信子。把所有的數據打包完成后,就需要數據的傳遞,在此應用到組通信函數中的廣播函數,即如下所示:

其中,BUFFER指緩沖區的首地址,COUNT指緩沖區中元素的個數,DATATYPE指緩沖區的數據類型,ROOT指以它為源進行廣播的進程編號,COMM指通信子。通過這個函數,就把每個進程中需要其他進程的數據通過消息傳遞得到。最后,還需要對數據進行進一步的處理,就是拆包,拆包函數如下所示:

MPI_UNPACK (INBUF,INSIZE,POSITION,OUTBUF,OUTCOUNT,DATATYPE,COMM,IERROR)

其中,INBUF指拆包緩沖區,INSIZE指用字節數定義的拆包緩沖區的大小,POSITION指打包緩沖區的當前位置,OUTBUF指輸出數據緩沖區,OUTCOUNT指輸出數據緩沖區元素的個數,DATATYPE指數據類型,COMM指通信子。

通過以上方法,即可實現水質預報系統的組通信數據傳遞的實現。

1.3.2 非阻塞通信在水質預報模塊的實現

組通信在水質預報模塊中的實現,雖然在通信上比點到點的通信盡量縮短了通信時間,但是沒有達到通信時間與計算時間的同步,而非阻塞通信可以實現以上目的,使得系統在運行的過程當中效率更高。由于水質模塊代碼部分運行時間占整個編程模塊的一半左右,所以,可以通過非阻塞通信的方式把需要傳遞的數據在水動力計算的時候進行傳遞,這樣,就可以使得通信基本不占用運行時間。非阻塞的函數傳遞采用的函數如下所示:

MPI_ISEND(BUF,COUNT,DATATYPE,DEST,TAG,COMM,REQUEST,IERROR)

MPI _IRECV (BUF, COUNT, DATATYPE,SOURCE,TAG,COMM,REQUEST,IERROR)

以上分別表示非阻塞數據的發送和接收,其中,BUF指所要發送或接收消息數據的首地址,COUNT指發送或接收消息數組元素的個數,DATATYPE指發送或接收消息的數據類型,DEST指發送消息的進程標號,SOURCE指接收消息的進程編號,TAG指消息標簽,COMM指通信子,REQUEST指請求句柄以備將來查詢。MPI_ISEND和MPI_IRECV不需要等待發送或接收消息完成就可執行其余的任務,看發送或接收過程是否結束,通過以下函數即可:

其中COUNT指請求句柄的個數,ARRAY_OF_REQUESTS指請求句柄數組,INDEX指已經完成通信操作的句柄指標,STATUS指消息的狀態。

通過以上函數,將消息傳遞的任務放在水動力模塊進行,這樣,使得在計算水動力的同時,又對水質部分需要消息傳遞的函數進行通信,達到了通信與計算的同步。

2 結果與討論

將系統進行并行進行運行,如圖4所示分別為組通信,非阻塞通信,串行運算結果在某一時刻的溶解氧的值的變化。結果顯示,無論是組通信還是非阻塞通信,都與串行運算結果一致。因此,說明無論是組通信還是非阻塞通信對于水質預報系統的并行都是可行的。

圖4 溶解氧的某時刻輸出值

首先,對比此系統的串行程序在集群系統上面的運行速度,改進后的組通信傳遞的并行程序在集群系統上面的運行速度,改進后的非阻塞傳遞的并行程序在集群系統上面的運行速度,繪制出如5圖所示。

圖5 運行時間

圖5表示預報系統預報多少天以后的實驗數值所需要花費的時間。其中,串行程序在集群上是以1CPU的形式提交任務的,組通信的并行程序和非阻塞的并行程序都是2CPU并行的,即把計算任務劃分為兩部分。從圖中可以看到,并行的計算時間遠遠小于串行程序計算的時間,并且隨著預報時間的增長持更明顯的趨勢。由于通訊時間和計算時間不能夠保持同步。所以,通過以上實驗數據可知,組通信的運行時間比非阻塞通信稍微長了一些。因此,在此水質預報系統中,非阻塞通信的并行效果要稍好一些,但此結論僅僅只針對目前這種對系統的一部分代碼進行并行的情況之下。

其次,對非阻塞通信下的劃分區域數不同對程序進行性能測試,為了更能說明并行劃分對系統的運算的影響,此時,只測試系統在水質部分的運行時間,所繪制結果見表1。

表1中的性能測試結果表明,當進程數目不超過8個,非阻塞的并行效率基本在80%以上,當進程數不斷的增加,雖然并行程序仍然保持加速,但不再保持現行加速比,這與測試問題的規模有關,導致這種現象的最大因素就在于劃分塊數的增加導致的消息傳遞所需要傳遞的數據量數也隨之增加,如果測試的數據計算量相當大的話,并行效率還是會增加的。所以,在對程序進行并行的過程中要進行大量數據的測試后,才能得到程序運行并行化的相對效率比較高的方法。

表1 性能測試結果

3 結束語

本研究取得預想的結果,效率達到了顯著提高。通過組通信與非阻塞通信在系統中的應用的比較發現,非阻塞通信的消息傳遞方式對膠州灣水質預報系統的部分模塊的并行有很大的效果。所以,任何系統的高效率化都需要與實際相結合,采取最適合的方法進行。本研究的局限性是沒有考慮到I/O的問題,如果考慮到I/O的問題,則運算效率將會有更可觀的提高,下一步研究將會考慮更加深入的把并行技術應用到膠州灣水質預報模式當中。

[1]CHEN Dazhi,ZHAO Rongcai,YAO Yuan,et al.Messagepassing code generation algorithm in the MPI automatic parallelizing compilation system [J].Computer Science,2012,39(6):301-304 (in Chinese). [陳達智,趙榮彩,姚遠,等.MPI自動并行化編譯系統中消息傳遞代碼生成算法 [J].計算機科學,2012,39 (6):301-304.]

[2]LIU Z,WEI H,BAI J,et al.Nutrients seasonal variation and budget in Jiaozhou bay,China:A 3-dimensional physicalbiologicalcoupled model study [J].Water,Air and Soil Pollution:Focus,2007,7 (6):607-623.

[3]George L Mellor.Users guide for a three-dimensional,primitive equation,numerical ocean model,program in atmospheric and oceanic sciences [J].Princeton,NJ:Princeton University,2008,5:44-071.

[4]WANG Min,WANG Ming,YANG Ming.Parallel computing research of Xiaolangdi reservoir three-dimensional mathematical model[J].Yellow River,2012 (5):25-27 (in Chinese).[王敏,王明,楊明.小浪底水庫三維數學模型并行計算研究[J].人民黃河,2012 (5):25-27.]

[5]http://www.aos.princeton.edu/WWWPUBLIC/htdocs.pom/.

[6]ZUO Yiming,CUI Guangbai.Parallel computation for 2Dflow model[J].Advances in Water Sciences,2008,19 (6):846-850(in Chinese).[左一鳴,崔廣柏.二維水動力模型的并行計算研究 [J].水科學進展,2008,19 (6):846-850.]

[7]YI Junhan.Parallel programming model based on multicore processor[J].Computer Engineering,2009,35 (8):62-64.

[8]XIONG Yuqing.The point-to-point communication obstruction of local clogging point-to-point communication simulation [J].Microelectronics and Computer,2009 (10):144-146. (in Chinese).[熊玉慶.非阻塞點到點通信對局部阻塞點到點通信的模擬 [J].微電子與計算機,2009 (10):144-146.]

[9]WANG Lei,TIAN Fuqiang,HU Heping.Physically based hydro logical model using finite volumemethodsbased on a triangulated irregular network [J].Advances in Water Sciences,2011,21 (6):734-741 (in Chinese). [王蕾,田富強,胡和平.基于不規則三角形網格和有限體積法的物理性流域水文模型 [J].江蘇:水科學進展,2010,21 (6):734-741.]

[10]Daz Mart n J C,Rico Gallego J A.An MPI-1com-pliant.thread-based implementation [C]//Berlin,Heidelberg:Proceedings of the EuroPVM/MPI,2009:327-328.

猜你喜歡
進程水質系統
水質抽檢豈容造假
環境(2023年5期)2023-06-30 01:20:01
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
一月冬棚養蝦常見水質渾濁,要如何解決?這9大原因及處理方法你要知曉
當代水產(2019年1期)2019-05-16 02:42:04
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
社會進程中的新聞學探尋
民主與科學(2014年3期)2014-02-28 11:23:03
水質總磷測定存在的問題初探
河南科技(2014年23期)2014-02-27 14:19:07
水質總氮測定方法改進探究
河南科技(2014年18期)2014-02-27 14:14:54
主站蜘蛛池模板: 国产精品亚洲专区一区| 在线播放精品一区二区啪视频| 毛片一级在线| 日韩精品一区二区三区视频免费看| 国产福利2021最新在线观看| 毛片免费高清免费| 久久久久亚洲精品成人网| 欧美在线中文字幕| 亚洲欧美在线看片AI| 亚亚洲乱码一二三四区| 国产精品视频久| 亚洲欧美日韩另类在线一| 91亚洲精选| 欧美日韩中文国产va另类| 国产午夜福利亚洲第一| 99热亚洲精品6码| 国产精品综合色区在线观看| 亚洲男人的天堂在线观看| 97久久免费视频| 在线观看亚洲天堂| 欧美劲爆第一页| 毛片免费观看视频| 国产精品片在线观看手机版 | 91精品视频在线播放| 国产一级无码不卡视频| 国产高清在线精品一区二区三区| 97国产成人无码精品久久久| 亚洲VA中文字幕| 青青热久免费精品视频6| 精品中文字幕一区在线| 国产一区免费在线观看| 欧美日韩中文字幕二区三区| 永久免费无码日韩视频| 久久亚洲国产一区二区| 亚洲av无码人妻| 久久精品欧美一区二区| 日韩欧美中文字幕在线韩免费 | 久久成人18免费| 日韩毛片免费| 四虎在线观看视频高清无码| 国产尤物jk自慰制服喷水| 国产精品va免费视频| 国产SUV精品一区二区| 在线看AV天堂| 欧洲av毛片| 日韩在线视频网| 亚洲精品黄| 亚洲最新网址| 在线精品亚洲一区二区古装| 一级爱做片免费观看久久| 欧美亚洲国产精品第一页| 婷婷99视频精品全部在线观看| 亚洲天堂久久新| 午夜爽爽视频| 东京热一区二区三区无码视频| 亚洲一区无码在线| 国产精品香蕉在线观看不卡| 免费不卡在线观看av| 一级黄色欧美| 欧美国产日产一区二区| 91外围女在线观看| 欧美69视频在线| 久久久91人妻无码精品蜜桃HD| 色婷婷色丁香| 无码免费视频| 国产产在线精品亚洲aavv| 欧美日本在线观看| 久久久久亚洲AV成人网站软件| 99视频在线免费| 久久成人18免费| 日本免费一级视频| 天堂在线视频精品| 国产第一页屁屁影院| 久久伊人操| 999国内精品视频免费| 在线观看国产黄色| 亚洲中文字幕在线观看| 精品久久香蕉国产线看观看gif| 成年A级毛片| 囯产av无码片毛片一级| 69视频国产| 久青草免费在线视频|