摘 要:隨著我國(guó)航天技術(shù)的發(fā)展,星載計(jì)算機(jī)的應(yīng)用范圍也越來越廣泛,目前被應(yīng)用在通訊、資源探測(cè)、遙感、氣象等眾多行業(yè)和領(lǐng)域。而且衛(wèi)星的功能越來越強(qiáng),因此對(duì)星載計(jì)算機(jī)的負(fù)載要求也越來越高,需要收集大量的數(shù)據(jù)來進(jìn)行處理,包括壓縮、采集、數(shù)據(jù)回傳等。在這些不規(guī)則的應(yīng)用當(dāng)中,必須要采用負(fù)載平衡算法來計(jì)算負(fù)載,使負(fù)載更加平衡,這樣才能更加有效的利用資源。筆者針對(duì)基于偏差信息的星載計(jì)算機(jī)系統(tǒng)負(fù)載平衡算法進(jìn)行了研究,希望能為廣大的相關(guān)工作者提供一些參考依據(jù)。
關(guān)鍵詞:偏差信息;星載計(jì)算機(jī);系統(tǒng);負(fù)載;平衡算法
中圖分類號(hào):TP338.6
原來所采用的負(fù)載平衡算法具有很多的優(yōu)點(diǎn),比如操作方法簡(jiǎn)單、不需要更多的開銷等等。盡管如此,這種方法卻能夠在一定程度上使結(jié)點(diǎn)獲取信息的渠道變窄。但后來出現(xiàn)了一種算法,這種算法叫基于偏差的星載計(jì)算機(jī)系統(tǒng)負(fù)載平衡算法,該算法能夠改變負(fù)載平衡算法原來的一些缺陷,大量的實(shí)踐和實(shí)驗(yàn)證明,這種新的計(jì)算方法具有一定的可行性。
1 負(fù)載平衡算法
1.1 負(fù)載平衡算法的含義
負(fù)載平衡算法又被稱為負(fù)載均衡算法,采用負(fù)載平衡算法的目的是為了使星載計(jì)算機(jī)的系統(tǒng)整體平衡。由于在整個(gè)操作的過程當(dāng)中,會(huì)產(chǎn)生一定的開銷,甚至有時(shí)也會(huì)有的延遲的現(xiàn)象,因此,要實(shí)現(xiàn)整個(gè)系統(tǒng)的平衡非常的難。采用平衡算法雖然可以在一定程度上減輕開銷,但是卻有一些不足和缺陷,比如信息的獲取量會(huì)變窄,會(huì)影響系統(tǒng)性能,等等。同時(shí),這種方法也是通過對(duì)偏差結(jié)點(diǎn)傳遞的負(fù)載信息來使整個(gè)計(jì)算機(jī)系統(tǒng)的負(fù)載變得平衡,而且僅僅只需要付出很小的代價(jià),總體來說,這種算法還是比較的科學(xué),雖然有一些不足之處。
1.2 負(fù)載平衡算法容易出現(xiàn)的問題
負(fù)載平衡算法能夠在有限的范圍內(nèi),對(duì)局部負(fù)載進(jìn)行轉(zhuǎn)移,從而使整個(gè)系統(tǒng)達(dá)到平衡的最終目的。在此算法當(dāng)中,每一個(gè)結(jié)點(diǎn)僅僅只和它旁邊的結(jié)點(diǎn)進(jìn)行信息交換或者是通信,因此它的范圍有限。另外,轉(zhuǎn)移負(fù)載也僅僅只能發(fā)生在兩個(gè)相鄰的結(jié)點(diǎn)當(dāng)中。
比如有兩個(gè)相鄰的結(jié)點(diǎn),分別是a和b,這個(gè)結(jié)點(diǎn)之間的負(fù)載要相互平衡,假設(shè)L1為結(jié)點(diǎn)a在t時(shí)刻的負(fù)載,而L2為結(jié)點(diǎn)b在t時(shí)刻的負(fù)載。那么假設(shè)在t+N的時(shí)間段內(nèi),兩個(gè)結(jié)點(diǎn)進(jìn)行了負(fù)載平衡之后,該公式就應(yīng)該這樣來表達(dá):
L1(t+N)=L2(t+N)=50%(L1(t)+L2(t))
從上面的公式中可以看出,當(dāng)負(fù)載平衡的行為結(jié)束以后,整個(gè)系統(tǒng)就可以使全局達(dá)到負(fù)載平衡的目的。在靜態(tài)的情況下,負(fù)載平衡算法可以達(dá)到這樣的效果,當(dāng)結(jié)點(diǎn)受到旁邊的結(jié)點(diǎn)的負(fù)載信息之后,它會(huì)把自己的負(fù)載信息拿出來,與旁邊的結(jié)點(diǎn)的負(fù)載信息相對(duì)比。如果兩個(gè)結(jié)點(diǎn)的負(fù)載相差得太多,那么這樣的情況就可以被稱為是過載結(jié)點(diǎn),另外,一些負(fù)載量較重的結(jié)點(diǎn) 還會(huì)向一些負(fù)載量比較輕的結(jié)點(diǎn)進(jìn)行轉(zhuǎn)移,以減輕自己的負(fù)載量。
這種算法有很多的優(yōu)勢(shì),比如減少開銷等,但它也有個(gè)劣勢(shì),比如它可能會(huì)在系統(tǒng)達(dá)到平衡以后,停止運(yùn)行整個(gè)系統(tǒng)的負(fù)載平衡行為。這樣就會(huì)影響到整個(gè)系統(tǒng)的性能,甚至?xí)霈F(xiàn)其他的問題。
舉個(gè)例子,一個(gè)結(jié)點(diǎn)的負(fù)載為1,而相鄰的結(jié)點(diǎn)的負(fù)載為11,這就可以采用負(fù)載平衡算法來進(jìn)行計(jì)算,或者交換兩個(gè)結(jié)點(diǎn)之間的負(fù)載。兩個(gè)相鄰的結(jié)點(diǎn),它們的負(fù)載的差距比遷移閾值要小,因此,就不能轉(zhuǎn)移負(fù)載。在進(jìn)行計(jì)算的時(shí)候,整個(gè)系統(tǒng)已經(jīng)達(dá)到了平衡,但是全局卻仍然不平衡。后來產(chǎn)生了一種新的算法,這種算法不但實(shí)現(xiàn)了最小的開銷,而且還不會(huì)產(chǎn)生上面所說的缺點(diǎn)和不足之處,這就是基于偏差信息的星載計(jì)算機(jī)系統(tǒng)負(fù)載平衡算法。
2 基于偏差信息的星載計(jì)算機(jī)系統(tǒng)負(fù)載平衡算法
2.1 利用相鄰結(jié)點(diǎn)的負(fù)載偏差來使全局平衡
這種新算法的產(chǎn)生使得結(jié)點(diǎn)的實(shí)際負(fù)載信息產(chǎn)生了改變,而一個(gè)結(jié)點(diǎn)的負(fù)載信息卻能夠反映相鄰的結(jié)點(diǎn)的負(fù)載信息。比如,L1(t)比L2(t)的值小,那么結(jié)點(diǎn)a和結(jié)點(diǎn)b之間的負(fù)載信息在進(jìn)行轉(zhuǎn)移的時(shí)候,結(jié)點(diǎn)a傳給結(jié)點(diǎn)b的負(fù)載信息就不再是上面所講的L1(t),卻變成了結(jié)點(diǎn)a和相鄰結(jié)點(diǎn)合起來的信息CL1(t)。同時(shí),CL1(t)也體現(xiàn)了結(jié)點(diǎn)a和相鄰結(jié)點(diǎn)的負(fù)載情況。如果結(jié)點(diǎn)a的負(fù)載信息與結(jié)點(diǎn)收到的信息解釋相同,那么就說明能夠進(jìn)行負(fù)載的轉(zhuǎn)移。但是實(shí)際上,負(fù)載在進(jìn)行轉(zhuǎn)移的時(shí)候,與結(jié)點(diǎn)a需要的負(fù)載量可能會(huì)不一致,這時(shí)候就必須要再次用信息的偏差來使結(jié)點(diǎn)a與旁邊的結(jié)點(diǎn)的負(fù)載相平衡,但是需要注意的是,不能選擇結(jié)點(diǎn)b,要選擇其他相鄰的結(jié)點(diǎn)。
2.2 對(duì)該算法進(jìn)行改進(jìn)
在上面所講到的方法當(dāng)中,發(fā)送者和接收者會(huì)建立起連接,這時(shí)候,兩個(gè)相鄰結(jié)點(diǎn)之間就會(huì)發(fā)生負(fù)載的轉(zhuǎn)移,但是接收者的負(fù)載信息要遠(yuǎn)遠(yuǎn)多于發(fā)送者的負(fù)載信息,從而及時(shí)的找出負(fù)載太少的結(jié)點(diǎn),將負(fù)載信息向這個(gè)結(jié)點(diǎn)轉(zhuǎn)移過去。
此種方法在上述計(jì)算方法的基礎(chǔ)上進(jìn)行了改進(jìn),并且使得負(fù)載量多的結(jié)點(diǎn)將負(fù)載量轉(zhuǎn)移到負(fù)載少的結(jié)點(diǎn)。同時(shí),這種方法還擴(kuò)大了負(fù)載移動(dòng)的范圍,使得負(fù)載轉(zhuǎn)移的次數(shù)慢慢的減少,最終使得計(jì)算的結(jié)果更加的科學(xué)和準(zhǔn)確。
3 基于偏差信息的星載計(jì)算機(jī)系統(tǒng)負(fù)載平衡算法的優(yōu)勢(shì)
3.1 不會(huì)限制負(fù)載信息的獲取范圍
過去的算法因?yàn)椴捎玫氖蔷植坑^點(diǎn)平衡負(fù)載的方法,所以在一定程度上限制了負(fù)載信息的獲取范圍,僅僅只達(dá)到了系統(tǒng)的平衡,沒有達(dá)到全局的平衡。但進(jìn)行改進(jìn)后的計(jì)算方法解決了這一問題,不但沒有限制負(fù)載信息的獲取范圍,而且還達(dá)到了全局平衡的目的。
3.2 計(jì)算的方法很簡(jiǎn)單
這種新的算法將結(jié)點(diǎn)的負(fù)載信息偏差用線性函數(shù)來進(jìn)行導(dǎo)出,不但簡(jiǎn)單明了,而且容易操作。另外還使得負(fù)載轉(zhuǎn)移的范圍有所擴(kuò)大,減少了負(fù)載轉(zhuǎn)移的次數(shù)。因此,該方法具有一定的可操作性。
3.3 減少了開銷
使用這種新的計(jì)算方法,結(jié)點(diǎn)與結(jié)點(diǎn)之間的開銷減小了,不僅如此,相鄰結(jié)點(diǎn)互相之間的通信量和通信時(shí)間也減少了。
綜上所述,基于偏差信息的星載計(jì)算機(jī)系統(tǒng)負(fù)載平衡算法具有一定的合理性與可行性,而且計(jì)算的方法非常的簡(jiǎn)單,它通過計(jì)算結(jié)點(diǎn)負(fù)載的偏差,從而體現(xiàn)了結(jié)點(diǎn)與相鄰結(jié)點(diǎn)之間的負(fù)載狀況,這樣就可以使全局達(dá)到平衡的程度。另外,相比于其他算法,它的計(jì)算結(jié)果還非常的準(zhǔn)確、科學(xué),而且它的優(yōu)勢(shì)也非常的多。目前,這種算法已經(jīng)得到了廣泛的應(yīng)用。
4 總結(jié)與體會(huì)
星載計(jì)算機(jī)是衛(wèi)星的重要部件,關(guān)系到衛(wèi)星的數(shù)據(jù)處理、姿態(tài)控制等等,但在實(shí)際工作中,星載計(jì)算機(jī)常常會(huì)受到高能粒子的影響,因此出現(xiàn)一些問題。為了提高星載計(jì)算機(jī)的性能,滿足星載計(jì)算機(jī)的負(fù)載要求,必須要采用合理而可行的方法來計(jì)算其負(fù)載量,從而使星載計(jì)算機(jī)的全局達(dá)到平衡的目的。這種方法就是基于偏差信息的星載計(jì)算機(jī)系統(tǒng)負(fù)載平衡算法,同時(shí),該方法不但彌補(bǔ)了負(fù)載平均算法的缺陷和不足之處,還大大的提高了系統(tǒng)的性能。
參考文獻(xiàn):
[1]魏振華,柳長(zhǎng)安,周宏.星載計(jì)算機(jī)系統(tǒng)瞬態(tài)過載不精確容錯(cuò)調(diào)度算法研究[J].宇航學(xué)報(bào),2007(6).
[2]仉俊峰,洪炳镕,袁成軍.一種基于Markov模型的星載計(jì)算機(jī)系統(tǒng)可靠性評(píng)測(cè)的新方式[J].宇航學(xué)報(bào),2007,28(4):1053-1058.
[3]黃秋岑,黃杰.一種基于時(shí)分同步的碼分多址技術(shù)網(wǎng)絡(luò)監(jiān)管的分布式動(dòng)態(tài)負(fù)載平衡算法[J].信息與控制,2010(1):30-35.
[4]姜連祥,楊根慶,李華旺,胡偉圣,許培培.微小衛(wèi)星星載計(jì)算機(jī)系統(tǒng)可靠性研究與設(shè)計(jì)[J].系統(tǒng)工程與電子技術(shù),2009(1):238-240.
[5]王偉成,羅宇.基于分布式架構(gòu)的星載并行計(jì)算機(jī)容錯(cuò)技術(shù)[J].計(jì)算機(jī)工程與科學(xué),2011,33(3):51-56.
[6]李偉,劉麗紅,牟文秀,辛明瑞.基于BM3803的星載計(jì)算機(jī)標(biāo)準(zhǔn)化設(shè)計(jì)與實(shí)現(xiàn)[J].航天器工程,2012,21(2):68-72.