陳家興 石志成 王勁強
?
一種基于星載多核處理器的耀斑位置計算優(yōu)化方法
陳家興 石志成 王勁強
(北京空間機電研究所,北京100094)
空間相機的數(shù)據(jù)處理單元在軌求解太陽耀斑位置方程時,通常采用數(shù)值迭代法進行求解,相機掃描機構(gòu)根據(jù)計算結(jié)果確定指向目標的位置。由于該數(shù)值迭代方程存在一定解算時間,會使掃描機構(gòu)指向耀斑目標時滯后于衛(wèi)星平臺傳遞給空間相機的瞬時軌道參數(shù),從而帶來指向位置的誤差。減小該誤差的一種方法就是縮短耀斑位置方程的求解時間。文章從多CPU核并行計算目標方程的角度出發(fā),構(gòu)建一種可并行化求解的數(shù)值迭代算法對耀斑方程進行求解。相比于以往的單核CPU數(shù)據(jù)處理單元,采用多核CPU結(jié)構(gòu)的并行數(shù)據(jù)處理單元可以在原有的主頻和硬件條件下實現(xiàn)計算速度的提升,從而一定程度上減小掃描機構(gòu)指向耀斑目標時的位置誤差。文章對耀斑位置的迭代求解方程進行了分析,進行了并行化迭代方程的構(gòu)建,并在某模擬硬件計算平臺上對一組耀斑觀測衛(wèi)星的實時軌道參數(shù)進行了仿真計算。相比于常用的單核算法,并行化耀斑位置計算方法在原有主頻條件下達到了更高的精度和計算速度。
并行處理 迭代法 太陽耀斑 多核星載處理器
遙感技術的發(fā)展對星載光學有效載荷的指向精度提出了嚴格要求??臻g相機對太陽耀斑點進行跟蹤成像時,由于在軌計算耀斑點位置需要耗費一定時間[1-2],使得掃描鏡指向耀斑點時存在一定角度誤差,提高耀斑位置方程的計算速度及計算精度對于提高掃描鏡的指向精度具有重大意義。
提升載荷在軌計算能力通常是通過提升處理器主頻或者采用多CPU并行處理來實現(xiàn),主頻的提升可能帶來電子學系統(tǒng)電磁兼容、處理器與存儲器速度匹配等問題[3],因此文中討論主頻一定的情況下采用多核CPU并行處理方式來計算耀斑位置方程。
以往的單核處理器計算耀斑位置方程時通常采用對分迭代法,由于該算法可并行化程度不高,直接應用于多核處理器后其性能提升效果不明顯[4]。針對多核處理器結(jié)構(gòu),本文提出一種計算效率更高的耀斑位置方程解法,經(jīng)過在星載多核處理器平臺進行仿真計算后,該方法相比于以往的算法達到了更高的處理速度和計算精度。
1.1 耀斑位置方程
衛(wèi)星飛行到海洋區(qū)域上空,星上程序按照耀斑位置方程尋找耀斑點,載荷控制掃描鏡的二維轉(zhuǎn)動角度指向該點進行數(shù)據(jù)采集。耀斑位置方程的幾何模型如圖1所示[5],衛(wèi)星星下點為,太陽直射點為,耀斑點為,地心為,平面為主平面,其法向量設為。太陽平行光束經(jīng)過海平面鏡面反射后進入遙感器入瞳,太陽矢量與耀斑矢量夾角等于衛(wèi)星矢量與耀斑矢量夾角,且耀斑矢量位于主平面上,由此可以確定耀斑矢量[6]。根據(jù)衛(wèi)星平臺實時提供的軌道瞬時參數(shù),太陽矢量、衛(wèi)星矢量可作為已知量,耀斑位置方程如式(1)~(3)所示,未知量為耀斑矢量,以太陽矢量為起始邊,耀斑矢量到的夾角記為自變量,由于每次迭代都需要計算在取值區(qū)間左側(cè)、右側(cè)、中間點的取值情況才可以達到對分迭代法的目的,所以定義下標為迭代區(qū)間左側(cè)端點取值,為迭代區(qū)間右側(cè)端點取值,為迭代區(qū)間中間點取值[7];dot為·(點乘)運算。
(2)
(3)
1.2 對分迭代法求解耀斑位置方程
主平面上各個矢量的幾何關系如圖1所示,由反射定律可知,耀斑點一定在衛(wèi)星星下點與太陽直射點之間,,為衛(wèi)星矢量與太陽矢量夾角,每一次迭代過程中都要計算、和的情況,并依據(jù)判斷條件判定下一次取值區(qū)間是在中點值左側(cè)還是右側(cè)以及迭代是否終止。經(jīng)過多次迭代后計算終止,此時的耀斑點角坐標就是耀斑點的解算位置[8]。
圖1 工程中的對分迭代法耀斑計算模型
(5)
式中
(8)
(9)
圖2 對分迭代法求解耀斑計算模型的實例
2.1 對分迭代法在多核處理器的應用情況及存在問題
對分迭代法在多核處理器未經(jīng)過優(yōu)化,直接在多核處理器應用時,其可并行化的能力取決于算法的結(jié)構(gòu),按照各個公式的優(yōu)先級關系將算法分成串行部分和并行部分,串行部分交給一個CPU執(zhí)行,并行部分分配給多核并行執(zhí)行,公式(5)、(6)、(7)為三維向量運算,可以分配三個處理器并行執(zhí)行,其余部分仍需按照原來順序執(zhí)行,算法分配框圖如圖3所示,由圖中可以看出,由于算法本身的結(jié)構(gòu)限制,當增加處理器核數(shù)量依然無法提高算法的計算效率[11]。
2.2 對分迭代法的并行優(yōu)化及多核處理器的應用情況
對分迭代算法的并行優(yōu)化理論根據(jù)為:1)耀斑形成過程中經(jīng)過一次海平面的準鏡面反射,所以入射角等于反射角的位置只會出現(xiàn)一次,方程只有唯一解;2)整個方程為連續(xù)函數(shù),求解的判斷過程可以利用方程的連續(xù)性;3)可以將通常使用的對分迭代法更改為“多分迭代法”,即每一次迭代區(qū)間劃分為多個等長度區(qū)間[12]。
在多核處理器中,每次迭代時可以將迭代區(qū)間劃分為多個等長區(qū)間,+1個子區(qū)間需要重新計算的節(jié)點數(shù)為個。為處理器核數(shù)量,取值范圍2到任意大正整數(shù),按照同構(gòu)多核處理器加工條件,不會超過32。在每個節(jié)點處計算迭代的判斷條件,具體算法后文有詳述,其分配圖如圖4所示[13]。
圖3 對分迭代法的并行分配框
圖4 對分迭代法在多核處理器上的并行分配
該算法的耗時等于迭代計算耗時與并行程序調(diào)度耗時之和,增加處理器核數(shù)可以減少迭代次數(shù),從而縮短迭代計算的耗時,但是會增加并行程序調(diào)度耗時。此外,過多的處理器核還會增加實現(xiàn)軟件和硬件的復雜性,處理器核數(shù)從1核到8核的耗時仿真如圖5所示,當處理器核數(shù)增加4核及以上時,其處理結(jié)果就沒有顯著提高,為降低實現(xiàn)難度,后續(xù)算法采用四核處理器平臺[14]。
圖5 對分迭代法并行程序耗時仿真結(jié)果
以四核處理器平臺為基礎對上述進行并行化時,將每一次的迭代區(qū)間劃分為5個子區(qū)間,產(chǎn)生6個節(jié)點,通過這6個節(jié)點判斷出下一次迭代時根的存在范圍。由于6個節(jié)點中左右兩個端點取值情況取上一次迭代區(qū)間左右端點取值情況相同,所以無需計算,需要重新計算的為中間4個節(jié)點的取值情況,這4個節(jié)點的計算量可以分配給四個處理器核并行計算,算法分配框圖如圖6所示,簡稱該算法為五分迭代法[15-17]。
圖6 五分迭代法的并行分配
圖7 第k次并行迭代法中6個節(jié)點的排列圖
五分迭代法計算流程如下步驟[9-10]:
(11)
(13)
(14)
3)可根據(jù)前文中公式(5)~(9)公式計算上述6個節(jié)點處的函數(shù)值、、、、、。計算每個區(qū)間的左右端點函數(shù)值乘積的符號、、、、,上述乘積符號中為負值的區(qū)間端點記為,這個區(qū)間就是根存在的區(qū)間。
3.1 某軌道參數(shù)下耀斑位置方程的準確解
以一組耀斑觀測衛(wèi)星跟蹤觀測太陽耀斑的軌道參數(shù)作為輸入量,、為J2000時間記數(shù)中的天記數(shù)和秒記數(shù);為軌道傾角;為升交點赤經(jīng);為近地點幅角;為真近點角,根據(jù)理論公式推出耀斑位置的準確解值,結(jié)果如表1所示。
表1 耀斑觀測衛(wèi)星模擬軌道參數(shù)及耀斑位置準確解
3.2 該軌道參數(shù)下三種耀斑位置算法的對比
本文選用一款我國自主研制的先進SoC星載四核處理器平臺,該處理器是一款基于SPARCV8體系的32位RISC嵌入式處理器,能夠滿足航天器的應用功能以及性能指標要求。該處理器集成了四個CPU核,每個CPU核均具有浮點和整形運算單元,四個處理器核之間共享同一個操作系統(tǒng)、總線系統(tǒng)、I/O系統(tǒng)[19]。與該處理器平臺配套使用的操作系統(tǒng)是一款國產(chǎn)化的航天嵌入式操作系統(tǒng),它具有可靠性高、國產(chǎn)自主可控、占用空間小、可移植性強等優(yōu)點。該操作系統(tǒng)包括了任務間通訊、內(nèi)存管理、錯誤異常管理、任務管理、中斷響應與處理、時鐘與定時器管理等模塊,該操作系統(tǒng)除了可以實現(xiàn)單核操作系統(tǒng)的全部功能,還可以滿足四核系統(tǒng)的任務調(diào)度、任務分配、通信、互斥機制等功能[20]。處理器系統(tǒng)主頻為20MHz,計算的精度要求為0.01°。
利用上述平臺及迭代算法對表1中的軌道參數(shù)進行計算,主要計算的內(nèi)容有:1)單核處理器上對分迭代法執(zhí)行情況;2)四核處理器上未優(yōu)化的對分迭代法執(zhí)行情況;3)優(yōu)化后的五分迭代法在四核處理器的執(zhí)行情況。對于上述三項內(nèi)容在四核處理器平臺上進行計算,計算結(jié)果包括程序耗時及結(jié)果誤差,兩者的平均值如圖8所示,圖8顯示了利用利用三種計算方法得出耀斑位置的平均耗時與平均誤差,紅色直方圖表示對分迭代法直接在單核處理器運行的平均耗時和平均誤差,綠色直方圖表示對分迭代法在四核處理器運行的平均耗時和平均誤差,藍色直方圖表示五分迭代法在四核處理器運行后的平均耗時和平均誤差。
(a)平均耗時 (b)平均誤差
在順序執(zhí)行耀斑位置方程算法基礎上,本文提出了采用并行執(zhí)行方式的耀斑位置方程算法。分析了一核到八核的并行算法,得出采用四核處理器效果較好的結(jié)論。在多核處理器平臺上對單核處理器對分法、四核處理器對分法(未優(yōu)化)、四核處理器五分法(優(yōu)化后)等三種算法進行了仿真計算,結(jié)果顯示:系統(tǒng)的主頻為20MHz時,優(yōu)化后的五分迭代法計算耗時為順序執(zhí)行的48%,計算誤差為順序執(zhí)行的33%。該處理能力與單核處理器在主頻提升至60MHz時大致相等。
并行處理方式可以使衛(wèi)星電子學系統(tǒng)采用更低的主頻工作完成以往的工作,這對于減小衛(wèi)星載荷電子學系統(tǒng)設計難度、改善處理器與外部存儲速度匹配等方面都會帶來新的解決思路。未來多核并行處理技術無論在空間遙感相機的智能管理、海量數(shù)據(jù)在軌處理還是在提高遙感相機在軌任務的可靠性方面都將具有更為廣闊的應用前景。
[1] 石玉廣, 戴鐵, 徐娜. 衛(wèi)星遙感探測大氣CO2濃度研究最新進展[J]. 地球科學進展, 2010, 25(1): 07-13. SHI Yuguang, DAI Tie, XU Na. Latest Progress of the Study of Atmospheric CO2Concentration Retrievals from Satellite[J]. Advances in Earth Science, 2010, 25(1): 07-13. (in Chinese)
[2] 劉毅, 呂達仁, 陳洪濱, 等. 衛(wèi)星遙感大氣CO2的技術與方法進展綜述[J]. 遙感技術與應用, 2011, 26(2): 247-254. LIU Yi, LYU Daren, CHEN Hongbin, et al. Advances in Technologies and Methods for Satellite Remote Sensing of Atmospheric CO2[J]. Remote Sensing Technology and Application, 2011, 26(2): 247-254. (in Chinese)
[3] 李銅基, 陳清蓮, 韓冰. 海面之上法中海面反射率和觀測幾何模擬研究[J]. 海洋技術學報, 2005, 24(4): 112-117. LI Tongji, CHEN Qinglian, HAN Bing. The Modeling Studies on Sea Surface Reflection and View Geometry of Above Water Method[J]. Journal of Ocean Technology, 2005, 24(4): 112-117. (in Chinese)
[4] 藏佳. 基于MPSoC的空間光學CCD遙感相機控制系統(tǒng)研究[D]. 長春: 中國科學院長春光學精密機械與物理研究所, 2012. ZANG Jia. Research on the Control System of Space Optical CCD Remote Sensing Camera Based on MPSoC[D]. Changchun: Changchun Institute of optics, Fine Mechanics and Physics, Chinese Academy of Sciences, 2012. (in Chinese)
[5] 姜通, 曹瓊, 溫淵. 海洋區(qū)域大氣CO2衛(wèi)星遙感觀測模型及仿真研究[J]. 上海航天, 2015, 32(3): 47-50. JIANG Tong, CAO Qiong, WEN Yuan. Study on Satellite Observation Mode and Simulation for Atmospheric CO2Remote Sensing Over Ocean[J]. Aerospace Shanghai, 2015, 32(3): 47-50. (in Chinese)
[6] 李愷, 張晗, 康曉軍. 關于太陽耀斑觀測的區(qū)域判定算法實現(xiàn)[J]. 航天返回與遙感, 2014, 35(6): 58-65.LI Kai, ZHANG Han, KANG Xiaojun. The Realization of Area Matching Method about the Observation to the Sun Glint[J]. Spacecraft Recovery & Remote Sensing, 2014, 35(6): 58-65. (in Chinese)
[7] 顏慶津. 數(shù)值分析[M]. 第4版. 北京: 北京航空航天大學出版社, 2012: 67-94. YAN Qingjin. Numerical Analysis[M]. 4th ed. Beijing: Beihang University press, 2012: 67-94. (in Chinese)
[8] 顏軍. SPARC嵌入式系統(tǒng)設計與開發(fā)[M]. 北京: 中國標準出版社, 2013. YAN Jun. Design and Development of Embedded System Based on SPARC[M]. Beijing:China Standard Press, 2013. (in Chinese)
[9] 周偉明. 多核計算與程序設計[M]. 武漢: 華中科技大學出版社, 2009. ZHOU Weiming. Multi Core Computing and Programming[M]. Wuhan: Huazhong University of Science and Technology Press, 2009. (in Chinese)
[10] 陳國良. 并行計算–結(jié)構(gòu)算法編程[M]. 北京: 高等教育出版社, 2011. CHEN Guoliang. Parallel Computing-Structure Programming[M]. Beijing: Higher Education Press, 2011. (in Chinese)
[11] 劉旭峰, 郭俊旺. 操作型換熱器設計計算中的迭代法討論[J]. 化學工程師, 2007, 21(6): 37-39.LIU Xufeng, GUO Junwang. Discussion of Literation in Heat Exchanger Designing Calculation[J]. Chemical Engineer, 2007, 21(6): 37-39. (in Chinese)
[12] 朱亞杰. 空間相機管控單元的AT697F處理器平臺的設計及應用[D]. 北京: 中國空間技術研究院北京空間機電研究所, 2013. ZHU Yajie. Design and Application of AT697F Processor Platform for Space Camera Control Unit[D]. Beijing: China Academy of Space Technology Beijing Institue of Space Mechanicse Electricity, 2013. (in Chinese)
[13] 程錦松. 迭代法的并行化[J]. 安徽大學學報, 1997(3): 66-70. CHENG Jinsong. Parallelization of Iterative Method[J]. Journal of Anhui University, 1997(3): 66-70. (in Chinese)
[14] 于夢玲, 鄭曉薇, 張建強. 多核并行技術在Image Quilting紋理合成算法中的應用[J]. 微電子學與計算機, 2012, 29(7): 146-149. YU Mengling, ZHENG Xiaowei, ZHANG Jianqiang. Application of Multi-core Parallel Technology in Image Quilting Texture Synthesis Algorithm[J]. Microellectronics & Computer, 2012, 29(7): 146-149. (in Chinese)
[15] 蔡明, 田昌會, 楊百愚. 探測天頂角與太陽天頂角對衛(wèi)星紅外探測的影響[J]. 紅外技術, 2014(3): 221-224. CAI Ming, TIAN Changhui, YANG Baiyu. Effect of Detecting Zenith Angle and Solar Zenith Angle of Satellite Infrared Detector[J]. Infrared Technology, 2014(3): 221-224. (in Chinese)
[16] 賀曉雷, 于賀軍, 李建英. 太陽方位角的公式求解及其應用[J]. 太陽能學報, 2008, 29(1): 69-73. HE Xiaolei, YU Hejun, LI Jianying. Formula Solution of Solar Azimuth and Its Application[J]. Journal of Solar Energy, 2008, 29(1): 69-73. (in Chinese)
[17] 賈永君, 林明森, 張有廣. 自主海洋衛(wèi)星遙感技術進展與發(fā)展方向[J]. 海洋技術學報, 2015, 34(3). JIA Yongjun, LIN Mingsen, ZHANG Youguang.Development and Development of Remote Sensing Technology for Autonomous Ocean Satellite[J]. Journal of Dcean Technology, 2015, 34(3). (in Chinese)
[18] 劉承坤. 基于FPGA在軌數(shù)據(jù)處理技術研究[D]. 北京: 北京郵電大學, 2015. LIU Chengkun.Research on Orbit Data Processing Technology Based on FPGA[D]. Beijing: Beijing University of Posts and Telecommunications, 2015. (in Chinese)
[19] 薛東川, 朱振宇, 楊俊. 用MATLAB實現(xiàn)波動方程多核并行計算[J]. 地球物理學進展, 2015, 30(6): 2841-2845. XUE Dongchuan, ZHU Zhenyu, YANG Jun. Using MATLAB to Realize Multi Core Parallel Computation of Wave Equation[J]. Progress in Geophysics, 2015, 30(6): 2841-2845. (in Chinese)
[20] 劉洪波, 張宏偉, 田林. 人工神經(jīng)網(wǎng)絡法預測時用水量[J]. 中國給水排水, 2002, 18(12): 39-41. LIU Hongbo, ZHANG Hongwei, TIAN Lin. Artificial Neural Network Method for Prediction of Water Consumption[J]. China Water & Wastewater, 2002, 18(12): 39-41. (in Chinese)
(編輯:劉穎)
Optimization Method of Flare Position Calculation Based on Space-borne Multi-core Processor
CHEN Jiaxing SHI Zhicheng WANG Jinqiang
(Beijing Institute of Space Mechanics & Electricity, Beijing 100094, China)
When the flare position equation is solved by space-borne processor on orbit, the usual method is numerical iterative method, due to the existence of a certain solution time, the scanning mechanism will be lag of the instantaneous orbit parameters of the flare target which was transmitted by the satellite platform, so as to bring the error of point position. One way to reduce the error is to shorten the solution time of the flare position equation. In this paper, from the point of view of the multi CPU core parallel computing objective equation, a numerical iterative algorithm for solving the flare equation is constructed. Compared to the previous single core CPU data processing unit, the multi-core CPU structure of parallel data processing unit can improve computing speed in the original frequency and hardware conditions, within a certain extent scanning mechanism can decrease the position error of flare. This paper analyzed the structure of the flare iterative solution of the equation, constructed parallel iterative equation, and calculated flare observation satellite’s real-time orbit parameters in a simulated hardware computing platform. Compared with the commonly used single kernel algorithm, the parallel calculation method of the flare equation is more accurate and the calculation speed is higher than former under original dominant frequency.
parallel calculation; the iterative method; solar flare; space-borne multi core processor
V443+.5
A
1009-8518(2017)04-0074-08
10.3969/j.issn.1009-8518.2017.04.009
陳家興,男,1988年生,2013年獲哈爾濱工業(yè)大學測控技術與儀器專業(yè)學士學位,現(xiàn)在于中國空間技術研究院光學工程專業(yè)攻讀碩士學位。研究方向為空間遙感器精密控制技術。E-mail: jxlovered@126.com。
2016-12-03