摘 要 為了實現(xiàn)集群中調(diào)度服務器對資源的管理以及對整個集群狀態(tài)的監(jiān)控,以高效地生產(chǎn)遙感數(shù)據(jù)產(chǎn)品,對現(xiàn)有的一些集群資源管理技術進行了分析,并通過研究基于五層十五級的數(shù)據(jù)組織結構、集群任務組織和調(diào)度策略、集群節(jié)點資源可視化技術等,提出了一種支持多機多任務高效的集群資源管理方法,并在遙感產(chǎn)品生產(chǎn)系統(tǒng)中進行應用,實驗表明該方法能夠在保證任務完成的情況下使調(diào)度服務器對資源的管理和調(diào)配能力以及生產(chǎn)效率提高40%。
關鍵詞 集群;調(diào)度服務器;數(shù)據(jù)組織和檢索;任務分配;資源管理
引言
現(xiàn)代空間遙感技術的發(fā)展已使傳感器的空間分辨率、光譜分辨率和時間分辨率大幅度提高,使得遙感圖像的數(shù)據(jù)量急劇增加,有的影像文件大小甚至達到GB級[1],這使得計算機在處理這些遙感圖像時計算量及資源耗費成倍增加。為了提高遙感影像的處理效率并最大限度地利用已有資源,越來越多的研究者開始將集群技術應用到遙感產(chǎn)品生產(chǎn)領域,隨之而來的就是集群資源管理問題,如何才能高效的發(fā)揮集群作用,提高集群系統(tǒng)中調(diào)度服務器對資源的調(diào)配、管理及對整個集群狀態(tài)的監(jiān)控已成為集群技術應用者值得考慮的問題。目前集群技術在遙感產(chǎn)品生產(chǎn)應用中主要存在的問題有以下幾方面:①CPU占用率、內(nèi)存使用率以及磁盤使用率高;②網(wǎng)絡的數(shù)據(jù)發(fā)送和接收速度低;③多機任務分配負載不均衡[2];④數(shù)據(jù)組織及檢索速度慢。因此,有必要深入研究集群資源管理技術,使之在保證任務順利完成的情況下能夠有效地對集群中的資源進行管理、調(diào)配。
1集群和集群資源管理技術
1.1 集群
集群(Cluster)是一種造價低廉、方便構建并且具有很好的可擴展性的計算機體系結構[3],由一組通過高速網(wǎng)絡互聯(lián)并相互獨立的計算機組成,集群的一大特點是高可用性和靈活的伸縮擴展性[4]。典型的集群體系結構及各層關鍵技術主要分為網(wǎng)絡層:網(wǎng)絡互聯(lián)結構、通信協(xié)議、信號技術;節(jié)點機和客戶機:分層級操作系統(tǒng);管理層:資源管理、調(diào)度、負載均衡、并行、安全;應用層:開發(fā)環(huán)境、串并行應用。
每一層解決的問題不同,其中本文所討論的集群資源管理主要集中在集群系統(tǒng)管理層,該層是集群所特有功能和關鍵技術的體現(xiàn)。在現(xiàn)如今按需計算的時代,各種應用集群技術的系統(tǒng),大部分依賴于集群的系統(tǒng)管理層,因此,合理的集群管理會大大發(fā)揮集群在實際應用中的作用。
1.2 集群資源管理技術
在遙感產(chǎn)品生產(chǎn)這個復雜的背景下,集群資源的管理技術顯的更加復雜,不僅要對集群狀態(tài)、集群中節(jié)點資源使用情況和節(jié)點狀態(tài)進行動態(tài)監(jiān)控,還要實時監(jiān)控系統(tǒng)的I/O狀態(tài),如數(shù)據(jù)發(fā)送速度、網(wǎng)絡的數(shù)據(jù)接收速度等,另外在遙感產(chǎn)品生產(chǎn)中集群資源管理還涉及對提交的任務進行資源分析,根據(jù)任務預期執(zhí)行周期,組織任務需要的一切資源,然后執(zhí)行匹配,同時資源管理還要考慮到遙感數(shù)據(jù)的存儲和計算的方便快捷性,進而保證任務能夠高效快速完成。針對這種現(xiàn)象,本文研究的集群資源管理方法從遙感數(shù)據(jù)組織和檢索、任務組織和調(diào)度策略及節(jié)點資源可視化管理等方面對系統(tǒng)管理層進行優(yōu)化。
2參數(shù)反演集群計算平臺
參數(shù)反演集群計算平臺是中國科學院遙感與數(shù)字地球研究所信息產(chǎn)品生產(chǎn)系統(tǒng)下的一個子系統(tǒng),主要是通過一臺任務管理服務器來管理數(shù)量眾多的并行計算節(jié)點。這種模式可以很好地利用現(xiàn)有的計算資源,同時可以通過任務管理來控制任務執(zhí)行模式。這樣的模式具有很強的擴展性,新的產(chǎn)品算法可以以插件的方式加入集群,進行遙感產(chǎn)品生產(chǎn);已有的算法也可以升級或者更換版本。
參數(shù)反演集群計算平臺既可以接收來自其他系統(tǒng)發(fā)過來的任務然后組織數(shù)據(jù)進行產(chǎn)品生產(chǎn),又可以通過自身來檢索數(shù)據(jù)下達任務進行生產(chǎn),主要流程是:檢索衛(wèi)星影像切分數(shù)據(jù)、選擇產(chǎn)品、提交任務、生成訂單、將訂單發(fā)送到調(diào)度服務器、調(diào)度服務器向數(shù)據(jù)庫請求生產(chǎn)所需數(shù)據(jù)、調(diào)度服務器接收并解析訂單然后成子訂單、將子訂單分發(fā)給節(jié)點服務器、節(jié)點服務器進行產(chǎn)品生產(chǎn)并將生產(chǎn)進度反饋給調(diào)度服務器。
3參數(shù)反演集群計算平臺中資源管理技術的應用
3.1 數(shù)據(jù)組織和檢索
參數(shù)反演集群計算平臺要處理的數(shù)據(jù)是海量的遙感數(shù)據(jù),因此合理的數(shù)據(jù)存儲和傳輸技術直接決定了系統(tǒng)的性能,為了高效的生產(chǎn)遙感產(chǎn)品,本系統(tǒng)采用基于新型的五層十五級的影像分級標準[5],是因為根據(jù)該分級特性能夠直接尋址檢索,從而實現(xiàn)數(shù)據(jù)的快速查找。新型的五層十五級的影像分級標準是按照全球雙經(jīng)緯度地理空間對影像進行切分組織,先以10–4、10–3、10–2、10–1、1、101度為基準,建立十進制空間分辨率標準化層級,每層按照二分之一、四分之一形成三級標準瓦片,每個瓦片大小設定為1000,根據(jù)每一層瓦片分割的間隔度數(shù)能夠計算影像的層級和行列號范圍,再根據(jù)四個角的經(jīng)緯度就可以計算出瓦片的行列號,再加上影像所屬的衛(wèi)星、傳感器類型還有拍攝日期就可以唯一標識一個瓦片。經(jīng)緯度轉(zhuǎn)化成行列號計算公式如下:
(1)
(2)
其中L表示行號,C表示列號,lat表示緯度,lon表示經(jīng)度,Z表示層級瓦片之間分割度數(shù)。
本系統(tǒng)中瓦片在存儲時的命名格式如“GF1_WFV1_20140329_L1A0000192449_8_497_1173-1.tif”,其中GFI表示原始影像數(shù)據(jù)的衛(wèi)星,WFV1為傳感器類型,20140329表示影像數(shù)據(jù)的拍攝時間,L1A0000192449為原數(shù)據(jù)產(chǎn)品號,8為所屬層級,497為行號,1173為列號,1為波段。
3.2 任務組織和調(diào)度策略
任務調(diào)度的核心是任務調(diào)度服務器,負責解析訂單、生成任務隊列、將任務發(fā)給計算節(jié)點,然后驅(qū)動算法生產(chǎn)。文獻[6]提出了基于任務“代價”的任務分配模型,將任務分配問題轉(zhuǎn)化為對混合整數(shù)線性規(guī)劃的求解問題,但是在解決負載均衡時效果并不好。文獻[7]提出了一種基于尺度的影像數(shù)據(jù)不平均分配策略,但是不適用多節(jié)點的集群環(huán)境。
基于此,在遙感產(chǎn)品生產(chǎn)中進行任務調(diào)度的時候,我們主要考慮三方面問題,一是當前可用的計算機資源,二是任務執(zhí)行時間,三是是集群間負載問題,在參數(shù)反演集群計算平臺中采用的結合調(diào)度節(jié)點優(yōu)先級和任務優(yōu)先級相結合的新的調(diào)度策略,調(diào)度節(jié)點優(yōu)先級算法是根據(jù)系統(tǒng)可用內(nèi)存(E)、CPU主頻(C)、正在運行任務數(shù)(N)、等待生產(chǎn)任務數(shù)(W)及他們各自的比重(W1、W2、W3、W4)計算出某個調(diào)度節(jié)點優(yōu)先級,然后對這些節(jié)點的優(yōu)先級進行降序排序,得到新的調(diào)度節(jié)點隊列,然后將任務分發(fā)給這些節(jié)點,這種方法只考慮了調(diào)度節(jié)點的優(yōu)先級而未考慮任務的執(zhí)行時間(Th)、任務量(L)?;谌蝿諆?yōu)先級算法是取集群之前處理同類產(chǎn)品時的平均時間作為參考,然后結合每個任務的歷史執(zhí)行時間、任務量及它們各自加權值(Q1,Q2)計算出任務的執(zhí)行優(yōu)先級,得到任務隊列,此方法忽略了集群當前可用的調(diào)度節(jié)點資源使用情況。
基于對上述兩種方法的研究,參數(shù)反演集群計算平臺采用二者結合的方式,一方面,對調(diào)度節(jié)點進行優(yōu)先級降序排列,一方面對任務進行優(yōu)先級降序排列,然后將經(jīng)過優(yōu)先級排序的任務隊列中的任務分給經(jīng)過優(yōu)先級排序的計算節(jié)點隊列。其中計算節(jié)點優(yōu)先級P計算公式和任務優(yōu)先級T計算公式如下所示:
(3)
(4)
由此可以獲得2個隊列,一個是基于任務的隊列,一個是基于計算節(jié)點的隊列,然后將任務隊列中的任務根據(jù)計算節(jié)點的情況,動態(tài)分配到計算隊列中的節(jié)點上進行產(chǎn)品生產(chǎn)。同一產(chǎn)品生產(chǎn),三種算法的執(zhí)行結果如圖1所示。
圖1 三種算法的執(zhí)行結果
由次看出,二者結合的調(diào)度算法在參數(shù)反演集群計算平臺中的應用縮短了產(chǎn)品生產(chǎn)時間,提高了遙感產(chǎn)品生產(chǎn)效率。
3.3 節(jié)點資源管理可視化管理
為了輔助集群管理,參數(shù)反演集群計算平臺中對集群計算節(jié)點資源進行可視化展示。該方案根據(jù)Stuart K.Card等人提出的CARD[8]信息可視化模型提出的節(jié)點信息可視化過程如下:首先獲取節(jié)點信息,然后進行節(jié)點信息建立節(jié)點連接信息表[9],再構建可視化區(qū)域結構信息表,最后根據(jù)這兩張表進行節(jié)點的繪制[10]。其中網(wǎng)絡拓撲結構采用單中心節(jié)點連接,同時將生產(chǎn)節(jié)點狀態(tài)以樹型結構進行展示。實驗表明,該方案能夠相比其他可視化方案能夠最小的消耗內(nèi)存資源。其中節(jié)點網(wǎng)絡拓撲如圖2所示。
圖2 網(wǎng)絡拓撲圖
網(wǎng)絡拓撲圖繪制過程如下所示:
計算中心點坐標(Px,Py),Px=W/2,Py=H/2;W為顯示區(qū)域的寬度,H為顯示區(qū)域的高度;
計算中心點圖片的左下角(P1x,P1y)和右上角(Prx,Pry)坐標,P1x=Px-Pw/2,P1y=Py-Ph/2,Prx=Px+,Pry=Py+Ph/2;Pw為圖片寬度,Ph為圖片高度
計算各節(jié)點坐標(,),=Rcos(2πi/n),=Rsin(2πi/n);R為節(jié)點到中心節(jié)點的連線長度,取值范圍為+MAX(Pw/2,Ph/2)= 計算各節(jié)點圖像左下角()和右上角()坐標; 當集群的并行節(jié)點分別為0,2,4,6,8,12個時資源占用情況如表1所示。 表1 不同節(jié)點展示時資源占用情況 節(jié)點個數(shù) CPU利用率(%) 內(nèi)存占用(K) 0 10 195323 2 12.5 195523 4 13 195723 6 14.3 195923 8 15.2 196323 12 16 198323 上述中心節(jié)點的CPU是八核的內(nèi)存是5824MB,由表可以看出隨著計算節(jié)點的增加,CPU和內(nèi)存的占用都會增加,但是增加的不是很多,但是通常情況下,負載超過85%機器性能就會降低,進而影像任務的執(zhí)行,這方面研究有待提高。 4結束語 本文通過研究集群資源管理技術,在參數(shù)反演集群計算平臺的數(shù)據(jù)組織和檢索時采用基于新型的五層十五級分級標準和直接尋址檢索方式,實現(xiàn)了遙感數(shù)據(jù)的快速檢索,在任務組織和分配時采用基于節(jié)點優(yōu)先級和基于任務優(yōu)先級相結合的任務調(diào)度策略,從而實現(xiàn)任務的快速有效分配,進而保證任務的高效執(zhí)行,在節(jié)點資源管理方面,采用基于Stuart K.Card等人提出的CARD信息可視化模型,設計出了節(jié)點可視化方案,從不同層次對節(jié)點資源進行管理。然而,論文研究的方法還存在一定的局限性,在面對節(jié)點過多的時候,任務實行效率方面、參數(shù)反演集群計算平臺穩(wěn)定性方面能力表現(xiàn)不足,接下來將從資源釋放、內(nèi)存管理方面等進行研究。 參考文獻 [1] Alain Merigo,Alfredo Petrosino.Parrllel Process-Inge for Image and Video Processing: issues and challenges[J].Parallel Computing,2008,34(12):694-699. [2] 劉愛珍,王嘉禎.改進的多任務分配與調(diào)度遺傳算法[J].微電子學與計算機,2007,24(9):162-165. [3] Flynn M J.Very high-seed computing systems [J].Proc of the IEEE,1996,54(12):1901-1909. [4] 李敬.集群系統(tǒng)集中管理平臺的研究與實現(xiàn)[D].西安:西北工業(yè)大學,2004. [5] 王棟,鄭逢斌,賴積保,等.基于五層十五級遙感數(shù)據(jù)結構的并行算法研究.微計算機信息,2012,(1):166-167. [6] 曾志,劉仁義.一種基于分塊的遙感影像并行處理機制[J].浙江大學學報,2012,39(2):135-141. [7] 沈占鋒,駱劍承,陳秋曉.高分辨率遙感影像并行處理數(shù)據(jù)分配策略研究[J].哈爾濱工業(yè)大學學報,2006,38(11):1968-1971. [8] CARD SK,MACKINLAY J D,SHNEIDERMAN B.Readings in Information Visualization; Using Vision to Think[M].San Francisco:Morgan Kaufmann,1999:109. [9] 楊彥波,劉濱,祁明月.信息可視化研究綜述[J].河北科技大學學報,2014,35(1):91-102. [10] 任磊,王威信,周明駿,等.一種模型驅(qū)動的交互式信息可視化開發(fā)方法[J].軟件學報,2008,19(8):1947-1967. 作者簡介 王一民(1992-),男,本科,助理工程師,主要研究領域為人工智能、集群、遙感、數(shù)據(jù)挖掘、無線電、衛(wèi)星通信。