專利名稱::一種適用于網(wǎng)格環(huán)境的基于可靠性代價(jià)的作業(yè)調(diào)度系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于網(wǎng)格計(jì)算領(lǐng)域,具體涉及一種適用于網(wǎng)格環(huán)境的基于可靠性代價(jià)的作業(yè)調(diào)度系統(tǒng)。
背景技術(shù):
:網(wǎng)格整合了分布在Internet上動(dòng)態(tài)的、自治的、異構(gòu)的網(wǎng)絡(luò)資源(包括高速互聯(lián)網(wǎng)、計(jì)算機(jī)、大型數(shù)據(jù)庫(kù)、傳感器、遠(yuǎn)程設(shè)備等),它屏蔽了資源的動(dòng)態(tài)性、異構(gòu)性和分布性,為用戶提供一種高效的資源共享和協(xié)同工作環(huán)境。網(wǎng)格技術(shù)一經(jīng)提出,便吸引了學(xué)術(shù)界和工業(yè)界的極大重視,并取得了飛速的發(fā)展。網(wǎng)格區(qū)別于傳統(tǒng)分布式高性能計(jì)算的優(yōu)勢(shì)如下(l)有效利用廣域分布的資源;(2)實(shí)現(xiàn)異構(gòu)組織間的高效協(xié)作;(3)有效解決計(jì)算密集性和數(shù)據(jù)密集性任務(wù);(4)基于0GSA的思想使得工作流更趨于"服務(wù)流"。網(wǎng)格為復(fù)雜的、龐大的科研任務(wù)提供了有效的問題解決途徑,例如飛行器設(shè)計(jì)、基因排序、大氣環(huán)境分析等。網(wǎng)格資源多屬于不同的組織機(jī)構(gòu),大部分資源是非專有資源,可以動(dòng)態(tài)加入和離開。另外,資源共享模式的改變、軟硬件故障以及網(wǎng)絡(luò)癱瘓都可以導(dǎo)致網(wǎng)格資源的不可用。因此資源的動(dòng)態(tài)性導(dǎo)致網(wǎng)格作業(yè)失敗頻繁發(fā)生,用戶服務(wù)質(zhì)量無(wú)法保證。因此,網(wǎng)格環(huán)境下的作業(yè)調(diào)度面臨許多新的挑戰(zhàn)。因此,為了更好地發(fā)揮網(wǎng)格的豐富資源和可擴(kuò)展性等優(yōu)點(diǎn),建立可靠地作業(yè)調(diào)度成為網(wǎng)格系統(tǒng)性能好壞的關(guān)鍵所在。網(wǎng)格資源以服務(wù)形式呈現(xiàn)給用戶,用戶通過向網(wǎng)格系統(tǒng)提交作業(yè)來享用各種網(wǎng)格資源。網(wǎng)格作業(yè)調(diào)度系統(tǒng)在接收到用戶的作業(yè)后,根據(jù)用戶的QoS要求與信息中心進(jìn)行交互,匹配出合格的網(wǎng)格服務(wù)資源集。然后,作業(yè)調(diào)度系統(tǒng)根據(jù)特定的調(diào)度策略,為用戶作業(yè)選擇最佳的資源?,F(xiàn)有的作業(yè)調(diào)度策略多基于性能驅(qū)動(dòng)模型、經(jīng)濟(jì)驅(qū)動(dòng)模型和信任驅(qū)動(dòng)模型[參見k.Krauter,R.Buyya,andM.Maheswaran,ATaxonomyandSurveyofGridResourceManagementSystemsforDistributedComputing,SoftwarePracticeandExperience,32(2):135-164,F(xiàn)ebruary2002.]。性能驅(qū)動(dòng)模型側(cè)重于提高系統(tǒng)吞吐率、作業(yè)執(zhí)行效率等性能相關(guān)指標(biāo);經(jīng)濟(jì)驅(qū)動(dòng)模型側(cè)重于在滿足用戶QoS需求的前提下,選擇收費(fèi)最低的資源服務(wù);信任驅(qū)動(dòng)模型則是根據(jù)資源的歷史服務(wù)情況(譬如資源故障率、運(yùn)行作業(yè)成功率等)為每個(gè)資源建立信任模型,基于該模型,進(jìn)行可信任的作業(yè)調(diào)度。當(dāng)作業(yè)執(zhí)行過程中因資源故障或其他原因中斷時(shí),系統(tǒng)采取一定的容錯(cuò)策略。目前常用的容錯(cuò)策略有檢查點(diǎn)、多點(diǎn)復(fù)制和重試等。檢查點(diǎn)策略定期地保存作業(yè)的運(yùn)行結(jié)果及狀態(tài),當(dāng)資源發(fā)生故障時(shí),系統(tǒng)將作業(yè)回滾到故障前系統(tǒng)記錄的檢查點(diǎn),經(jīng)過狀態(tài)恢復(fù)后從該檢査點(diǎn)處重新執(zhí)行,而不是從頭開始執(zhí)行,從而節(jié)省了資源并降低了作業(yè)的丟失率;多點(diǎn)復(fù)制策略把作業(yè)同時(shí)調(diào)度到兩個(gè)以上不同的資源節(jié)點(diǎn)執(zhí)行,只要有一個(gè)資源節(jié)點(diǎn)正常運(yùn)行,就可以保證作業(yè)成功執(zhí)行;重試策略即在作業(yè)發(fā)生故障時(shí),將作業(yè)再調(diào)度,作業(yè)可以調(diào)度到本資源節(jié)點(diǎn)或者其他資源節(jié)點(diǎn)。傳統(tǒng)的作業(yè)調(diào)度系統(tǒng)沒有充分考慮網(wǎng)格環(huán)境下資源的動(dòng)態(tài)性,造成作業(yè)故障頻繁發(fā)生。另外,傳統(tǒng)的調(diào)度系統(tǒng)多采用單一的容錯(cuò)機(jī)制,缺乏靈活性,并且浪費(fèi)系統(tǒng)資源。
發(fā)明內(nèi)容本發(fā)明的目的是針對(duì)現(xiàn)有作業(yè)調(diào)度系統(tǒng)的不足,提供了一種適用于網(wǎng)格環(huán)境的基于可靠性代價(jià)的作業(yè)調(diào)度系統(tǒng),該系統(tǒng)充分考慮了作業(yè)的QoS請(qǐng)求和資源可靠性,自動(dòng)地為作業(yè)采用合適的容錯(cuò)策略,并具有效率高和通用性好的特點(diǎn)。為實(shí)現(xiàn)上述發(fā)明目的,適用于網(wǎng)格環(huán)境的基于可靠性代價(jià)的作業(yè)調(diào)度系統(tǒng),其特征在于它包括作業(yè)提交接口模塊和作業(yè)調(diào)度模塊;作業(yè)提交接口模塊用于用戶提交作業(yè),并傳送給作業(yè)調(diào)度模塊;作業(yè)調(diào)度模塊用于接收作業(yè)提交接口模塊提交的作業(yè),進(jìn)行調(diào)度和容錯(cuò)策略定制后,將作業(yè)分配到網(wǎng)格資源平臺(tái)中相應(yīng)的資源節(jié)點(diǎn);它包括預(yù)調(diào)度模塊、調(diào)度決策模塊、作業(yè)完成時(shí)間預(yù)測(cè)模塊和資源信息模塊;預(yù)調(diào)度模塊通過對(duì)作業(yè)的服務(wù)質(zhì)量需求進(jìn)行分析,對(duì)用戶作業(yè)進(jìn)行分類排隊(duì);預(yù)調(diào)度模塊接收作業(yè)提交模塊傳送來的作業(yè),并與作業(yè)完成時(shí)間預(yù)測(cè)模塊進(jìn)行交互,根據(jù)作業(yè)完成時(shí)間預(yù)測(cè)模塊的預(yù)測(cè)信息對(duì)作業(yè)進(jìn)行分類排隊(duì);預(yù)調(diào)度模塊同時(shí)作為調(diào)度決策模塊的作業(yè)池,為調(diào)度決策模塊提供作業(yè);作業(yè)完成時(shí)間預(yù)測(cè)模塊用于對(duì)每個(gè)作業(yè)在各資源節(jié)點(diǎn)上的完成時(shí)間進(jìn)行預(yù)測(cè);作業(yè)完成時(shí)間預(yù)測(cè)模塊接受預(yù)調(diào)度模塊和調(diào)度決策模塊的作業(yè)完成時(shí)間預(yù)測(cè)請(qǐng)求,在進(jìn)行預(yù)測(cè)后,將預(yù)測(cè)結(jié)果分別返回至預(yù)調(diào)度模塊和調(diào)度決策模塊;作業(yè)完成時(shí)間預(yù)測(cè)模塊與資源信息模塊進(jìn)行交互,作業(yè)完成時(shí)間預(yù)測(cè)模塊通過資源信息模塊查詢各資源的性能信息;資源信息模塊負(fù)責(zé)收集網(wǎng)格資源節(jié)點(diǎn)的實(shí)時(shí)狀態(tài)信息,資源信息模塊接受調(diào)度決策模塊和作業(yè)完成時(shí)間預(yù)測(cè)模塊的資源查詢請(qǐng)求,并將相應(yīng)的查詢結(jié)果返回調(diào)度決策模塊和作業(yè)完成時(shí)間預(yù)測(cè)模塊;資源信息模塊采用定期查詢和訂閱/發(fā)布機(jī)制與底層網(wǎng)格資源中的各資源進(jìn)行交互,及時(shí)更新各資源的性能信息;調(diào)度決策模塊根據(jù)資源節(jié)點(diǎn)未來的可用性,對(duì)用戶作業(yè)進(jìn)行基于可靠性代價(jià)的調(diào)度,同時(shí)也根據(jù)作業(yè)的服務(wù)質(zhì)量需求和被調(diào)度資源節(jié)點(diǎn)的未來可用性,為每一調(diào)度作業(yè)制定容錯(cuò)策略;調(diào)度決策模塊從預(yù)調(diào)度模塊中取回待調(diào)度作業(yè),請(qǐng)求作業(yè)完成時(shí)間預(yù)測(cè)模塊對(duì)作業(yè)在各資源上的運(yùn)行時(shí)間進(jìn)行預(yù)測(cè);然后,根據(jù)作業(yè)運(yùn)行需求和作業(yè)在各資源上的運(yùn)行時(shí)間,與資源信息模塊進(jìn)行交互,完成作業(yè)與最佳資源的匹配;最后,調(diào)度決策模塊將作業(yè)調(diào)度到網(wǎng)格資源平臺(tái)上對(duì)應(yīng)的資源節(jié)點(diǎn)。本系統(tǒng)提出作業(yè)運(yùn)行時(shí)間預(yù)測(cè)模型和資源可用性預(yù)測(cè)模型,作業(yè)運(yùn)行時(shí)間預(yù)測(cè)模型基于數(shù)學(xué)模型,資源可用性預(yù)測(cè)模型基于馬爾科夫模型,具有較高的準(zhǔn)確性和通用性。本系統(tǒng)根據(jù)作業(yè)和資源特點(diǎn)的不同分別采用主副本同時(shí)運(yùn)行策略、主副本異步運(yùn)行策略和重試策略,具有很高的靈活性和有效性。同時(shí),本系統(tǒng)支持計(jì)算密集型作業(yè)和數(shù)據(jù)密集型作業(yè),具有很好的通用性。本發(fā)明與現(xiàn)有的調(diào)度系統(tǒng)相比,具有支持更多的并發(fā)用戶、提高資源的利用率、通用性好、可擴(kuò)展性好、系統(tǒng)吞吐率高等優(yōu)點(diǎn)。具體而言,本發(fā)明具有以下特點(diǎn)。(1)預(yù)測(cè)模型的高準(zhǔn)確性作業(yè)運(yùn)行時(shí)間預(yù)測(cè)模型基于數(shù)學(xué)模型,資源可用性預(yù)測(cè)模型基于馬爾科夫模型,具有較高的準(zhǔn)確性和通用性。(2)提高作業(yè)運(yùn)行的可靠性本系統(tǒng)提出作業(yè)成功運(yùn)行可靠性代價(jià)模型,該模型充分考慮了作業(yè)的QoS要求和資源未來可用性?;诖四P停M(jìn)行作業(yè)可靠調(diào)度。(3)提高系統(tǒng)吞吐率本系統(tǒng)根據(jù)作業(yè)QoS要求,選擇合適的資源,譬如為低QoS作業(yè)選擇低可靠資源,從而為高QoS作業(yè)節(jié)省高可靠資源。不僅滿足了作業(yè)需求,同時(shí)也節(jié)省了資源,達(dá)到了系統(tǒng)負(fù)載平衡,進(jìn)而提高系統(tǒng)吞吐率。(4)支持多種類型網(wǎng)格作業(yè)本系統(tǒng)采用通用調(diào)度系統(tǒng),不僅支持計(jì)算密集型作業(yè),而且也支持?jǐn)?shù)據(jù)密集型作業(yè),具有較高的通用性。圖1為適用于網(wǎng)格環(huán)境的基于可靠性代價(jià)的作業(yè)調(diào)度系統(tǒng)結(jié)構(gòu)示意圖2為預(yù)調(diào)度模塊的結(jié)構(gòu)示意圖3為調(diào)度決策模塊的結(jié)構(gòu)示意圖4為資源信息模塊的結(jié)構(gòu)示意圖5為作業(yè)預(yù)調(diào)度流程示意圖6為作業(yè)調(diào)度決策流程示意圖。具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。如圖1所示,本發(fā)明提供的適用于網(wǎng)格環(huán)境的基于可靠性代價(jià)的作業(yè)調(diào)度系統(tǒng)(以下簡(jiǎn)稱DGSS(DependableGridSchedulingSystem))分為二層第一層為作業(yè)提交接口模塊l,第二層為作業(yè)調(diào)度模塊2。系統(tǒng)底層為9網(wǎng)格資源平臺(tái)7。從工作原理上說,本發(fā)明的核心為第二層的作業(yè)調(diào)度模塊,它包括預(yù)調(diào)度模塊3、調(diào)度決策模塊4、作業(yè)完成時(shí)間預(yù)測(cè)模塊5和資源信息模塊6。作業(yè)提交接口模塊1用于用戶提交作業(yè),并傳送給作業(yè)調(diào)度模塊2中的預(yù)調(diào)度模塊3。作業(yè)提交接口模塊1支持多種作業(yè)提交方式,包括基于Web、命令行和JSDL的作業(yè)提交方式。作業(yè)調(diào)度模塊2接收用戶提交的作業(yè),負(fù)責(zé)對(duì)作業(yè)進(jìn)行可靠性調(diào)度和有效的容錯(cuò)策略定制。作業(yè)調(diào)度模塊2接收作業(yè)提交接口模塊1提交的作業(yè),進(jìn)行過調(diào)度和容錯(cuò)策略定制后,將作業(yè)分配到網(wǎng)格資源平臺(tái)7中相應(yīng)的資源節(jié)點(diǎn)。預(yù)調(diào)度模塊3通過對(duì)作業(yè)的QoS需求進(jìn)行分析,對(duì)用戶作業(yè)進(jìn)行分類排隊(duì);預(yù)調(diào)度模塊3接收作業(yè)提交模塊1傳送來的作業(yè),并與作業(yè)完成時(shí)間預(yù)測(cè)模塊5進(jìn)行交互,根據(jù)作業(yè)完成時(shí)間預(yù)測(cè)模塊5的預(yù)測(cè)信息對(duì)作業(yè)進(jìn)行分類排隊(duì)。預(yù)調(diào)度模塊3同時(shí)作為調(diào)度決策模塊4的作業(yè)池,為調(diào)度決策模塊4提供作業(yè)。作業(yè)完成時(shí)間預(yù)測(cè)模塊5對(duì)每個(gè)作業(yè)在各資源節(jié)點(diǎn)上的完成時(shí)間進(jìn)行預(yù)測(cè)。作業(yè)完成時(shí)間預(yù)測(cè)模塊5對(duì)作業(yè)i在資源節(jié)點(diǎn)j上的完成時(shí)間預(yù)測(cè)理論模型如下CTi尸p.(Qj/PCj+Di乂BWkj+Q/PCj+D。ut/BWkj)。其中CTi」表示作業(yè)i在資源節(jié)點(diǎn)j上的預(yù)期完成時(shí)間,(3為修正參數(shù),p值根據(jù)歷史預(yù)測(cè)作業(yè)完成時(shí)間的準(zhǔn)確度來確定。Qj為資源節(jié)點(diǎn)j上等待處理的作業(yè)量,Q為作業(yè)i的計(jì)算量,PCj為資源節(jié)點(diǎn)j的計(jì)算能力,Din為運(yùn)行作業(yè)i時(shí)需要的數(shù)據(jù)量,D。ut為作業(yè)i完成后需要輸出的數(shù)據(jù)量,BWkj為存儲(chǔ)數(shù)據(jù)的資源節(jié)點(diǎn)k與資源節(jié)點(diǎn)j之間的數(shù)據(jù)帶寬。作業(yè)完成時(shí)間預(yù)測(cè)模塊5接受預(yù)調(diào)度模塊3和調(diào)度決策模塊4的作業(yè)完成時(shí)間預(yù)測(cè)請(qǐng)求,在進(jìn)行預(yù)測(cè)后,將預(yù)測(cè)結(jié)果分別返回至預(yù)調(diào)度模塊3和調(diào)度決策模塊4。作業(yè)完成時(shí)間預(yù)測(cè)模塊5與資源信息模塊6進(jìn)行交互,作業(yè)完成時(shí)間預(yù)測(cè)模塊5通過資源信息模塊6査詢各資源的性能信息。資源信息模塊6負(fù)責(zé)收集網(wǎng)格資源節(jié)點(diǎn)的實(shí)時(shí)狀態(tài)信息,包括資源的CPU、內(nèi)存利用率、硬盤空間和資源未來可用性等。資源信息模塊6接受調(diào)度決策模塊4和作業(yè)完成時(shí)間預(yù)測(cè)模塊5的資源查詢請(qǐng)求,并將相應(yīng)的査詢結(jié)果返回調(diào)度決策模塊4和作業(yè)完成時(shí)間預(yù)測(cè)模塊5。資源信息模塊6采用定期査詢和訂閱/發(fā)布機(jī)制與底層網(wǎng)格資源7中的各資源進(jìn)行交互,及時(shí)更新各資源的性能信息。調(diào)度決策模塊4根據(jù)資源節(jié)點(diǎn)未來的可用性,對(duì)用戶作業(yè)進(jìn)行基于可靠性代價(jià)的調(diào)度,同時(shí)也根據(jù)作業(yè)的QoS需求和被調(diào)度資源節(jié)點(diǎn)的未來可用性,為每一調(diào)度作業(yè)制定靈活的容錯(cuò)策略。調(diào)度決策模塊4從預(yù)調(diào)度模塊3中取回待調(diào)度作業(yè),請(qǐng)求作業(yè)完成時(shí)間預(yù)測(cè)模塊5對(duì)作業(yè)在各資源上的運(yùn)行時(shí)間進(jìn)行預(yù)測(cè);然后,根據(jù)作業(yè)運(yùn)行需求和作業(yè)在各資源上的運(yùn)行時(shí)間,與資源信息模塊6進(jìn)行交互,完成作業(yè)與最佳資源的匹配;最后,調(diào)度決策模塊4將作業(yè)調(diào)度到網(wǎng)格資源平臺(tái)7上對(duì)應(yīng)的資源機(jī)節(jié)點(diǎn)。底層為網(wǎng)格資源平臺(tái)7,它集合了眾多資源節(jié)點(diǎn)。資源節(jié)點(diǎn)部署網(wǎng)格服務(wù),用戶作業(yè)最終被調(diào)度到資源節(jié)點(diǎn)執(zhí)行。DGSS系統(tǒng)根據(jù)作業(yè)QoS要求,選擇合適的資源,譬如為低QoS作業(yè)選擇低可靠資源,從而為高QoS作業(yè)節(jié)省高可靠資源。不僅滿足了作業(yè)需求,同時(shí)也節(jié)省了資源,達(dá)到了系統(tǒng)負(fù)載平衡,提高了系統(tǒng)吞吐率。下面舉例說明作業(yè)調(diào)度模塊2中各模塊的一種優(yōu)化的具體實(shí)現(xiàn)方式,本領(lǐng)域一般技術(shù)人員根據(jù)本發(fā)明公開的內(nèi)容可以采用其它多種方式予以具體實(shí)現(xiàn),本發(fā)明的保護(hù)范圍并不局限于下述實(shí)例的內(nèi)容。如圖2所示,預(yù)調(diào)度模塊3包含作業(yè)QoS解析模塊31、作業(yè)排隊(duì)模塊32、無(wú)QoS隊(duì)列33、低QoS隊(duì)列34和高QoS隊(duì)列35。作業(yè)QoS解析模塊31接收用戶通過作業(yè)提交接口模塊1提交的作業(yè),對(duì)作業(yè)進(jìn)行解析,提取作業(yè)的QoS需求,例如CPU、內(nèi)存利用率、硬盤空間、作業(yè)完成時(shí)間限制等。經(jīng)過處理后將作業(yè)及解析的信息轉(zhuǎn)交與作業(yè)排隊(duì)模塊32。作業(yè)排隊(duì)模塊32接收作業(yè)QoS解析模塊31轉(zhuǎn)交的作業(yè)和解析信息,并與作業(yè)完成時(shí)間預(yù)測(cè)模塊5進(jìn)行交互,根據(jù)作業(yè)的QoS需求和資源節(jié)點(diǎn)的特征確定作業(yè)的QoS等級(jí)。無(wú)完成期限要求的作業(yè)可被視為無(wú)QoS作業(yè),完成時(shí)間期限大于作業(yè)在資源節(jié)點(diǎn)中最小運(yùn)行時(shí)間(l+X)倍的作業(yè)視為低QoS作業(yè)(0<a^)),反之為高QoS作業(yè)。最后,作業(yè)排隊(duì)模塊32將作業(yè)分類并分別提交給高QoS隊(duì)列35、低QoS隊(duì)列34、無(wú)QoS隊(duì)列33。無(wú)QoS隊(duì)列33用于對(duì)無(wú)QoS作業(yè)進(jìn)行排隊(duì),它接收作業(yè)排隊(duì)模塊32轉(zhuǎn)交的作業(yè),調(diào)度決策模塊4中的作業(yè)提取模塊41定期來無(wú)QoS隊(duì)列33提取作業(yè)。低QoS隊(duì)列34用于對(duì)低QoS作業(yè)進(jìn)行排隊(duì),它接收作業(yè)排隊(duì)模塊32轉(zhuǎn)交的作業(yè),調(diào)度決策模塊4中的作業(yè)提取模塊41定期來底QoS隊(duì)列34提取作業(yè)。高QoS隊(duì)列35用于對(duì)高QoS作業(yè)進(jìn)行排隊(duì),它接收作業(yè)排隊(duì)模塊32轉(zhuǎn)交的作業(yè),調(diào)度決策模塊4中的作業(yè)提取模塊41定期來高QoS隊(duì)列35提取作業(yè)。無(wú)QoS隊(duì)列33、低QoS隊(duì)列34和高QoS隊(duì)列35排隊(duì)策略為先來先服務(wù),優(yōu)先級(jí)為無(wú)QoS隊(duì)列33中的作業(yè)最低,高QoS隊(duì)列35中的作業(yè)優(yōu)先級(jí)最高。如圖3所示,調(diào)度決策模塊4包含作業(yè)提取模塊41、容錯(cuò)策略模塊42、調(diào)度策略模塊43和資源作業(yè)匹配模塊44。作業(yè)提取模塊41負(fù)責(zé)從預(yù)調(diào)度模塊3的無(wú)QoS隊(duì)列33、低QoS隊(duì)列34和高QoS隊(duì)列35中提取作業(yè),按照高低無(wú)的優(yōu)先級(jí)別提取作業(yè)。并將作業(yè)轉(zhuǎn)交于資源作業(yè)匹配模塊44。容錯(cuò)策略模塊42負(fù)責(zé)為作業(yè)調(diào)度提供靈活的容錯(cuò)策略,為無(wú)QoS作業(yè)提供重試容錯(cuò)策略,即在作業(yè)運(yùn)行失敗后,將作業(yè)再調(diào)度到其他資源節(jié)點(diǎn)上運(yùn)行;為低QoS作業(yè)提供主副本容錯(cuò)策略,另外副本有主動(dòng)運(yùn)行模式和被動(dòng)運(yùn)行模型。當(dāng)副本的最晚啟動(dòng)時(shí)間和主本的預(yù)期完成時(shí)間重疊時(shí),副本采用主動(dòng)運(yùn)行模式,反之,采用被動(dòng)運(yùn)行模式;為高QoS作業(yè)提供復(fù)制容錯(cuò)策略,就是將作業(yè)同時(shí)調(diào)度到兩個(gè)以上的資源節(jié)點(diǎn)運(yùn)行,以保障作業(yè)在用戶指定的完成期限內(nèi)成功完成。容錯(cuò)策略模塊42接受資源作業(yè)匹配模塊44的容錯(cuò)決策請(qǐng)求,并將相應(yīng)的容錯(cuò)策略返回至資源作業(yè)匹配模塊44。調(diào)度策略模塊43負(fù)責(zé)為作業(yè)調(diào)度提供可靠的調(diào)度策略,本發(fā)明提供基于作業(yè)運(yùn)行可靠性代價(jià)的調(diào)度策略,可靠性代價(jià)即作業(yè)在該資源上的預(yù)期運(yùn)行時(shí)間和該資源在作業(yè)預(yù)期運(yùn)行時(shí)間內(nèi)正常運(yùn)行的概率之積。調(diào)度策略模塊43接受資源作業(yè)匹配模塊44的調(diào)度決策請(qǐng)求,并將相應(yīng)的調(diào)度策略返回至資源作業(yè)匹配模塊44。資源作業(yè)匹配模塊44接收作業(yè)提取模塊41轉(zhuǎn)交的作業(yè),與作業(yè)完成時(shí)間預(yù)測(cè)模塊5進(jìn)行交互,預(yù)測(cè)作業(yè)的完成時(shí)間;然后根據(jù)作業(yè)特點(diǎn),與資源信息模塊6和調(diào)度決策模塊43交互,制定作業(yè)的調(diào)度策略,選擇最優(yōu)的資源;并與容錯(cuò)策略模塊42交互,制定作業(yè)的容錯(cuò)策略;最后,資源作業(yè)匹配模塊44將作業(yè)調(diào)度于網(wǎng)格資源平臺(tái)7對(duì)應(yīng)的資源節(jié)點(diǎn)。作業(yè)完成時(shí)間預(yù)測(cè)模塊5負(fù)責(zé)預(yù)測(cè)作業(yè)在各個(gè)網(wǎng)格資源節(jié)點(diǎn)上的預(yù)期完成時(shí)間。它接收調(diào)度決策模塊4中資源作業(yè)匹配模塊4的作業(yè)信息,并從資源信息模塊6中獲取網(wǎng)格資源節(jié)點(diǎn)的動(dòng)態(tài)性能信息,然后對(duì)作業(yè)完成時(shí)間進(jìn)行預(yù)測(cè),并將預(yù)測(cè)結(jié)果返回給資源作業(yè)匹配模塊44。如圖4所示,資源信息模塊6包含資源信息探測(cè)模塊61、資源可用性預(yù)測(cè)模塊62和數(shù)據(jù)庫(kù)63。資源信息探測(cè)模塊61負(fù)責(zé)收集網(wǎng)格資源信息和監(jiān)控網(wǎng)格資源的變化,它監(jiān)控網(wǎng)格資源平臺(tái)7中的各網(wǎng)格資源節(jié)點(diǎn),將定期收集的靜態(tài)和動(dòng)態(tài)資源信息保存在數(shù)據(jù)庫(kù)63中,同時(shí),如果有資源加入或離開(或發(fā)生故障不能訪問),資源信息探測(cè)模塊61會(huì)及時(shí)通知資源可用性預(yù)測(cè)模塊62。資源可用性預(yù)測(cè)模塊62負(fù)責(zé)對(duì)資源的未來可用性進(jìn)行預(yù)測(cè),它基于馬爾科夫預(yù)測(cè)模型構(gòu)建資源可用性狀態(tài)空間和狀態(tài)轉(zhuǎn)移矩陣。資源可用性預(yù)測(cè)模塊62接收資源信息探測(cè)模塊61的信號(hào),并與數(shù)據(jù)庫(kù)63進(jìn)行交互,及時(shí)地更新資源節(jié)點(diǎn)的狀態(tài)空間和狀態(tài)轉(zhuǎn)移矩陣,并將更新結(jié)果保存于數(shù)據(jù)庫(kù)63。數(shù)據(jù)庫(kù)63用于保存網(wǎng)格資源節(jié)點(diǎn)的性能信息以及各資源節(jié)點(diǎn)的可用性狀態(tài)空間和狀態(tài)轉(zhuǎn)移矩陣,它接收來自資源信息探測(cè)模塊61和資源可用性預(yù)測(cè)模塊62的信息并更新數(shù)據(jù)庫(kù),同時(shí)它也接受作業(yè)完成時(shí)間預(yù)測(cè)模塊5和調(diào)度決策模塊4中資源作業(yè)匹配模塊44的信息査詢。下面對(duì)本發(fā)明的工作流程分別加以介紹(1)作業(yè)預(yù)調(diào)度流程(如圖5所示)(1.1)系統(tǒng)接收到用戶通過作業(yè)提交接口模塊1提交的作業(yè);(1.2)作業(yè)QoS解析模塊31對(duì)作業(yè)進(jìn)行解析,提取作業(yè)QoS需求信息;(1.3)作業(yè)排隊(duì)模塊32判斷作業(yè)QoS等級(jí),如果屬于無(wú)作業(yè)期限限制,則把作業(yè)加入無(wú)QoS隊(duì)列33;(1.4)作業(yè)排隊(duì)模塊32預(yù)測(cè)作業(yè)在各網(wǎng)格資源節(jié)點(diǎn)的預(yù)期完成時(shí)間;(1.5)求作業(yè)在資源節(jié)點(diǎn)的平均運(yùn)行時(shí)間T;(1.6)如果<formula>formulaseeoriginaldocumentpage13</formula>,作業(yè)加入高QoS對(duì)列(Tn為系統(tǒng)當(dāng)前時(shí)間,Td為作業(yè)完成期限限制時(shí)間,(K"1);(1.7)否則,作業(yè)加入低QoS對(duì)列。(2)作業(yè)調(diào)度決策流程(如圖6所示)(2.1)作業(yè)提取模塊41分別從高、低、無(wú)QoS對(duì)列33、34禾口35中提取作業(yè);(2.2)資源作業(yè)匹配模塊44計(jì)算作業(yè)在各資源上的可靠性代價(jià);(2.3)資源作業(yè)匹配模塊44與調(diào)度策略模塊43交互,將作業(yè)調(diào)度到可靠性代價(jià)最低的資源節(jié)點(diǎn)上;(2.4)資源作業(yè)匹配模塊44與容錯(cuò)策略模塊42交互,如果作業(yè)屬于高QoS作業(yè),則對(duì)作業(yè)實(shí)施主副本同時(shí)運(yùn)行策略;(2.5)如果作業(yè)屬于低QoS作業(yè),則對(duì)作業(yè)實(shí)施主副本異步運(yùn)行策略;(2.6)如果作業(yè)屬于無(wú)QoS作業(yè),則對(duì)作業(yè)實(shí)施重試容錯(cuò)策略。下面舉例說明本系統(tǒng)實(shí)施過程中的配置情況。為了驗(yàn)證本發(fā)明系統(tǒng)的可行性和有效性,在真實(shí)環(huán)境下配置本發(fā)明系統(tǒng)。在具有40個(gè)節(jié)點(diǎn)機(jī)的集群系統(tǒng)構(gòu)建一個(gè)適用于網(wǎng)格環(huán)境的基于可靠性代價(jià)的作業(yè)調(diào)度系統(tǒng)。其基本配置如表1所示表l系統(tǒng)的配置例示<table>tableseeoriginaldocumentpage14</column></row><table>其中,一臺(tái)作為前端機(jī),部署作業(yè)提交接口模塊l,用戶通過作業(yè)提交接口模塊1進(jìn)行作業(yè)提交。兩臺(tái)部署作業(yè)調(diào)度模塊2,其中一臺(tái)部署預(yù)調(diào)度模塊3、調(diào)度決策模塊4;另一臺(tái)部署作業(yè)完成時(shí)間預(yù)測(cè)模塊5和資源信息模塊6。其余37臺(tái)模擬網(wǎng)格資源平臺(tái)7,它代表網(wǎng)格資源節(jié)點(diǎn),每個(gè)資源節(jié)點(diǎn)都有不同的可靠性。經(jīng)過試驗(yàn)測(cè)試,可以實(shí)現(xiàn)以下操作(1)資源信息模塊6能夠及時(shí)地探測(cè)到底層網(wǎng)格資源節(jié)點(diǎn)的性能變化,并可以有效地預(yù)測(cè)網(wǎng)格資源節(jié)點(diǎn)未來的可用性。(2)作業(yè)完成時(shí)間預(yù)測(cè)模塊5基于數(shù)學(xué)模型構(gòu)建,結(jié)合網(wǎng)格資源的性能信息,可以準(zhǔn)確地預(yù)測(cè)作業(yè)的預(yù)期完成時(shí)間。(3)基于作業(yè)的QoS需求,以及對(duì)作業(yè)完成時(shí)間的預(yù)測(cè)和網(wǎng)格資源節(jié)點(diǎn)的未來可用性預(yù)測(cè),對(duì)作業(yè)進(jìn)行基于可靠性代價(jià)調(diào)度,并為作業(yè)選擇優(yōu)化的容錯(cuò)策略。(4)試驗(yàn)數(shù)據(jù)表明,本系統(tǒng)可以提高作業(yè)運(yùn)行成功率、系統(tǒng)吞吐量以及負(fù)載均衡。權(quán)利要求1、一種適用于網(wǎng)格環(huán)境的基于可靠性代價(jià)的作業(yè)調(diào)度系統(tǒng),其特征在于它包括作業(yè)提交接口模塊(1)和作業(yè)調(diào)度模塊(2);作業(yè)提交接口模塊(1)用于用戶提交作業(yè),并傳送給作業(yè)調(diào)度模塊(2);作業(yè)調(diào)度模塊(2)用于接收作業(yè)提交接口模塊(1)提交的作業(yè),進(jìn)行調(diào)度和容錯(cuò)策略定制后,將作業(yè)分配到網(wǎng)格資源平臺(tái)(7)中相應(yīng)的資源節(jié)點(diǎn);它包括預(yù)調(diào)度模塊(3)、調(diào)度決策模塊(4)、作業(yè)完成時(shí)間預(yù)測(cè)模塊(5)和資源信息模塊(6);預(yù)調(diào)度模塊(3)通過對(duì)作業(yè)的服務(wù)質(zhì)量需求進(jìn)行分析,對(duì)用戶作業(yè)進(jìn)行分類排隊(duì);預(yù)調(diào)度模塊(3)接收作業(yè)提交模塊(1)傳送來的作業(yè),并與作業(yè)完成時(shí)間預(yù)測(cè)模塊(5)進(jìn)行交互,根據(jù)作業(yè)完成時(shí)間預(yù)測(cè)模塊(5)的預(yù)測(cè)信息對(duì)作業(yè)進(jìn)行分類排隊(duì);預(yù)調(diào)度模塊(3)同時(shí)作為調(diào)度決策模塊(4)的作業(yè)池,為調(diào)度決策模塊(4)提供作業(yè);作業(yè)完成時(shí)間預(yù)測(cè)模塊(5)用于對(duì)每個(gè)作業(yè)在各資源節(jié)點(diǎn)上的完成時(shí)間進(jìn)行預(yù)測(cè);作業(yè)完成時(shí)間預(yù)測(cè)模塊(5)接受預(yù)調(diào)度模塊(3)和調(diào)度決策模塊(4)的作業(yè)完成時(shí)間預(yù)測(cè)請(qǐng)求,在進(jìn)行預(yù)測(cè)后,將預(yù)測(cè)結(jié)果分別返回至預(yù)調(diào)度模塊(3)和調(diào)度決策模塊(4);作業(yè)完成時(shí)間預(yù)測(cè)模塊(5)與資源信息模塊(6)進(jìn)行交互,作業(yè)完成時(shí)間預(yù)測(cè)模塊(5)通過資源信息模塊(6)查詢各資源的性能信息;資源信息模塊(6)負(fù)責(zé)收集網(wǎng)格資源節(jié)點(diǎn)的實(shí)時(shí)狀態(tài)信息,資源信息模塊(6)接受調(diào)度決策模塊(4)和作業(yè)完成時(shí)間預(yù)測(cè)模塊(5)的資源查詢請(qǐng)求,并將相應(yīng)的查詢結(jié)果返回調(diào)度決策模塊(4)和作業(yè)完成時(shí)間預(yù)測(cè)模塊(5);資源信息模塊(6)采用定期查詢和訂閱/發(fā)布機(jī)制與底層網(wǎng)格資源(7)中的各資源進(jìn)行交互,及時(shí)更新各資源的性能信息;調(diào)度決策模塊(4)根據(jù)資源節(jié)點(diǎn)未來的可用性,對(duì)用戶作業(yè)進(jìn)行基于可靠性代價(jià)的調(diào)度,同時(shí)也根據(jù)作業(yè)的服務(wù)質(zhì)量需求和被調(diào)度資源節(jié)點(diǎn)的未來可用性,為每一調(diào)度作業(yè)制定容錯(cuò)策略;調(diào)度決策模塊(4)從預(yù)調(diào)度模塊(3)中取回待調(diào)度作業(yè),請(qǐng)求作業(yè)完成時(shí)間預(yù)測(cè)模塊(5)對(duì)作業(yè)在各資源上的運(yùn)行時(shí)間進(jìn)行預(yù)測(cè);然后,根據(jù)作業(yè)運(yùn)行需求和作業(yè)在各資源上的運(yùn)行時(shí)間,與資源信息模塊(6)進(jìn)行交互,完成作業(yè)與最佳資源的匹配;最后,調(diào)度決策模塊(4)將作業(yè)調(diào)度到網(wǎng)格資源平臺(tái)(7)上對(duì)應(yīng)的資源節(jié)點(diǎn)。2、根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度系統(tǒng),其特征在于預(yù)調(diào)度模塊(3)包含作業(yè)服務(wù)質(zhì)量解析模塊(31)、作業(yè)排隊(duì)模塊(32)、無(wú)服務(wù)質(zhì)量隊(duì)列(33)、低服務(wù)質(zhì)量隊(duì)列(34)和高服務(wù)質(zhì)量隊(duì)列(35);作業(yè)服務(wù)質(zhì)量解析模塊(31)接收用戶通過作業(yè)提交接口模塊(1)提交的作業(yè),對(duì)作業(yè)進(jìn)行解析,提取作業(yè)的服務(wù)質(zhì)量需求,經(jīng)過處理后將作業(yè)及解析的信息轉(zhuǎn)交與作業(yè)排隊(duì)模塊(32);作業(yè)排隊(duì)模塊(32)接收作業(yè)服務(wù)質(zhì)量解析模塊(31)轉(zhuǎn)交的作業(yè)和解析信息,并與作業(yè)完成時(shí)間預(yù)測(cè)模塊(5)進(jìn)行交互,根據(jù)作業(yè)的服務(wù)質(zhì)量需求和資源節(jié)點(diǎn)的特征確定作業(yè)的服務(wù)質(zhì)量等級(jí);作業(yè)排隊(duì)模塊(32)將作業(yè)分類并分別提交給高服務(wù)質(zhì)量隊(duì)列(35)、低服務(wù)質(zhì)量隊(duì)列(34)、無(wú)服務(wù)質(zhì)量隊(duì)列(33);無(wú)服務(wù)質(zhì)量隊(duì)列(33)用于對(duì)無(wú)服務(wù)質(zhì)量作業(yè)進(jìn)行排隊(duì),它接收作業(yè)排隊(duì)模塊(32)轉(zhuǎn)交的作業(yè),調(diào)度決策模塊(4)中的作業(yè)提取模塊(41)定期來無(wú)服務(wù)質(zhì)量隊(duì)列(33)提取作業(yè);低服務(wù)質(zhì)量隊(duì)列(34)用于對(duì)低服務(wù)質(zhì)量作業(yè)進(jìn)行排隊(duì),它接收作業(yè)排隊(duì)模塊(32)轉(zhuǎn)交的作業(yè),調(diào)度決策模塊(4)中的作業(yè)提取模塊(41)定期來低服務(wù)質(zhì)量隊(duì)列(34)提取作業(yè);高服務(wù)質(zhì)量隊(duì)列(35)用于對(duì)高服務(wù)質(zhì)量作業(yè)進(jìn)行排隊(duì),它接收作業(yè)排隊(duì)模塊(32)轉(zhuǎn)交的作業(yè),調(diào)度決策模塊(4)中的作業(yè)提取模塊(41)定期來高服務(wù)質(zhì)量隊(duì)列(35)提取作業(yè);無(wú)服務(wù)質(zhì)量隊(duì)列(33)、低服務(wù)質(zhì)量隊(duì)列(34)和高服務(wù)質(zhì)量隊(duì)列(35)排隊(duì)策略為先來先服務(wù),優(yōu)先級(jí)為無(wú)服務(wù)質(zhì)量隊(duì)列(33)中的作業(yè)最低,高服務(wù)質(zhì)量隊(duì)列(35)中的作業(yè)優(yōu)先級(jí)最高。3、根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度系統(tǒng),其特征在于調(diào)度決策模塊(4)包含作業(yè)提取模塊(41)、容錯(cuò)策略模塊(42)、調(diào)度策略模塊(43)和資源作業(yè)匹配模塊(44);作業(yè)提取模塊(41)負(fù)責(zé)從預(yù)調(diào)度模塊(3)的無(wú)服務(wù)質(zhì)量隊(duì)列(33)、低服務(wù)質(zhì)量隊(duì)列(34)和高服務(wù)質(zhì)量隊(duì)列(35)中提取作業(yè),按照高低無(wú)的優(yōu)先級(jí)別提取作業(yè);并將作業(yè)轉(zhuǎn)交于資源作業(yè)匹配模塊(44);容錯(cuò)策略模塊(42)負(fù)責(zé)為作業(yè)調(diào)度提供靈活的容錯(cuò)策略,包括為無(wú)服務(wù)質(zhì)量作業(yè)提供重試容錯(cuò)策略,即在作業(yè)運(yùn)行失敗后,將作業(yè)再調(diào)度到其他資源節(jié)點(diǎn)上運(yùn)行;為低服務(wù)質(zhì)量作業(yè)提供主副本容錯(cuò)策略,另外副本有主動(dòng)運(yùn)行模式和被動(dòng)運(yùn)行模型;當(dāng)副本的最晚啟動(dòng)時(shí)間和主本的預(yù)期完成時(shí)間重疊時(shí),副本采用主動(dòng)運(yùn)行模式,反之,采用被動(dòng)運(yùn)行模式;為高服務(wù)質(zhì)量作業(yè)提供復(fù)制容錯(cuò)策略,將作業(yè)同時(shí)調(diào)度到兩個(gè)以上的資源節(jié)點(diǎn)運(yùn)行,保障作業(yè)在用戶指定的完成期限內(nèi)成功完成;容錯(cuò)策略模塊(42)接受資源作業(yè)匹配模塊(44)的容錯(cuò)決策請(qǐng)求,并將相應(yīng)的容錯(cuò)策略返回至資源作業(yè)匹配模塊(44);調(diào)度策略模塊(43)負(fù)責(zé)為作業(yè)調(diào)度提供基于作業(yè)運(yùn)行可靠性代價(jià)的調(diào)度策略的調(diào)度策略,接受資源作業(yè)匹配模塊(44)的調(diào)度決策請(qǐng)求,并將相應(yīng)的調(diào)度策略返回至資源作業(yè)匹配模塊(44);資源作業(yè)匹配模塊(44)接收作業(yè)提取模塊(41)轉(zhuǎn)交的作業(yè),與作業(yè)完成時(shí)間預(yù)測(cè)模塊(5)進(jìn)行交互,預(yù)測(cè)作業(yè)的完成時(shí)間;然后根據(jù)作業(yè)特點(diǎn),與資源信息模塊(6)和調(diào)度決策模塊(43)交互,制定作業(yè)的調(diào)度策略,選擇最優(yōu)的資源;并與容錯(cuò)策略模塊(42)交互,制定作業(yè)的容錯(cuò)策略;最后,資源作業(yè)匹配模塊(44)將作業(yè)調(diào)度于網(wǎng)格資源平臺(tái)(7)對(duì)應(yīng)的資源節(jié)點(diǎn)。4、根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度系統(tǒng),其特征在于資源信息模塊(6)包含資源信息探測(cè)模塊(61)、資源可用性預(yù)測(cè)模塊(62)和數(shù)據(jù)庫(kù)(63);資源信息探測(cè)模塊(61)負(fù)責(zé)收集網(wǎng)格資源信息和監(jiān)控'網(wǎng)格資源的變化,它監(jiān)控網(wǎng)格資源平臺(tái)(7)中的各網(wǎng)格資源節(jié)點(diǎn),將定期收集的靜態(tài)和動(dòng)態(tài)資源信息保存在數(shù)據(jù)庫(kù)(63)中,同時(shí),如果有資源加入或離開,資源信息探測(cè)模塊(61)會(huì)及時(shí)通知資源可用性預(yù)測(cè)模塊(62);資源可用性預(yù)測(cè)模塊(62)負(fù)責(zé)對(duì)資源的未來可用性進(jìn)行預(yù)測(cè),它基于馬爾科夫預(yù)測(cè)模型構(gòu)建資源可用性狀態(tài)空間和狀態(tài)轉(zhuǎn)移矩陣;資源可用性預(yù)測(cè)模塊(62)接收資源信息探測(cè)模塊(61)的信號(hào),并與數(shù)據(jù)庫(kù)(63)進(jìn)行交互,及時(shí)地更新資源節(jié)點(diǎn)的狀態(tài)空間和狀態(tài)轉(zhuǎn)移矩陣,并將更新結(jié)果保存于數(shù)據(jù)庫(kù)(63);數(shù)據(jù)庫(kù)(63)用于保存網(wǎng)格資源節(jié)點(diǎn)的性能信息以及各資源節(jié)點(diǎn)的可用性狀態(tài)空間和狀態(tài)轉(zhuǎn)移矩陣,它接收來自資源信息探測(cè)模塊(61)和資源可用性預(yù)測(cè)模塊(62)的信息并更新數(shù)據(jù)庫(kù),同時(shí)它也接受作業(yè)完成時(shí)間預(yù)測(cè)模塊(5)和調(diào)度決策模塊(4)中資源作業(yè)匹配模塊(44)的信息査詢。全文摘要本發(fā)明為一種適用于網(wǎng)格環(huán)境的基于可靠性代價(jià)的作業(yè)調(diào)度系統(tǒng)。如圖1所示,整個(gè)系統(tǒng)分為三層第一層為作業(yè)提交接口模塊1,第二層為作業(yè)調(diào)度模塊2,以及底層為網(wǎng)格資源平臺(tái)7。從工作原理上說,本發(fā)明的核心為第二層的作業(yè)調(diào)度模塊,它包括預(yù)調(diào)度模塊3、調(diào)度決策模塊4、作業(yè)完成時(shí)間預(yù)測(cè)模塊5和資源信息模塊6。本發(fā)明系統(tǒng)提出作業(yè)運(yùn)行時(shí)間預(yù)測(cè)模型和資源可用性預(yù)測(cè)模型。作業(yè)運(yùn)行時(shí)間預(yù)測(cè)模型基于數(shù)學(xué)模型,資源可用性預(yù)測(cè)模型基于馬爾科夫模型,具有很高的準(zhǔn)確性和通用性。本發(fā)明系統(tǒng)根據(jù)作業(yè)服務(wù)質(zhì)量需求和資源特點(diǎn)的不同分別采用復(fù)制容錯(cuò)策略、主副本異步運(yùn)行復(fù)制容錯(cuò)策略和重試容錯(cuò)策略,具有很高的靈活性和有效性。同時(shí),本發(fā)明系統(tǒng)支持計(jì)算密集型作業(yè)和數(shù)據(jù)密集型作業(yè),具有很好的通用性。本發(fā)明與現(xiàn)有的調(diào)度系統(tǒng)相比,具有支持更多的并發(fā)用戶、提高資源的利用率、通用性好、可擴(kuò)展性好、系統(tǒng)吞吐率高等優(yōu)點(diǎn)。文檔編號(hào)H04L12/56GK101309208SQ20081004816公開日2008年11月19日申請(qǐng)日期2008年6月21日優(yōu)先權(quán)日2008年6月21日發(fā)明者松吳,曹海軍,石宣化,鄒德清,海金,陶永才申請(qǐng)人:華中科技大學(xué)