《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 網(wǎng)格協(xié)同設(shè)計(jì)環(huán)境中的任務(wù)調(diào)度機(jī)制

網(wǎng)格協(xié)同設(shè)計(jì)環(huán)境中的任務(wù)調(diào)度機(jī)制

2008-05-06
作者:楊格蘭,,左偉明

  摘 要: 分析了網(wǎng)格環(huán)境中的任務(wù)調(diào)度" title="任務(wù)調(diào)度">任務(wù)調(diào)度模型及任務(wù)調(diào)度過程,?;诰唧w的協(xié)同設(shè)計(jì)" title="協(xié)同設(shè)計(jì)">協(xié)同設(shè)計(jì)" title="網(wǎng)格協(xié)同設(shè)計(jì)" title="網(wǎng)格協(xié)同設(shè)計(jì)">網(wǎng)格協(xié)同設(shè)計(jì)">網(wǎng)格協(xié)同設(shè)計(jì)構(gòu)架GMCD,提出了相應(yīng)的任務(wù)分解和調(diào)度流程,,并進(jìn)一步在網(wǎng)格協(xié)同設(shè)計(jì)環(huán)境中引入了資源預(yù)留機(jī)制,,為實(shí)現(xiàn)網(wǎng)格協(xié)同設(shè)計(jì)中的任務(wù)調(diào)度提供了保障。
  關(guān)鍵詞: 網(wǎng)格 協(xié)同設(shè)計(jì) 任務(wù)調(diào)度 資源預(yù)留


  協(xié)同設(shè)計(jì)(Collaborative Design)是指在計(jì)算機(jī)的支持下,各成員圍繞一個(gè)設(shè)計(jì)對象,,各自承擔(dān)相應(yīng)部分的設(shè)計(jì)任務(wù),,并行交互地進(jìn)行設(shè)計(jì)工作,最終得到符合要求的設(shè)計(jì)結(jié)果的設(shè)計(jì)[1],。網(wǎng)格的出現(xiàn)為協(xié)同設(shè)計(jì)帶來了嶄新的解決思路,。借助于網(wǎng)格研究的基礎(chǔ)設(shè)施以及Globus聯(lián)盟推出的網(wǎng)格既定標(biāo)準(zhǔn)GT3(Globus Toolkit 3),可以為制造業(yè)網(wǎng)絡(luò)設(shè)計(jì)提供極為方便的底層支撐,,為快速建立一個(gè)健壯的設(shè)計(jì)平臺(tái)提供保證,,GMCD[4]就是這樣一個(gè)設(shè)計(jì)平臺(tái)。本文將首先分析網(wǎng)格環(huán)境中任務(wù)調(diào)度的模型,,然后基于協(xié)同設(shè)計(jì)環(huán)境的特殊性,,以GMCD為框架,建立一種實(shí)用的任務(wù)調(diào)度模型,。
1 網(wǎng)格任務(wù)調(diào)度模型
  網(wǎng)格環(huán)境中資源管理" title="資源管理">資源管理結(jié)構(gòu)模型有分層模型、抽象所有者模型,、計(jì)算市場(經(jīng)濟(jì))模型和混合模型,。GMCD框架是以Globus為基礎(chǔ)的,而Globus的資源管理結(jié)構(gòu)模型則是層次的,。因此,,本節(jié)著重討論分層模型中的網(wǎng)格調(diào)度。
1.1 網(wǎng)格任務(wù)調(diào)度的相關(guān)組件及功能
  在分層的資源管理結(jié)構(gòu)模型中,,資源管理與調(diào)度是多級的,,每個(gè)資源有自己的調(diào)度子系統(tǒng),用戶只需把作業(yè)提交給資源請求代理,,而代理后有多少資源提供者,,以及該作業(yè)分配哪個(gè)資源,對于用戶來說都是透明的,。資源提供者可以是單個(gè)PC機(jī),,可以是單個(gè)集群或多個(gè)集群,也可以是某個(gè)組織的一個(gè)中小型局域網(wǎng),。它們都有一個(gè)共同點(diǎn),,即都有一個(gè)管理者——局部資源管理器" title="管理器">管理器。單個(gè)PC機(jī)本身就是一個(gè)管理者,;而集群和局域網(wǎng),,一般都有一臺(tái)服務(wù)器專職管理集群/局域網(wǎng)中的各結(jié)點(diǎn)。用戶作業(yè)在資源請求代理上進(jìn)行一級調(diào)度,,在局部資源管理器上進(jìn)行二級調(diào)度,,如果下面存在更多的集群或局域網(wǎng),則存在三級、四級等多級調(diào)度,。
  在網(wǎng)格任務(wù)調(diào)度中有兩個(gè)非常重要的組件,,分別是資源請求代理和資源管理器,它們在任務(wù)調(diào)度過程中分別進(jìn)行一級和二級(多級)調(diào)度,。其他與任務(wù)調(diào)度有關(guān)的組件還有網(wǎng)格工作站點(diǎn)以及負(fù)責(zé)聯(lián)系的組件[3]
  (1)資源請求代理
  它是整個(gè)網(wǎng)格的資源管理者,,負(fù)責(zé)接收用戶任務(wù),根據(jù)其特點(diǎn)發(fā)送給域資源管理器,,動(dòng)態(tài)監(jiān)視任務(wù)的運(yùn)行情況,,根據(jù)需要將結(jié)果提交給用戶或進(jìn)行再調(diào)度。主要功能有:
 ?、賹Ψ?wù)提供方提供注冊功能,,并對其加入和退出等動(dòng)作進(jìn)行控制。
 ?、诮⒕W(wǎng)格資源信息庫并周期性地刷新,,對全局資源進(jìn)行統(tǒng)一管理和分配。
 ?、劢邮沼脩籼峤坏淖鳂I(yè),,并根據(jù)作業(yè)類型和要求(如資源的類型和數(shù)量等)形成作業(yè)調(diào)度參數(shù)。
 ?、芨鶕?jù)作業(yè)調(diào)度參數(shù)調(diào)度作業(yè),,分派資源,并隨時(shí)監(jiān)視作業(yè)的執(zhí)行情況,。
 ?、萑糇鳂I(yè)執(zhí)行有誤,則對其進(jìn)行再調(diào)度,,保證用戶作業(yè)的安全運(yùn)行,。
  (2)域資源管理器
  它是域內(nèi)資源管理和動(dòng)態(tài)調(diào)度的中心,負(fù)責(zé)本域工作的創(chuàng)建,、屬性的收集,、接收從資源請求代理提交的任務(wù)并根據(jù)其特點(diǎn)進(jìn)行處理機(jī)的分配。主要功能有:
 ?、俦O(jiān)聽從本域結(jié)點(diǎn)發(fā)送來的信息,,建立域成員信息資料庫并周期性刷新。
 ?、谥芷谛缘亟邮沼少Y源請求代理提交的作業(yè),,并判斷其可行性,建立本域的任務(wù)隊(duì)列,。
 ?、蹚娜蝿?wù)隊(duì)列中選取作業(yè),,根據(jù)提交的參數(shù)和資源情況合理地分配作業(yè)。
 ?、軐⒆鳂I(yè)執(zhí)行情況定時(shí)返回給資源請求代理,,維持與上級數(shù)據(jù)庫的一致性。
 ?、荼O(jiān)視各組員執(zhí)行狀況,,根據(jù)情況進(jìn)行作業(yè)調(diào)整(域內(nèi)調(diào)整或再調(diào)度)。
 ?、薮_保用戶作業(yè)的安全運(yùn)行,,將結(jié)果通知資源請求代理并直接返還給用戶。
  (3)網(wǎng)格工作結(jié)點(diǎn)
  它是任務(wù)執(zhí)行的基本單位,,一旦申請加入資源提供方,,便由域資源管理器直接調(diào)度和由資源請求代理間接調(diào)度。主要功能有:
 ?、傧蛏霞壒芾砥魈岢錾暾?,請求加入資源提供方。
 ?、谑占窘Y(jié)點(diǎn)的狀態(tài)和負(fù)載信息,,并周期性地提交給域資源管理器。
 ?、郛a(chǎn)生服務(wù)進(jìn)程,隨時(shí)接收上級管理器提交的任務(wù)并執(zhí)行,。
  (4)負(fù)責(zé)聯(lián)系的組件
  鑒于各實(shí)體間的聯(lián)系比較多,,可將其分為作業(yè)提交和資源匯報(bào)兩部分。
 ?、僮鳂I(yè)提交部分
  用戶向資源請求代理提交作業(yè)任務(wù),;資源請求代理根據(jù)用戶參數(shù)將作業(yè)轉(zhuǎn)交給域資源管理器;域資源管理器根據(jù)各結(jié)點(diǎn)負(fù)載情況分派作業(yè)給合適的資源工作結(jié)點(diǎn),,任務(wù)執(zhí)行完畢后保存作業(yè)結(jié)果,;域資源管理器直接將結(jié)果返回給用戶。
 ?、谫Y源匯報(bào)部分
  它完成如下任務(wù):網(wǎng)格工作結(jié)點(diǎn)向域資源管理器提供各結(jié)點(diǎn)的狀態(tài)和負(fù)載情況,;域資源管理器將該域的負(fù)載信息匯總并送給資源請求代理供查詢和管理結(jié)點(diǎn);域資源管理器周期性地刷新資源請求代理中的作業(yè)狀態(tài),;工作結(jié)點(diǎn)執(zhí)行完畢,。
1.2 網(wǎng)格任務(wù)調(diào)度的過程
  用戶利用提交程序?qū)⒆鳂I(yè)任務(wù)和要求的環(huán)境屬性(如資源類型和數(shù)量等)提交給資源請求代理,資源請求代理分析環(huán)境屬性形成參數(shù)文件,,根據(jù)任務(wù)性質(zhì),、通信狀況和各資源負(fù)載情況進(jìn)行粗粒度調(diào)度,,尋求最佳分配方案將作業(yè)及參數(shù)文件提交給選中的域資源管理器。當(dāng)域資源管理器接收到新任務(wù)或調(diào)度周期到來時(shí),,新任務(wù)被賦予任務(wù)優(yōu)先級插入作業(yè)隊(duì)列,。守護(hù)進(jìn)程從結(jié)點(diǎn)機(jī)列表中獲取該域內(nèi)所有資源負(fù)載情況,同時(shí)更新資源請求代理上全局?jǐn)?shù)據(jù)庫中相關(guān)的信息表,。確定已經(jīng)到達(dá)該域的任務(wù)的優(yōu)先級,,每次選取一個(gè)任務(wù)分配合適的資源。相應(yīng)地,,守護(hù)進(jìn)程派生出相應(yīng)的作業(yè)線程,,周期性地監(jiān)視該作業(yè)的執(zhí)行狀態(tài),并向上一級(資源請求代理)匯報(bào),, 以便進(jìn)行全局管理與調(diào)度(或用戶查詢),。當(dāng)任務(wù)途中異常中斷或執(zhí)行性能比預(yù)期要差時(shí),資源請求代理可進(jìn)行再次調(diào)度,,重新安排其他資源,;而當(dāng)任務(wù)完成時(shí),資源請求代理會(huì)要求域資源管理器直接將作業(yè)結(jié)果返還給用戶,。
2 GMCD中的任務(wù)調(diào)度機(jī)制
  由于網(wǎng)格協(xié)同設(shè)計(jì)環(huán)境的特殊性,,網(wǎng)格協(xié)同設(shè)計(jì)環(huán)境中的任務(wù)調(diào)度模型和通用的網(wǎng)格調(diào)度模型相比也具有特殊性。現(xiàn)以GMCD構(gòu)架為例,,討論網(wǎng)格協(xié)同設(shè)計(jì)中的任務(wù)調(diào)度機(jī)制,。
  GMCD系統(tǒng)體系結(jié)構(gòu)由底而上可分為四層,即設(shè)計(jì)知識單元DKU(Design Knowledge Units)[4],、網(wǎng)格中間件,、設(shè)計(jì)中間件和應(yīng)用層,如圖1所示,。


  DKU及互聯(lián)網(wǎng)絡(luò)組成了GMCD的底層支持結(jié)構(gòu),。DKU是Internet上的具有設(shè)計(jì)能力的組織或機(jī)構(gòu),它們在某一類產(chǎn)品或零部件研發(fā)上具有先進(jìn)的設(shè)計(jì)技術(shù)和生產(chǎn)能力,。在DKU內(nèi)部存在設(shè)計(jì)知識數(shù)據(jù)庫,、局域網(wǎng)和設(shè)計(jì)工具(集)。它們之間通過Internet或?qū)S酶咚倬W(wǎng)連通,。在設(shè)計(jì)過程中,,各個(gè)DKU之間具有平等關(guān)系,各自負(fù)責(zé)所獲得任務(wù)的運(yùn)行,,相對來說是獨(dú)立的,。
  用戶在應(yīng)用層通過Portal將任務(wù)提交給設(shè)計(jì)中間件。設(shè)計(jì)中間件將由Portal提交的設(shè)計(jì)任務(wù)分解為可以被DKU執(zhí)行的子任務(wù),。分解過程如下,。
  GMCD任務(wù)分解分為兩層,。任務(wù)以XML(eXtensible Markup Language)文件形式被提交后,首先會(huì)由資源請求代理轉(zhuǎn)交給自稱能完成該任務(wù)的域,,然后在域控制管理器內(nèi)被首次分解,,分解的原則是可執(zhí)行原則。對于已經(jīng)進(jìn)入域控制管理器的任務(wù),,應(yīng)用分解智能體根據(jù)知識庫內(nèi)的知識,,將其分解為可以被DKU執(zhí)行的任務(wù)。知識庫內(nèi)保留了該域內(nèi)所有DKU的功能申明,。域內(nèi)任務(wù)分解(高層分解)的目標(biāo)是把任務(wù)分解為可以被DKU執(zhí)行的子任務(wù),,低層任務(wù)分解在DKU內(nèi)進(jìn)行,其目標(biāo)是把子任務(wù)分解為可以被DKU中服務(wù)器執(zhí)行的底層操作,。由于設(shè)計(jì)工作的特殊性,,DKU分布通常不均勻,能完成有關(guān)聯(lián)或相似性設(shè)計(jì)任務(wù)的DKU通常在一個(gè)或幾個(gè)域內(nèi),。如果被提交的設(shè)計(jì)任務(wù)沒有合適的域可以執(zhí)行,,則還要在高層分解之前加入一層手工分解或由資源請求代理分解。也就是說,,可以把任務(wù)返還給用戶,,由用戶根據(jù)一定的設(shè)計(jì)知識對設(shè)計(jì)任務(wù)實(shí)行手工分解,也可以由資源請求代理根據(jù)域的功能自述分解為可以被域執(zhí)行的子任務(wù),。域資源管理器和DKU的關(guān)系如圖2所示,。


  子任務(wù)在DKU內(nèi)被重新解析為可以被服務(wù)器執(zhí)行的底層任務(wù),然后由DKU調(diào)度到各個(gè)服務(wù)器上去執(zhí)行,。
  高層分解和低層分解在失敗時(shí)都回溯,。
  分解后的任務(wù)由域調(diào)度器調(diào)度到合適的DKU上去執(zhí)行。GMCD的任務(wù)映射分為三個(gè)層次,。資源請求代理保留了每個(gè)域的功能自述副本。任務(wù)通過Portal提交后,,根據(jù)域的功能自述,,被轉(zhuǎn)交給能完成該任務(wù)的域;然后在域內(nèi)分解再由域調(diào)度器進(jìn)行二次映射,,二次調(diào)度的目的是把分解后的子任務(wù)映射到合適的DKU上去,;在DKU內(nèi)的調(diào)度是第三次映射,這次調(diào)度的目的是把解析子任務(wù)后得到的底層任務(wù)映射到合適的服務(wù)器上去,。本文所關(guān)注的是第二次調(diào)度,,也就是分解以后的任務(wù)如何由域調(diào)度器調(diào)度到DKU上。在第二次調(diào)度中,,由于設(shè)計(jì)任務(wù)的特殊性,,一組相似或相關(guān)任務(wù)通常會(huì)在一個(gè)時(shí)間段內(nèi)陸續(xù)到達(dá),。
3 資源預(yù)留的引入
  資源預(yù)留是網(wǎng)格系統(tǒng)中一個(gè)十分必要的機(jī)制,因?yàn)橘Y源預(yù)留可以保證任務(wù)在開始執(zhí)行時(shí)獲得必要的資源,,從而提高網(wǎng)格系統(tǒng)的QoS,。因此,資源預(yù)留的提出,,從一開始就得到了廣泛的認(rèn)可,,在目前網(wǎng)格系統(tǒng)的調(diào)度模塊中已經(jīng)被廣泛采用。在協(xié)同設(shè)計(jì)過程中,,每個(gè)設(shè)計(jì)任務(wù),,特別是其中某些大任務(wù)的執(zhí)行直接影響設(shè)計(jì)任務(wù)完成的時(shí)間,在本文中引入了資源預(yù)留機(jī)制,,以便為其中的大任務(wù)提供動(dòng)態(tài)預(yù)留資源[5],,進(jìn)而提高協(xié)同設(shè)計(jì)的效率。
  下面討論引入資源預(yù)留的網(wǎng)格協(xié)同設(shè)計(jì)任務(wù)調(diào)度模型,。
  網(wǎng)格協(xié)同設(shè)計(jì)任務(wù)執(zhí)行的框架分為三個(gè)層次:由底而上依次為資源層,、資源管理控制層和應(yīng)用(用戶)層。資源層是可以進(jìn)行設(shè)計(jì)的實(shí)體DKU或者其他必要的資源,,接受資源管理控制層的管理,。應(yīng)用層負(fù)責(zé)用戶任務(wù)的提交和結(jié)果的反饋。資源管理控制層可以抽象為一個(gè)資源管理器,,在控制管理器內(nèi)設(shè)置了負(fù)責(zé)任務(wù)映射和資源預(yù)留請求的模塊,。
  網(wǎng)格協(xié)同設(shè)計(jì)任務(wù)調(diào)度系統(tǒng)模型示意圖如圖3所示。


  在圖3中,,在設(shè)計(jì)應(yīng)用層和資源管理器之間省略了一個(gè)資源請求代理層,。這是因?yàn)榧俣ㄈ蝿?wù)已經(jīng)由資源請求代理指定為由該域完成。在這個(gè)域中,,有多種系統(tǒng)資源,,主要考慮計(jì)算資源和存儲(chǔ)資源,在預(yù)留資源時(shí)既可能要預(yù)留計(jì)算資源也可能要預(yù)留存儲(chǔ)資源及其他資源,。當(dāng)調(diào)度系統(tǒng)有預(yù)留的需求時(shí),,就通過創(chuàng)建預(yù)留操作向資源預(yù)留請求處理模塊提出預(yù)留請求。資源信息由資源發(fā)現(xiàn)和資源監(jiān)控提供,。
  在該任務(wù)調(diào)度系統(tǒng)模型中,,任務(wù)執(zhí)行的大致流程如下:用戶通過網(wǎng)格門戶Portal將任務(wù)提交給資源請求代理;資源請求代理將任務(wù)分配給可以執(zhí)行該任務(wù)的域,,必要時(shí)可以先對任務(wù)進(jìn)行分解,;在域內(nèi)任務(wù)被分解并被調(diào)度到具體的資源上去執(zhí)行。任務(wù)執(zhí)行的結(jié)果由資源逐層向上返回給用戶,,任務(wù)執(zhí)行的狀態(tài)監(jiān)控由資源監(jiān)控模塊負(fù)責(zé),。
  在本文中,,首先分析了網(wǎng)格任務(wù)調(diào)度模型,然后基于網(wǎng)格協(xié)同設(shè)計(jì)環(huán)境的特殊性,,以GMCD為構(gòu)架,,分析了網(wǎng)格協(xié)同設(shè)計(jì)中任務(wù)分解和任務(wù)執(zhí)行的過程,引入了資源預(yù)留機(jī)制,,建立了網(wǎng)格協(xié)同設(shè)計(jì)環(huán)境中的任務(wù)調(diào)度模型,。
參考文獻(xiàn)
1 林宗楷.協(xié)同設(shè)計(jì)對設(shè)計(jì)工作和CAD技術(shù)引起的變化.軟件學(xué)報(bào),1998,;(9):126~130
2 Ian Foster,,Carl Kesselman(editors).The Grid:Blueprint for a Future Computing Infrastructure.Morgan Kaufmann Publishers, 1999
3 鄭 然,,李勝利,,金 海.網(wǎng)格資源管理與調(diào)度模型的研究.華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2001,;29(12):87~89
4 胡志剛,,閻朝坤.基于網(wǎng)格的現(xiàn)代協(xié)同設(shè)計(jì)方法.中南工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2004,;6(35):988~992
5 胡志剛,,呂禎恒.一種基于動(dòng)態(tài)資源預(yù)留的任務(wù)映射算法.計(jì)算機(jī)應(yīng)用研究,2005,;(7):12~13

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected],。