亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MPI+OpenMP的雷達(dá)信號脈內(nèi)分析并行加速方法

        2023-09-05 01:37:48群,童真,柴
        艦船電子對抗 2023年4期
        關(guān)鍵詞:線程進程編程

        姚 群,童 真,柴 恒

        (中國船舶集團有限公司第七二三研究所,江蘇 揚州 225101)

        0 引 言

        隨著新體制雷達(dá)的廣泛使用,現(xiàn)代電子戰(zhàn)面臨的電磁環(huán)境更加復(fù)雜,信號波形復(fù)雜多變,各類脈內(nèi)調(diào)制類型如相位調(diào)制、線性/非線性調(diào)頻、頻率編碼、復(fù)合調(diào)制等調(diào)制類型的雷達(dá)信號逐漸增多。傳統(tǒng)的電子偵察(ESM)設(shè)備測量的五大常規(guī)參數(shù)(中心頻率、幅度、脈寬、到達(dá)時間和到達(dá)角)已經(jīng)無法適應(yīng)當(dāng)前復(fù)雜電磁環(huán)境下的電子對抗過程中信號分選、目標(biāo)識別等關(guān)鍵環(huán)節(jié)的需求。雷達(dá)信號的脈內(nèi)調(diào)制信息作為雷達(dá)信號的重要參數(shù),可以更加詳細(xì)地反映雷達(dá)信號的本質(zhì)信息,為參數(shù)復(fù)雜多變的新體制雷達(dá)信號的分選與識別提供幫助[1]。

        雷達(dá)脈內(nèi)分析一般采用中頻數(shù)據(jù),數(shù)據(jù)量大,處理算法復(fù)雜,運算量大,實時性很難滿足,無法有效支援電子戰(zhàn)行動[2-3]。為了充分利用雷達(dá)脈內(nèi)調(diào)制特征信息,提高分選和識別的準(zhǔn)確性,迫切需要提高脈內(nèi)分析的計算速度,提高脈內(nèi)分析的實時性。

        隨著多核通用計算處理器技術(shù)的高速發(fā)展,高性能多核CPU正逐漸取代數(shù)字信號處理器(DSP)、PowerPC成為電子偵察信號處理領(lǐng)域的主要處理單元,并且進一步向多節(jié)點集群化的方向發(fā)展[4-6]。為了充分發(fā)揮電子偵察信號處理計算平臺的性能,本文開展了基于多節(jié)點多核CPU計算平臺的并行計算技術(shù)研究,根據(jù)雷達(dá)信號脈內(nèi)分析處理的特點,提出了一種基于消息傳遞接口+開放式多處理(MPI+OpenMP)的雷達(dá)信號脈內(nèi)分析并行計算技術(shù),綜合了 MPI 和OpenMP 并行編程環(huán)境的優(yōu)點,提高了雷達(dá)信號脈內(nèi)分析的處理速度。

        1 并行編程模型

        多節(jié)點多核CPU計算平臺屬于對稱多處理(Symmetric Multi-Processing,SMP)架構(gòu),該結(jié)構(gòu)同時具備了節(jié)點內(nèi)共享內(nèi)存與節(jié)點間分布式存儲的層次特點,因此同時支持節(jié)點間消息傳遞和節(jié)點內(nèi)共享內(nèi)存并行編程模型,其中MPI與OpenMP是這2類并行編程模型的代表。

        OpenMP是用于共享內(nèi)存并行化的標(biāo)準(zhǔn)共享內(nèi)存、多處理應(yīng)用程序接口(API)。OpenMP為線程創(chuàng)建、管理和同步提供了一組編譯器指令、環(huán)境變量和運行庫函數(shù),通過fork-join編程模型實現(xiàn)并行性。在此模型中,程序開始作為單個進程或線程順序執(zhí)行,當(dāng)運行至并行區(qū)域時,創(chuàng)建其他幾個從線程來執(zhí)行并行任務(wù),并行域代碼執(zhí)行完后再回到主線程[7]。OpenMP為程序員提供了更高層的并行編程抽象,只需要在程序中添加編譯指令以及調(diào)用庫函數(shù),就可以在共享內(nèi)存系統(tǒng)中實現(xiàn)高效的并行程序,降低了并行編程的難度和復(fù)雜度,同時具有良好的可移植性。

        MPI是為開發(fā)基于消息傳遞模型的并行程序而制定的工業(yè)標(biāo)準(zhǔn)消息傳遞接口。在并行計算中,多臺計算機或者同一臺計算機內(nèi)的多個處理器核心被稱為一個節(jié)點,共同完成計算任務(wù)。在分布式內(nèi)存系統(tǒng)中,并行計算的最大挑戰(zhàn)是如何同步各個并行節(jié)點的動作,在節(jié)點之間交換數(shù)據(jù)以及對整個并行集群提供命令和控制[8]。MPI為這些任務(wù)定義了一套標(biāo)準(zhǔn)的函數(shù)。MPI的優(yōu)點是高性能、大規(guī)模性和可移植性,是高性能計算的主要模型。

        OpenMP和MPI這2種編程模型可以在同一個程序中使用,適用于由共享和分布式內(nèi)存組成的架構(gòu),如多核處理器集群[9-10]。在OpenMP和MPI混合編程模型中,MPI可用于跨節(jié)點提供過程級并行,而OpenMP可用于通過使用編譯器指令在節(jié)點內(nèi)實現(xiàn)循環(huán)級并行,如圖1所示。在混合編程模型中,OpenMP線程將共享每個節(jié)點的內(nèi)存,因而此時的消耗內(nèi)存總量會遠(yuǎn)遠(yuǎn)小于使用純MPI進程模型時所占用的內(nèi)存總量,輕量級線程間的通信也因為取代了傳統(tǒng)的MPI進程收發(fā)通信機制而變得更快,并且由于跨節(jié)點間更少的MPI,通信混合模型的可擴展性也因而得到顯著提升。

        圖1 MPI+OpenMP模型

        2 雷達(dá)信號脈內(nèi)分析并行處理

        電子偵察雷達(dá)信號脈內(nèi)分析架構(gòu)如圖2所示,通常分為兩部分:首先對原始的中頻信號進行數(shù)字化采樣,完成信號檢測,這一部分通常在FPGA處理單元內(nèi)完成;之后將脈沖信號數(shù)據(jù)送至脈內(nèi)分析模塊,獲取脈內(nèi)特征參數(shù)以及常規(guī)參數(shù)(中心頻率、幅度、脈寬、到達(dá)時間),生成包含調(diào)制樣式與調(diào)制參數(shù)的脈沖描述字(PDW),供后續(xù)分選識別模塊進一步使用,生成輻射源描述字(EDW),提高其對復(fù)雜環(huán)境的適應(yīng)性。上述流程關(guān)鍵是提升脈內(nèi)分析環(huán)節(jié)處理速度,以滿足實時性要求[11-12]。

        圖2 電子偵察雷達(dá)信號脈內(nèi)分析架構(gòu)

        雷達(dá)信號脈內(nèi)分析的最主要功能是對脈沖數(shù)據(jù)的調(diào)制類型識別與參數(shù)解調(diào),目前廣泛應(yīng)用的脈內(nèi)分析方法主要分為基于似然函數(shù)的分析算法和基于特征的分析算法?;谒迫缓瘮?shù)的方法計算量大,計算復(fù)雜度高,工程中一般采用基于特征提取的脈內(nèi)分析方法,算法流程如圖3所示。

        圖3 基于特征的脈內(nèi)分析算法

        雷達(dá)信號脈內(nèi)分析以一個完整的脈沖數(shù)據(jù)為數(shù)據(jù)分析單元,各個脈沖間的數(shù)據(jù)是相互獨立的[13-14]。因此脈內(nèi)分析功能的并行計算加速根據(jù)并行的粒度不同可分為2種方式:一種是細(xì)粒度單脈沖級的加速,即對單個脈沖脈內(nèi)分析的算法流程進行加速;另一種粗粒度加速方式是以脈沖為最小單位進行并行計算。為了獲得最大的單脈沖并行計算性能,細(xì)粒度單脈沖級脈內(nèi)分析并行加速需要根據(jù)圖3流程中的算法模塊進行并行化設(shè)計,系統(tǒng)的并行化程度取決于設(shè)計人員對算法的設(shè)計。圖4給出了一種可供參考的單脈沖級別脈內(nèi)分析并行化示意圖,針對脈內(nèi)分析流程中不同處理算法進行相應(yīng)的并行化設(shè)計,輸出包含調(diào)制參數(shù)的單個PDW。單脈沖級的加速方式,理論上可以獲取最小的單脈沖脈內(nèi)分析時延。但是由于脈沖流數(shù)據(jù)量大,該方法會頻繁產(chǎn)生I/O讀取與線程切換,導(dǎo)致處理開銷變大,同時該方式對脈內(nèi)算法分析流程的并行化實現(xiàn)要求極高,設(shè)計難度大,不易于后期算法更新擴展。

        圖4 單脈沖脈內(nèi)分析并行化參考示意圖

        另一種粗粒度加速方式是以脈沖為最小單位進行并行計算,即為每個脈沖的脈內(nèi)分析任務(wù)分配一個線程,并行計算多個脈沖數(shù)據(jù),最終匯總所有脈沖的PDW結(jié)果輸出,如圖5所示。脈內(nèi)分析算法各個脈沖分析計算任務(wù)數(shù)據(jù)完全獨立[15],在并行計算時不需要額外的數(shù)據(jù)通信開銷,該并行方式可以充分發(fā)揮系統(tǒng)并行計算的能力,并且易于后期處理算法的靈活升級。但是該方式需要存儲一段時間的脈沖數(shù)據(jù),因此會引入至少1幀數(shù)據(jù)塊的延遲,而雷達(dá)信號分選功能本身就需要累積一段時間的數(shù)據(jù),因此此部分延遲開銷并不影響后續(xù)分選功能。

        圖5 脈沖級脈內(nèi)分析并行化

        綜上所述,實時脈內(nèi)分析針對實時脈沖數(shù)據(jù)流,進行相同的分析處理,各個脈沖數(shù)據(jù)相互獨立,因此本文提出為每個節(jié)點分配1個MPI進程,用于處理一定數(shù)量的脈沖數(shù)據(jù),同時在節(jié)點內(nèi)部利用OpenMP為每個脈沖串分配一個分析線程,實現(xiàn)多線程并行計算,如圖6所示。為了考慮各個節(jié)點的負(fù)載均衡性,脈沖串?dāng)?shù)據(jù)的分配一般需要考慮數(shù)據(jù)量而非脈沖數(shù)據(jù)個數(shù),具體實現(xiàn)步驟如下:

        圖6 基于MPI+OpenMP的并行脈內(nèi)分析流程

        (1) 在每個節(jié)點上建立MPI進程,并進行必要的初始化;

        (2) 主數(shù)據(jù)節(jié)點的主進程對數(shù)據(jù)進行劃分,通過節(jié)點間通信為每個節(jié)點的MPI進程分配數(shù)據(jù);

        (3) 在每個節(jié)點的MPI進程內(nèi)部,通過 OpenMP 編譯指導(dǎo)語句,對脈沖串?dāng)?shù)據(jù)進行脈沖級的多線程并行計算(線程數(shù)量根據(jù)硬件平臺的計算核心數(shù)進行配置);

        (4) 當(dāng)全部計算完成后,MPI進程結(jié)束,由主節(jié)點進程匯總結(jié)果輸出。

        下面給出混合編程模型實時脈內(nèi)分析的偽代碼:

        MPI_Init();

        MPI_Comm_rank();

        MPI_Comm_size();

        if (myid == 0)//主進程分發(fā)數(shù)據(jù)

        {

        MPI_Send();

        }

        else //其余節(jié)點進程接收數(shù)據(jù)

        {

        MPI_Recv();

        }

        omp_set_num_threads(n);//設(shè)置OpenMP線程數(shù)n

        #pragma omp parallel for //N個脈沖多線程并行

        For i=1:N

        Elint();//脈內(nèi)分析計算

        /*MPI進程通信,結(jié)果匯總至主節(jié)點輸出*/

        MPI_Finalize();

        3 測試結(jié)果

        本文采用的硬件測試平臺為2臺高性能計算服務(wù)器(每臺包含2個Xeon E5-2640 CPU,單個CPU包含8核心,主頻2.6 GHz),即每個節(jié)點共包含16核。軟件環(huán)境為Centos 7操作系統(tǒng),測試程序采用c++編寫,編譯環(huán)境使用gcc-8.3.1,mpich-3.3.2等。

        在單個節(jié)點上,測試了采用OpenMP并行編程模型在不同CPU核心數(shù)的情況下對脈內(nèi)分析算法(常規(guī)參數(shù)測量、調(diào)制識別、調(diào)制參數(shù)解調(diào)等)的加速情況,如圖7所示。其中測試采用常規(guī)信號中頻脈沖數(shù)據(jù),脈沖寬度10 μs,脈沖數(shù)量1 000。

        圖7 單節(jié)點OpenMP/MPI加速比

        由圖7可以看出:單節(jié)點內(nèi)由于不需要進行進程間通信,OpenMP獲得了相對較好的加速性能。但隨著核數(shù)的增多,因為存在多線程資源分配、回收等開銷,加速比并未呈現(xiàn)線性增加的趨勢。因此在實際應(yīng)用中,需要根據(jù)具體處理算法需求,合理分配線程數(shù)以達(dá)到最優(yōu)的效率。

        進一步對比單節(jié)點串行計算,單節(jié)點OpenMP并行計算以及兩節(jié)點MPI+OpenMP并行計算的脈內(nèi)分析處理時間,測試結(jié)果如表1所示。其中測試數(shù)據(jù)采用常規(guī)信號(NS)、線性調(diào)頻信號(LFM)、二相編碼信號(BPSK)和四相編碼信號(QPSK)的中頻脈沖數(shù)據(jù),脈沖寬度10 μs,脈沖數(shù)量1 000。

        表1 處理用時對比(單位ms)

        表1中,OpenMP計算時使用單個服務(wù)器、單個進程32線程并行計算,MPI+OpenMP計算時使用2臺服務(wù)器,將計算數(shù)據(jù)平均分配至2個節(jié)點,在每個節(jié)點上采用單進程32線程的并行計算??梢钥闯?在單節(jié)點上采用OpenMP加速能有效提高脈內(nèi)分析的處理速度。在2個節(jié)點間采用MPI+OpenMP時,每個節(jié)點的計算數(shù)據(jù)量降低1倍,但是由于節(jié)點間通信的開銷,導(dǎo)致實際計算速度提升小于2倍。圖8給出了2種并行計算方式對不同調(diào)制類型數(shù)據(jù)的加速比??梢钥闯?MPI+OpenMP的加速方法對不同調(diào)制類型的加速比達(dá)到了15以上。

        圖8 不同調(diào)制類型的加速比

        4 結(jié)束語

        本文提出了一種基于MPI+OpenMP的雷達(dá)信號實時脈內(nèi)分析并行計算方法,針對雷達(dá)信號脈沖數(shù)據(jù)流,在每個節(jié)點分配MPI進程,在節(jié)點進程的內(nèi)部利用OpenMP為每個脈沖串分配一個線程,實現(xiàn)脈沖級的脈內(nèi)分析并行計算,充分發(fā)揮電子偵察信號處理計算平臺的性能。測試結(jié)果表明,該方法對不同調(diào)制類型信號的處理速度都獲得了較大的提升。該方法實時性好,并且易于擴展,可以為雷達(dá)信號脈內(nèi)分析的實時處理提供解決方案。

        猜你喜歡
        線程進程編程
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        債券市場對外開放的進程與展望
        中國外匯(2019年20期)2019-11-25 09:54:58
        淺談linux多線程協(xié)作
        社會進程中的新聞學(xué)探尋
        我國高等教育改革進程與反思
        Linux僵死進程的產(chǎn)生與避免
        Linux線程實現(xiàn)技術(shù)研究
        又黄又爽又色的视频| 美女扒开腿露内裤免费看| 国产日韩欧美一区二区东京热| 国产精品免费观看久久| 国产一区二区激情对白在线| 高清亚洲成av人片乱码色午夜| 亚洲国产中文字幕在线视频综合| 啦啦啦www在线观看免费视频| 亚洲在AV极品无码天堂手机版 | 精品国产一区二区三区AV小说| 亚洲黄色官网在线观看| 久久婷婷综合缴情亚洲狠狠| 一本一本久久aa综合精品| 538在线啪在线观看| 极品少妇被后入内射视| 国产av剧情一区二区三区| 久久久久亚洲精品中文字幕| 久久精品免费无码区| 亚洲国产精品成人一区二区三区| 亚洲综合另类小说色区| 国产在线精品欧美日韩电影| 亚洲欧洲综合有码无码| 国产精品日韩亚洲一区二区| 综合色就爱涩涩涩综合婷婷| 久久国产精品久久精品国产| 国产日韩一区二区精品| 日本精品视频二区三区| 少妇无码吹潮| 亚洲无码夜夜操| 精品麻豆一区二区三区乱码| 欧美亚洲日本国产综合在线美利坚| 亚洲 都市 校园 激情 另类| 国产青青草自拍视频在线播放| 蜜桃av在线免费网站| 老熟妇乱子伦av| 男人深夜影院无码观看| 国产丝袜爆操在线观看| 国产福利精品一区二区| 未满十八勿入av网免费| 国产一区二区三区白浆肉丝 | 亚洲av色av成人噜噜噜|