黃 迪 孫 偉 樓萬翔
(1.杭州應(yīng)用聲學(xué)研究所 杭州 310023)(2.中國電子科技集團(tuán)第三十六研究所 嘉興 314033)
針對(duì)集群式演示系統(tǒng)的輪詢準(zhǔn)實(shí)時(shí)處理策略
黃 迪1孫 偉2樓萬翔1
(1.杭州應(yīng)用聲學(xué)研究所 杭州 310023)(2.中國電子科技集團(tuán)第三十六研究所 嘉興 314033)
文章針對(duì)聲吶集群式仿真演示系統(tǒng)或者處理慢速運(yùn)動(dòng)目標(biāo)的實(shí)時(shí)處理系統(tǒng)的實(shí)時(shí)性問題,提出了一種并行輪詢式準(zhǔn)實(shí)時(shí)處理策略,通過將模塊分配到不同的并行處理節(jié)點(diǎn),并進(jìn)行編號(hào),每個(gè)模塊輪詢式接收數(shù)據(jù)并輪詢式的將處理結(jié)果輸出、整合來解決復(fù)雜處理模塊的實(shí)時(shí)性問題。通過在聲吶仿真演示系統(tǒng)的試驗(yàn)驗(yàn)證,表明該方法實(shí)現(xiàn)簡單,對(duì)硬件資源要求不高,適合仿真演示系統(tǒng)和慢速運(yùn)動(dòng)目標(biāo)的實(shí)時(shí)處理系統(tǒng)。
實(shí)時(shí)處理系統(tǒng); 集群式處理系統(tǒng); 輪詢式接收
Class Number TP301
在聲吶實(shí)時(shí)處理系統(tǒng)中,經(jīng)常會(huì)出現(xiàn)因?yàn)槟硞€(gè)模塊的處理時(shí)間特別長,一批數(shù)據(jù)還未處理完下批數(shù)據(jù)已經(jīng)到達(dá),造成當(dāng)前處理數(shù)據(jù)被覆蓋,從而影響整個(gè)系統(tǒng)輸出結(jié)果的正確性和流暢性的問題。當(dāng)前在集群式實(shí)時(shí)處理系統(tǒng)中,處理此問題通常采用的方法有以下幾種:
一是提高硬件處理速度,減少模塊的處理時(shí)間,這種方法經(jīng)濟(jì)成本比較高,并且處理速度提高有限,在需要成倍提高模塊運(yùn)行速度的情況下不合適。
二是采用基于模塊拆分和整合的并行處理模式,首先將模塊拆分成幾個(gè)可以并行運(yùn)行的子模塊,然后將各子模塊分配到不同的并行處理節(jié)點(diǎn)上運(yùn)行,最后將各并行處理節(jié)點(diǎn)的結(jié)果整合為最終結(jié)果進(jìn)行輸出。這種方法可以成倍地提高模塊的運(yùn)行速度,與第一種方法相比降低了對(duì)硬件性能的要求,但是需要系統(tǒng)集成人員對(duì)模塊結(jié)構(gòu)非常清晰,并且模塊可以拆分成多個(gè)并行處理的子模塊。這就產(chǎn)生了以下問題:一是系統(tǒng)集成人員與模塊的編程人員不是同一個(gè)人,對(duì)模塊的內(nèi)部結(jié)構(gòu)并不清楚;二是模塊邏輯關(guān)聯(lián)密切,難以拆分;三是即使模塊可以拆分,但是模塊的拆分和整合操作也是一項(xiàng)復(fù)雜的工作,增加了系統(tǒng)開發(fā)的工作量。
在仿真演示系統(tǒng)中或者是處理慢速運(yùn)動(dòng)的實(shí)時(shí)處理系統(tǒng)(例如聲吶系統(tǒng))中,通常數(shù)據(jù)處理的正確性和流暢性比及時(shí)性更重要,也就是處理結(jié)果的輸出比采集的數(shù)據(jù)晚比較短的時(shí)間但是處理結(jié)果是正確、連續(xù)和流暢的對(duì)系統(tǒng)來說也是可以接受的。
本文針對(duì)上面這種情況提出了一種并行輪詢式準(zhǔn)實(shí)時(shí)處理策略。該策略只需要將處理模塊根據(jù)實(shí)際運(yùn)行時(shí)間和要求運(yùn)行時(shí)間的比值進(jìn)行復(fù)制,然后對(duì)復(fù)制的模塊進(jìn)行編號(hào)并將其分配到不同的并行處理節(jié)點(diǎn)中,每個(gè)模塊根據(jù)編號(hào)輪詢式的接收數(shù)據(jù),然后輪詢式的將結(jié)果輸出給結(jié)果整合模塊從而得到模塊的最終輸出。本文的方法不需要系統(tǒng)集成者對(duì)模塊十分了解,不需要對(duì)模塊進(jìn)行復(fù)雜的拆分和整合操作,實(shí)現(xiàn)簡單方便,對(duì)硬件資源要求不高,只是每批數(shù)據(jù)處理結(jié)果的輸出會(huì)有個(gè)短時(shí)間的固定延遲,但是這在仿真演示系統(tǒng)或處理慢速運(yùn)動(dòng)目標(biāo)的系統(tǒng)中是可以接受的。
基于模塊拆分和整合的并行處理策略的核心思想是不改變相鄰兩批數(shù)據(jù)的間隔時(shí)間,縮短模塊的運(yùn)行時(shí)間,以此來保證數(shù)據(jù)處理的正確性和流暢性。本文策略的核心思想是不改變模塊的運(yùn)行時(shí)間,增加到達(dá)每個(gè)模塊的相鄰兩批數(shù)據(jù)的間隔時(shí)間,所以稱為準(zhǔn)實(shí)時(shí)處理策略。本文策略的原理是根據(jù)模塊實(shí)際的運(yùn)行時(shí)間與要求運(yùn)行時(shí)間的比值,對(duì)模塊進(jìn)行復(fù)制,并進(jìn)行編號(hào),然后將模塊分配到不同的并行處理節(jié)點(diǎn)中,接收模塊按照處理模塊的編號(hào)順序進(jìn)行輪詢接收,然后輪詢的向整合模塊輸出結(jié)果。并行處理策略的原理圖如圖1所示類似輪盤的工作原理,其中t表示數(shù)據(jù)流的批號(hào),SP_i表示編號(hào)為i的處理模塊。
圖1 并行輪詢處理策略原理圖
圖2 數(shù)據(jù)輪詢分發(fā)流程
圖3 結(jié)果輪詢整合流程
數(shù)據(jù)分發(fā)流程如圖2所示,這里k表示第i個(gè)并行處理模塊接收的數(shù)據(jù)的新的批號(hào)。結(jié)果整合流程如圖3所示。從圖2和圖3可以看出整個(gè)數(shù)據(jù)分發(fā)和整合流程猶如一個(gè)輪盤在循環(huán)的接收數(shù)據(jù)處理完成后在循環(huán)的輸出給整合模塊。對(duì)于某個(gè)固定的處理模塊SP_i其數(shù)據(jù)輸入輸出對(duì)應(yīng)的原始批號(hào)如圖4所示。
這里輪詢分發(fā)模塊可以和后面的并行處理模塊整合,輪詢整合模塊可以和后面的結(jié)果接收模塊整合,這兩個(gè)模塊都不需要再新開進(jìn)程或者線程。
該方法的具體實(shí)現(xiàn)步驟如下:
1) 計(jì)算模塊的實(shí)際運(yùn)行時(shí)間與要求運(yùn)行時(shí)間的比值N;
2) 將模塊復(fù)制N份,并進(jìn)行編號(hào)1,2,…,N;
3) 將模塊分配給系統(tǒng)不同的并行處理節(jié)點(diǎn)中;
4) 設(shè)置模塊的接收數(shù)據(jù),第m個(gè)模塊接收的數(shù)據(jù)批號(hào)為N*t+m-1;
5) 設(shè)置接收模塊第m個(gè)模塊的結(jié)果放入N*t+m-1的輪詢中進(jìn)行組合。
這里以聲吶仿真系統(tǒng)中的某大孔徑體積陣波束形成模塊為例。在系統(tǒng)中每批數(shù)據(jù)的長度為10.6ms,在不進(jìn)行任何處理的情況下,某大孔徑體積陣波束形成模塊處理一批數(shù)據(jù)的平均時(shí)間為124.3ms。這里分別使用模塊拆分和整合策略以及本文輪詢策略進(jìn)行處理。采用模塊拆分和整合策略對(duì)模塊進(jìn)行分解時(shí),可以將某大孔徑體積陣波束形成模塊拆分為1個(gè)分解模塊、13個(gè)并行分處理模塊、1個(gè)整合模塊,一批數(shù)據(jù)的處理時(shí)間平均為9.8ms。采用輪詢處理策略,只需要將共形陣波束形成模塊復(fù)制12份,分配給12個(gè)并行分處理模塊,對(duì)12個(gè)分處理模塊的數(shù)據(jù)接收部分進(jìn)行修改,并對(duì)結(jié)果輸出根據(jù)12個(gè)分處理模塊進(jìn)行編號(hào),對(duì)結(jié)果接收模塊進(jìn)行簡單改進(jìn)。通過比較發(fā)現(xiàn)采用模塊拆分和整合策略對(duì)某大孔徑體積陣波束形成模塊進(jìn)行處理時(shí)共需要15個(gè)子模塊,一批數(shù)據(jù)的處理時(shí)間為9.8ms,采用輪詢處理策略共需要12個(gè)子模塊,一批數(shù)據(jù)的處理時(shí)間為124.3ms。輪詢處理策略與模塊拆分和整合策略相比,不需要對(duì)共形陣波束形成模塊十分了解,不需要對(duì)模塊進(jìn)行拆分和整合,不需要考慮各并行處理節(jié)點(diǎn)的同步性,實(shí)現(xiàn)簡單,節(jié)省了程序編寫的工作量,使用的資源更少,缺點(diǎn)是每批數(shù)據(jù)的處理時(shí)間與模塊拆分和整合策略的相比均有113.7ms的延遲,這對(duì)于聲吶系統(tǒng)探測的目標(biāo)來說是可以接受的。
圖5 實(shí)時(shí)處理系統(tǒng)輸出界面
本文針對(duì)集群式仿真演示系統(tǒng)或者處理慢速運(yùn)動(dòng)目標(biāo)的實(shí)時(shí)處理系統(tǒng)提出的輪詢式準(zhǔn)實(shí)時(shí)處理策略,不需要系統(tǒng)集成者對(duì)模塊了解,不需要對(duì)模塊進(jìn)行復(fù)雜的拆分和整合操作,實(shí)現(xiàn)簡單方便,只是每批數(shù)據(jù)的處理結(jié)果輸出會(huì)有個(gè)固定的延遲,但是這在仿真演示系統(tǒng)或處理慢速運(yùn)動(dòng)目標(biāo)的系統(tǒng)中是可以接受的。
[1] G. A. Maykut. Energy exchange over young sea ice in the central Arctic[J]. J. Geophys. Res.,1978,83(7):3646-3658.
[2] H. Wakabayashi, T. Matsuoka, K. Nakamura, et al. 2004 Polarimetric characteristics of sea ice in the Sea oce Okhotsk observed by airborne L-band SAR[J]. IEEE Trans. Geosci. Remote Sensing,2014,42(11):2412-2425.
[3] K. Nakamura, H. Wakabayashi, K. Naoki, et al. Observation of sea-ice thickness in the Sea of Okhotsk by using dual-frequency and fully polarimetric airborne SAR (Pi-SAR) data[J]. IEEE Trans. Geosci. Remote Sensing,2005,43(11):2460-2469.
[4] Philip Alpatov, Greg Baker. Parallel linear algebra package design overview[C]//Proceedings of the 1997 ACM/IEEE Conference on the Supercomputing,1997:1-16
[5] W. Gropp, E. Lusk, A. Skjellum. Using MPI[M]. Massachusetls: MIT Press,1999:532-533.
[6] 何友,王國宏,等.多傳感器信息融合及應(yīng)用[M].北京:電子工業(yè)出版社,2000:51-53.
[7] 楊致怡,陸俊,江曉燕.跨平臺(tái)航跡管理互操作技術(shù)研究[J].雷達(dá)對(duì)抗,2013,31(1):11-15.
[8] 梅文化,蔡善發(fā).JTIDS/Link16數(shù)據(jù)鏈[M].北京:國防工業(yè)出版社,2007:82-87.
[9] Peter S. Pacheco.并行程序設(shè)計(jì)導(dǎo)論[M].鄧倩妮,等譯.北京:機(jī)械工業(yè)出版社,2015,8:11-30.
[10] Timothy G. Mattson, Beverly A. Sanders, Berna L. Massingill.并行編程模式[M].張?jiān)迫?等譯.北京:機(jī)械工業(yè)出版社,2015:7-29.
Roulette-cycle Quasi-Real-time Strategy for the Cluster Demo System
HUANG Di1SUN Wei2LOU Wanxiang1
(1. Hangzhou Applied Acoustics Research Institute, Hangzhou 310023) (2. No.36 Research Institute of CECT, Jiaxing 314033)
This paper proposes a parallel roulette-cycle quasi- real-time strategy to solve the real-time problem of the cluster demo sonar systems or the real-time sonar systems which deal with the low speed targets. The strategy copys the processing module, allocates them to different parallel processing nodes and numbers them. Every module deals with the data in order like roulette, finally integrates the results of all the modules. This method solves the problem of complex processing modules in the real-time system. Through the sonar demo system experiment, it is proved that this method is simple and does not require the high performance equipments, can be applied to the demo systems or the real-time systems dealing with the low speed targets.
real-time system, cluster processing system, cycle receive like a roulette
2016年7月17日,
2016年8月20日
黃迪,男,碩士,工程師,研究方向:聲吶總體設(shè)計(jì)及信號(hào)處理。孫偉,男,碩士,工程師,研究方向:聲吶總體設(shè)計(jì)及信號(hào)處理。樓萬翔,男,碩士,助理工程師,研究方向:聲吶總體設(shè)計(jì)及信號(hào)處理。
TP301
10.3969/j.issn.1672-9730.2017.01.031