專(zhuān)利名稱(chēng):運(yùn)用移動(dòng)代理實(shí)現(xiàn)網(wǎng)格作業(yè)調(diào)度的方法
技術(shù)領(lǐng)域:
本發(fā)明是一種用于在網(wǎng)格計(jì)算環(huán)境下,使用移動(dòng)代理實(shí)現(xiàn)作業(yè)調(diào)度的方案,屬于網(wǎng)格計(jì)算和分布式計(jì)算的交叉技術(shù)應(yīng)用領(lǐng)域。
背景技術(shù):
網(wǎng)格計(jì)算是伴隨著互聯(lián)網(wǎng)技術(shù)而迅速發(fā)展起來(lái)的,專(zhuān)門(mén)針對(duì)復(fù)雜科學(xué)計(jì)算的新型計(jì)算模式。網(wǎng)格計(jì)算著眼于大型應(yīng)用項(xiàng)目,在動(dòng)態(tài)變化的,擁有多個(gè)部門(mén)或團(tuán)體的復(fù)雜虛擬組織內(nèi),靈活、安全地協(xié)同資源共享與問(wèn)題求解。所謂虛擬組織就是一些個(gè)人、組織或者資源的動(dòng)態(tài)組合。在網(wǎng)格計(jì)算環(huán)境中,由不同的自治域而形成的虛擬組織如圖1所示。
在網(wǎng)格計(jì)算環(huán)境中,用戶(hù)通常是以提交作業(yè)的方式來(lái)使用資源的。作業(yè)是用戶(hù)代碼、數(shù)據(jù)、任務(wù)和相關(guān)資源描述信息的集合。作業(yè)調(diào)度使得共享資源的各個(gè)作業(yè)獲得最大的性能。作業(yè)調(diào)度有兩個(gè)不同的目標(biāo),即高性能計(jì)算和高吞吐量計(jì)算。前者著眼于每個(gè)應(yīng)用程序執(zhí)行時(shí)間的最小化,通常采用平行處理的方式。而后者著眼于在一個(gè)長(zhǎng)的時(shí)間周期中,通過(guò)調(diào)度一系列獨(dú)立的任務(wù)來(lái)增加系統(tǒng)的處理能力。
目前基本的作業(yè)調(diào)度算法有用戶(hù)直接指派UDA(User Direct Assigning)算法和最短完成時(shí)間MCT算法。
用戶(hù)直接指派算法的主要思想是,每個(gè)作業(yè)都由用戶(hù)直接指派在哪個(gè)網(wǎng)格資源上執(zhí)行。指派者并不需要了解被指派資源的狀態(tài)如何。這種情況的作業(yè)管理器只是代替用戶(hù)傳輸?shù)侥康牡囟眩劣谧鳂I(yè)什么時(shí)候才能夠執(zhí)行,就要看資源當(dāng)時(shí)的狀態(tài)了。如果資源碰巧空閑或輕載,作業(yè)很快就可以運(yùn)行;如果資源正好重載,作業(yè)什么時(shí)候運(yùn)行,取決于資源本地的作業(yè)管理策略。
這種算法的優(yōu)點(diǎn)在于簡(jiǎn)單,實(shí)現(xiàn)容易,但是其缺點(diǎn)顯然而致命,作業(yè)的響應(yīng)時(shí)間沒(méi)有得到保證,從作業(yè)提交到最后執(zhí)行完成所需要的時(shí)間完全是一個(gè)不定值,且不處在望個(gè)管理機(jī)構(gòu)的管轄范圍之內(nèi)。
該算法給用戶(hù)提供了指定網(wǎng)格資源的機(jī)會(huì),因此用戶(hù)指定資源的能力會(huì)影響作業(yè)執(zhí)行結(jié)束的時(shí)限。一個(gè)比較了解網(wǎng)格結(jié)構(gòu)和工作原理的專(zhuān)業(yè)人員,可以通過(guò)網(wǎng)格信息服務(wù)在查詢(xún)了網(wǎng)格信息的情況下,把作業(yè)指定到合適的資源上執(zhí)行,這樣可以做到在盡可能短的時(shí)間內(nèi)執(zhí)行完作業(yè)。但是它并不能保證作業(yè)在資源輕載的情況下快速完成,因?yàn)槠渌脩?hù)也會(huì)在同時(shí)把自己的作業(yè)指派給同一個(gè)資源執(zhí)行。
最短完成時(shí)間(Minimum Completion Time,MCT)算法是從任意的順序指派每個(gè)任務(wù)到具有最好期望完成時(shí)間的節(jié)點(diǎn),而不考慮該節(jié)點(diǎn)是否對(duì)任務(wù)具有最短執(zhí)行時(shí)間。該算法也稱(chēng)為快速貪心(Fast Greedy)算法。該算法注重的是最早執(zhí)行結(jié)束時(shí)間,而不是最短執(zhí)行時(shí)間。
最短完成時(shí)間作業(yè)調(diào)度算法,關(guān)心的是盡可能早地完成作業(yè),合適調(diào)度要求快速響應(yīng)的作業(yè),這可能導(dǎo)致作業(yè)請(qǐng)求者付出比較大的代價(jià),因?yàn)樽鳂I(yè)在資源上運(yùn)行的時(shí)間可能較長(zhǎng)。
發(fā)明內(nèi)容
技術(shù)問(wèn)題本發(fā)明的目的是提供一種運(yùn)用移動(dòng)代理來(lái)實(shí)現(xiàn)網(wǎng)格環(huán)境中作業(yè)調(diào)度的方法。通過(guò)使用本發(fā)明提出的方法可以實(shí)現(xiàn)對(duì)網(wǎng)格中資源和作業(yè)管理的自適應(yīng),降低網(wǎng)格通信量,提高網(wǎng)絡(luò)的利用率,形成作業(yè)的并行求解,從而達(dá)到提高網(wǎng)格資源的利用效率和網(wǎng)格計(jì)算的執(zhí)行效率的目標(biāo)。
技術(shù)方案移動(dòng)代理技術(shù)是隨著Internet(因特網(wǎng))的發(fā)展而出現(xiàn)的一種新興技術(shù),是分布式計(jì)算技術(shù)和人工智能結(jié)合的產(chǎn)物。移動(dòng)代理是一個(gè)能在異構(gòu)網(wǎng)絡(luò)中,按照一定的規(guī)程自主地從一臺(tái)主機(jī)遷移到另一臺(tái)主機(jī),并可與其他移動(dòng)代理或資源交互,代表用戶(hù)完成特定的任務(wù)的程序。實(shí)際上它是代理技術(shù)和分布式計(jì)算技術(shù)的結(jié)合體。
網(wǎng)格的最終目的就是為了給用戶(hù)提供一種進(jìn)行高性能計(jì)算的便利環(huán)境。為了使我們的作業(yè)執(zhí)行盡可能靠近數(shù)據(jù)源,降低網(wǎng)絡(luò)通信開(kāi)銷(xiāo),節(jié)省帶寬,平衡負(fù)載,加快任務(wù)的執(zhí)行,從而提高分布式系統(tǒng)的處理效率,我們提出了一種基于移動(dòng)代理的作業(yè)調(diào)度方案。對(duì)于網(wǎng)格中需要處理的作業(yè),使用分解代理將其分解,依靠網(wǎng)格中的管理系統(tǒng)所提供的信息,并利用移動(dòng)代理(Mobile代理)將其遷移至合適的資源上執(zhí)行。
網(wǎng)格計(jì)算環(huán)境中的作業(yè)調(diào)度包括作業(yè)分解、資源發(fā)現(xiàn)與選取、任務(wù)分配、任務(wù)運(yùn)行、任務(wù)監(jiān)視與恢復(fù)、任務(wù)協(xié)調(diào)與集成等六個(gè)方面。運(yùn)用移動(dòng)代理實(shí)現(xiàn)作業(yè)調(diào)度的具體步驟如下1)網(wǎng)格節(jié)點(diǎn)中的用戶(hù)將作業(yè)提交給作業(yè)管理代理;2)作業(yè)管理代理為用戶(hù)提交的作業(yè)創(chuàng)建作業(yè)控制代理,該作業(yè)控制代理負(fù)責(zé)作業(yè)的管理和控制;3)作業(yè)控制代理創(chuàng)建作業(yè)分解代理,作業(yè)分解代理根據(jù)作業(yè)的大小、權(quán)限等性質(zhì)和分解策略把用戶(hù)作業(yè)分解為若干部分;4)作業(yè)控制代理創(chuàng)建資源選取代理,資源選取代理與網(wǎng)格資源管理子系統(tǒng)進(jìn)行交互;資源選取代理根據(jù)提交該作業(yè)的節(jié)點(diǎn)所授予的權(quán)限對(duì)資源進(jìn)行第一次選取,再根據(jù)作業(yè)控制代理對(duì)作業(yè)資源要求的描述進(jìn)行第二次選取,兩次選取過(guò)程發(fā)生后,若干資源節(jié)點(diǎn)被該作業(yè)選中;5)作業(yè)分解代理與資源選取代理通過(guò)網(wǎng)格管理系統(tǒng)交互資源選取和作業(yè)分配的信息,并向作業(yè)控制代理報(bào)告其工作完成;6)作業(yè)控制代理創(chuàng)建作業(yè)分配代理,作業(yè)分配代理根據(jù)一定的作業(yè)分配策略,向步驟4)中已被選中的資源節(jié)點(diǎn)分配步驟3)中分解的子作業(yè);7)作業(yè)分配代理完成工作,向作業(yè)控制代理報(bào)告作業(yè)分配的情況;8)作業(yè)控制代理創(chuàng)建作業(yè)調(diào)度代理和作業(yè)監(jiān)視代理;9)作業(yè)調(diào)度代理根據(jù)與作業(yè)分配代理交互得到的信息創(chuàng)建若干個(gè)子作業(yè)代理,并把攜帶子作業(yè)的子作業(yè)代理發(fā)送到資源節(jié)點(diǎn)上;作業(yè)調(diào)度代理在創(chuàng)建這些子作業(yè)代理時(shí),需要考慮子作業(yè)代理傳輸安全性、資源預(yù)留、子作業(yè)代理與本地調(diào)度策略如何交互、子作業(yè)代理的運(yùn)行安全性等一系列問(wèn)題;10)作業(yè)調(diào)度代理向作業(yè)控制代理報(bào)告子作業(yè)代理的創(chuàng)建完成;11)作業(yè)控制代理創(chuàng)建作業(yè)協(xié)調(diào)代理,任務(wù)協(xié)調(diào)代理的主要任務(wù)是與子作業(yè)代理之間的協(xié)調(diào)與集成;12)作業(yè)監(jiān)視代理與子作業(yè)代理、作業(yè)協(xié)調(diào)代理之間進(jìn)行信息交互,并把作業(yè)執(zhí)行情況反饋給作業(yè)控制代理。若有某個(gè)子作業(yè)代理出現(xiàn)故障,則作業(yè)代理將把該信息反饋給作業(yè)控制代理,從第3)步起重新執(zhí)行;13)若干個(gè)子作業(yè)代理在各自轉(zhuǎn)移到的節(jié)點(diǎn)上,根據(jù)所在節(jié)點(diǎn)賦予的權(quán)限利用資源并行處理分配的作業(yè),并和作業(yè)調(diào)度代理交互協(xié)調(diào),將作業(yè)完成的集成信息反饋給作業(yè)協(xié)調(diào)代理;14)當(dāng)每個(gè)子作業(yè)代理攜帶的作業(yè)都全部完成,作業(yè)協(xié)調(diào)代理把綜合后的信息反饋給作業(yè)控制代理;15)作業(yè)控制代理向用戶(hù)提交作業(yè)的運(yùn)行結(jié)果。
有益效果(1)克服了響應(yīng)時(shí)間沒(méi)有得到保證和在資源上的運(yùn)行時(shí)間可能過(guò)長(zhǎng)等的缺點(diǎn)。
(2)在地域上分布的異構(gòu)網(wǎng)格計(jì)算環(huán)境下中能自主地將計(jì)算任務(wù)從一計(jì)節(jié)點(diǎn)遷移到另一節(jié)點(diǎn);并可與其它代理或資源交互以實(shí)現(xiàn)作業(yè)和資源的管理和自適應(yīng)。
(3)移動(dòng)代理可以遷移到網(wǎng)格計(jì)算環(huán)境的各級(jí)客戶(hù)服務(wù)器或中央服務(wù)器上,與之進(jìn)行本地高速通信,它不再占用網(wǎng)絡(luò)資源,從而大大降低了網(wǎng)格的通訊量,并提高了網(wǎng)絡(luò)資源的利用效率。
(4)移動(dòng)代理通過(guò)在局域網(wǎng)服務(wù)器之間雙向移動(dòng)來(lái)傳遞對(duì)應(yīng)的資源信息、負(fù)載信息、通訊量和任務(wù)執(zhí)行序列等信息。這些信息作為資源管理、負(fù)載平衡、通訊調(diào)整、任務(wù)調(diào)度等的參考依據(jù),移動(dòng)代理根據(jù)這些數(shù)據(jù)智能的判斷管理域的情況并做出相應(yīng)處理。這將大大改善系統(tǒng)的性能和智能化水平,提高網(wǎng)格計(jì)算的可靠性和執(zhí)行效率。
(5)移動(dòng)代理通過(guò)將服務(wù)器請(qǐng)求代理動(dòng)態(tài)遷移到其它server端執(zhí)行,使得此代理較小依賴(lài)網(wǎng)絡(luò)傳輸環(huán)節(jié)而直接面對(duì)要訪問(wèn)的服務(wù)器資源,從而避免了大量數(shù)據(jù)間的網(wǎng)絡(luò)傳送,降低了系統(tǒng)對(duì)網(wǎng)絡(luò)帶寬的依賴(lài)。
(6)在網(wǎng)格計(jì)算中,移動(dòng)代理不需要統(tǒng)一的調(diào)度。由用戶(hù)創(chuàng)建的代理可以異步在不同計(jì)算節(jié)點(diǎn)運(yùn)行,等任務(wù)完成再將結(jié)果傳送給用戶(hù)。同一用戶(hù)或同一計(jì)算節(jié)點(diǎn)可創(chuàng)建多種代理,同時(shí)在一個(gè)或多個(gè)節(jié)點(diǎn)運(yùn)行,形成并行求解的能力。
(7)移動(dòng)代理由于具有協(xié)作性和可移動(dòng)性,并且具有面向?qū)ο蟮奶卣髟诳紤]實(shí)現(xiàn)安全措施的時(shí)候我們就會(huì)有更多的彈性。
圖1是網(wǎng)格計(jì)算環(huán)境下的虛擬組織結(jié)構(gòu)示意圖。
圖2是基于移動(dòng)代理的網(wǎng)格作業(yè)調(diào)度系統(tǒng)的結(jié)構(gòu)圖。
圖3是網(wǎng)格作業(yè)的狀態(tài)轉(zhuǎn)換圖。
圖4是網(wǎng)格計(jì)算資源的實(shí)體構(gòu)成圖。
圖5是運(yùn)用移動(dòng)代理實(shí)現(xiàn)網(wǎng)格作業(yè)調(diào)度的流程圖。
具體實(shí)施例方式
一.體系結(jié)構(gòu)基于移動(dòng)代理的主要網(wǎng)格組件移動(dòng)代理支撐環(huán)境作為移動(dòng)代理運(yùn)行的中間件,提供移動(dòng)代理移動(dòng)、安全以及智能性的底層支持,可以與其它網(wǎng)格組件集成。
節(jié)點(diǎn)是網(wǎng)格計(jì)算資源的提供者,泛指各種設(shè)備、儀器等。
網(wǎng)格管理系統(tǒng)負(fù)責(zé)不同網(wǎng)格用戶(hù)對(duì)資源使用的統(tǒng)一指揮和協(xié)調(diào)處理;提供網(wǎng)格計(jì)算的信息服務(wù),可以采用基于移動(dòng)代理的信息查詢(xún)、搜集和發(fā)布方法。
作業(yè)代理是根據(jù)一定的作業(yè)描述規(guī)范生成的移動(dòng)代理(或子代理)用于協(xié)同完成一個(gè)復(fù)雜的網(wǎng)格計(jì)算任務(wù)。
網(wǎng)格作業(yè)調(diào)度系統(tǒng)的結(jié)構(gòu)網(wǎng)格計(jì)算環(huán)境中的作業(yè)調(diào)度包括作業(yè)分解、資源發(fā)現(xiàn)與選取、任務(wù)分配、任務(wù)運(yùn)行、任務(wù)監(jiān)視與恢復(fù)、任務(wù)協(xié)調(diào)與集成等六個(gè)方面。圖2給出了基于移動(dòng)代理的網(wǎng)格作業(yè)調(diào)度系統(tǒng)的結(jié)構(gòu)。
作業(yè)分解主要功能是將提交的任務(wù)分解成多個(gè)盡可能高并行度的子作業(yè),并決定有哪些代理在何時(shí)執(zhí)行它們。網(wǎng)格中的作業(yè)分解可以用按步驟分解、按功能分解、按數(shù)據(jù)分解三種方式進(jìn)行。
資源搜索和選取是一個(gè)兩邊匹配的進(jìn)程,應(yīng)包含如下四個(gè)步驟(1)資源擁有者應(yīng)該發(fā)布的資源及訪問(wèn)策略給資源媒介。
(2)資源媒介存儲(chǔ)這些資源的發(fā)布信息。
(3)資源請(qǐng)求者發(fā)布它的資源需求信息給資源媒介。
(4)資源媒介依據(jù)資源請(qǐng)求者的需求信息選取合適的資源集合給資源請(qǐng)求者。
任務(wù)分配我們假定提交的任務(wù)已分解成一組模塊并使模塊間的通信量盡可能小。還假定分配模式為一作業(yè)被分解為m個(gè)任務(wù)T={T1,T2,…,Tm},系統(tǒng)中有n個(gè)可利用的資源R={R1,R2,…,Rn}。任務(wù)分配的目的就是將這m個(gè)模塊分配到n個(gè)資源中,使預(yù)期的性能目標(biāo)函數(shù)值最小。
一般來(lái)說(shuō),m>n。為了便于分析問(wèn)題,我們可以建立下述六元組W=(T,R,<,Q,C,X),其中,T={T1,T2,…,Tm}是任務(wù)的集合;R={R1,R2,…,Rn}是資源的集合;“<”是T上的任務(wù)優(yōu)先關(guān)系,Ti<Tj表示任務(wù)Ti必須在任務(wù)Tj執(zhí)行之前完成;Q是一個(gè)m×n矩陣,其元素Qij表示任務(wù)Ti在資源Rj上的執(zhí)行時(shí)間(假設(shè)每個(gè)任務(wù)的運(yùn)行時(shí)間預(yù)先知道);C是一個(gè)m×n矩陣,Cij表示任務(wù)Ti與Tj之間的通信開(kāi)銷(xiāo);X是一個(gè)m×n的任務(wù)分配矩陣,其中Xij=1表示分配到上執(zhí)行,否則Xij=0。
任務(wù)運(yùn)行主要包括資源預(yù)留、提交任務(wù)到資源、準(zhǔn)備任務(wù)、任務(wù)在本地調(diào)度策略的管理下運(yùn)行任務(wù)等四個(gè)方面的內(nèi)容。
任務(wù)監(jiān)視和恢復(fù)各種資源分散于各地,需要進(jìn)行全局協(xié)調(diào)和管理,這些工作可以由代理程序來(lái)完成。除了完成特定的功能外,代理程序必須對(duì)全局性的監(jiān)控進(jìn)行支持。它們實(shí)時(shí)記錄下每個(gè)有潛在意義的事件,為全局的實(shí)時(shí)監(jiān)控提供支持。處于系統(tǒng)性能樞紐位置的代理程序,還需要記錄下某些關(guān)鍵性能參數(shù),支持對(duì)系統(tǒng)性能的分析和調(diào)整。
任務(wù)監(jiān)視有兩個(gè)目的①便于用戶(hù)與作業(yè)之間的交互。②及時(shí)為作業(yè)控制程序反饋信息,便于作業(yè)控制程序快速作出決策。
任務(wù)協(xié)調(diào)與集成我們可以通過(guò)一個(gè)協(xié)調(diào)者來(lái)完成任務(wù)間執(zhí)行的同步。當(dāng)所有任務(wù)執(zhí)行完畢后,我們必須將它們的執(zhí)行結(jié)果集成起來(lái),成為整個(gè)任務(wù)的結(jié)果。當(dāng)所有的子作業(yè)調(diào)度、執(zhí)行完畢之后,集成子作業(yè)的執(zhí)行結(jié)果作為一組既得的目標(biāo)知識(shí),它即為整個(gè)任務(wù)的結(jié)果。通過(guò)作為協(xié)調(diào)者的代理向所有的Task代理搜集它們執(zhí)行操作所獲得的知識(shí),便可以得到任務(wù)的執(zhí)行結(jié)果。
二.方法流程網(wǎng)格作業(yè)執(zhí)行流程一般情況下,網(wǎng)格作業(yè)的執(zhí)行都在遠(yuǎn)程節(jié)點(diǎn)上進(jìn)行,一個(gè)網(wǎng)格作業(yè)的完整流程由下面幾個(gè)步驟組成◆編寫(xiě)作業(yè)代碼,填寫(xiě)作業(yè)說(shuō)明書(shū),實(shí)現(xiàn)網(wǎng)格作業(yè)。一般使用常用的工具軟件在用戶(hù)本地或在網(wǎng)格上編輯實(shí)現(xiàn);◆通過(guò)網(wǎng)格客戶(hù)端提交作業(yè)。根據(jù)用戶(hù)使用的提交設(shè)備的不同和提交環(huán)境的差異可以有命令行提交和圖形用戶(hù)界面提交兩種方式。作業(yè)提交之后開(kāi)始運(yùn)行或等待執(zhí)行;◆查詢(xún)作業(yè)狀態(tài)。用戶(hù)提交作業(yè)之后,需要知道作業(yè)狀態(tài)時(shí),用網(wǎng)格作業(yè)管理模塊提供的接口查詢(xún)作業(yè)的狀態(tài);◆提供作業(yè)交互數(shù)據(jù)。有些作業(yè)在執(zhí)行過(guò)程中需要用戶(hù)輸入某些信息,以決定作業(yè)下一步的執(zhí)行流程;◆作業(yè)結(jié)束,查看作業(yè)的運(yùn)行結(jié)果。有些作業(yè)執(zhí)行結(jié)束后把作業(yè)執(zhí)行結(jié)果返回給提交者使用的設(shè)備上,有些作業(yè)執(zhí)行結(jié)束之后把作業(yè)執(zhí)行結(jié)果保存在網(wǎng)格的某個(gè)位置,這時(shí)要告訴作業(yè)提交者具體的位置和查看辦法。
作業(yè)交給網(wǎng)格之后,網(wǎng)格根據(jù)自己的管理機(jī)制和作業(yè)的需求描述,把作業(yè)放在合適的隊(duì)列中,等待調(diào)度執(zhí)行。如圖3所示,處在網(wǎng)格作業(yè)管理器下的作業(yè)可以有以下幾種狀態(tài)①提交。它是用戶(hù)提交作業(yè)請(qǐng)求到網(wǎng)格管理機(jī)構(gòu)并把作業(yè)放入處理隊(duì)列的過(guò)程。此時(shí)作業(yè)獲得了自己的唯一作業(yè)號(hào);②就緒。作業(yè)從網(wǎng)格管理機(jī)構(gòu)的控制下轉(zhuǎn)到目的節(jié)點(diǎn)的控制之下,但還沒(méi)有開(kāi)始在本地運(yùn)行,等待本地作業(yè)調(diào)度機(jī)構(gòu)的調(diào)度;③運(yùn)行。作業(yè)開(kāi)始在本地管理機(jī)構(gòu)的控制之下運(yùn)行,作業(yè)獲得了本地作業(yè)號(hào)或進(jìn)程號(hào)。這種狀態(tài)包括本地機(jī)構(gòu)管理之下的所有正常狀態(tài);④等待。處在本地管理機(jī)構(gòu)控制之下的作業(yè),由于某個(gè)事件發(fā)生,不能在本地繼續(xù)運(yùn)行下去,本地管理機(jī)構(gòu)把這種情況告訴網(wǎng)格管理機(jī)構(gòu),等待網(wǎng)格作業(yè)管理機(jī)構(gòu)的處理;⑤結(jié)束。遠(yuǎn)程節(jié)點(diǎn)上的作業(yè)執(zhí)行完畢,但作業(yè)還沒(méi)有從網(wǎng)格管理機(jī)構(gòu)撤消。處于這種狀態(tài)的作業(yè)已經(jīng)產(chǎn)生了計(jì)算結(jié)果。
⑥取消。作業(yè)從網(wǎng)格管理機(jī)構(gòu)中撤消,分配的作業(yè)號(hào)失效。一個(gè)作業(yè)被取消之后說(shuō)明這個(gè)作業(yè)已經(jīng)不存在了。
⑦出錯(cuò)。在作業(yè)的整個(gè)執(zhí)行過(guò)程中出現(xiàn)了異常情況,使作業(yè)不能進(jìn)入下一個(gè)正常狀態(tài),等待出錯(cuò)處理。經(jīng)過(guò)出錯(cuò)處理之后,才能進(jìn)入其他狀態(tài)。
匹配調(diào)度和次序調(diào)度問(wèn)題我們?cè)趯?shí)際使用網(wǎng)格時(shí),總是要具體考慮究竟一個(gè)用戶(hù)是一次只能提交一個(gè)作業(yè)還是可以一次可以先后提交若干個(gè)網(wǎng)格作業(yè),而對(duì)于不同的網(wǎng)格用戶(hù)所提交的作業(yè)是不是處在同一個(gè)網(wǎng)格作業(yè)管理器的管理下,它們之間是否可以使用同一個(gè)資源,除此,作業(yè)與作業(yè)、作業(yè)與資源、資源與資源之間的相互關(guān)系最終也會(huì)影響作業(yè)的調(diào)度順序和作業(yè)與資源的匹配。這些問(wèn)題是我們?cè)谠O(shè)計(jì)網(wǎng)格作業(yè)調(diào)度是必須考慮的首要關(guān)鍵問(wèn)題。
網(wǎng)格環(huán)境下的靜態(tài)負(fù)載問(wèn)題由于網(wǎng)格計(jì)算環(huán)境中計(jì)算資源的組成結(jié)構(gòu)十分復(fù)雜,它可以由上萬(wàn)臺(tái)單個(gè)PC機(jī)、多個(gè)集群、甚至可數(shù)個(gè)組織的局域網(wǎng)構(gòu)成。圖4給出了網(wǎng)格計(jì)算資源額實(shí)體構(gòu)成。由于計(jì)算負(fù)載的差異、處理機(jī)體系結(jié)構(gòu)的差異、高速緩存使用效率的差異等原因,都會(huì)造成各個(gè)資源節(jié)點(diǎn)之間計(jì)算負(fù)載的不均衡。出現(xiàn)有的計(jì)算資源節(jié)點(diǎn)空閑等待,有的計(jì)算資源節(jié)點(diǎn)負(fù)載過(guò)大的現(xiàn)象。
我們通過(guò)對(duì)計(jì)算資源的計(jì)算能力和并行任務(wù)的計(jì)算需求都進(jìn)行定量描述,使得每一次任務(wù)的分配都要求資源結(jié)點(diǎn)的計(jì)算能力滿(mǎn)足任務(wù)結(jié)點(diǎn)的計(jì)算需求,因此,能夠避免計(jì)算量較大的任務(wù)被分配到計(jì)算能力差的資源上,或者計(jì)算量較小的任務(wù)被分配到計(jì)算能力強(qiáng)的資源上,以實(shí)現(xiàn)靜態(tài)的負(fù)載平衡。
可以看到,如果計(jì)算資源的計(jì)算能力參數(shù)和并行任務(wù)的計(jì)算需求量能夠比較準(zhǔn)確地反映真實(shí)的情況,那么系統(tǒng)中計(jì)算能力強(qiáng)的資源會(huì)得到更多的任務(wù),這符合網(wǎng)格環(huán)境的負(fù)載平衡的需求。
網(wǎng)絡(luò)通信負(fù)載網(wǎng)格之所以有著強(qiáng)大的分布式計(jì)算能力,得益于它能充分利用網(wǎng)格資源。但是這也因此帶來(lái)了另外一個(gè)我們需要關(guān)注的問(wèn)題網(wǎng)絡(luò)通信負(fù)載。目前,網(wǎng)格是建立在網(wǎng)絡(luò)的基礎(chǔ)之上,它對(duì)網(wǎng)格作業(yè)的處理如作業(yè)實(shí)體的遷移至遠(yuǎn)程資源節(jié)點(diǎn)、進(jìn)程間通信等無(wú)一不需要網(wǎng)絡(luò)的支持。這些必然會(huì)產(chǎn)生大量的網(wǎng)絡(luò)通信負(fù)載,如何盡可能地降低這些負(fù)載也是我們?cè)O(shè)計(jì)所要考慮的問(wèn)題。運(yùn)用移動(dòng)代理實(shí)現(xiàn)網(wǎng)格作業(yè)調(diào)度的流程圖5給出了運(yùn)用移動(dòng)代理實(shí)現(xiàn)網(wǎng)格作業(yè)調(diào)度的流程圖。為了方便描述,我們有如下應(yīng)用實(shí)例1.網(wǎng)格中的節(jié)點(diǎn)A中的某用戶(hù)將作業(yè)Job1提交給作業(yè)管理代理。
2.作業(yè)管理代理為Job1創(chuàng)建作業(yè)控制代理,該作業(yè)控制代理負(fù)責(zé)對(duì)Job1的管理和控制。
3.作業(yè)控制代理創(chuàng)建作業(yè)分解代理,作業(yè)分解代理根據(jù)作業(yè)的大小、權(quán)限等性質(zhì)和一定的分解策略把Job1分解為T(mén)ask1,Task2,Task3。
4.作業(yè)控制代理創(chuàng)建資源選取代理,資源選取代理與網(wǎng)格資源管理子系統(tǒng)進(jìn)行交互。資源選取代理根據(jù)節(jié)點(diǎn)A所授予的權(quán)限對(duì)資源進(jìn)行第一次選?。辉俑鶕?jù)作業(yè)控制代理對(duì)作業(yè)資源要求的描述進(jìn)行第二次選取。假設(shè)被該作業(yè)選取的資源所在節(jié)點(diǎn)為節(jié)點(diǎn)B和節(jié)點(diǎn)C。
5.作業(yè)分解代理與資源選取代理交互資源和作業(yè)分配的信息,向作業(yè)控制代理報(bào)告其工作完成。
6.作業(yè)控制代理創(chuàng)建作業(yè)分配代理,作業(yè)分配代理選取節(jié)點(diǎn)分配子作業(yè)。假定作業(yè)分派代理根據(jù)一定的作業(yè)分配策略,在節(jié)點(diǎn)B上運(yùn)行作業(yè)Task1和Task2,在節(jié)點(diǎn)C上運(yùn)行作業(yè)Task3。
7.作業(yè)分配代理完成工作,向作業(yè)控制代理報(bào)告作業(yè)分配的情況。
8.作業(yè)控制代理創(chuàng)建作業(yè)調(diào)度代理和作業(yè)監(jiān)視代理。
9.作業(yè)調(diào)度代理根據(jù)與作業(yè)分配代理交互得到的信息創(chuàng)建三個(gè)子作業(yè)代理,并把攜帶Task1和Task2的子作業(yè)代理發(fā)送到節(jié)點(diǎn)B上,把攜帶Task3的子作業(yè)代理發(fā)送到節(jié)點(diǎn)C上。作業(yè)調(diào)度代理在創(chuàng)建這些子作業(yè)代理時(shí),需要考慮子作業(yè)代理傳輸安全性、資源預(yù)留、子作業(yè)代理與本地調(diào)度策略如何交互、子作業(yè)代理運(yùn)行安全性等一系列問(wèn)題。
10.作業(yè)調(diào)度代理向作業(yè)控制代理報(bào)告子作業(yè)代理的創(chuàng)建完成。
11.作業(yè)控制代理創(chuàng)建作業(yè)協(xié)調(diào)代理。任務(wù)協(xié)調(diào)代理的主要任務(wù)是與三個(gè)子作業(yè)代理之間的協(xié)調(diào)與集成。
12.作業(yè)監(jiān)視代理與三個(gè)子作業(yè)代理、作業(yè)協(xié)調(diào)代理之間進(jìn)行信息交互,并把作業(yè)執(zhí)行情況反饋給作業(yè)控制代理。若有某個(gè)子作業(yè)代理出現(xiàn)故障,則作業(yè)代理將把該信息反饋給作業(yè)控制代理,從第3步起重新執(zhí)行。
13.三個(gè)子作業(yè)代理在各自轉(zhuǎn)移到的節(jié)點(diǎn)上,利用節(jié)點(diǎn)B和C的資源并行的處理分配的作業(yè),并和作業(yè)調(diào)度代理交互協(xié)調(diào),將作業(yè)完成的集成信息反饋給作業(yè)協(xié)調(diào)代理。
14.當(dāng)三個(gè)子作業(yè)代理攜帶的作業(yè)全部完成,作業(yè)協(xié)調(diào)代理把綜合后的信息反饋給作業(yè)控制代理。
15.作業(yè)控制代理向用戶(hù)提交作業(yè)的運(yùn)行結(jié)果。
權(quán)利要求
1.一種運(yùn)用移動(dòng)代理來(lái)實(shí)現(xiàn)網(wǎng)格環(huán)境中作業(yè)調(diào)度的方法,其特征在于該方法中的作業(yè)調(diào)度使用了移動(dòng)代理技術(shù)來(lái)實(shí)現(xiàn),具體步驟如下1)網(wǎng)格節(jié)點(diǎn)中的用戶(hù)將作業(yè)提交給作業(yè)管理代理;2)作業(yè)管理代理為用戶(hù)提交的作業(yè)創(chuàng)建作業(yè)控制代理,該作業(yè)控制代理負(fù)責(zé)作業(yè)的管理和控制;3)作業(yè)控制代理創(chuàng)建作業(yè)分解代理,作業(yè)分解代理根據(jù)作業(yè)的大小、權(quán)限等性質(zhì)和分解策略把用戶(hù)作業(yè)分解為若干部分;4)作業(yè)控制代理創(chuàng)建資源選取代理,資源選取代理與網(wǎng)格資源管理子系統(tǒng)進(jìn)行交互;資源選取代理根據(jù)提交該作業(yè)的節(jié)點(diǎn)所授予的權(quán)限對(duì)資源進(jìn)行第一次選取,再根據(jù)作業(yè)控制代理對(duì)作業(yè)資源要求的描述進(jìn)行第二次選取,兩次選取過(guò)程發(fā)生后,若干資源節(jié)點(diǎn)被該作業(yè)選中;5)作業(yè)分解代理與資源選取代理通過(guò)網(wǎng)格管理系統(tǒng)交互資源選取和作業(yè)分配的信息,并向作業(yè)控制代理報(bào)告其工作完成;6)作業(yè)控制代理創(chuàng)建作業(yè)分配代理,作業(yè)分配代理根據(jù)一定的作業(yè)分配策略,向步驟4)中已被選中的資源節(jié)點(diǎn)分配步驟3)中分解的子作業(yè);7)作業(yè)分配代理完成工作,向作業(yè)控制代理報(bào)告作業(yè)分配的情況;8)作業(yè)控制代理創(chuàng)建作業(yè)調(diào)度代理和作業(yè)監(jiān)視代理;9)作業(yè)調(diào)度代理根據(jù)與作業(yè)分配代理交互得到的信息創(chuàng)建若干個(gè)子作業(yè)代理,并把攜帶子作業(yè)的子作業(yè)代理發(fā)送到資源節(jié)點(diǎn)上;作業(yè)調(diào)度代理在創(chuàng)建這些子作業(yè)代理時(shí),需要考慮子作業(yè)代理傳輸安全性、資源預(yù)留、子作業(yè)代理與本地調(diào)度策略如何交互、子作業(yè)代理的運(yùn)行安全性等一系列問(wèn)題;10)作業(yè)調(diào)度代理向作業(yè)控制代理報(bào)告子作業(yè)代理的創(chuàng)建完成;11)作業(yè)控制代理創(chuàng)建作業(yè)協(xié)調(diào)代理,任務(wù)協(xié)調(diào)代理的主要任務(wù)是與子作業(yè)代理之間的協(xié)調(diào)與集成;12)作業(yè)監(jiān)視代理與子作業(yè)代理、作業(yè)協(xié)調(diào)代理之間進(jìn)行信息交互,并把作業(yè)執(zhí)行情況反饋給作業(yè)控制代理。若有某個(gè)子作業(yè)代理出現(xiàn)故障,則作業(yè)代理將把該信息反饋給作業(yè)控制代理,從第3)步起重新執(zhí)行;13)若干個(gè)子作業(yè)代理在各自轉(zhuǎn)移到的節(jié)點(diǎn)上,根據(jù)所在節(jié)點(diǎn)賦予的權(quán)限利用資源并行處理分配的作業(yè),并和作業(yè)調(diào)度代理交互協(xié)調(diào),將作業(yè)完成的集成信息反饋給作業(yè)協(xié)調(diào)代理;14)當(dāng)每個(gè)子作業(yè)代理攜帶的作業(yè)都全部完成,作業(yè)協(xié)調(diào)代理把綜合后的信息反饋給作業(yè)控制代理;15)作業(yè)控制代理向用戶(hù)提交作業(yè)的運(yùn)行結(jié)果。
全文摘要
運(yùn)用移動(dòng)代理來(lái)實(shí)現(xiàn)網(wǎng)格環(huán)境中作業(yè)調(diào)度的方法對(duì)于網(wǎng)格中需要處理的作業(yè),使用分解代理將其分解,依靠網(wǎng)格中的管理系統(tǒng)所提供的信息,并利用移動(dòng)代理將其遷移至合適的資源上執(zhí)行。該方案克服了其他作業(yè)調(diào)度方案的響應(yīng)時(shí)間沒(méi)有得到保證和在資源上的運(yùn)行時(shí)間可能過(guò)長(zhǎng)等的缺點(diǎn),可以實(shí)現(xiàn)對(duì)網(wǎng)格中資源和作業(yè)管理的自適應(yīng),降低網(wǎng)格通信量,提高網(wǎng)絡(luò)的利用率,形成作業(yè)的并行求解,從而達(dá)到提高網(wǎng)格資源的利用效率和網(wǎng)格計(jì)算的執(zhí)行效率的目標(biāo),加快任務(wù)的執(zhí)行,從而提高分布式系統(tǒng)的處理效率。
文檔編號(hào)G06F9/46GK101034362SQ200710019979
公開(kāi)日2007年9月12日 申請(qǐng)日期2007年2月5日 優(yōu)先權(quán)日2007年2月5日
發(fā)明者王汝傳, 劉欣, 王海艷, 陳建剛, 張琳, 任勛益, 蔣凌云 申請(qǐng)人:南京郵電大學(xué)