国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于雙層并行架構(gòu)的高速目標(biāo)訪問計(jì)算技術(shù)

2020-10-28 07:12楊紀(jì)偉趙汝哲張學(xué)亮彭會(huì)湘岳群彬
無線電工程 2020年11期
關(guān)鍵詞:球面線程時(shí)刻

楊紀(jì)偉,趙汝哲,張學(xué)亮,彭會(huì)湘,白 晶,顏 博,岳群彬

(中國電子科技集團(tuán)公司第五十四研究所,河北 石家莊 050081)

0 引言

隨著遙感技術(shù)的發(fā)展,衛(wèi)星成像技術(shù)廣泛應(yīng)用于戰(zhàn)場(chǎng)觀測(cè)、國土普查、環(huán)境監(jiān)測(cè)和氣象預(yù)測(cè)等領(lǐng)域[1]。采用多星協(xié)同觀測(cè)特定目標(biāo)或目標(biāo)群的方法,可以充分利用衛(wèi)星資源。多星協(xié)同規(guī)劃的前提是預(yù)先計(jì)算所有衛(wèi)星對(duì)目標(biāo)或目標(biāo)群的可見信息[2]??焖賹?shí)時(shí)計(jì)算衛(wèi)星對(duì)目標(biāo)的可見信息,能夠?yàn)楹罄m(xù)任務(wù)規(guī)劃預(yù)留更多機(jī)動(dòng)時(shí)間[3];如果計(jì)算耗時(shí)過長,甚至有可能影響到任務(wù)的順利進(jìn)行。

傳統(tǒng)目標(biāo)訪問計(jì)算通常采用多星排隊(duì)計(jì)算、單星逐點(diǎn)搜索的方法。多星之間按照時(shí)間先后順序,依次進(jìn)行訪問計(jì)算,一顆衛(wèi)星計(jì)算完成后再繼續(xù)處理下一顆衛(wèi)星,直至所有衛(wèi)星處理完成;對(duì)于單顆衛(wèi)星的訪問計(jì)算,逐時(shí)刻點(diǎn)搜索最優(yōu)訪問時(shí)刻,直至所有時(shí)刻點(diǎn)搜索完成。該算法隨著衛(wèi)星數(shù)量和目標(biāo)數(shù)量的增加,訪問計(jì)算所需的時(shí)間將線性增加。

針對(duì)多星多任務(wù)訪問計(jì)算時(shí)效性差的問題,提出了基于雙層并行架構(gòu)的高速目標(biāo)訪問計(jì)算技術(shù),該技術(shù)通過多節(jié)點(diǎn)并行架構(gòu)將不同的衛(wèi)星計(jì)算任務(wù)分配到不同的訪問計(jì)算節(jié)點(diǎn),可以解決多星排隊(duì)計(jì)算的問題;通過CPU+GPU異構(gòu)架構(gòu)將單星單任務(wù)逐點(diǎn)計(jì)算問題轉(zhuǎn)化為多線程并行計(jì)算問題[4]。最后通過多顆衛(wèi)星的實(shí)測(cè)數(shù)據(jù)驗(yàn)證了算法的時(shí)效性。

1 目標(biāo)訪問計(jì)算技術(shù)概述

對(duì)地觀測(cè)衛(wèi)星的主要任務(wù)是實(shí)現(xiàn)對(duì)地面目標(biāo)的準(zhǔn)確觀測(cè),考慮到多星協(xié)同觀測(cè)以及對(duì)衛(wèi)星反應(yīng)速度的要求,需要快速、準(zhǔn)確地計(jì)算觀測(cè)衛(wèi)星對(duì)地面目標(biāo)的訪問時(shí)段及相應(yīng)時(shí)段衛(wèi)星觀測(cè)目標(biāo)的姿態(tài)信息[5]。目標(biāo)訪問計(jì)算技術(shù)的主要功能是根據(jù)衛(wèi)星星歷數(shù)據(jù)(包括衛(wèi)星空間位置信息、衛(wèi)星速度信息和星下點(diǎn)地理位置信息等)、目標(biāo)地理位置信息以及衛(wèi)星的約束條件(包括衛(wèi)星側(cè)擺角范圍、衛(wèi)星俯仰角范圍、衛(wèi)星傳感器成像太陽高度角等)計(jì)算衛(wèi)星對(duì)地面目標(biāo)的訪問時(shí)段及對(duì)應(yīng)的姿態(tài)信息(側(cè)擺角、俯仰角)。

計(jì)算衛(wèi)星指向地面目標(biāo)的側(cè)擺角和俯仰角示意如圖1所示[6]。

圖1 衛(wèi)星二維指向示意Fig.1 Schematic diagram of satellite two- dimensional pointing

衛(wèi)星相機(jī)光軸在衛(wèi)星本體坐標(biāo)中為(0,0,1),即指向衛(wèi)星本體坐標(biāo)系z(mì)軸;不進(jìn)行姿態(tài)機(jī)動(dòng)時(shí),衛(wèi)星本體坐標(biāo)系與衛(wèi)星軌道坐標(biāo)系重合;先繞x軸轉(zhuǎn)動(dòng)側(cè)擺角θ,再繞y軸轉(zhuǎn)動(dòng)俯仰角φ后,相機(jī)光軸矢量(本體坐標(biāo)系z(mì)軸方向)指向目標(biāo)[7]。

2 傳統(tǒng)目標(biāo)訪問計(jì)算架構(gòu)

傳統(tǒng)目標(biāo)訪問計(jì)算架構(gòu)為純串行架構(gòu),如圖2所示。

收到目標(biāo)訪問計(jì)算申請(qǐng)任務(wù)后,接收線程將任務(wù)加入到任務(wù)申請(qǐng)隊(duì)列中。處理線程監(jiān)視任務(wù)申請(qǐng)隊(duì)列,如果任務(wù)申請(qǐng)隊(duì)列中有待處理任務(wù),處理線程就從申請(qǐng)隊(duì)列中取出第一個(gè)任務(wù)作為當(dāng)前任務(wù)進(jìn)行處理,當(dāng)前任務(wù)處理完成后,再繼續(xù)處理下一個(gè)申請(qǐng)任務(wù),任務(wù)與任務(wù)間是串行處理的,遵從“先來先服務(wù)”原則。

具體到對(duì)某一個(gè)任務(wù)的處理時(shí),處理線程對(duì)所有時(shí)刻逐點(diǎn)進(jìn)行搜索計(jì)算,計(jì)算對(duì)應(yīng)時(shí)刻的衛(wèi)星姿態(tài)信息(側(cè)擺角、俯仰角)以及其他約束信息(太陽高度角)。計(jì)算完成后對(duì)姿態(tài)信息和約束信息進(jìn)行判定,如果滿足約束條件,對(duì)結(jié)果進(jìn)行記錄,如果不滿足約束條件,直接舍棄;處理完當(dāng)前時(shí)刻后,將時(shí)間自加1 s。如果自加1 s后的時(shí)間已經(jīng)超過時(shí)間范圍,直接結(jié)束;如果沒有超過時(shí)間范圍,則處理該時(shí)刻,直至所有時(shí)刻處理完成。

圖2 傳統(tǒng)目標(biāo)訪問計(jì)算架構(gòu)Fig.2 Traditional target access computing architecture

對(duì)于上述目標(biāo)訪問計(jì)算架構(gòu),任務(wù)與任務(wù)之間是串行處理的,每次只能處理一個(gè)任務(wù);任務(wù)內(nèi)部所有時(shí)刻的搜索是串行處理的,每次只能處理一個(gè)時(shí)刻。

3 雙層并行目標(biāo)訪問計(jì)算架構(gòu)

3.1 任務(wù)級(jí)并行架構(gòu)

雙層并行高速目標(biāo)訪問計(jì)算架構(gòu)采用任務(wù)級(jí)并行和任務(wù)內(nèi)部線程級(jí)并行的雙層并行策略[8],任務(wù)級(jí)并行架構(gòu)如圖3所示。

圖3 任務(wù)級(jí)并行架構(gòu)Fig.3 Diagram of task level parallel architecture

并行調(diào)度軟件與訪問計(jì)算節(jié)點(diǎn)通信的消息有2種:握手消息和計(jì)算任務(wù)消息。并行調(diào)度軟件通過握手消息判斷訪問計(jì)算節(jié)點(diǎn)是否正常。對(duì)于正常節(jié)點(diǎn),當(dāng)有任務(wù)申請(qǐng)時(shí),并行調(diào)度軟件會(huì)將任務(wù)發(fā)送到空閑的訪問計(jì)算節(jié)點(diǎn),如果空閑的訪問計(jì)算節(jié)點(diǎn)數(shù)量少于任務(wù)總數(shù)量,按照“先來先服務(wù)”原則,多出的申請(qǐng)任務(wù)繼續(xù)排隊(duì),任意一個(gè)節(jié)點(diǎn)返回計(jì)算結(jié)果后,并行調(diào)度軟件會(huì)將排隊(duì)的任務(wù)繼續(xù)分發(fā),直到所有的任務(wù)都計(jì)算完成[9]。

對(duì)于任務(wù)級(jí)并行,當(dāng)任務(wù)量增加時(shí),可以通過擴(kuò)充訪問計(jì)算節(jié)點(diǎn)的方式保證訪問計(jì)算的反應(yīng)時(shí)間,從而減少因?yàn)槿蝿?wù)之間進(jìn)行排隊(duì)而造成的訪問計(jì)算反應(yīng)時(shí)間不可控的情況發(fā)生。

3.2 線程級(jí)并行架構(gòu)

線程級(jí)并行架構(gòu)采用CPU+GPU異構(gòu)架構(gòu),CPU負(fù)責(zé)進(jìn)行邏輯處理,GPU負(fù)責(zé)大數(shù)據(jù)量的計(jì)算,CPU+GPU的異構(gòu)架構(gòu)之所以能夠?qū)崿F(xiàn)多線程并行,是由GPU本身架構(gòu)決定的。CPU與GPU的對(duì)比如圖4所示[10]。

圖4 CPU與GPU架構(gòu)對(duì)比Fig.4 Comparison between CPU and GPU architecture

ALU為計(jì)算單元,相比于CPU,GPU的控制單元較少,即GPU的邏輯控制能力相對(duì)較弱,但GPU將更多的單元用于執(zhí)行數(shù)字計(jì)算。所以相比于CPU,GPU更適合大量的數(shù)字計(jì)算,卻不適合于邏輯處理[11]。

基于以上原因,采用CPU進(jìn)行邏輯處理、讀寫操作;采用GPU進(jìn)行數(shù)字計(jì)算。線程級(jí)并行流程如圖5所示。

圖5 線程級(jí)并行流程Fig.5 Diagram of thread level parallel process

CPU端負(fù)責(zé)讀取目標(biāo)信息及衛(wèi)星約束條件,獲取星歷數(shù)據(jù),GPU端負(fù)責(zé)進(jìn)行對(duì)應(yīng)時(shí)刻的姿態(tài)信息及其他約束信息的計(jì)算[12]。

具體流程為:

① CPU端讀取衛(wèi)星數(shù)據(jù)、約束條件、設(shè)定時(shí)間段內(nèi)的星歷文件和目標(biāo)文件,傳遞到GPU,并為GPU分配多個(gè)線程。所述的約束條件包括衛(wèi)星的最小太陽高度角、最小側(cè)擺角、最大側(cè)擺角、最小俯仰角、最大俯仰角、衛(wèi)星軌道傾角和軌道高度[13]。

② GPU端根據(jù)星歷文件、衛(wèi)星數(shù)據(jù)以及目標(biāo)文件同時(shí)計(jì)算每個(gè)線程對(duì)應(yīng)的星歷時(shí)刻下的星下點(diǎn)到目標(biāo)點(diǎn)的球面距離以及星下點(diǎn)的太陽高度角。

③ GPU端根據(jù)衛(wèi)星數(shù)據(jù)計(jì)算星下點(diǎn)到目標(biāo)點(diǎn)的球面最大距離,將步驟②中所得的所有星歷時(shí)刻下的星下點(diǎn)到目標(biāo)點(diǎn)的球面距離分別與星下點(diǎn)到目標(biāo)點(diǎn)的球面最大距離進(jìn)行對(duì)比,將步驟②中所得的所有星歷時(shí)刻下的星下點(diǎn)的太陽高度角分別與衛(wèi)星的最小太陽高度角進(jìn)行對(duì)比,若該星歷時(shí)刻下星下點(diǎn)到目標(biāo)點(diǎn)球面距離小于星下點(diǎn)到目標(biāo)點(diǎn)的球面最大距離,且星下點(diǎn)的太陽高度角大于衛(wèi)星的最小太陽高度角,則執(zhí)行步驟④;否則結(jié)束該線程。

④ GPU端計(jì)算每個(gè)星歷時(shí)刻下衛(wèi)星訪問目標(biāo)的滾動(dòng)角和俯仰角,將滾動(dòng)角與最小側(cè)擺角和最大側(cè)擺角進(jìn)行對(duì)比,將俯仰角與最小俯仰角和最大俯仰角進(jìn)行對(duì)比,若滾動(dòng)角在最小側(cè)擺角和最大側(cè)擺角范圍內(nèi)且俯仰角在最小俯仰角和最大俯仰角范圍內(nèi),則記錄該星歷時(shí)刻及該星歷時(shí)刻下計(jì)算所得的星下點(diǎn)到目標(biāo)點(diǎn)的球面距離、星下點(diǎn)的太陽高度角以及衛(wèi)星訪問目標(biāo)的滾動(dòng)角和俯仰角;否則結(jié)束本線程[14]。

具體到GPU進(jìn)行數(shù)據(jù)處理,邏輯示意如圖6所示。

圖6 GPU執(zhí)行目標(biāo)訪問計(jì)算示意Fig.6 The schematic diagram of GPU executing target access computing

根據(jù)GPU的核心數(shù)量和時(shí)間跨度,對(duì)GPU核心進(jìn)行編號(hào),對(duì)不同編號(hào)的核心分配不同的待執(zhí)行線程,不同的執(zhí)行線程根據(jù)編號(hào)取不同的待處理數(shù)據(jù)進(jìn)行處理。

在某個(gè)線程具體進(jìn)行姿態(tài)信息計(jì)算時(shí),考慮到衛(wèi)星星下點(diǎn)與目標(biāo)點(diǎn)球面距離的計(jì)算比衛(wèi)星姿態(tài)信息計(jì)算的計(jì)算量小、耗時(shí)少,首先計(jì)算衛(wèi)星星下點(diǎn)與目標(biāo)點(diǎn)的球面距離,如果球面距離不滿足約束條件,該線程直接結(jié)束,相應(yīng)的GPU核心可以繼續(xù)處理其他待處理任務(wù)[15]。

經(jīng)實(shí)驗(yàn),對(duì)于衛(wèi)星高度500~800 km,側(cè)擺角范圍45°以內(nèi)的衛(wèi)星,星歷預(yù)篩選可以篩選掉不低于85%的星歷數(shù)據(jù),搜索速度得到了一定的提升。

4 實(shí)驗(yàn)分析與評(píng)價(jià)

從單星多目標(biāo)單節(jié)點(diǎn)計(jì)算能力、多任務(wù)反應(yīng)能力2個(gè)維度對(duì)雙層并行目標(biāo)訪問計(jì)算架構(gòu)與傳統(tǒng)目標(biāo)訪問計(jì)算架構(gòu)進(jìn)行對(duì)比。

單/多計(jì)算節(jié)點(diǎn)、外推星歷24 h情況下,針對(duì)單/多星多目標(biāo)情況進(jìn)行了試驗(yàn),具體耗時(shí)和加速比如表1所示。表1中,加速比1代表單節(jié)點(diǎn)CPU版訪問計(jì)算耗時(shí)與單節(jié)點(diǎn)CPU+GPU版訪問計(jì)算耗時(shí)之比;加速比2代表單節(jié)點(diǎn)CPU+GPU版訪問計(jì)算耗時(shí)與10個(gè)節(jié)點(diǎn)CPU+GPU版訪問計(jì)算之比。

表1 單/多星目標(biāo)訪問計(jì)算耗時(shí)對(duì)比Tab.1 Comparison of calculation time of single-satellite and multi-satellite target access

單節(jié)點(diǎn)情況下,衛(wèi)星數(shù)量、目標(biāo)數(shù)量與不同計(jì)算架構(gòu)下的耗時(shí)之間的關(guān)系如圖7所示。

圖7 2種計(jì)算架構(gòu)下的目標(biāo)訪問計(jì)算耗時(shí)Fig.7 Target access calculation time of two computing architectures

CPU,CPU+GPU兩種計(jì)算架構(gòu)下的加速比曲線如圖8所示。

圖8 2種計(jì)算架構(gòu)下的加速比曲線Fig.8 Acceleration ratio curve of two computing architectures

CPU+GPU異構(gòu)計(jì)算架構(gòu)下,單節(jié)點(diǎn)與任務(wù)級(jí)多節(jié)點(diǎn)并行時(shí),不同的衛(wèi)星數(shù)量、目標(biāo)數(shù)量對(duì)應(yīng)的耗時(shí)曲線如圖9和圖10所示。

圖9 單GPU節(jié)點(diǎn)目標(biāo)訪問計(jì)算耗時(shí)Fig.9 Target access calculation time of 1 GPU node

圖10 10 GPU節(jié)點(diǎn)目標(biāo)訪問計(jì)算耗時(shí)Fig.10 Target access calculation time of 10 GPU node

單節(jié)點(diǎn)與任務(wù)級(jí)多節(jié)點(diǎn)并行時(shí)的加速比曲線如圖11所示。

圖11 不同并行節(jié)點(diǎn)數(shù)時(shí)的加速比曲線Fig.11 Acceleration ratio curve of different parallel nodes

由表1、圖7和圖8可知,對(duì)于單節(jié)點(diǎn),當(dāng)目標(biāo)數(shù)較少時(shí),加速比較低,隨著目標(biāo)數(shù)的增加,加速比逐漸提高,但是當(dāng)目標(biāo)數(shù)達(dá)到一定數(shù)量后,加速比趨近于一個(gè)定值,不再提升。

由表1、圖9、圖10和圖11可知,雙層并行計(jì)算架構(gòu)的加速比受并行節(jié)點(diǎn)數(shù)量、單次任務(wù)目標(biāo)數(shù)量兩方面因素影響。當(dāng)所有節(jié)點(diǎn)滿負(fù)荷運(yùn)行時(shí),加速比與節(jié)點(diǎn)數(shù)量大致成正比例關(guān)系。

5 結(jié)束語

本文提出了一種基于雙層并行架構(gòu)的高速目標(biāo)訪問計(jì)算技術(shù),用于解決衛(wèi)星管控中多星多目標(biāo)籌劃實(shí)時(shí)性差的問題。通過多節(jié)點(diǎn)的任務(wù)級(jí)并行,將多星任務(wù)分解為單星任務(wù)進(jìn)行處理。同時(shí),通過CPU+GPU異構(gòu)架構(gòu),提高了單點(diǎn)目標(biāo)最優(yōu)訪問時(shí)刻的搜索效率。在本文給出的數(shù)據(jù)集上的實(shí)驗(yàn),表明了該技術(shù)的有效性。

猜你喜歡
球面線程時(shí)刻
關(guān)節(jié)軸承外球面拋光加工工藝改進(jìn)研究
實(shí)時(shí)操作系統(tǒng)mbedOS 互斥量調(diào)度機(jī)制剖析
冬“傲”時(shí)刻
中國“天眼”——500米口徑球面射電望遠(yuǎn)鏡
捕獵時(shí)刻
基于國產(chǎn)化環(huán)境的線程池模型研究與實(shí)現(xiàn)
磁懸浮徑向球面純電磁磁軸承的設(shè)計(jì)
一天的時(shí)刻
計(jì)算機(jī)中的多線程問題
Java的多線程技術(shù)探討
平定县| 甘谷县| 郑州市| 滁州市| 桓仁| 虹口区| 扎囊县| 南漳县| 延边| 辽阳县| 华蓥市| 泰来县| 罗平县| 廊坊市| 金门县| 洪湖市| 巨野县| 莱芜市| 文昌市| 平舆县| 安达市| 桐城市| 灵石县| 澜沧| 正安县| 毕节市| 衡阳县| 邯郸县| 阳春市| 探索| 嘉善县| 崇左市| 静海县| 建宁县| 茂名市| 曲麻莱县| 卢氏县| 金阳县| 偃师市| 固镇县| 苏州市|