專利名稱:基于市場(chǎng)經(jīng)濟(jì)模型的網(wǎng)格資源調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明屬于一種網(wǎng)格資源調(diào)度方法,特別是一種基于市場(chǎng)經(jīng)濟(jì)模型 的網(wǎng)格資源調(diào)度方法。
背景技術(shù):
由于計(jì)算機(jī)和通信網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,特別是Internet的廣泛應(yīng) 用、并行與分布計(jì)算技術(shù)將朝著基于高速網(wǎng)絡(luò)的、面向大區(qū)域的高性能 并行和分布計(jì)算一計(jì)算網(wǎng)格的技術(shù)方向發(fā)展。Lan foster、 Carl Kesselman和Steven Tuecke指出,網(wǎng)格計(jì)算是在動(dòng)態(tài)變化的、擁有多個(gè) 部門或團(tuán)體的復(fù)雜虛擬組織中,進(jìn)行安全靈活的協(xié)同資源共享與問(wèn)題求 解,目前的眾多網(wǎng)格系統(tǒng),例如Globus、 Legion在底層通信、異構(gòu)資源 整合、在線控制等方面已經(jīng)進(jìn)行了大量的研究,并開(kāi)發(fā)了各種相應(yīng)的平 臺(tái)和組件。但是這些系統(tǒng)對(duì)于資源管理這個(gè)關(guān)鍵性問(wèn)題的投入明顯不足。 網(wǎng)格環(huán)境中的資源管理和調(diào)度是個(gè)復(fù)雜的問(wèn)題。在網(wǎng)格中,大量地理上 分布的資源為不同的組織擁有,這些組織具有不同的使用規(guī)則、不同的 計(jì)費(fèi)模型、不一樣的負(fù)荷能力和不同的使用模型,這些都是問(wèn)題所在; 此外生產(chǎn)者(資源擁有者)和消費(fèi)者(資源使用者)各自具有不同的目 標(biāo)、目的、策略和需求,這也會(huì)對(duì)網(wǎng)格中的資源共享產(chǎn)生影響。由于網(wǎng) 格的這些特點(diǎn), 一些傳統(tǒng)的資源管理和調(diào)度方式在網(wǎng)格中并不適用。在 網(wǎng)格環(huán)境中使用經(jīng)濟(jì)學(xué)原理進(jìn)行資源管理和調(diào)度是網(wǎng)格從理論研究向?qū)?際應(yīng)用所必須5爭(zhēng)越的 一步。目前基于經(jīng)濟(jì)學(xué)的網(wǎng)格資源項(xiàng)目主要有GESA(Grid Economic Services Architecture) 、G-Commerce和GRACE。 其中GESA和G-Commerce 各項(xiàng)工作剛剛起步,缺乏相關(guān)文獻(xiàn)和具體實(shí)現(xiàn)。澳大利亞Monash大學(xué)的 Buyya設(shè)計(jì)的GRACE網(wǎng)格資源框架是一個(gè)基于分布式、可計(jì)算的經(jīng)濟(jì)學(xué)體 系框架,用于在網(wǎng)格環(huán)境中進(jìn)行資源交易。GRACE架構(gòu)中定義了一個(gè)網(wǎng)格 資源代理GRB層,負(fù)責(zé)資源發(fā)現(xiàn)、選擇、綁定等關(guān)鍵任務(wù)。包括作業(yè)控制 代理(Job Control Agent )、網(wǎng)格瀏覽器(Grid Explorer )、資源調(diào)度 器(Schedule Advisor)交易管理器(Trade Managementer)、部署代理 (Deployment Agent)和網(wǎng)才各市場(chǎng)目錄GMD。 Nimord/G是DSTC(分布式系 統(tǒng)技術(shù)中心)和Monash大學(xué)合作開(kāi)發(fā)的一個(gè)工具集,主要設(shè)計(jì)目標(biāo)是提供 基于網(wǎng)格環(huán)境的大型分布式實(shí)驗(yàn)平臺(tái),提供一種簡(jiǎn)單的聲明式參數(shù)化建 模語(yǔ)言使用戶可以規(guī)范化他們所要提交的作業(yè)和需求,并使用經(jīng)濟(jì)學(xué)模 型進(jìn)行資源調(diào)度和協(xié)同分配。Nimrod/G提供了優(yōu)秀的GUI客戶端,方便了 用戶的使用。在網(wǎng)格資源調(diào)度方法中,Nimrod/G系統(tǒng)基于兩項(xiàng)最為重要的QoS需求 來(lái)設(shè)計(jì),即用經(jīng)濟(jì)學(xué)驅(qū)動(dòng)作業(yè)截止期(deadl ine)和預(yù)算約束(budget constrained) (DBC)調(diào)度算法按照用戶的需求來(lái)分配資源。為代價(jià)、時(shí) 間和時(shí)間變量的最優(yōu)化策略研究了 3種調(diào)度算法以支持截止期和預(yù)算約 束,但是DBC算法并沒(méi)有考慮到網(wǎng)格中資源的充分利用,使資源的利用效 率達(dá)到最優(yōu)化?;咀鳂I(yè)調(diào)度過(guò)程可以這樣來(lái)描述作業(yè)調(diào)度,可視為代理對(duì)M個(gè)資源 提出N個(gè)相互獨(dú)立的作業(yè)任務(wù)請(qǐng)求的調(diào)度,通常情況下,作業(yè)的數(shù)目N > M ,當(dāng)用戶提交一個(gè)包含N個(gè)相互獨(dú)立QoS的作業(yè)請(qǐng)求時(shí),代理執(zhí)行如 下步驟① 確定資源和資源的特性,并選擇能夠執(zhí)行作業(yè)任務(wù)的資源;② 用經(jīng)濟(jì)模型建立作業(yè)的執(zhí)行成本; ③ 使用調(diào)度算法選擇符合用戶需要的資源執(zhí)行任務(wù);④ 將任務(wù)部署到資源上,監(jiān)控; 任務(wù)執(zhí)行完畢,收集結(jié)果,返回給用戶,記錄相關(guān)的資源使用記 錄和支付記錄; 反復(fù)調(diào)度,重復(fù)執(zhí)行③ ⑤,確定調(diào)度在時(shí)間和預(yù)算之內(nèi)完成; ⑦如果需要進(jìn)行數(shù)據(jù)清理。發(fā)明內(nèi)容本發(fā)明的目的是在DBC方法基礎(chǔ)上考慮到任務(wù)傳輸時(shí)延的資源調(diào)度 策略,使資源的利用達(dá)到最優(yōu),減少了系統(tǒng)調(diào)度的成本開(kāi)銷,而提供一種 基于市場(chǎng)經(jīng)濟(jì)模型的網(wǎng)格資源調(diào)度方法,該方法在網(wǎng)格資源管理系統(tǒng)中 具有很好的性能。為了實(shí)現(xiàn)上述目的,本發(fā)明所釆用的具體方法是第一步驟調(diào)度程序接收系統(tǒng)創(chuàng)建的任務(wù)列表;第二步驟調(diào)度程序接收資源列表;第三步驟初始化總的任務(wù)長(zhǎng)度為O;第四步驟獲取第一個(gè)資源的處理速率MIPS;第五步驟用資源的處理速率乘以間隔時(shí)間得到第 一個(gè)任務(wù)的長(zhǎng)度MI;第六步驟創(chuàng)建一個(gè)新的任務(wù),其長(zhǎng)度等于總的任務(wù)長(zhǎng)度; 第七步驟為任務(wù)組設(shè)置用戶的ID; 第八步驟把任務(wù)組添加到任務(wù)列表2中; 第九步驟把資源ID添加到鏈接表中; 第十步驟把總的任務(wù)長(zhǎng)度高置為O;第十一步驟獲取下一個(gè)資源的處理速率MIPS,如果資源列表中的
資源都分配了任務(wù)組,則繼續(xù)調(diào)度算法過(guò)程在資源列表中取得一個(gè)資 源的處理速率;第十二步驟用資源的處理速率乘以時(shí)間間隔,得到下一個(gè)任務(wù)的 長(zhǎng)度;第十三步驟重復(fù)以上步聚,直到任務(wù)列表中的任務(wù)都打包成組到 任務(wù)組中;第十四步驟當(dāng)所有的任務(wù)打包成組后、每一個(gè)任務(wù)組都分配給了 一個(gè)指定的資源后,就把所有的任務(wù)組送交給對(duì)應(yīng)的資源去進(jìn)行計(jì)算;第十五步驟當(dāng)所有的任務(wù)組被處理完后,處理完后的任務(wù)組被送 回到調(diào)度程序/系統(tǒng)的I/0隊(duì)列中,然后從I/0隊(duì)列中收集任務(wù)組;第十六步驟設(shè)置資源ID,每個(gè)任務(wù)組的作業(yè)執(zhí)行成本;第十七步驟把收集到的任務(wù)組存貯到任務(wù)列表3中;第十八步驟獲取總的模擬處理時(shí)間。本發(fā)明在原有的DBC算法基礎(chǔ)上針對(duì)網(wǎng)格資源處理任務(wù)時(shí)沒(méi)有考慮 到傳輸時(shí)延的不足,提出了一種改進(jìn)的網(wǎng)格資源任務(wù)調(diào)度算策略,在滿 足作業(yè)截止期,成本預(yù)算約束的條件下,充分考慮到網(wǎng)格資源的處理效 率,使資源的利用率達(dá)到最優(yōu),減少了系統(tǒng)調(diào)度的成本開(kāi)銷。
附圖為本發(fā)明的流程圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。在網(wǎng)格計(jì)算環(huán)境中,調(diào)度器選擇最合適的機(jī)器或計(jì)算資源來(lái)處理用 戶的作業(yè)從而達(dá)到高的系統(tǒng)生產(chǎn)率。如果一個(gè)任務(wù)由許多作業(yè)組成,而 每個(gè)作業(yè)不需要很高的處理能力的資源,這時(shí)在作業(yè)之間的傳遞信息的
時(shí)間比資源處理所有作業(yè)的時(shí)間要多。因此,在用戶層次上一定數(shù)量的 作業(yè)可以聚積在一起組成粗粒度(任務(wù)長(zhǎng)度大)的任務(wù),然后送交給調(diào) 度器來(lái)分配合適的資源進(jìn)行處理。對(duì)于每個(gè)細(xì)粒度(任務(wù)長(zhǎng)度小)的任 務(wù),完成任務(wù)的時(shí)間開(kāi)銷由傳送時(shí)間、處理時(shí)間組成,在網(wǎng)格環(huán)境中, 消息之間的交互導(dǎo)致很高的時(shí)間開(kāi)銷,從而也造成了資源利用效率的降 低。因此,根據(jù)有效資源的處理能力提出一種基于組作業(yè)(把細(xì)粒度的 作業(yè)打包成粗粒度的任務(wù))的調(diào)度策略是有必要的,然后進(jìn)行任務(wù)的調(diào) 度和資源的分配。本發(fā)明提出了一種動(dòng)態(tài)任務(wù)調(diào)度策略使網(wǎng)格資源的效 率得到充分的利用,并且減少了執(zhí)行任務(wù)的時(shí)間成本。提出的調(diào)度策略考慮了 (l)根據(jù)資源的能力,把作業(yè)打包成組的機(jī)制;(2)每個(gè)作業(yè)的 處理要求;(3)把粗粒度的任務(wù)調(diào)度給合適的資源進(jìn)行處理。 本發(fā)明的具體方法是1. 調(diào)度程序接收系統(tǒng)創(chuàng)建的任務(wù)列表;2. 調(diào)度程序接收資源列表(由用戶從資源文件中選擇的資源);3. 初始化總的任務(wù)長(zhǎng)度為0;4. 獲取第一個(gè)資源的處理速率MIPS (million instruction per second);5. 用資源的處理速率(Resource-MIPS )乘以間隔時(shí)間 (Granu 1 arity-Time)得到第一個(gè)任務(wù)的長(zhǎng)度MI (million instruction );6. 如果資源的處理速率小于或等于任務(wù)的長(zhǎng)度則a. 使總的任務(wù)長(zhǎng)度為目前的任務(wù)長(zhǎng)度b. 轉(zhuǎn)到第8步繼續(xù)進(jìn)行。7. 如果資源處理速率大于任務(wù)的長(zhǎng)度則 7.1當(dāng)任務(wù)總的長(zhǎng)度小于或等于資源的處理速率,并且僅當(dāng)在任 務(wù)列表中存在未成組的任務(wù)則a. 獲取下一個(gè)任務(wù)的長(zhǎng)度b. 使總的任務(wù)長(zhǎng)度為當(dāng)前任務(wù)長(zhǎng)度與之前總的任務(wù)長(zhǎng)度之和c. 重復(fù)進(jìn)行7. l步聚;7. 2如果資源處理速率與總的任務(wù)長(zhǎng)度之差大于50則計(jì)算出總的 任務(wù)長(zhǎng)度中最后一個(gè)任務(wù)的長(zhǎng)度;8. 創(chuàng)建一個(gè)新的任務(wù)(任務(wù)組),其長(zhǎng)度等于總的任務(wù)長(zhǎng)度;9. 為任務(wù)組設(shè)置用戶的ID;10. 把任務(wù)組添加到任務(wù)列表2 (Gridlet-List — 2)中(一個(gè)新的 任務(wù)列表);11. 把資源ID (當(dāng)前使用的資源)添加到鏈接表中;12. 把總的任務(wù)長(zhǎng)度高置為O;13. 獲取下一個(gè)資源的處理速率(MIPS)。如果資源列表中的資源 都分配了任務(wù)組,則繼續(xù)調(diào)度算法過(guò)程在資源列表中取得一個(gè)資 源的處理速率;14. 用資源的處理速率乘以時(shí)間間隔,得到下一個(gè)任務(wù)的長(zhǎng)度;15. 轉(zhuǎn)到第7步聚重復(fù)進(jìn)行;16. 重得以上步聚,直到任務(wù)列表中的任務(wù)都打包成組到任務(wù)組 中;17. 當(dāng)所有的任務(wù)打包成組后、每一個(gè)任務(wù)組都分配給了一個(gè)指定 的資源后,就把所有的任務(wù)組送交給對(duì)應(yīng)的資源去進(jìn)行計(jì)算;18. 當(dāng)所有的任務(wù)組被處理完后,處理完后的任務(wù)組被送回到調(diào)度 程序/系統(tǒng)的I/0隊(duì)列中,然后從I/0隊(duì)列中收集任務(wù)組; 19. 設(shè)置資源ID,每個(gè)任務(wù)組的作業(yè)執(zhí)行成本;20. 把收集到的任務(wù)組存貯到任務(wù)列表3 (Gridlet-List-3)中;21. 獲取總的模擬處理時(shí)間。本發(fā)明說(shuō)明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知 的現(xiàn)有技術(shù)。
權(quán)利要求
1、 一種基于市場(chǎng)經(jīng)濟(jì)模型的網(wǎng)格資源調(diào)度方法,所采用的具體方法是第一步驟調(diào)度程序接收系統(tǒng)創(chuàng)建的任務(wù)列表; 第二步驟調(diào)度程序接收資源列表; 第三步驟初始化總的任務(wù)長(zhǎng)度為O; 第四步驟獲取第一個(gè)資源的處理速率MIPS;第五步驟用資源的處理速率乘以間隔時(shí)間得到第一個(gè)任務(wù)的長(zhǎng)度MI;第六步驟創(chuàng)建一個(gè)新的任務(wù),其長(zhǎng)度等于總的任務(wù)長(zhǎng)度; 第七步驟為任務(wù)組設(shè)置用戶的ID; 第八步驟4巴任務(wù)組添加到任務(wù)列表2中; 第九步驟把資源ID添加到鏈接表中; 第十步驟把總的任務(wù)長(zhǎng)度高置為O;第十一步驟獲取下一個(gè)資源的處理速率MIPS,如果資源列表中的 資源都分配了任務(wù)組,則繼續(xù)調(diào)度算法過(guò)程在資源列表中取得一個(gè)資 源的處理速率;第十二步驟用資源的處理速率乘以時(shí)間間隔,得到下一個(gè)任務(wù)的 長(zhǎng)度;第十三步驟重復(fù)以上步聚,直到任務(wù)列表中的任務(wù)都打包成組到 任務(wù)組中;第十四步驟當(dāng)所有的任務(wù)打包成組后、每一個(gè)任務(wù)組都分配給了 一個(gè)指定的資源后,就把所有的任務(wù)組送交給對(duì)應(yīng)的資源去進(jìn)行計(jì)算; 第十五步驟當(dāng)所有的任務(wù)組被處理完后,處理完后的任務(wù)組被送 回到調(diào)度程序/系統(tǒng)的I/0隊(duì)列中,然后從I/0隊(duì)列中收集任務(wù)組; 第十六步驟設(shè)置資源ID,每個(gè)任務(wù)組的作業(yè)執(zhí)行成本; 第十七步驟把收集到的任務(wù)組存貯到任務(wù)列表3中; 第十八步驟獲取總的模擬處理時(shí)間。
2、 如權(quán)利要求l所述的基于市場(chǎng)經(jīng)濟(jì)模型的網(wǎng)格資源調(diào)度方法,其 特征在于第五步驟中如果資源的處理速率小于或等于任務(wù)的長(zhǎng)度則第一步使總的任務(wù)長(zhǎng)度為目前的任務(wù)長(zhǎng)度; 第二步轉(zhuǎn)到第六步驟繼續(xù)進(jìn)行。
3、 如權(quán)利要求l所述的基于市場(chǎng)經(jīng)濟(jì)模型的網(wǎng)格資源調(diào)度方法,其 特征在于第五步驟中如果資源處理速率大于任務(wù)的長(zhǎng)度則第一步當(dāng)任務(wù)總的長(zhǎng)度小于或等于資源的處理速率,并且僅當(dāng)在 任務(wù)列表中存在未成組的任務(wù)則a. 獲取下一個(gè)任務(wù)的長(zhǎng)度;b. 使總的任務(wù)長(zhǎng)度為當(dāng)前任務(wù)長(zhǎng)度與之前總的任務(wù)長(zhǎng)度之和;c. 重復(fù)進(jìn)行a步聚;第二步如果資源處理速率與總的任務(wù)長(zhǎng)度之差大于50則計(jì)算出總 的任務(wù)長(zhǎng)度中最后一個(gè)任務(wù)的長(zhǎng)度。
4、 如權(quán)利要求l所述的基于市場(chǎng)經(jīng)濟(jì)模型的網(wǎng)格資源調(diào)度方法,其 特征在于在第十三步驟與第十四步驟之間,需要轉(zhuǎn)到第五步驟重復(fù)進(jìn) 行。
全文摘要
本發(fā)明涉及一種基于市場(chǎng)經(jīng)濟(jì)模型的網(wǎng)格資源調(diào)度方法,所采用的具體方法是創(chuàng)建任務(wù)列表;接收資源列表;初始化;獲取處理速率;得到任務(wù)的長(zhǎng)度;創(chuàng)建一個(gè)新的任務(wù);設(shè)置用戶的ID;把任務(wù)添加到任務(wù)列表2中;把資源ID添加到鏈接表中;把總的任務(wù)長(zhǎng)度高置為0;獲取下一個(gè)資源的處理速率;得到下一個(gè)任務(wù)的長(zhǎng)度;重復(fù)以上步聚,直到任務(wù)列表中的任務(wù)都打包成組到任務(wù)組中;把任務(wù)送交給資源去進(jìn)行計(jì)算;收集任務(wù);設(shè)置資源ID;存貯;獲取總的模擬處理時(shí)間。本發(fā)明在原有的DBC算法基礎(chǔ)提出了一種改進(jìn)的網(wǎng)格資源任務(wù)調(diào)度策略,在滿足作業(yè)截止期,成本預(yù)算約束的條件下,充分考慮到網(wǎng)格資源的處理效率,使資源的利用率達(dá)到最優(yōu),減少了系統(tǒng)調(diào)度的成本開(kāi)銷。
文檔編號(hào)H04L29/08GK101122871SQ20071005327
公開(kāi)日2008年2月13日 申請(qǐng)日期2007年9月20日 優(yōu)先權(quán)日2007年9月20日
發(fā)明者馮美來(lái), 李春林, 李臘元 申請(qǐng)人:武漢理工大學(xué)