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