一種基于統(tǒng)計(jì)信息的網(wǎng)格資源組織及任務(wù)調(diào)度
摘要:對(duì)分布的網(wǎng)格資源進(jìn)行有效地組織與調(diào)度是實(shí)現(xiàn)網(wǎng)格計(jì)算的關(guān)鍵。基于分層的思想,提出了一種改進(jìn)的網(wǎng)格資源組織方式,引入了資源統(tǒng)計(jì)信息表及負(fù)載信息表。在資源調(diào)度的過程中,通過維護(hù)并匹配相關(guān)的統(tǒng)計(jì)信息,能夠快速地查找資源,避免了資源發(fā)現(xiàn)的盲目性,縮短了資源的查找時(shí)間,同時(shí)兼顧了網(wǎng)格系統(tǒng)內(nèi)部的負(fù)載平衡,有效地提高了網(wǎng)格系統(tǒng)的性能。
關(guān)鍵詞:統(tǒng)計(jì)信息;網(wǎng)格;資源管理;調(diào)度
0 引言
所謂網(wǎng)格,就是把整個(gè)因特網(wǎng)整合成一臺(tái)巨大的超級(jí)計(jì)算機(jī),實(shí)現(xiàn)計(jì)算資源、存儲(chǔ)資源、數(shù)據(jù)資源、信息資源、知識(shí)資源和專家資源的全面共享。這種計(jì)算模式是利用互聯(lián)網(wǎng)將分散在不同地理位置的計(jì)算機(jī)組織成一個(gè)“虛擬的超級(jí)計(jì)算機(jī)”,其中每一臺(tái)參與計(jì)算的計(jì)算機(jī)就是一個(gè)“節(jié)點(diǎn)”,而整個(gè)計(jì)算機(jī)系統(tǒng)由成千上萬個(gè)“節(jié)點(diǎn)”組成“一張網(wǎng)格”。在網(wǎng)格計(jì)算環(huán)境下,由于資源的異構(gòu)性、動(dòng)態(tài)性、自治性以及網(wǎng)格任務(wù)的多樣性,使得資源的組織與調(diào)度成為網(wǎng)格計(jì)算效率的關(guān)鍵問題。如何有效地對(duì)網(wǎng)格資源進(jìn)行組織與調(diào)度,本文結(jié)合網(wǎng)格資源調(diào)度過程中的相關(guān)統(tǒng)計(jì)信息,提出了一種分層資源組織方式及調(diào)度方法,有效地縮短了資源的查找時(shí)間,提高了資源的利用率,同時(shí)兼顧了網(wǎng)格系統(tǒng)的負(fù)載平衡。
1 網(wǎng)格資源管理及調(diào)度
網(wǎng)格中的資源具有廣域分布、異構(gòu)和動(dòng)態(tài)的特性。當(dāng)前還沒有一種模型能夠處理所有的網(wǎng)格應(yīng)用需求。目前,網(wǎng)格資源管理模型主要分為分層模型、抽象所有者模型和經(jīng)濟(jì)/市場(chǎng)模型三類。其中,分層模型已被大部分的網(wǎng)格計(jì)算系統(tǒng)所采用(如Globus,Legion,CCS等),是目前主流的資源管理模型,它的基本思想是將整個(gè)資源管理系統(tǒng)分成若干功能層,較高層次的組件可以利用較低層次組件提供的服務(wù)實(shí)現(xiàn)自身的功能,有利于對(duì)具有站點(diǎn)自治性和底層異構(gòu)性資源進(jìn)行管理,并具有較強(qiáng)的適用性。
資源發(fā)現(xiàn)是網(wǎng)格資源調(diào)度的核心內(nèi)容,它根據(jù)一個(gè)任務(wù)對(duì)資源需求的描述,通過發(fā)現(xiàn)機(jī)制返回一個(gè)或多個(gè)與描述相匹配的資源位置。在該過程中,資源發(fā)現(xiàn)機(jī)制從網(wǎng)格資源信息服務(wù)(Grid Resource InformationServices,GRIS)機(jī)構(gòu)獲得資源信息,逐次查詢,找到滿足任務(wù)需求的資源。網(wǎng)格資源信息服務(wù)可分為集中式和分布式兩種機(jī)制。集中式機(jī)制查詢效率高,但擴(kuò)展性不足,并存在單點(diǎn)失效和訪問瓶頸問題;分布式機(jī)制具有較高的自治性和可擴(kuò)展性,節(jié)點(diǎn)可以隨時(shí)加入網(wǎng)絡(luò)或離開,但在資源發(fā)現(xiàn)時(shí)具有一定的盲目性,基于泛洪或廣播的資源發(fā)現(xiàn)效率較低,缺乏全局性的控制協(xié)調(diào)能力??傊?,從資源發(fā)現(xiàn)過程來看,無論是采用集中式還是分布式,在資源調(diào)度中均占有很大的開銷,是影響資源調(diào)度的關(guān)鍵所在。
2 一種網(wǎng)格資源分層組織結(jié)構(gòu)
基于網(wǎng)格環(huán)境的異構(gòu)性、動(dòng)態(tài)性和自治性特點(diǎn),提出一種分層的資源組織方式,其結(jié)構(gòu)如圖1所示。
該結(jié)構(gòu)主要由根服務(wù)器、域代理服務(wù)器和資源節(jié)點(diǎn)層三個(gè)層次組成。其中每一層可以由若干個(gè)組件來實(shí)現(xiàn)其功能,每個(gè)域代理服務(wù)器與其下面的節(jié)點(diǎn)構(gòu)成一個(gè)獨(dú)立的資源自治域。
根服務(wù)器主要用于管理域的劃分,管理分布在網(wǎng)格內(nèi)的各個(gè)資源自治域,負(fù)責(zé)收集各個(gè)域的資源情況以及把用戶作業(yè)分配給各個(gè)自治域執(zhí)行。域的劃分遵循同構(gòu)的原則,即把具有相同或相似屬性和功能的資源劃分到同一個(gè)域。其主要功能如下:集中接收用戶的應(yīng)用請(qǐng)求;監(jiān)控各個(gè)自治域的當(dāng)前狀況;將用戶作業(yè)分發(fā)給各域代理服務(wù)器;監(jiān)控用戶作業(yè)執(zhí)行情況,接收?qǐng)?zhí)行結(jié)果,對(duì)于由于某種原因?qū)е伦鳂I(yè)無法正常執(zhí)行而中斷的作業(yè)進(jìn)行重新調(diào)度;向用戶提交執(zhí)行結(jié)果。
域代理服務(wù)器主要用于向根服務(wù)器報(bào)告域內(nèi)資源情況和作業(yè)執(zhí)行情況以及管理該資源自治域內(nèi)的網(wǎng)格資源。其主要功能如下:接收根服務(wù)器(或上級(jí)域代理服務(wù)器)分發(fā)的用戶作業(yè),若作業(yè)不符合要求,則將作業(yè)退回給根服務(wù)器(或上級(jí)域代理服務(wù)器);進(jìn)行資源匹配、定位資源并進(jìn)行調(diào)度,若有下級(jí)域代理服務(wù)器,則向下級(jí)域代理服務(wù)器分發(fā)用戶作業(yè);監(jiān)控用戶作業(yè)執(zhí)行情況,接收?qǐng)?zhí)行結(jié)果,并向根服務(wù)器或上級(jí)域代理服務(wù)器提交執(zhí)行結(jié)果。
網(wǎng)格資源層是將地理上分布的、功能相對(duì)集中的、在異構(gòu)平臺(tái)上協(xié)同工作的資源(包含各種類型的網(wǎng)格資源和服務(wù)資源),根據(jù)其功能和類型,組建成不同的虛擬組織(Virtual Organization,VO),VO的建立基于資源屬性分類并結(jié)合地理位置,由域代理服務(wù)器管理。每個(gè)資源節(jié)點(diǎn)都只受它所對(duì)應(yīng)的代理服務(wù)器的管理。
3 資源組織方式
為了提高資源調(diào)度的成功率,縮短資源查找的時(shí)間,保證網(wǎng)格內(nèi)的負(fù)載平衡,在根服務(wù)器和域代理服務(wù)器各增加兩個(gè)表:負(fù)載信息表和資源統(tǒng)計(jì)信息表。負(fù)載信息表用于統(tǒng)計(jì)下級(jí)域代理服務(wù)器的負(fù)載信息,若沒有下級(jí)域代理服務(wù)器,則該表直接統(tǒng)計(jì)每個(gè)資源節(jié)點(diǎn)的負(fù)載信息,主要包括資源節(jié)點(diǎn)當(dāng)前各項(xiàng)資源的使用情況,如CPU利用率、內(nèi)存使用情況等;資源統(tǒng)計(jì)信息表用于記錄最近調(diào)度成功的相關(guān)信息。對(duì)于根服務(wù)器,主要記錄一段時(shí)間內(nèi)通過各代理服務(wù)器調(diào)度成功過且訪問頻率高的代理服務(wù)器信息;對(duì)于域代理服務(wù)器,記錄該自治域內(nèi)近期成功調(diào)度的資源信息,如資源ID、資源類型、訪問時(shí)間、訪問頻率等。對(duì)于兩個(gè)表中的所有記錄信息按訪問時(shí)間和訪問頻率進(jìn)行排序。當(dāng)表中記錄滿時(shí),使用近期最少使甩算法(Least Resently Used,LRU)將一段時(shí)間內(nèi)使用最少的記錄信息項(xiàng)替換出去。
4 調(diào)度機(jī)制
對(duì)于分層結(jié)構(gòu)進(jìn)行資源分配任務(wù)調(diào)度時(shí)采用的是多層次的資源協(xié)作的策略。首先,根服務(wù)器集中接收所有用戶提交的作業(yè)請(qǐng)求,依據(jù)Min-min算法確定作業(yè)的優(yōu)先級(jí),然后根據(jù)任務(wù)性質(zhì)、通信狀況、各個(gè)域代理服務(wù)器提供的自治域內(nèi)的資源情況和各域代理服務(wù)器的資源負(fù)載情況進(jìn)行粗粒度調(diào)度,最后再由域代理服務(wù)器根據(jù)自治域內(nèi)的資源情況以及各個(gè)資源的負(fù)載信息進(jìn)行作業(yè)調(diào)度。具體算法如下:
(1)根服務(wù)器接收用戶提交的作業(yè)請(qǐng)求,通過資源統(tǒng)計(jì)信息表查找調(diào)度成功率高的域代理器,同時(shí)兼顧代理服務(wù)器的負(fù)載信息,若域代理服務(wù)器負(fù)載較輕,則將用戶作業(yè)分發(fā)給該域代理服務(wù)器;若域代理服務(wù)器負(fù)載較重,則重新在資源統(tǒng)計(jì)信息表中查找下一個(gè)域代理服務(wù)器,直到找到一個(gè)負(fù)載較輕的域代理服務(wù)器。主要算法思想描述如下:
初始化;
依據(jù)Min-min算法確定作業(yè)的優(yōu)先級(jí),選定作業(yè);
do(資源統(tǒng)計(jì)信息表未空)
在資源統(tǒng)計(jì)信息表中查找最近使用且調(diào)度成功率高的域代理服務(wù)器;
if(該域代理服務(wù)器的負(fù)載較輕)then
將用戶作業(yè)分配給該域代理服務(wù)器;
修改資源統(tǒng)計(jì)信息表;
修改負(fù)載信息表;
exit do
else
重新在資源統(tǒng)計(jì)信息表中查找下一個(gè)域代理服務(wù)器;
endif
enddo
(2)域代理服務(wù)器接收到根服務(wù)器分發(fā)的作業(yè),若有下級(jí)域代理服務(wù)器,則對(duì)作業(yè)進(jìn)行下一級(jí)的分發(fā),方法同根服務(wù)器;否則,根據(jù)作業(yè)的特性,如CPU要求、 內(nèi)存使用量、操作系統(tǒng)版本、磁盤空間等信息在資源統(tǒng)計(jì)信息表中查找相關(guān)資源節(jié)點(diǎn)信息并進(jìn)行資源匹配,同時(shí)兼顧資源節(jié)點(diǎn)的負(fù)載情況。若滿足,則執(zhí)行作業(yè),并將作業(yè)執(zhí)行情況及結(jié)果報(bào)告給根服務(wù)器或上級(jí)域代理服務(wù)器;若匹配不到合適的資源節(jié)點(diǎn),則到GRIS進(jìn)行查找獲取資源。當(dāng)二者中均找不到合適資源時(shí),則告知根服務(wù)器進(jìn)行重新調(diào)度。主要算法思想描述如下:
初始化;
do while.t.
if(有來自上一級(jí)的作業(yè))then
if(有下級(jí)域代理服務(wù)器)then
繼續(xù)向下分發(fā)作業(yè);
else
do while(資源統(tǒng)計(jì)信息表未空)
根據(jù)作業(yè)的特性在資源統(tǒng)計(jì)信息表中查找資源節(jié)點(diǎn)信息并進(jìn)行資源匹配;
if(資源節(jié)點(diǎn)負(fù)載較輕)then
修改節(jié)點(diǎn)負(fù)載表;
將作業(yè)調(diào)度給該資源節(jié)點(diǎn)執(zhí)行;
if(執(zhí)行成功)then
修改資源統(tǒng)計(jì)信息表;
向根服務(wù)器或上級(jí)域代理服務(wù)器報(bào)告結(jié)果;
else
域代理服務(wù)器重新調(diào)度;
endif
endif
enddo
endif
enddo
5 結(jié)語
針對(duì)網(wǎng)格環(huán)境下的資源特點(diǎn),提出了一種分層的網(wǎng)格資源組織與任務(wù)調(diào)度方式,并在此基礎(chǔ)上引入了負(fù)載信息表和資源統(tǒng)計(jì)信息表。在資源查找方式上,改變了傳統(tǒng)資源查找的盲目性,提高了資源查找效率,同時(shí)兼顧了網(wǎng)格系統(tǒng)內(nèi)部的負(fù)載平衡,使網(wǎng)格環(huán)境的性能得以提高。以后將進(jìn)一步研究如何在網(wǎng)格系統(tǒng)結(jié)構(gòu)上更好地實(shí)現(xiàn)相應(yīng)的QoS保證。