王俊江,許利軍,柳 文,焦培南
(1.中國(guó)電波傳播研究所,山東 青島 266071;2.電波環(huán)境特性及?;夹g(shù)國(guó)家重點(diǎn)驗(yàn)室,山東 青島 266071;3.新鄉(xiāng)學(xué)院,河南 新鄉(xiāng) 453003)
短波射線(xiàn)追蹤技術(shù)能夠比較真實(shí)地反應(yīng)無(wú)線(xiàn)電波在電離層中的傳播軌跡,是研究電離層電波傳播效應(yīng)的有效工具,能夠計(jì)算無(wú)線(xiàn)電波經(jīng)過(guò)電離層到達(dá)目標(biāo)的群路徑、相路徑、方位角、地面距離、反射高度、入射仰角和電離層傳播模式等電波傳播參數(shù),在電離圖反演、電離圖合成等方面越來(lái)越受到不同學(xué)者的青睞[1~5]。數(shù)值射線(xiàn)追蹤可以得到相當(dāng)精確的計(jì)算結(jié)果,但計(jì)算量一般很大,很難應(yīng)用到工程中。為了在精度和時(shí)間上取得一個(gè)均衡,人們研究了多種方法,但一般都是二維射線(xiàn)追蹤并且做某種程度的簡(jiǎn)化,在文獻(xiàn)[5,6]中給出了三維射線(xiàn)追蹤的快速計(jì)算方法,但沒(méi)有考慮在多CPU多核情況下的并行計(jì)算,經(jīng)過(guò)檢索尚未發(fā)現(xiàn)把并行化計(jì)算引入三維短波射線(xiàn)追蹤的文獻(xiàn)。
OpenMP并行計(jì)算技術(shù)是針對(duì)共享內(nèi)存多處理器體系結(jié)構(gòu)的可移植并行編程模型,能夠支持并行計(jì)算時(shí)對(duì)線(xiàn)程和變量的靈活設(shè)計(jì)和控制。對(duì)比操作系統(tǒng)平臺(tái)上的多線(xiàn)程編程步驟,應(yīng)用OpenMP的過(guò)程更為簡(jiǎn)便[7,8]。近年來(lái)隨著多核 CPU的不斷發(fā)展,OpenMP已受到越來(lái)越多的重視。
從Hasgrove方程出發(fā),實(shí)現(xiàn)了考慮地磁場(chǎng)情況下的三維射線(xiàn)追蹤,利用多核處理器的計(jì)算機(jī)開(kāi)展了短波三維射線(xiàn)追蹤的OpenMP并行算法研究,并以準(zhǔn)拋物電離層模型為例進(jìn)行仿真計(jì)算。仿真結(jié)果證明了該算法的有效性,展示了該算法的應(yīng)用前景。
在球坐標(biāo)系中,以電波傳播群路徑P'為參數(shù)的射線(xiàn)方程可描述為
式中,P'為群路徑;r、θ、φ是射線(xiàn)路徑上的點(diǎn)在球坐標(biāo)系中的坐標(biāo);kr、kθ、kφ是波矢量在球坐標(biāo)系中的三個(gè)分量;c為光速。式(1)~(6)用于計(jì)算射線(xiàn)路徑上點(diǎn)的坐標(biāo)及在該點(diǎn)處的波矢量,式(7)計(jì)算時(shí)變介質(zhì)中電磁波的頻率漂移。由電離層的時(shí)變性造成的頻率漂移量很小,在計(jì)算射線(xiàn)參數(shù)時(shí)可以忽略不計(jì),因此,無(wú)需在射線(xiàn)追蹤的每一步對(duì)頻率進(jìn)行調(diào)整。
H為哈密頓算符,Haselgrove引入的哈密頓算符與波矢量、相折射指數(shù)的關(guān)系為
式中,n為相折射指數(shù),在考慮磁場(chǎng)和碰撞的情況下,折射指數(shù)為
利用常微分方程組的數(shù)值解法求解上述射線(xiàn)微分方程組,群路徑每變化一個(gè)步長(zhǎng),便可得到射線(xiàn)路徑上不同點(diǎn)處的波矢量及坐標(biāo)矢量,最終形成完整的射線(xiàn)描跡,得到傳播路徑的主要參數(shù),如群路徑、地面距離和方位偏差等。
本文采用了標(biāo)準(zhǔn)的龍格-庫(kù)塔(Runge-Kutta)方法進(jìn)行計(jì)算。
在使用龍格-庫(kù)塔法進(jìn)行三維射線(xiàn)追蹤時(shí),由于每計(jì)算一步都需要上一步的計(jì)算結(jié)果,因此每一條射線(xiàn)只能串行求解。在使用射線(xiàn)追蹤時(shí),頻率和仰角按一定的步進(jìn)掃描進(jìn)行,此時(shí)可以采用OpenMP指令以增加并行性。
OpenMP是基于派生/連接(fork/join)的編程模型。一個(gè)OpenMP程序從單個(gè)線(xiàn)程開(kāi)始執(zhí)行,在程序的某些點(diǎn)需要并行執(zhí)行時(shí),程序派生出額外的線(xiàn)程,組成一個(gè)線(xiàn)程組。這些線(xiàn)程在一個(gè)稱(chēng)為并行區(qū)域的代碼區(qū)中并行執(zhí)行。線(xiàn)程到達(dá)并行區(qū)域的末尾時(shí)等待,直到整個(gè)線(xiàn)程組都到達(dá),然后它們連接在一起,只有初始或者主線(xiàn)程繼續(xù)執(zhí)行,直到下一個(gè)并行區(qū)域(或者程序結(jié)束)OpenMP并行處理流程,如圖1所示。
圖1 OpenMP并行處理流程
OpenMP具有兩個(gè)特性:串行等價(jià)性和遞增并行性。當(dāng)一個(gè)程序無(wú)論是使用一個(gè)線(xiàn)程運(yùn)行還是使用多個(gè)線(xiàn)程運(yùn)行時(shí),它能夠產(chǎn)生相同的結(jié)果,則該程序具有串行等價(jià)性。在大多數(shù)情形中,具有串行等價(jià)性的程序更易于維護(hù)和理解。遞增并行性是指一種并行的編程類(lèi)型,其中一個(gè)程序從一個(gè)串行程序演化為一個(gè)并行程序。處理器從一個(gè)串行程序開(kāi)始,一塊接著一塊的尋找值得并行執(zhí)行的代碼段。這樣,并行性被逐漸添加。在這個(gè)過(guò)程的每個(gè)階段,存在一個(gè)可以被驗(yàn)證的程序,這極大地增加了項(xiàng)目的成功機(jī)率。
在并行設(shè)計(jì)的過(guò)程中,尤其要分析程序的串行等價(jià)性,注意全局變量、在多個(gè)地方更改的類(lèi)的成員變量和類(lèi)的指針成員變量等。
通過(guò)在短波射線(xiàn)追蹤算法中增加OpenMP編譯指令實(shí)現(xiàn)算法的并行化。射線(xiàn)追蹤的一般過(guò)程為
循環(huán)變量為私有變量,在一次射線(xiàn)追蹤中,數(shù)值算法的變量、計(jì)算返回的結(jié)果等,都為私有變量。
以下為計(jì)算多個(gè)頻率多個(gè)仰角做射線(xiàn)追蹤的例子代碼。
其中CRaytrace為射線(xiàn)追蹤類(lèi),里面封裝了數(shù)值計(jì)算,各種電離層模型、地磁場(chǎng)模型和碰撞模型的計(jì)算等。在并行化計(jì)算中,必須把該類(lèi)的對(duì)象定義為私有。
為了檢測(cè)短波射線(xiàn)追蹤并行程序的正確性和效率,采用在同等條件下(同一機(jī)型和同一模型)并行程序和串行程序進(jìn)行對(duì)比計(jì)算的方法。如果并行程序和串行程序計(jì)算結(jié)果完全相同或者滿(mǎn)足精度要求,則可確認(rèn)并行程序是正確的。對(duì)于并行效果,一般用并行加速比來(lái)度量。通常并行加速比可以定義為串行執(zhí)行時(shí)間與并行執(zhí)行時(shí)間之比,即
目前,準(zhǔn)拋物電離層電子濃度模型[9,10]得到了廣泛的應(yīng)用,其等離子體頻率fN隨高度的分布可描述為如下的函數(shù)形式
式中,rm為從地心算起的最大電子濃度對(duì)應(yīng)的高度,單位為km;rb為從地心算起的電離層底高,單位為km;ym=rm-rb為電離層半厚,單位為km;fc為電離層的臨界頻率,單位為MHz。
以準(zhǔn)拋物模型返回散射電離圖合成為例進(jìn)行了對(duì)比分析。其中單層準(zhǔn)拋物模型參數(shù)為fcF2=6 MHz、rbF2=100 km、rmF2=200 km;兩層準(zhǔn)拋物模型的參數(shù)為 fcE=3 MHz、rbE=85 km、rmE=100 km、fcF2=6 MHz、rbF2=150 km、rmF2=250 km;三層準(zhǔn)拋物模型的參數(shù)為fcE=3 MHz、rbE=85 km、rmE=100 km、fcF1=5 MHz、rbF1=120 km、rmF1=150 km、fcF2=8 MHz、rbF2=170 km、rmF2=250 km。運(yùn)算平臺(tái)為4核Intel酷睿2CPU,4 G內(nèi)存。
在此兩種參數(shù)下分別運(yùn)行串行和并行實(shí)例,得到的運(yùn)行結(jié)果完全一致,計(jì)算結(jié)果如圖2、圖3和圖4所示。計(jì)算運(yùn)行的時(shí)間見(jiàn)表1,由該表可以看出在4核的計(jì)算機(jī)上,加速比大于3,計(jì)算效率約80%,運(yùn)行速度得到大幅度提高。
圖2 單層準(zhǔn)拋物模型返回散射電離圖合成
表1 并行程序與串行程序的運(yùn)行效率比較
多核架構(gòu)的計(jì)算機(jī)及多核并行計(jì)算技術(shù)的快速發(fā)展為短波射線(xiàn)追蹤的大規(guī)模工程應(yīng)用打下了基礎(chǔ)。通用利用OpenMP的并行計(jì)算技術(shù),使運(yùn)行速度得到了大幅度的提高,展示出在工程應(yīng)用中的廣闊前景。
[1]CROFT T A.Exact Ray Calculations in a Quasi-parabolic Ionosphere with No Magnetic Field[J].Radio Sci.,1968,3(1):69-74.
[2]NORMAN R J.A Two-dimensional Analytic Ray Tracing Technique Accommodating Horizontal Gradients[J].Radio Sci.,1997,32(2):387-396.
[3]DAVIES K,RUSH C M.High-frequency Ray Paths in I-onospheric Layers with Horizontal Gradients[J].Radio Sci.,1985,20(1):95-110.
[4]KELSO J M.Ray Tracing in the Ionosphere[J].Radio Sci.,1968,3(1):1-12.
[5]柳文,焦培南,王世凱,等.電離層短波三維射線(xiàn)追蹤及其研究[J].電波科學(xué)學(xué)報(bào),2008,23(1):41-48.
[6]柳文,王俊江,焦培南,等.電離層三維射線(xiàn)追蹤的快速計(jì)算方法[J].電波科學(xué)學(xué)報(bào),2009,24(1):55-59.
[7]OpenMP Application Program Interface[J/OL].http://www.openmp.org/mpdocuments/spec30.pdf,(2008-06-02).
[8]張林波,遲學(xué)斌,莫?jiǎng)t堯,等.并行計(jì)算導(dǎo)論[M].北京:清華大學(xué)出版社,2006.
[9]HASELGROVE J.Ray Theory and a New Method for Ray Tracing[C]//Physics in the Ionosphere.London:Proc.Phys.Soc.,1955:355-360.
[10]JONES R M.A Three-dimensional Ray-tracing Computer Program[J].Radio Sci.,1968,3(1):93-94.
[11]索玉成.電離層短波射線(xiàn)追蹤[J].空間科學(xué)學(xué)報(bào),1993,13(4):306-312.
[12]李妮,陳錚,龔光紅,等.多核并行計(jì)算技術(shù)在景象匹配仿真中的應(yīng)用[J].系統(tǒng)電子工程與電子技術(shù),2010,32(2):428-432.