基于價(jià)格反饋機制的網(wǎng)格任務(wù)管理研究
1 引言
網(wǎng)格是繼萬(wàn)維網(wǎng)之后出現的一種新型網(wǎng)絡(luò )計算平臺,它已成為信息技術(shù)領(lǐng)域的熱點(diǎn)研究課題。開(kāi)發(fā)網(wǎng)格中,任務(wù)管理是網(wǎng)格計算系統與應用主體交互的關(guān)鍵紐帶,是網(wǎng)格研究基礎且核心的環(huán)節。但是現有的網(wǎng)格任務(wù)管理方法在充分、合理利用資源,較好地滿(mǎn)足網(wǎng)格用戶(hù)的任務(wù)要求,確保任務(wù)的服務(wù)質(zhì)量上仍存在諸多問(wèn)題,無(wú)法很好解決網(wǎng)格環(huán)境中資源的異構性、動(dòng)態(tài)性和自治性,以及任務(wù)的多樣性和動(dòng)態(tài)性所帶來(lái)的困難。本文依據網(wǎng)格任務(wù)管理的這些特點(diǎn)與問(wèn)題。提出三組件三隊列式的分布式任務(wù)調度模型,T2DSM(Triple-component and Triple-queue Distributed Schedule Model),并將經(jīng)濟學(xué)中的價(jià)格調控機制應用于網(wǎng)格任務(wù)的調度策略之中,實(shí)現任務(wù)的合理調度與資源的科學(xué)分配。
2 網(wǎng)格任務(wù)調度難點(diǎn)分析
目前,網(wǎng)格任務(wù)調度主要存在以下問(wèn)題與難點(diǎn):
(1)任何一個(gè)網(wǎng)格調度器只針對一定范圍內的網(wǎng)格資源進(jìn)行管理,無(wú)法面向所有網(wǎng)格資源;
(2)網(wǎng)格資源動(dòng)態(tài)變化,資源信息的采集和組織對調度影響很大。
(3)網(wǎng)格中對各種資源的約束很多,有些是非線(xiàn)性的,要達到調度目標也很多,比如要求時(shí)間最少、代價(jià)最小、資源利用率最高等,有些目標會(huì )存在相互矛盾之處,對于這種多目標多約束的問(wèn)題找到滿(mǎn)足所有約束和目標的全局最優(yōu)解是很困難的。
(4)由于其他應用引起的資源競爭對性能影響很大,而且出現頻率較高。網(wǎng)格資源的復雜多樣。不同類(lèi)型的資源展示不同性能特性,而且相同類(lèi)型的資源由于共享等原因所展示的性能也隨時(shí)間變化。網(wǎng)格的調度需要建立隨時(shí)間變化的性能預測模型,充分利用網(wǎng)格的動(dòng)態(tài)信息,表示網(wǎng)格性能的波動(dòng)。
(5)網(wǎng)格的調度必須考慮到資源的多種管理屬性以及調用資源所設計的商業(yè)交易等因素。后者是指網(wǎng)格的調度還必須考慮到如何協(xié)調網(wǎng)格用戶(hù)和具體資源提供者之間的利益,即如何使用戶(hù)所需要支付的開(kāi)銷(xiāo)最小且使資源提供者獲得效益更大。
3 網(wǎng)格任務(wù)調度模型設計
T2DSM應用場(chǎng)景描述如下:每個(gè)站點(diǎn)包括許多節點(diǎn),且每個(gè)節點(diǎn)都有一定量的存儲器。有些應用程序需要訪(fǎng)問(wèn)許多數據(數據密集型),且可能是可并行的。一定量的數據首先被輸入到計算網(wǎng)格中的節點(diǎn),用戶(hù)任務(wù)也提交到該節點(diǎn)。計算網(wǎng)格是由各種不同類(lèi)型的被連接到局域網(wǎng)和/或廣域網(wǎng)的節點(diǎn)組成。應用程序在本地擁有必要的數據后才能開(kāi)始被執行。當用戶(hù)請求執行程序時(shí),調度器被啟用。圖1為T(mén)2DSM模型結構圖,描述整個(gè)T2DSM以及調度器內主要組件和調度器間的互相作用。
這里調度器分為兩級,頂級是全局調度器GS(Clobal Scheduler),下級是局域調度器Ls(Local Scheduler)。與廣域網(wǎng)某段相對應的GS負責被提交的任務(wù)應被送到具體的局域調度器。相反LS負責本地局域網(wǎng)的任務(wù)調度。整個(gè)調度模型采用一種基于非直接全互連通信方式的非集中式結構一分布式結構。每個(gè)LS僅在其所在局域網(wǎng)中搜索資源信息,類(lèi)似地。每個(gè)GS僅在其所負責的社區中處理資源信息。在相鄰GS節點(diǎn)間直接交換信息,非鄰居GS依靠鄰居GS間接通信。如果任務(wù)沒(méi)有被調度,調度器將會(huì )檢索資源、程序和用戶(hù)信息,然后激活其相應組件協(xié)同做出任務(wù)執行調度和數據復制的決定。每個(gè)調度器都有三個(gè)組件和三個(gè)隊列,其功能和關(guān)系描述如下:
(1)任務(wù)調度組件TSC利用特定算法,任務(wù)調度組件TSC(Task Scheduling Component)在有關(guān)資源和任務(wù)信息的基礎上做出調度決策,若有必要,將一些有關(guān)數據傳輸的指令消息傳送給數據傳輸組件DTC(Data Fransferring Compo-nent)。TSC保持活動(dòng)狀態(tài)且會(huì )對提交任務(wù)隊列ATQ(Arrived Task Queue)中的所有人物制定調度策略,然后將已被調度的任務(wù)放進(jìn)已調度任務(wù)隊列STQ(Scheduled Task Queue)和指示其任務(wù)在被選擇的資源上執行。假如局域調度器的。TSC不能給出“最好的”調度,它就會(huì )把該任務(wù)交付給相關(guān)全局調度器的ATO并采用類(lèi)似方法調度此任務(wù),只是不能完成其調度,它就會(huì )把該任務(wù)請求傳送給相鄰全局調度器的TSC,并且這些TSC會(huì )采用類(lèi)似的方法繼續下去直到完成任務(wù)調度。
(2)數據傳輸組件DTC能夠追蹤每一個(gè)數據集的本地有效分布情況,如果條件滿(mǎn)足,它就會(huì )為任務(wù)復制或者移動(dòng)相應的數據集。
(3)價(jià)格反饋組件PFC根據完成任務(wù)的執行信息調整完成該任務(wù)所對應的各個(gè)資源節點(diǎn)價(jià)格參數信息。同時(shí),對于在任務(wù)過(guò)程中沒(méi)能履行職責的資源節點(diǎn)進(jìn)行相應懲罰,令其補償完成該任務(wù)的價(jià)格虧損。
(4)提交任務(wù)隊列 ATQ和已調度任務(wù)隊列STQ及其任務(wù)反饋隊列TFQ(Task Feedback Queue)。ATQ存儲被傳送到本地調度器的所有未調度任務(wù)。當一個(gè)任務(wù)請求到達時(shí),該任務(wù)就會(huì )存入ATQ,而當一個(gè)任務(wù)被調度時(shí)它就會(huì )從ATQ取出,一旦調度成功將從此隊列中移走。STQ存儲那些被本調度器所成功調度的任務(wù),而當這些任務(wù)執行完成時(shí),將任務(wù)轉交到TFQ,對任務(wù)完成質(zhì)量進(jìn)行評價(jià)反饋,然后移出隊列。
4 基于價(jià)格反饋機制的調度策略
在提交任務(wù)隊列ATQ中,改變傳統的先來(lái)先服務(wù)(FCFS)和短作業(yè)優(yōu)先(SJFS)的調度思想,在任務(wù)進(jìn)入提交隊列時(shí),對任務(wù)的執行時(shí)間進(jìn)行估算,具體實(shí)現為:
式中,k為任務(wù)需求資源的數量;mi為該資源的任務(wù)需求量;fi為需求資源量級權重,是由資源的需求量的范圍等級決定;vi為該資源的平均執行速率。
在得到任務(wù)的預算時(shí)間后,根據任務(wù)描述的時(shí)間要求,進(jìn)行差值運算,所得到的剩余時(shí)間作為調度任務(wù)的依據。每次選取提交隊列中剩余時(shí)間最少的任務(wù)進(jìn)行調度。
在TSC的調度策略中引入經(jīng)濟學(xué)的價(jià)格凋控機制,在任務(wù)調度時(shí),選擇可滿(mǎn)足任務(wù)的價(jià)格最低資源進(jìn)行調度。在任務(wù)的調度過(guò)程中,主要有兩個(gè)關(guān)鍵因素:一個(gè)是有效資源,其定義為:對于各個(gè)資源節點(diǎn),根據任務(wù)描述,過(guò)濾該節點(diǎn)的所有空閑資源,凡是符合任務(wù)需求的資源稱(chēng)為有效資源;二是價(jià)格制定。價(jià)格的形成取決于諸多因素,對于一個(gè)任務(wù)來(lái)說(shuō),其定價(jià)公式:
式中,A是資源的價(jià)格因子;M是資源的基本因子;η1、η2、η3、η4分別是任務(wù)完成好、中、差及未完成的質(zhì)量因子;n、m、k、l是與質(zhì)量因子對應的次數:α是資源的服務(wù)等級;P是當前資源的調度價(jià)格;ω是資源聯(lián)合工作方式系數,β是聯(lián)合工作資源節點(diǎn)的數量;t為該資源節點(diǎn)的網(wǎng)絡(luò )傳輸狀態(tài)權重。
根據這兩個(gè)關(guān)鍵因素,TSC在每次任務(wù)調度時(shí),首先對各個(gè)資源節點(diǎn)的資源進(jìn)行篩選,獲取具有有效資源的資源節點(diǎn)信息,然后根據各個(gè)資源節點(diǎn)的資源價(jià)格參數、服務(wù)質(zhì)量參數及其當前各節點(diǎn)的網(wǎng)絡(luò )狀態(tài)等參數制定任務(wù)調度價(jià)格,然后選取價(jià)格最小的資源分配方案進(jìn)行任務(wù)調度。如果沒(méi)有任何一個(gè)資源節點(diǎn)可以滿(mǎn)足任務(wù)中單一資源需求,則先獲取每個(gè)資源節點(diǎn)該資源的單位價(jià)格,然后按照由低到高的順序,將任務(wù)發(fā)放到各個(gè)資源節點(diǎn)直到完全滿(mǎn)足需求為止。
經(jīng)過(guò)TSC調度過(guò)的任務(wù)從ATQ中移出投放到STQ隊列中去。此時(shí),DTC根據各個(gè)任務(wù)的調度安排,將相應的數據集的副本傳輸到相應的資源節點(diǎn)。任務(wù)在各個(gè)資源節點(diǎn)執行時(shí),如果發(fā)生異常,并在規定的時(shí)間內無(wú)法繼續執行,則中斷任務(wù),向該任務(wù)的任務(wù)調度節點(diǎn)發(fā)送錯誤報告。該任務(wù)調度節點(diǎn)根據錯誤報告,首先重新調度STQ隊列中的中斷任務(wù),此時(shí)該任務(wù)的調度優(yōu)先級大于A(yíng)TQ中任何任務(wù)的優(yōu)先級。成功調度后,在STQ隊列中恢復該任務(wù)的執行,同時(shí)在TFO隊列中加入中斷任務(wù)信息及其相應中斷錯誤信息。若任務(wù)成功完成,則將STQ隊列中的對應任務(wù)移出,同時(shí)將任務(wù)及其相關(guān)完成狀況信息加入到TFQ隊列中。
TFQ隊列即任務(wù)反饋隊列,主要記錄各個(gè)已完成任務(wù)的反饋信息。PFC根據這些信息,調整各個(gè)節點(diǎn)的價(jià)格參數,其主要功能是將完成質(zhì)量好、執行效率高的資源節點(diǎn)的價(jià)格參數降低,使其更容易被調度;提升完成質(zhì)量低、執行效率低的資源節點(diǎn)的價(jià)格參數,使其難以調度;在執行任務(wù)時(shí),由于自身異常發(fā)生錯誤而中斷任務(wù)執行的資源節點(diǎn)。不僅大幅度提升其價(jià)格參數,還要對其在該任務(wù)執行中造成價(jià)格虧損進(jìn)行懲罰處理。價(jià)格反饋機制雖然改變資源節點(diǎn)的價(jià)格參數,但它對任務(wù)調度的選取沒(méi)有絕對決定作用,因為在調度過(guò)程中,資源的選取不僅與各個(gè)資源節點(diǎn)的一系列價(jià)格參數有關(guān),還與網(wǎng)絡(luò )狀態(tài)、資源空閑率以及是否是有效資源等因素有關(guān)。對于由聯(lián)合參數決定的價(jià)格,它不僅反映當前時(shí)間段內各個(gè)資源節點(diǎn)的服務(wù)質(zhì)量(QoS),而且反映各個(gè)資源節點(diǎn)間的負載均衡及其網(wǎng)絡(luò )傳輸效應。這樣服務(wù)質(zhì)量不好,價(jià)格參數高的資源節點(diǎn)也會(huì )伴隨著(zhù)網(wǎng)格環(huán)境中任務(wù)的數量增加而重新被調度,從而通過(guò)任務(wù)執行,改變自身的價(jià)格參數。因此,各個(gè)資源節點(diǎn)同類(lèi)資源的價(jià)格參數不盡相同,也是動(dòng)態(tài)變化,它總是隨著(zhù)任務(wù)的執行而不斷改變,是資源站點(diǎn)服務(wù)近期服務(wù)質(zhì)量的標志。
在該調度模型中,資源的選取所依據的價(jià)格并不等同于網(wǎng)格服務(wù)計費中的實(shí)際價(jià)格。它只是一種服務(wù)質(zhì)量與負載平衡反應的測度。通過(guò)價(jià)格的調控,使需調度的任務(wù)總是選取當前綜合性能最合理的資源節點(diǎn),而不是單一的性能最好或是資源空閑率最大的節點(diǎn)。
5 結束語(yǔ)
T2DSM網(wǎng)格調度模型的設計以及基于價(jià)格反饋機制的調度策略,是將網(wǎng)格任務(wù)調度時(shí)的各個(gè)要素通過(guò)經(jīng)濟學(xué)中的價(jià)格機制來(lái)反應,通過(guò)不同時(shí)刻下各個(gè)資源節點(diǎn)的價(jià)格的動(dòng)態(tài)變化以及任務(wù)完成后資源的價(jià)格反饋調整,實(shí)現任務(wù)與資源的實(shí)時(shí)、科學(xué)合理匹配,符合網(wǎng)格環(huán)境下資源使用的負載平衡及用戶(hù)對任務(wù)的服務(wù)質(zhì)量需求。
評論