摘要:為了批量高效處理高分三號(hào)數(shù)據(jù),搭建混合新舊不同性能服務(wù)器的分布式集群,考慮舊設(shè)備運(yùn)行時(shí)可能產(chǎn)生故障率高問(wèn)題,提出了一種高分三號(hào)數(shù)據(jù)按PolSARpro軟件的數(shù)據(jù)格式要求處理的分布式穩(wěn)健自適應(yīng)負(fù)載均衡并行轉(zhuǎn)換算法,給出了一組穩(wěn)健策略和方法,將高分三號(hào)多極化數(shù)據(jù)快速精確定標(biāo)及格式轉(zhuǎn)換,能夠抗數(shù)據(jù)偏斜,具備硬件環(huán)境自適應(yīng),提升系統(tǒng)魯棒性,并且通過(guò)KingMap"V10.0平臺(tái)實(shí)現(xiàn)了算法并在實(shí)際數(shù)據(jù)中進(jìn)行測(cè)試,驗(yàn)證了算法的穩(wěn)定性、高效性和正確性。
關(guān)鍵詞:高分三號(hào)""自適應(yīng)""穩(wěn)健""消息傳遞接口""分布式集群
Distributed"Robust"Adaptive"Load"Balancing"Parallel"Conversion"Algorithm"for"GF-3"Data
GAO"Mingyang1*""ZHANG"Ruming2""WENG"Jingming1""ZHOU"Futong2""SONG"Yueming1
1."Hulunbeir"Smart"City"Development"Research"Institute,"Hulunbeir,"Inner"Mongolia"Autonomous"Region,"021000"China;"2."Hulunbeir"Big"Data"Center,"Hulunbeir,"Inner"Mongolia"Autonomous"Region,"021000"China
Abstract:In"order"to"efficiently"process"GF-3"data"in"batches,"a"distributed"cluster"of"mixed"old"and"new"servers"with"different"performance"is"built."Considering"the"high"failure"rate"of"old"devices"during"operation,"this"paper"proposes"a"distributed"robust"adaptive"load"balancing"parallel"conversion"algorithm"for"GF-3"data"processing"according"to"the"data"format"requirements"of"PolSARpro"software."A"set"of"robust"strategies"and"methods"are"given"to"quickly"and"accurately"calibrate"and"format"the"GF-3"multipolar"data,"which"can"resist"data"skew,"have"hardware"environment"adaptability,"and"improve"system"robustness."And"the"algorithm"is"implemented"on"the"KingMap"V10.0"platform"and"tested"on"real"data"to"verify"its"stability,"efficiency,"and"correctness.
Key"Words:"GF-3;"Adaptive;"Robust;"Message"passing"interface;"Distributed"cluster
高分三號(hào)03星于2022年4月成功發(fā)射,中國(guó)邁入雷達(dá)衛(wèi)星“三星組網(wǎng)”時(shí)代[1]。高分三號(hào)能夠?qū)崿F(xiàn)全天時(shí)、全天候的海洋和陸地監(jiān)視監(jiān)測(cè),是我國(guó)實(shí)施海洋開(kāi)發(fā)、防災(zāi)減災(zāi)和陸地環(huán)境資源監(jiān)測(cè)的重要技術(shù)支撐[2]。PolSARpro[3]是一款著名的免費(fèi)開(kāi)源處理軟件,當(dāng)前已具備高分三號(hào)數(shù)據(jù)的導(dǎo)入處理,但數(shù)據(jù)轉(zhuǎn)換效率相對(duì)較低。陳云等人[4-6]給出了較高效的轉(zhuǎn)換算法。史超等人[7]給出了更高效的分布式多重并行轉(zhuǎn)換算法。張如明等人[8]給出了較高效的多模數(shù)據(jù)分布式并行轉(zhuǎn)換算法。邱祥峰等人[9]采用自適應(yīng)負(fù)載均衡方法,較好地實(shí)現(xiàn)了硬件自適應(yīng)和數(shù)據(jù)偏斜問(wèn)題。然而,現(xiàn)有高分三號(hào)轉(zhuǎn)換算法都未考慮分布式利舊情形下的運(yùn)行穩(wěn)定性問(wèn)題。因此,本文提出了高分三號(hào)分布式穩(wěn)健自適應(yīng)負(fù)載均衡并行轉(zhuǎn)換方法:先給出了一組穩(wěn)健策略和方法,再通過(guò)實(shí)際數(shù)據(jù)和故障實(shí)例進(jìn)行前后性能對(duì)比分析,驗(yàn)證算法的高效性、魯棒性和正確性,表明本文方法可以更穩(wěn)健地解決上述問(wèn)題。
1算法原理
本文主要針對(duì)高分三號(hào)數(shù)據(jù)L1A產(chǎn)品,根據(jù)陳云[6]的簡(jiǎn)化推導(dǎo),得出中間參數(shù),計(jì)算公式如下。
式(1)中,可通過(guò)元數(shù)據(jù)文件字段獲取,表示該景影像量化前的最大值;CalibrationConst可通過(guò)元數(shù)據(jù)文件CalibrationConst字段獲取,表示該景影像的雷達(dá)散射的定標(biāo)系數(shù)。
則有實(shí)部后向散射系數(shù)和虛部后向散射系數(shù)的計(jì)算公式分別如公式(2)和(3),其中,1A級(jí)產(chǎn)品的實(shí)部和虛部分別是和。
假設(shè)分布式集群環(huán)境中K臺(tái)服務(wù)器(虛擬機(jī))的資源池,啟動(dòng)K個(gè)smpd管理器。在實(shí)際應(yīng)用中,可以通過(guò)mpiexec創(chuàng)建M個(gè)MPI實(shí)例,通常每臺(tái)服務(wù)器上可以創(chuàng)建多個(gè)MPI實(shí)例。特別地,當(dāng)每臺(tái)服務(wù)器創(chuàng)建1個(gè)MPI實(shí)例時(shí),則有M=K。假定共有N景高分三號(hào)數(shù)據(jù),對(duì)于任何一景高分三號(hào)數(shù)據(jù),可以分配給任意1個(gè)MPI實(shí)例,分配復(fù)雜度是,屬于NP難問(wèn)題。邱祥峰等人[9]提出一種自適應(yīng)高效分配方案與自適應(yīng)算法,能夠較快解決上述問(wèn)題。本文結(jié)合穩(wěn)健策略的算法如下文所述。
2算法設(shè)計(jì)
為了處理運(yùn)行過(guò)程中的異常情況下,本文在存儲(chǔ)和處理任務(wù)基礎(chǔ)上設(shè)計(jì)計(jì)算單元資源池和任務(wù)監(jiān)控模塊。無(wú)論新舊設(shè)備,都把服務(wù)器虛擬化形成計(jì)算單元資源池,通過(guò)監(jiān)控計(jì)算單元資源池,及時(shí)發(fā)現(xiàn)故障設(shè)備,如發(fā)現(xiàn)存儲(chǔ)達(dá)到快滿(mǎn)臨界并進(jìn)行預(yù)警處理等。除了從外部監(jiān)測(cè)設(shè)備狀態(tài)外,還可以監(jiān)測(cè)任務(wù)運(yùn)行狀態(tài)與具體各景數(shù)據(jù)處理完成情況,及時(shí)重新調(diào)整和應(yīng)用對(duì)應(yīng)穩(wěn)健策略,從而順利完成各項(xiàng)高分三號(hào)數(shù)據(jù)轉(zhuǎn)換處理任務(wù)。具體穩(wěn)健策略如下。
(1)當(dāng)某個(gè)MPI實(shí)例出現(xiàn)內(nèi)部不可恢復(fù)故障造成Abort退出時(shí),造成整個(gè)批處理任務(wù)都失敗,則剔除MPI故障實(shí)例,刨除已處理完成的高分三號(hào)數(shù)據(jù),剩余的高分三號(hào)數(shù)據(jù)按照自適應(yīng)算法重新進(jìn)行分配。
(2)當(dāng)某個(gè)子smpd管理器出現(xiàn)異常時(shí),主smpd和其他子smpd管理器繼續(xù)正常執(zhí)行直至處理完成。通常情況下,當(dāng)正常MPI實(shí)例處理完成后,主smpd管理器的rank=0號(hào)MPI實(shí)例會(huì)繼續(xù)等待,直到超時(shí)Abort退出為止。對(duì)于分配給異常子smpd管理器的高分三號(hào)數(shù)據(jù),除了該異常smpd擁有的MPI實(shí)例已處理完成的高分三號(hào)數(shù)據(jù)外,剩余的高分三號(hào)數(shù)據(jù)按照自適應(yīng)算法重新分配給未出現(xiàn)異常的smpd的計(jì)算資源池再創(chuàng)建的MPI實(shí)例。
(3)當(dāng)主smpd管理器出現(xiàn)異常時(shí),所有子smpd管理器繼續(xù)正常執(zhí)行直至處理完成。對(duì)于分配給異常主smpd管理器的高分三號(hào)數(shù)據(jù),除了該異常主smpd管理器擁有的MPI實(shí)例已處理完成的高分三號(hào)數(shù)據(jù)外,剩余的高分三號(hào)數(shù)據(jù)按照自適應(yīng)算法重新分配給未出現(xiàn)異常的smpd的計(jì)算資源池再創(chuàng)建的MPI實(shí)例。
(4)對(duì)于(利舊)計(jì)算單元發(fā)生硬件故障等情形下,往往影響到smpd管理器的正常運(yùn)行時(shí),則視同smpd管理器異常,處理方法如上。
3算法實(shí)例
通過(guò)KingMap"V10.0進(jìn)行驗(yàn)證,平臺(tái)通過(guò)C/C++語(yǔ)言實(shí)現(xiàn)。平臺(tái)運(yùn)行環(huán)境如下。
計(jì)算機(jī)配置:操作系統(tǒng)為Win11"專(zhuān)業(yè)版;內(nèi)存為L(zhǎng)PDDR4x"16.0"GB,3733MHz;CPU為11th"Gen"Intel(R)"Core(TM)"i5-11300H"@"3.10GHz,四核8線(xiàn)程;內(nèi)置固態(tài)硬盤(pán)為512GB,M.2接口;外置移動(dòng)固態(tài)硬盤(pán)為2"TB,Type-C接口;顯卡為Intel(R)"Iris(R)"Xe"Graphics集成顯卡,128M。
為了方便對(duì)比測(cè)試,不妨在上述電腦上配置三臺(tái)不太一樣的虛擬機(jī),具體如下:
虛擬機(jī)1配置:Windows"10"專(zhuān)業(yè)版;內(nèi)存為4.0"GB;CPU為2核;內(nèi)置固態(tài)硬盤(pán)大小為160"GB。虛擬機(jī)2和虛擬機(jī)3相同配置復(fù)用虛擬機(jī)1,不同之處僅為外置固態(tài)硬盤(pán)。
算法程序:以3景精細(xì)條帶I數(shù)據(jù)和3景精細(xì)條帶II數(shù)據(jù)(數(shù)據(jù)清單如表1所示)進(jìn)行轉(zhuǎn)換,先采用標(biāo)準(zhǔn)數(shù)據(jù)測(cè)試,虛擬機(jī)1處理1"GB花費(fèi)時(shí)間約為6.50"s,虛擬機(jī)2和虛擬機(jī)3處理1"GB花費(fèi)時(shí)間大約為11.89"s。不同算法和不同策略情形下的性能結(jié)果如表2所示。經(jīng)驗(yàn)證,本文算法轉(zhuǎn)換后的結(jié)果與張如明等人[8]的運(yùn)行結(jié)果一致,表明算法真實(shí)、可靠。
運(yùn)行效率分析:采用不太一樣配置的三機(jī)環(huán)境下,基于自適應(yīng)算法在處理6景時(shí)共花費(fèi)約144.14"s。根據(jù)表2,3臺(tái)虛擬機(jī)分配的景數(shù)不太一樣:虛擬機(jī)1性能最好,分配了4景數(shù)據(jù);虛擬機(jī)2和虛擬機(jī)3各分配了1景數(shù)據(jù)。因此,自適應(yīng)算法充分考慮了硬件性能的不同。同時(shí),結(jié)合表1中不同模式下各景數(shù)據(jù)量大小不盡相同,自適應(yīng)算法從中也已考慮了數(shù)據(jù)的偏斜問(wèn)題。本文為了模擬舊服務(wù)器經(jīng)常存在故障問(wèn)題,不妨假設(shè)虛擬機(jī)2在運(yùn)行過(guò)程中存在故障,此時(shí),虛擬機(jī)池中只剩下正常虛擬機(jī)1和虛擬機(jī)3,已分配給虛擬機(jī)1和虛擬機(jī)3的數(shù)據(jù)則繼續(xù)處理;對(duì)于原分配給虛擬機(jī)2的未處理完成的景2數(shù)據(jù),自動(dòng)根據(jù)自適應(yīng)算法重新把景2數(shù)據(jù)分配給虛擬機(jī)1,結(jié)果處理的時(shí)間大概是159.24"s。本文算法在虛擬機(jī)2故障條件下雖然時(shí)間比正常條件下多花費(fèi)了10.5%,但也保障了全部數(shù)據(jù)的處理完成,提升了自適應(yīng)算法的魯棒性。因此,本文針對(duì)舊設(shè)備存在的故障率較高問(wèn)題有較好的解決方案,在混合新舊設(shè)備環(huán)境中更具穩(wěn)健性。
4結(jié)語(yǔ)
本文通過(guò)簡(jiǎn)化計(jì)算公式提出了一種基于OpenMP、MPI和MapReduce"高分三號(hào)數(shù)據(jù)分布式穩(wěn)健自適應(yīng)負(fù)載均衡并行轉(zhuǎn)換算法。該算法已在KingMap"V10.0上編程實(shí)現(xiàn)并進(jìn)行實(shí)際數(shù)據(jù)測(cè)試,驗(yàn)證了算法的硬件配置自適應(yīng)性、準(zhǔn)確性、健壯性和高效性。
參考文獻(xiàn)
[1]張蕾,張?zhí)m蘭,劉錦洋.數(shù)說(shuō)“太空全能神探”[N].光明日?qǐng)?bào),2022-04-08(008).
[2]"國(guó)家國(guó)防科技工業(yè)局重大專(zhuān)項(xiàng)工程中心,國(guó)家航天局對(duì)地觀測(cè)與數(shù)據(jù)中心."2018中國(guó)高分衛(wèi)星應(yīng)用國(guó)家報(bào)告(共性產(chǎn)品卷)[M]."北京:國(guó)防科工局重大專(zhuān)項(xiàng)工程中心,2018.
[3]"POTTIER"E."PolSARpro"v6.0"(Biomass"Edition)"Software[EB/OL].(2021-05-01)[2024-08-20]."https://ietr-lab.univ-rennes1.fr/polsarpro-bio/.
[4]"陳云,鞠佳衡,林偉木,等."一種高分三號(hào)復(fù)數(shù)散射矩陣數(shù)據(jù)快速轉(zhuǎn)換算法[J].測(cè)繪與空間地理信息,2022,"45(3):50-52.
[5]"陳云.基于OpenMP的高分三號(hào)數(shù)據(jù)并行轉(zhuǎn)換算法[J].測(cè)繪與空間地理信息,2022,"45(6):85-86,91,95.
[6]"陳云.基于MPI和OpenMP混合編程的高分三號(hào)數(shù)據(jù)分布式并行轉(zhuǎn)換算法[J].測(cè)繪與空間地理信息,2024,"47(2):"43-45,49.
[7]"史超,蔡源浩,陳超,等."基于MPI、MapReduce和OpenMP混合編程的高分三號(hào)數(shù)據(jù)分布式并行轉(zhuǎn)換算法[J].科技資訊,2024,22(13):17-20.
[8]"張如明,蔡劍英,王錫航,等."基于MPI和MapReduce混合編程的高分三號(hào)多模數(shù)據(jù)分布式并行轉(zhuǎn)換算法[J].科技資訊,2024,22(14):34-36.
[9]"邱祥峰,宋躍明,陳云."GF-3數(shù)據(jù)分布式自適應(yīng)負(fù)載均衡方法、并行轉(zhuǎn)換方法及系統(tǒng):CN202410441789.8[P]."2024-07-12.