孫小涓 石濤 胡玉新 佟繼周 李冰 宋峣
摘 要:針對空間科學(xué)衛(wèi)星探測數(shù)據(jù)的實(shí)時(shí)處理要求越來越高的問題,提出一種基于流計(jì)算框架的空間科學(xué)衛(wèi)星數(shù)據(jù)實(shí)時(shí)處理方法。首先,根據(jù)空間科學(xué)衛(wèi)星數(shù)據(jù)處理特點(diǎn)對數(shù)據(jù)流進(jìn)行抽象分析;然后,對各處理單元的輸入輸出數(shù)據(jù)結(jié)構(gòu)進(jìn)行重新定義;最后,基于流計(jì)算框架Storm設(shè)計(jì)數(shù)據(jù)流處理并行結(jié)構(gòu),以適應(yīng)大規(guī)模數(shù)據(jù)并行處理和分布式計(jì)算的要求。對應(yīng)用該方法開發(fā)的空間科學(xué)衛(wèi)星數(shù)據(jù)處理系統(tǒng)進(jìn)行測試分析,測試結(jié)果顯示,在相同條件下數(shù)據(jù)處理時(shí)間比原有系統(tǒng)縮短了一半;數(shù)據(jù)局部性策略比輪詢策略具有更高的吞吐率,數(shù)據(jù)元組吞吐率平均提高29%。可見采用流式計(jì)算框架能夠大幅縮短數(shù)據(jù)處理延遲,提高空間科學(xué)衛(wèi)星數(shù)據(jù)處理系統(tǒng)的實(shí)時(shí)性。
關(guān)鍵詞:流式計(jì)算;數(shù)據(jù)流;Storm;空間科學(xué)衛(wèi)星;數(shù)據(jù)處理
中圖分類號: TP319專用應(yīng)用軟件
文獻(xiàn)標(biāo)志碼:A
Abstract: Concerning the increasingly high real-time processing requirement of space science satellite observed data, a real-time processing method of space science satellite data based on stream computing framework was proposed. Firstly, the data stream was abstractly analyzed according to the data processing characteristics of space science satellite. Then, the input and output data structures of each processing unit were redefined. Finally, the parallel data stream processing structure was designed based on the stream computing framework Storm to meet the requirements of parallel processing and distributed computing of large-scale data. The developed system for space science satellite data processing applying with this method was tested and analyzed. The results show that the data processing time is half of that of the original system under same conditions and the data localization strategy has higher throughput than round-robin strategy with the data tuple throughput increased by 29% on average. It can be seen that the use of stream computing framework can greatly shorten the data processing delay and improve the real-time performance of the space science satellite data processing system.
Key words: stream computing; data stream; Storm; space science satellite; data processing
0 引言
2015年12月17日,在中國科學(xué)院空間科學(xué)先導(dǎo)專項(xiàng)[1]支持下的首顆空間科學(xué)衛(wèi)星發(fā)射成功,到目前為止已先后發(fā)射了暗物質(zhì)粒子探測衛(wèi)星[2]、實(shí)踐十號衛(wèi)星[3]、量子科學(xué)實(shí)驗(yàn)衛(wèi)星[4]、硬X射線調(diào)制望遠(yuǎn)鏡(Hard X-ray Modulation Telescope, HXMT)[5]4顆空間科學(xué)系列衛(wèi)星,取得了國際領(lǐng)先的多項(xiàng)重大科學(xué)成果。在一次衛(wèi)星過境中,地面應(yīng)用系統(tǒng)接收到衛(wèi)星原始數(shù)據(jù),經(jīng)過幀同步、虛擬信道分離、源包提取、驗(yàn)證排序等處理,生成源包級數(shù)據(jù)產(chǎn)品。經(jīng)過一系列的數(shù)據(jù)格式轉(zhuǎn)換,生成不同要求的各級數(shù)據(jù)產(chǎn)品,并立即分發(fā)給科學(xué)家團(tuán)隊(duì)進(jìn)行更深入的研究分析。
空間衛(wèi)星數(shù)據(jù)處理的過程不間斷、數(shù)據(jù)吞吐率高并且數(shù)據(jù)處理延遲低,因此具有流式計(jì)算的特征。隨著衛(wèi)星載荷探測能力的增強(qiáng)和衛(wèi)星地面接收能力的提高,單次衛(wèi)星下傳數(shù)據(jù)量急劇增長,如已在軌運(yùn)行的暗物質(zhì)衛(wèi)星單次下傳數(shù)據(jù)量約5GB,未來規(guī)劃中的先進(jìn)天基太陽天文臺(Advanced Space-based Solar Observatory, ASO-S)衛(wèi)星單次下傳數(shù)據(jù)量超過100GB,由于產(chǎn)品生成分發(fā)時(shí)效性要求仍為分鐘級不變,地面應(yīng)用系統(tǒng)面臨大數(shù)據(jù)實(shí)時(shí)處理的挑戰(zhàn)。一方面,科學(xué)事件的發(fā)現(xiàn)和研究,要求快速完成大規(guī)模衛(wèi)星探測數(shù)據(jù)處理。例如在2017年8月17日20時(shí)美國的激光干涉引力波天文臺LIGO(Laser Interferometer Gravitational-wave Observatory)和歐洲的引力波探測器Virgo共同探測到引力波事件[6],HXMT衛(wèi)星地面處理系統(tǒng)以分鐘級響應(yīng)速度完成產(chǎn)品快速處理,科學(xué)家于凌晨在伽馬射線暴協(xié)調(diào)網(wǎng)絡(luò)上發(fā)出測量結(jié)果[7],為探測首例由兩顆中子星合并產(chǎn)生的引力波事件發(fā)揮了重大作用。雖然原有系統(tǒng)有力支撐了科學(xué)發(fā)現(xiàn),但面對后續(xù)衛(wèi)星急劇增長的數(shù)據(jù)處理負(fù)載,數(shù)據(jù)處理系統(tǒng)的吞吐率需要成倍增長。另一方面,載荷工程數(shù)據(jù)和平臺工程數(shù)據(jù)對確認(rèn)衛(wèi)星和載荷的運(yùn)行狀態(tài)至關(guān)重要,雖然工程數(shù)據(jù)與載荷科學(xué)數(shù)據(jù)獨(dú)立采用不同源包記錄,但由于載荷科學(xué)數(shù)據(jù)的數(shù)據(jù)量占絕大部分,系統(tǒng)工程數(shù)據(jù)處理不能先于科學(xué)數(shù)據(jù)進(jìn)行處理,延長了對衛(wèi)星載荷運(yùn)行狀態(tài)的分析判斷,急需將科學(xué)數(shù)據(jù)和工程數(shù)據(jù)進(jìn)行并行處理。
原有空間科學(xué)衛(wèi)星數(shù)據(jù)處理系統(tǒng)[8]采用數(shù)據(jù)驅(qū)動的批處理系統(tǒng)架構(gòu),首先進(jìn)行從衛(wèi)星原始數(shù)據(jù)到源包數(shù)據(jù)的預(yù)處理,生成源包數(shù)據(jù)文件作為后續(xù)處理流程的輸入數(shù)據(jù),然后利用機(jī)群作業(yè)調(diào)度系統(tǒng)將處理流程在集群上調(diào)度執(zhí)行?,F(xiàn)有的系統(tǒng)雖然采用了內(nèi)存計(jì)算索引結(jié)構(gòu)的方法,加快了生成源包數(shù)據(jù)的過程,但是生成1A級產(chǎn)品前無法對一次下傳數(shù)據(jù)進(jìn)行并行處理,限制了實(shí)時(shí)性和系統(tǒng)擴(kuò)展性的進(jìn)一步提高。而且生成源包數(shù)據(jù)文件和輸出1A級產(chǎn)品也占用了后續(xù)數(shù)據(jù)處理時(shí)間。
針對以上問題,本文提出了一種基于流式計(jì)算框架的空間科學(xué)衛(wèi)星數(shù)據(jù)實(shí)時(shí)處理方法,實(shí)現(xiàn)對源包級數(shù)據(jù)處理和后續(xù)數(shù)據(jù)處理的并行優(yōu)化,對數(shù)據(jù)流進(jìn)行抽象分析和重新定義,設(shè)計(jì)任務(wù)拓?fù)浣Y(jié)構(gòu),并完成系統(tǒng)的實(shí)現(xiàn),最后對系統(tǒng)實(shí)時(shí)性和吞吐率指標(biāo)進(jìn)行測試分析和評價(jià)。
1 流式計(jì)算技術(shù)
流式計(jì)算[9]是指將到達(dá)的數(shù)據(jù)流在內(nèi)存中實(shí)時(shí)計(jì)算,因此流式計(jì)算具有低延遲、高吞吐率且持續(xù)運(yùn)行的特點(diǎn)。近年來成為一個(gè)研究熱點(diǎn),廣泛應(yīng)用于互聯(lián)網(wǎng)、交通、金融、醫(yī)療等領(lǐng)域,也應(yīng)用于天文觀測數(shù)據(jù)處理,衛(wèi)守林等[10]提出了一種基于流式計(jì)算系統(tǒng)Spark Streaming的明安圖射電頻譜日像儀實(shí)時(shí)數(shù)據(jù)處理方法,提高了地基天文觀測數(shù)據(jù)處理的時(shí)效性。
常見的流式計(jì)算框架有Twitter Storm[11]、Spark Streaming[12]、Yahoo S4[13]等。Storm[14-15]是一個(gè)分布式開源實(shí)時(shí)計(jì)算系統(tǒng),它采用主從式結(jié)構(gòu)如圖1所示,由一個(gè)主節(jié)點(diǎn)(Nimbus)、多個(gè)從節(jié)點(diǎn)(Supervisor)構(gòu)成。通過分布式應(yīng)用程序協(xié)調(diào)服務(wù)(ZooKeeper)[16]同步節(jié)點(diǎn)狀態(tài)信息,每個(gè)節(jié)點(diǎn)按需創(chuàng)建工作進(jìn)程(Worker),用于計(jì)算任務(wù)的執(zhí)行。一個(gè)完整的任務(wù)拓?fù)渫啥鄠€(gè)從節(jié)點(diǎn)上的工作進(jìn)程協(xié)調(diào)執(zhí)行。一個(gè)工作進(jìn)程中會有多個(gè)執(zhí)行器(Executor),每個(gè)執(zhí)行器對應(yīng)一個(gè)線程,又可對應(yīng)一個(gè)或多個(gè)任務(wù)(Task),任務(wù)負(fù)責(zé)數(shù)據(jù)的具體計(jì)算,即用戶所實(shí)現(xiàn)的噴口(Spout)或螺栓(Bolt)實(shí)例。
Storm的計(jì)算模型[17]如圖2所示,由拓?fù)洌═opology)、元組(Tuple)、流(Stream)、噴口(Spout)、螺栓(Bolt)和任務(wù)(Task)構(gòu)成,任務(wù)拓?fù)涫怯梢幌盗袊娍诤吐菟ńM成的有向無環(huán)圖,元組定義了噴口和螺栓之間傳遞消息的數(shù)據(jù)單元,而流是無界的元組序列,源源不斷地傳遞元組就構(gòu)成了流。通常噴口獲取數(shù)據(jù)源并不停地發(fā)送數(shù)據(jù)給螺栓,螺栓接收數(shù)據(jù)進(jìn)行相應(yīng)的處理。噴口和螺栓上執(zhí)行的具體操作為任務(wù),可以靈活設(shè)置每個(gè)噴口或螺栓上并行執(zhí)行的任務(wù)數(shù)。
2 空間科學(xué)衛(wèi)星數(shù)據(jù)流分析
空間科學(xué)衛(wèi)星數(shù)據(jù)采用國際空間數(shù)據(jù)系統(tǒng)咨詢委員會(Consultative Committee for Space Data Systems, CCSDS)[18-19]標(biāo)準(zhǔn),按虛擬信道標(biāo)識符和應(yīng)用過程標(biāo)識符實(shí)時(shí)分路不同數(shù)據(jù),實(shí)現(xiàn)同一物理信道上時(shí)分復(fù)用傳送多種數(shù)據(jù)的要求??臻g科學(xué)衛(wèi)星數(shù)據(jù)使用應(yīng)用過程標(biāo)識符(APplication IDentifier, APID)對衛(wèi)星數(shù)據(jù)采集和傳輸過程中不同數(shù)據(jù)源設(shè)備進(jìn)行區(qū)分,構(gòu)成可變長度的面向應(yīng)用的數(shù)據(jù)包,稱為“源包”。源包是空間科學(xué)衛(wèi)星數(shù)據(jù)處理的基本數(shù)據(jù)結(jié)構(gòu)。對衛(wèi)星數(shù)據(jù)采集過程中不同數(shù)據(jù)源設(shè)備用APID進(jìn)行區(qū)分,構(gòu)成可變長度的源包,過長的包再分成段,截成定長后加上幀頭和幀尾構(gòu)成數(shù)據(jù)傳輸幀進(jìn)行傳輸。針對工程參數(shù)區(qū)回放數(shù)據(jù)、科學(xué)數(shù)據(jù)區(qū)回放數(shù)據(jù)和實(shí)時(shí)工程參數(shù)數(shù)據(jù)等,數(shù)據(jù)傳輸幀劃分不同虛擬信道,使用虛擬信道標(biāo)識符(Virtual Channel IDentifier, VCID)進(jìn)行區(qū)分。因此,空間科學(xué)衛(wèi)星數(shù)據(jù)具有傳輸幀和源包兩層數(shù)據(jù)結(jié)構(gòu)。
空間科學(xué)衛(wèi)星數(shù)據(jù)流處理過程從接收到衛(wèi)星原始數(shù)據(jù)文件開始,對一次衛(wèi)星過站的數(shù)傳原始數(shù)據(jù)進(jìn)行幀同步,從不同虛擬信道的一個(gè)或多個(gè)傳輸幀的數(shù)據(jù)域中獲得源包數(shù)據(jù),按照APID區(qū)分源包進(jìn)行源包提取,經(jīng)過驗(yàn)證排序生成按APID拆分的1A級源包數(shù)據(jù)產(chǎn)品。在1A級產(chǎn)品的基礎(chǔ)上,進(jìn)行1B、1C、1D、1Q級產(chǎn)品生成。以暗物質(zhì)衛(wèi)星1A/1C級產(chǎn)品處理流程為例,如圖3所示,數(shù)據(jù)處理步驟分析如下:
1)幀同步:從數(shù)傳原始碼流中按位查詢同步碼,確定每個(gè)傳輸幀起始位置。
2)解擾:以傳輸幀為處理單位,對除同步碼以外的數(shù)據(jù)進(jìn)行位運(yùn)算。
3)RS(Reed-Solomon)譯碼:以傳輸幀為處理單位,對傳輸中的誤碼進(jìn)行糾正。
4)虛擬信道分離:以傳輸幀為處理單位,解析傳輸幀頭信息,按照VCID進(jìn)行源包提取。
5)源包數(shù)據(jù)提?。阂栽窗鼮樘幚韱挝?,解析源包包頭,按照APID進(jìn)行源包數(shù)據(jù)域提取。
6)1A產(chǎn)品生成:以分組源包數(shù)據(jù)域?yàn)樘幚韱挝?,按照源包?jì)數(shù)順序以約定格式輸出文件,生成不同APID的1A級源包數(shù)據(jù)產(chǎn)品。
7)科學(xué)數(shù)據(jù)源包解析:以分組科學(xué)數(shù)據(jù)源包數(shù)據(jù)域?yàn)樘幚韱挝?,通過解析載荷工作模式,提取不同模式下科學(xué)數(shù)據(jù)幀數(shù)據(jù)。
8)1C產(chǎn)品生成:以科學(xué)數(shù)據(jù)幀數(shù)據(jù)為處理單位,按照一定格式要求,生成不同載荷工作模式的1C級科學(xué)數(shù)據(jù)包產(chǎn)品。
3 基于流式計(jì)算的處理方法
3.1 數(shù)據(jù)流定義
衛(wèi)星數(shù)據(jù)具有傳輸幀和源包兩層數(shù)據(jù)結(jié)構(gòu),根據(jù)衛(wèi)星數(shù)據(jù)實(shí)時(shí)處理數(shù)據(jù)流不同處理步驟要求,以傳輸幀和源包為數(shù)據(jù)處理基本單元,在此基礎(chǔ)上分析數(shù)據(jù)流轉(zhuǎn)換過程,定義可并行處理的數(shù)據(jù)單元或元組,依次為無格式幀數(shù)據(jù)流、傳輸幀數(shù)據(jù)流、源包數(shù)據(jù)流和分組科學(xué)數(shù)據(jù)源包數(shù)據(jù)流。以暗物質(zhì)衛(wèi)星數(shù)據(jù)為例,分別定義Storm計(jì)算模型元組的數(shù)據(jù)格式,如表1~5所示。
3.2 處理組件定義
在定義數(shù)據(jù)元組后,采用Storm流式計(jì)算框架對原有數(shù)據(jù)處理軟件進(jìn)行改造,重新定義數(shù)據(jù)處理組件。對圖3的處理流程各環(huán)節(jié)進(jìn)行劃分,按傳輸幀類型、源包類型和科學(xué)數(shù)據(jù)幀模式,數(shù)據(jù)流應(yīng)并行處理,因此獨(dú)立定義以傳輸幀、源包和科學(xué)數(shù)據(jù)幀為輸入的虛擬信道分離、1A產(chǎn)品生成和1C產(chǎn)品生成組件,用于多任務(wù)并發(fā)執(zhí)行。但是處理組件間交換數(shù)據(jù)將帶來元組生成、元組收發(fā)等系統(tǒng)開銷,延長了處理時(shí)間,所以在獲得并行加速的同時(shí)應(yīng)盡量減少組件數(shù),將幀同步、解擾和RS譯碼環(huán)節(jié)合并為一個(gè)組件。綜合并發(fā)要求和系統(tǒng)開銷兩個(gè)因素,對空間科學(xué)衛(wèi)星數(shù)據(jù)流處理組件進(jìn)行定義,如圖4(a)所示,分別為幀同步組件、虛擬信道分離組件、源包數(shù)據(jù)提取組件、1A產(chǎn)品生成組件、科學(xué)數(shù)據(jù)源包解析組件和1C產(chǎn)品生成組件,記為Spout、Bolt1、Bolt2、Bolt3、Bolt4和Bolt5。
3.3 拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)
改進(jìn)系統(tǒng)將數(shù)據(jù)處理負(fù)載分解為1個(gè)噴口組件和5個(gè)螺栓組件,原有的1A產(chǎn)品生成軟件變?yōu)?個(gè)處理單元,對于耗時(shí)較長的螺栓組件還可增加并行任務(wù),進(jìn)而縮短處理時(shí)間。以圖4(b)拓?fù)鋱D為例,Bolt1、Bolt3和Bolt5的并行任務(wù)數(shù)為4、14和4,對應(yīng)處理不同的傳輸幀、源包和科學(xué)數(shù)據(jù)幀類型,其他組件也可以多任務(wù)并行處理。系統(tǒng)結(jié)構(gòu)從原來的單進(jìn)程處理模式轉(zhuǎn)變?yōu)槎嗳蝿?wù)并行處理模式,并行度可動態(tài)調(diào)整。
4 實(shí)驗(yàn)結(jié)果與性能分析
4.1 實(shí)驗(yàn)方法
本文搭建了測試驗(yàn)證環(huán)境,對暗物質(zhì)衛(wèi)星1A產(chǎn)品生產(chǎn)流程進(jìn)行測試驗(yàn)證。使用暗物質(zhì)衛(wèi)星下傳原始數(shù)據(jù)制作測試數(shù)據(jù),對原始數(shù)據(jù)進(jìn)行虛擬信道解析后生成工程數(shù)據(jù)幀和科學(xué)數(shù)據(jù)幀,然后將兩種幀類型數(shù)據(jù)合并,生成測試數(shù)據(jù)。測試數(shù)據(jù)為5GB,大小為暗物質(zhì)衛(wèi)星一次下傳數(shù)據(jù)量,內(nèi)容包含多種類型源包數(shù)據(jù)。測試采用文件回放方式模擬衛(wèi)星數(shù)據(jù)接收過程。實(shí)驗(yàn)環(huán)境采用4臺高性能計(jì)算服務(wù)器節(jié)點(diǎn)(2個(gè)12核Intel Xeon X5670 CPU,主頻2.93GHz,內(nèi)存36GB,2塊60GB SSD磁盤),通過40Gb高速專用網(wǎng)絡(luò)連接,服務(wù)器安裝Red Hat Enterprise Linux 7.2操作系統(tǒng),將幀同步組件、虛擬信道分離組件、源包數(shù)據(jù)提取組件、1A產(chǎn)品生成組件部署到每個(gè)節(jié)點(diǎn)。
為了分析數(shù)據(jù)流實(shí)時(shí)處理的優(yōu)化效果,實(shí)驗(yàn)在單個(gè)節(jié)點(diǎn)和4個(gè)節(jié)點(diǎn)下分別對數(shù)據(jù)處理時(shí)間和吞吐率進(jìn)行測試。在單節(jié)點(diǎn)測試中,對數(shù)據(jù)元組處理延遲和數(shù)據(jù)處理總時(shí)間指標(biāo)進(jìn)行測試,調(diào)整任務(wù)并行度,對并行優(yōu)化效果進(jìn)行測試分析。在多節(jié)點(diǎn)測試中,模擬多個(gè)衛(wèi)星數(shù)傳任務(wù),在不同任務(wù)調(diào)度策略下測試系統(tǒng)吞吐率指標(biāo)。
4.2 處理時(shí)間
在單個(gè)節(jié)點(diǎn)上測試1A產(chǎn)品生成流程的執(zhí)行時(shí)間,與相同條件下原有系統(tǒng)的測試數(shù)據(jù)進(jìn)行比較,同時(shí)通過設(shè)置每個(gè)組件的任務(wù)數(shù),如表6所示,測試無并行任務(wù)和有并行任務(wù)時(shí)數(shù)據(jù)處理時(shí)間,并對不同并行度下測試數(shù)據(jù)進(jìn)行比較。
數(shù)據(jù)元組處理延遲分布情況如圖5所示。由圖5可知,單任務(wù)的數(shù)據(jù)元組平均處理延遲為0.92s,多任務(wù)的數(shù)據(jù)元組平均處理延遲降低到0.6s。在單任務(wù)測試中,處理延遲大于0.8s的元組占54%,處理延遲小于0.2s的元組占31%,而在多任務(wù)測試中,大于0.8s的比重降低至26%,小于0.2s的比重增加至45%。在多任務(wù)情況下,超過70%的數(shù)據(jù)元組在0.8s內(nèi)完成處理,數(shù)據(jù)元組得到了更快的處理。
在原有系統(tǒng)、改進(jìn)系統(tǒng)單任務(wù)和改進(jìn)系統(tǒng)多任務(wù)三種情況下,對數(shù)據(jù)處理時(shí)間測試結(jié)果進(jìn)行對比。在相同條件下,采用流計(jì)算框架的改進(jìn)系統(tǒng),在單任務(wù)情況下處理時(shí)間為86.6s,比原有系統(tǒng)處理時(shí)間120.3s縮短了約28%。虛擬信道分離組件和1A產(chǎn)品生成組件采用多任務(wù)并行處理,較為耗時(shí)的幀同步組件作為噴口組件仍為單任務(wù),測得處理時(shí)間為60.1s,比單任務(wù)情況縮短了約31%。改進(jìn)系統(tǒng)數(shù)據(jù)處理時(shí)間比原有系統(tǒng)總體縮短了約50%。
實(shí)驗(yàn)結(jié)果表明,通過應(yīng)用本文方法,原有系統(tǒng)數(shù)據(jù)處理時(shí)間大幅縮短,而且通過增加耗時(shí)的螺栓組件的并行任務(wù)數(shù),縮短了數(shù)據(jù)元組處理等待時(shí)間,從而能夠進(jìn)一步降低數(shù)據(jù)處理時(shí)間。
4.3 吞吐率
為評價(jià)多節(jié)點(diǎn)環(huán)境下的系統(tǒng)吞吐率,測試模擬了來自不同接收站的多個(gè)數(shù)據(jù)傳輸任務(wù),測試負(fù)載為4個(gè)衛(wèi)星數(shù)據(jù)處理流程,主節(jié)點(diǎn)根據(jù)調(diào)度策略將任務(wù)分配在3個(gè)計(jì)算節(jié)點(diǎn)上,通過測試所有節(jié)點(diǎn)在采樣時(shí)段內(nèi)組件處理的數(shù)據(jù)元組數(shù),反映在一定調(diào)度策略下數(shù)據(jù)處理集群的吞吐率指標(biāo)。
由于系統(tǒng)吞吐率指標(biāo)與集群調(diào)度策略相關(guān),本文選擇了輪詢調(diào)度方法和數(shù)據(jù)局部性調(diào)度方法分別進(jìn)行測試。輪詢調(diào)度按照任務(wù)啟動順序依次分配計(jì)算節(jié)點(diǎn),數(shù)據(jù)局部性調(diào)度在資源滿足需求的情況下,將具有數(shù)據(jù)依賴的任務(wù)分配在相同節(jié)點(diǎn)。測試方法是記錄每秒各節(jié)點(diǎn)所有組件處理的數(shù)據(jù)元組數(shù),計(jì)算數(shù)據(jù)處理集群每秒所處理的數(shù)據(jù)元組總和,并對平均值進(jìn)行比較。圖6用柱狀圖按采樣次數(shù)分別顯示了四個(gè)組件的數(shù)據(jù)元組處理數(shù)速率,并用虛線表示采樣時(shí)段內(nèi)的平均值。測試數(shù)據(jù)顯示,數(shù)據(jù)局部性策略比輪詢策略獲得更高吞吐率,平均數(shù)據(jù)元組吞吐率(每秒處理數(shù)據(jù)元組數(shù))提高29%。
實(shí)驗(yàn)結(jié)果表明,對空間科學(xué)數(shù)據(jù)處理這種數(shù)據(jù)密集型計(jì)算類型,系統(tǒng)任務(wù)調(diào)度需要考慮數(shù)據(jù)局部性,避免數(shù)據(jù)在計(jì)算節(jié)點(diǎn)間轉(zhuǎn)發(fā),減少數(shù)據(jù)傳輸時(shí)間,從而縮短處理延遲,提高系統(tǒng)吞吐率。
5 結(jié)語
針對空間衛(wèi)星數(shù)據(jù)處理面臨的實(shí)時(shí)性問題,本文提出了一種基于流式計(jì)算框架的空間科學(xué)衛(wèi)星數(shù)據(jù)實(shí)時(shí)處理方法,設(shè)計(jì)實(shí)現(xiàn)了數(shù)據(jù)并行處理系統(tǒng),并對處理時(shí)間和吞吐率的優(yōu)化效果進(jìn)行了測試分析。以暗物質(zhì)衛(wèi)星為例介紹了數(shù)據(jù)處理優(yōu)化方法,該方法對HXMT衛(wèi)星及后續(xù)衛(wèi)星數(shù)據(jù)處理過程也適用。作為從傳統(tǒng)軟件結(jié)構(gòu)向流式計(jì)算結(jié)構(gòu)改造一種方法,本文詳細(xì)描述了數(shù)據(jù)流定義、處理組件定義和任務(wù)拓?fù)湓O(shè)計(jì)的一般原則和方法,下一步將對衛(wèi)星數(shù)據(jù)通用流式計(jì)算模型等方面進(jìn)行研究。
參考文獻(xiàn) (References)
[1] 中國科學(xué)院國家空間科學(xué)中心.空間科學(xué)任務(wù)運(yùn)行網(wǎng)[EB/OL].(2015-12-31)[2018-07-31]. http://www.smoc.ac.cn/. (National Space Science Center, Chinese Academy of Sciences. Space science mission operation network [EB/OL]. (2015-12-31)[2018-07-31]. http://www.smoc.ac.cn/.)
[2] 中國科學(xué)院.暗物質(zhì)粒子探測衛(wèi)星工程[EB/OL].(2015-12-31)[2018-07-31].http://www.cas.cn/zt/kjzt/awzlztcwxgc/.(Chinese Academy of Sciences. DAMPE satellite engineering [EB/OL]. (2015-12-31)[2018-07-31]. http://www.cas.cn/zt/kjzt/awzlztcwxgc/.)
[3] 中國科學(xué)院.實(shí)踐十號返回式科學(xué)實(shí)驗(yàn)衛(wèi)星工程[EB/OL].(2016-12-31)[2018-07-31].http://www.cas.cn/zt/kjzt/sjshkxsywx/.(Chinese Academy of Sciences. SJ-10 recoverable scientific experiment satellite engineering [EB/OL]. (2016-12-31)[2018-07-31]. http://www.cas.cn/zt/kjzt/sjshkxsywx/.)
[4] 中國科學(xué)院.量子科學(xué)實(shí)驗(yàn)衛(wèi)星工程[EB/OL].(2016-12-31)[2018-07-31].http://www.cas.cn/zt/kjzt/lzwx/.(Chinese Academy of Sciences. QUESS satellite engineering [EB/OL]. (2016-12-31)[2018-07-31]. http://www.cas.cn/zt/kjzt/lzwx/.)
[5] 中國科學(xué)院.硬X調(diào)制望遠(yuǎn)鏡衛(wèi)星[EB/OL].(2017-12-31)[2018-07-31].http://www.cas.cn/zt/kjzt/yxsxtzwyj/.(Chinese Academy of Sciences. HXMT satellite [EB/OL]. (2017-12-31)[2018-07-31]. http://www.cas.cn/zt/kjzt/yxsxtzwyj/.)
[6] ABBOTT B P, ABBOTT R, ABBOTT T D, et al. GW170817: observation of gravitational waves from a binary neutron star inspiral [J]. Physical Review Letters, 2017, 119(16): 161101.
[7] The Gamma-ray Coordinates Network. Insight-HXMT observation [EB/OL]. (2018-02-05)[2018-07-31]. https://gcn.gsfc.nasa.gov/gcn3/21593.gcn3/.
[8] 孫小涓,石濤,李冰,等.空間科學(xué)衛(wèi)星快速數(shù)據(jù)處理方法[C]//2017全國高性能計(jì)算學(xué)術(shù)年會論文集.北京:中國計(jì)算機(jī)學(xué)會,2017:438-443.(SUN X J, SHI T, LI B, et al. A rapid data processing method for space science satellites [C]// Proceedings of the 2017 HPC China. Beijing: CCF, 2017: 438-443.)
[9] 孫大為,張廣艷,鄭緯民.大數(shù)據(jù)流式計(jì)算:關(guān)鍵技術(shù)及系統(tǒng)實(shí)例[J].軟件學(xué)報(bào),2014,25(4):839-862.(SUN D W, ZHANG G Y, ZHENG W M. Big data stream computing: technologies and instances [J]. Journal of Software, 2014, 25(4): 839-862.)
[10] 衛(wèi)守林,劉鵬翔,王鋒,等.基于Spark Streaming的明安圖射電頻譜日像儀實(shí)時(shí)數(shù)據(jù)處理[J].天文研究與技術(shù),2017,14(4):421-428.(WEI S L, LIU P X, WANG F, et al. Real-time data processing in Mingantu ultrawide spectral radio heliograph based on Spark Streaming [J]. Astronomical Research and Technology, 2017, 14(4): 421-428.)
[11] SIMONCELLI D, DUSI M, GRINGOLI F,et al. Scaling out the performance of service monitoring applications with BlockMon [C]// Proceedings of the 2013 International Conference on Passive and Active Measurement, LNCS 7799. Berlin: Springer, 2013: 253-255.
[12] 韓德志,陳旭光,雷雨馨,等.基于Spark Streaming的實(shí)時(shí)數(shù)據(jù)分析系統(tǒng)及其應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2017,37(5):1263-1269.(HAN D Z, CHEN X G, LEI Y X, et al. Real-time data analysis system based on Spark Streaming and its application [J]. Journal of Computer Applications, 2017, 37(5): 1263-1269.)
[13] NEUMEYER L, ROBBINS B, KESARI A, et al. S4: distributed stream computing platform [C]// Proceedings of the 2010 IEEE International Conference on Data Mining Workshops. Washington, DC: IEEE Computer Society, 2010: 170-177.
[14] LI F, DAI L, JIANG Z, et al. Single-pass clustering algorithm based on Storm [J]. Journal of Physics: Conference Series, 2017, 806: 012017.
[15] 丁維龍,趙卓峰,韓燕波.Storm:大數(shù)據(jù)流式計(jì)算及應(yīng)用實(shí)踐[M].北京:電子工業(yè)出版社,2015:110-137.(DING W L, ZHAO Z F, HAN Y B. Storm: Big Data Stream Computing and Application Practice [M]. Beijing: Publishing House of Electronics Industry, 2015: 110-137.)
[16] CHINTAPALLI S, DAGIT D, EVANS R, et al. PaceMaker: when ZooKeeper arteries get clogged in storm clusters [C]// Proceedings of the 9th IEEE International Conference on Cloud Computing. Piscataway, NJ: IEEE, 2017: 448-455.
[17] KARUNARATNE P, KARUNASEKERA S, HARWOOD A. Distributed stream clustering using micro-clusters on Apache Storm [J]. Journal of Parallel & Distributed Computing, 2017, 108: 74-84.
[18] NASA. Space packet protocol: CCSDS 133.0-B-1 [S]. Washington, DC: CCSDS, 2003-09.
[19] 馬苗,朱巖.基于CCSDS標(biāo)準(zhǔn)的衛(wèi)星數(shù)據(jù)處理軟件設(shè)計(jì)[J].電子設(shè)計(jì)工程,2015,23(1):16-20.(MA M, ZHU Y. Design of satellite data processing software based on CCSDS [J]. Electronic Design Engineering, 2015, 23(1): 16-20.)