摘要:對(duì)網(wǎng)格資源的含義及目的作了介紹,給出了資源管理的實(shí)現(xiàn)過程。在計(jì)算網(wǎng)格資源管理模型Globus的基礎(chǔ)上。提出了網(wǎng)格資源管理中作業(yè)管理的并行化,對(duì)各個(gè)管理部分做了具體的描述。提出了作業(yè)并行分析器,實(shí)現(xiàn)作業(yè)管理的并行化,在一定程度上縮短了作業(yè)管理的時(shí)間,提高了作業(yè)管理的效率。其中對(duì)作業(yè)并行分析器進(jìn)行了詳盡的描述,使其根據(jù)各任務(wù)的依賴關(guān)系將作業(yè)中的任務(wù)劃分為不同的任務(wù)組,并對(duì)每個(gè)任務(wù)組進(jìn)行適當(dāng)描述后提交給資源分配器。
關(guān)鍵詞:計(jì)算網(wǎng)格;資源管理;Globus;DUROC:GRAM
0 引言
網(wǎng)格資源指所有能夠通過網(wǎng)格遠(yuǎn)程使用的實(shí)體,包括計(jì)算機(jī)軟件、計(jì)算機(jī)硬件、設(shè)備和儀器等。網(wǎng)格的核心優(yōu)勢(shì)在于它能發(fā)現(xiàn)、分配并協(xié)調(diào)使用網(wǎng)絡(luò)可以達(dá)到的范圍內(nèi)的各種能力——它們可以是計(jì)算機(jī)提供的計(jì)算服務(wù)、軟件提供的應(yīng)用服務(wù)、網(wǎng)絡(luò)提供的帶寬或者是存儲(chǔ)系統(tǒng)提供的存儲(chǔ)空間。
資源管理的核心目的就是要在資源提供者和資源消費(fèi)者之間建立一種共同協(xié)議,通過該協(xié)議資源提供者同意提供用于代表資源消費(fèi)者執(zhí)行某項(xiàng)任務(wù)的能力。資源管理的目的總結(jié)起來有以下三點(diǎn):
(1)為用戶提供訪問資源的簡(jiǎn)單接口,將實(shí)際使用資源的具體細(xì)節(jié)隱藏起來,用戶看到的是一個(gè)經(jīng)過抽象的資源。
(2)協(xié)調(diào)資源的共享使用,既要支持多個(gè)請(qǐng)求者請(qǐng)求使用同一個(gè)資源的需要,也要支持請(qǐng)求者使用多個(gè)資源的需要。
(3)資源管理者還要代替請(qǐng)求者去使用資源,并建立安全的網(wǎng)格資源使用機(jī)制。
1 資源管理的實(shí)現(xiàn)過程
資源管理的整個(gè)過程如圖1所示。下面介紹每一步的過程,標(biāo)號(hào)對(duì)應(yīng)圖中的數(shù)字。
(1)網(wǎng)格資源開始其生命周期的第—步是向資源管理器注冊(cè)。
(2)資源管理器把資源的注冊(cè)信息寫到資源信息數(shù)據(jù)庫中。注冊(cè)之后的資源就成了網(wǎng)格資源。
(3)用戶需要資源時(shí),向資源管理器提出請(qǐng)求。
(4)資源管理器從資源信息數(shù)據(jù)庫中獲得匹配資源的信息,并返回給用戶。
(5)有了資源信息,用戶就可以同資源之間進(jìn)行各種交互。
如果資源不想繼續(xù)在網(wǎng)格上存在,可向資源管理器請(qǐng)求注銷,資源信息數(shù)據(jù)庫中該資源的信息將被相應(yīng)清除,該資源作為網(wǎng)格資源的生命周期就結(jié)束了。
2 資源管理結(jié)構(gòu)
Globus項(xiàng)目組在網(wǎng)格協(xié)議制定上有重要發(fā)言權(quán),包括IBM、Microsoft、Sun、Compaq、SGI、NEC在內(nèi)的眾多重要公司都宣布支持Globus Toolkit。因此Globus所采用的分層模型代表了網(wǎng)格資源管理的發(fā)展趨勢(shì)。本文主要采用Globus資源管理結(jié)構(gòu),并在其基礎(chǔ)上加以優(yōu)化實(shí)現(xiàn)。
2.1 作業(yè)并行分析器
GRAM和本地資源管理器打交道,負(fù)責(zé)處理來自遠(yuǎn)程應(yīng)用的資源請(qǐng)求,為請(qǐng)求資源的應(yīng)用分配資源,并管理作業(yè)的執(zhí)行過程。它主要由門衛(wèi)和作業(yè)管理器兩部分組成。GRAM API可以實(shí)現(xiàn)作業(yè)的提交、作業(yè)的取消及查詢已經(jīng)提交了的作業(yè)狀態(tài);然后將請(qǐng)求提交給作業(yè)管理器。這個(gè)請(qǐng)求包括該作業(yè)中所含的多個(gè)任務(wù)的相關(guān)信息、任務(wù)間的依賴關(guān)系及每個(gè)任務(wù)的計(jì)算資源需求。作業(yè)并行分析器分析該作業(yè)中的任務(wù)及相互關(guān)系,根據(jù)各任務(wù)的依賴關(guān)系將作業(yè)中的任務(wù)劃分為不同的任務(wù)組,并對(duì)每個(gè)任務(wù)組進(jìn)行適當(dāng)描述后提交給資源分配器。
每一個(gè)作業(yè)又由若干個(gè)任務(wù)組成,為了考慮任務(wù)的執(zhí)行時(shí)間以及通信時(shí)間,可以將任務(wù)分成若干個(gè)并行段即任務(wù)組,然后實(shí)現(xiàn)并行分析及運(yùn)行。
并行段是一個(gè)可并行執(zhí)行的任務(wù)序列,這個(gè)序列中的任務(wù)之間沒有優(yōu)先約束關(guān)系。實(shí)現(xiàn)的算法為:
(1)將開始節(jié)點(diǎn)作為第一個(gè)并行段中的一個(gè)節(jié)點(diǎn)。
(2)考查主序列的下一個(gè)節(jié)點(diǎn),如果該節(jié)點(diǎn)與當(dāng)前并行段的任何節(jié)點(diǎn)都無優(yōu)先約束關(guān)系,則將這個(gè)節(jié)點(diǎn)加入當(dāng)前并行段;否則生成一個(gè)新的并行段作為當(dāng)前并行段,該節(jié)點(diǎn)作為當(dāng)前并行段的第一個(gè)節(jié)點(diǎn)。
(3)繼續(xù)第二步,直到遇到第一個(gè)出分支節(jié)點(diǎn)為止。
(4)將主序列中所有出分支節(jié)點(diǎn)按其優(yōu)先約束關(guān)系插入到各并行段中。
形成并行段之后,再按照短作業(yè)優(yōu)先的調(diào)度規(guī)則將各個(gè)并行段即任務(wù)組分配到本地資源管理器。這種按照短作業(yè)優(yōu)先的調(diào)度規(guī)則增強(qiáng)了單位時(shí)間內(nèi)作業(yè)完成的吞吐量,提高了系統(tǒng)的周轉(zhuǎn)效率。
并行段調(diào)度:
當(dāng)將任務(wù)分成若干并行段之后,按照短作業(yè)優(yōu)先的原則,采用經(jīng)理/雇員模式進(jìn)行調(diào)度。經(jīng)理負(fù)責(zé)任務(wù)分配,每個(gè)雇員(并行段)重復(fù)從經(jīng)理那里請(qǐng)求并執(zhí)行具體任務(wù)。
2.2 DUROC
DUROC即協(xié)同分配器,執(zhí)行由底層資源規(guī)范描述的資源分配。它可以直接為用戶獲得資源。DUROC的請(qǐng)求分配語法是,一個(gè)高層請(qǐng)求。包含多個(gè)組成部分,每個(gè)部分代表一個(gè)本地資源管理器請(qǐng)求,該請(qǐng)求被DUROC作為其分配的分布式作業(yè)的一部分。DUROC將抽取底層多重請(qǐng)求的每個(gè)組成部分,去掉面向DUROC的部分,然后把請(qǐng)求提交給指定的本地資源管理器。
DUROC可以實(shí)現(xiàn)協(xié)同分配,通過本地資源管理器API和協(xié)同分配器實(shí)現(xiàn)作業(yè)開始的原子操作和協(xié)同分布式處理,獲得DUROC的布局,發(fā)送一個(gè)字節(jié)向量到DUROC作業(yè)中的其他子作業(yè),接收DUROC作業(yè)中的其他子作業(yè)發(fā)送的一個(gè)字節(jié)向量,獲得本地子作業(yè)進(jìn)程的級(jí)別和大小,發(fā)送一個(gè)字節(jié)向量到DUROC子作業(yè)的其他進(jìn)程,接收DUROC子作業(yè)中的其他進(jìn)程發(fā)送的一個(gè)字節(jié)向量。
2.3 Condor
Condor是高吞吐率的調(diào)度器。采用樂觀的調(diào)度方法。它管理客戶和管理系統(tǒng)之間的任務(wù)服務(wù)等級(jí)協(xié)議。通過提交服務(wù)和單個(gè)資源之間建立更為具體的資源服務(wù)等級(jí)協(xié)議和任務(wù)服務(wù)等級(jí)協(xié)議,Condor實(shí)現(xiàn)了客戶端任務(wù)服務(wù)等級(jí)協(xié)議。這些低級(jí)別的作業(yè)執(zhí)行用戶任務(wù)并且保存進(jìn)出資源的檢查點(diǎn)數(shù)據(jù)。
3 結(jié)束語
本文首先對(duì)資源管理的概念及目的進(jìn)行了簡(jiǎn)述,然后在網(wǎng)格資源管理基礎(chǔ)上,對(duì)作業(yè)管理實(shí)行并行化,以提高作業(yè)處理的速度,縮短處理時(shí)間;對(duì)網(wǎng)格資源的管理在一定程度上進(jìn)行了優(yōu)化;最后對(duì)計(jì)算網(wǎng)格資源管理的各個(gè)部分進(jìn)行了詳細(xì)的描述。