專利名稱:基于QoS約束的雙向分級網(wǎng)格資源調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明屬于一種網(wǎng)格資源調(diào)度方法,特別是一種基于QoS約束的雙向 分級網(wǎng)格資源調(diào)度方法。
背景技術(shù):
網(wǎng)格計算就是將地理上分布的、異構(gòu)的資源連接在一起,形成一臺 高性能的超級計算機,為用戶提供隨處可得并且可靠的計算能力。網(wǎng)格 提供了共享網(wǎng)絡(luò)資源和協(xié)同解決問題的平臺,由于網(wǎng)格建立在異構(gòu)環(huán)境 下,網(wǎng)絡(luò)上的資源為不同的組織所有,有各自不同的管理方式,因此網(wǎng) 格環(huán)境下跨域的資源管理極具挑戰(zhàn)性,如何在網(wǎng)格環(huán)境下映射一組任務(wù) 到一組資源已被證明是NP完全問題。網(wǎng)格資源調(diào)度算法的研究是網(wǎng)格資 源管理的一個重要的課題,目前國內(nèi)外已經(jīng)提出了很多調(diào)度算法,現(xiàn)有 的網(wǎng)格資源調(diào)度方法可簡單分為兩類靜態(tài)調(diào)度方法和動態(tài)調(diào)度方法。靜態(tài)調(diào)度方法是較早出現(xiàn)的調(diào)度方法,它相對較為簡單,運行開銷 小,數(shù)據(jù)依賴性小,因而是在網(wǎng)格計算中最早被研究的方法。目前常見 的靜態(tài)調(diào)度方法包括0LB、 MET、 MCT、 Min-Min、 Max-Min、 Duplex、 GA、 SA、 GSA、 Tabu、 A,等十多種。在網(wǎng)格計算環(huán)境中,由于各個處理器處理 速度不同,給設(shè)計靜態(tài)調(diào)度算法帶來了難以平衡負(fù)載的困難,使得靜態(tài) 調(diào)度方法難以設(shè)計和實現(xiàn)。異構(gòu)平臺上的靜態(tài)調(diào)度策略遇到了很多的問 題設(shè)計最優(yōu)的調(diào)度方法被證明是NP完全問題;難以準(zhǔn)確評價任務(wù)執(zhí)行 時間和通信延遲;無法應(yīng)對處理器速度的多樣性。相比之下,動態(tài)調(diào)度 方法有很多優(yōu)勢。動態(tài)調(diào)度方法能夠有效地解決負(fù)載評估、效應(yīng)測定、作業(yè)傳輸、矢 量計算、任務(wù)選擇和任務(wù)遷移等問題。動態(tài)調(diào)度方法可分為在線模式和 批模式,在線模式是指只要任務(wù)到來就映射到機器,該模式對每一個任 務(wù)的映射只考慮一次,即一旦任務(wù)被映射就不會再改變,常見的在線模式啟發(fā)式調(diào)度方法有0LB、 MCT、 MET、 SA和KPB等,在線沖莫式較簡單, 但總體性能不高。批模式是指網(wǎng)格中元任務(wù)到來并不立即映射到機器, 而是把任務(wù)收集起來組成一個任務(wù)集合,等映射事件到來后才對該集合 中的任務(wù)進(jìn)行集中映射。批模式下,調(diào)度方法執(zhí)行前已獲得任務(wù)的請求 信息和大量任務(wù)的實際執(zhí)行時間,故能做出更好的調(diào)度決策。常見的批 模式調(diào)度方法有Min-min、 Max-min和Sufferage等,其中,Min-min 方法思路簡單,性能穩(wěn)定,在絕大多數(shù)環(huán)境下都有良好的表現(xiàn),是目前 網(wǎng)格調(diào)度算法的研究基礎(chǔ)之一。已有的網(wǎng)格調(diào)度方法都是由分布式計算經(jīng)典算法演化而來,雖然在 分布式環(huán)境中有較好的性能,但對于非集中管理的網(wǎng)格異構(gòu)環(huán)境卻都有 局限性首先,對于任務(wù)完成時間最小化問題沒有4艮好的解決;其次, 網(wǎng)格環(huán)境中異構(gòu)機器的負(fù)載平衡也得不到保證;此外,對于有QoS約束 的網(wǎng)格資源調(diào)度問題,上述方法都不能很好的解決,造成了不合理的調(diào) 度。針對已有方法的這些不足很多研究者提出了改進(jìn)方案,主要分為以 下幾類以改進(jìn)任務(wù)完成時間為目的的算法;對原有方法加入QoS約束 的方法;改進(jìn)負(fù)載均衡能力的方法;按照經(jīng)濟原則考慮調(diào)度問題的方法 等。這些方法在解決某一特定的網(wǎng)格調(diào)度問題方面有較好的表現(xiàn),但是 綜合性能不強,不適用于現(xiàn)實的網(wǎng)格環(huán)境。因此,尋找一種適用于網(wǎng)格 環(huán)境的最優(yōu)算法仍是現(xiàn)在網(wǎng)格計算領(lǐng)域研究的重要課題之一 。發(fā)明內(nèi)容本發(fā)明的目的是^是供一種在異構(gòu)環(huán)境下實現(xiàn)多QoS約束下的多種資源的調(diào)度,縮短作業(yè)完成時間,增強網(wǎng)格資源調(diào)度的負(fù)載平衡能力的基于QoS約束的雙向分級網(wǎng)格資源調(diào)度方法。為了實現(xiàn)上述目的,本發(fā)明在描述具體方法前先作出如下定義對網(wǎng)格環(huán)境中任務(wù)定義m個異構(gòu)的獨立任務(wù),表示為T—t。, ti,…,tm},設(shè)定網(wǎng)格環(huán)境下提交的任務(wù)為元任務(wù),滿足如下3個條件(1)每個任務(wù)都是原子的和獨立的,任務(wù)之間沒有通訊和數(shù)據(jù)依賴;(2) 每個機器都是獨占的,即當(dāng)一個任務(wù)分配給一個機器時,該任 務(wù)占有該機器直到運行完畢;(3) 靜態(tài)運行時間,即在分配任務(wù)之前任務(wù)在每個機器上的期望運 行時間都是預(yù)先可知的。對網(wǎng)格環(huán)境中資源的定義把網(wǎng)格中的資源具體為某一種機器,簡 稱機器,它表示可提供一定的計算能力、網(wǎng)絡(luò)存儲能力、精密儀器及一 些特殊的資源。假設(shè)網(wǎng)格異構(gòu)環(huán)境中有n個異構(gòu)機器,它們表示為 M-(m。,nh,…,mj ,網(wǎng)格中的機器在同一時間內(nèi)只能執(zhí)行網(wǎng)格環(huán)境中的一個 任務(wù),直到任務(wù)完成才能執(zhí)行其他的任務(wù),即為任務(wù)獨占。對參數(shù)的定義雙向分級調(diào)度方法使用的三個矩陣和兩個向量分別定義如下 定義1預(yù)期扭^亍時間EET(Expected Execution Time)矩陣每個元 素EETij表示資源nij在沒有負(fù)載的情況下,執(zhí)行任務(wù)ti所需要的時間,若任務(wù)不能在機器上執(zhí)行則為系統(tǒng)定義的最大值,EET是一個m x n的矩陣, 它在調(diào)度前由網(wǎng)格管理系統(tǒng)測試并記錄。定義2預(yù)期完成時間ECT (Expected Completion Time)矩陣每個 元素ECTij表示資源nij完成任務(wù)ti的時間(在ti之前分配到mj的所有作業(yè) 都被執(zhí)行完畢),它也是一個mxn的矩陣。定義3才幾器的可批J亍矩陣CoE (Capability of Execution)矩陣 由EET矩陣計算得出,每個元素CoEij表示資源對任務(wù)的可執(zhí)行情況,它 也是一個mxn的矩陣。此外還要定義兩個向量每個任務(wù)的可執(zhí)行機器數(shù)量的向量NoM (Number of Machines),它的每個分量值為可執(zhí)行該任務(wù)的機器數(shù)量; 每個機器可才丸行任務(wù)凌t量的矩陣NoT (Number of Tasks),它的每個分 量表示相應(yīng)機器的可執(zhí)行任務(wù)的數(shù)量。設(shè)定作業(yè)ti的到達(dá)時間是a"開始運行的時間是dj,則由以上的定 義可以得出£C7;y =《+ ............................................................... (1)如果作業(yè)h分配給了資源mj運行,令ECTi來表示ECTij,那么,最大執(zhí)行時間就等于最大的任務(wù)完成時間與調(diào)度起始時間之間的差值,即從 第一個作業(yè)開始執(zhí)行到最后一個作業(yè)被執(zhí)行完畢所花的時間,若設(shè)起始時間為零則有...................................(2)Makespan是異構(gòu)計算系統(tǒng)的一個衡量標(biāo)準(zhǔn),網(wǎng)格資源調(diào)度的主要目的 就是要減小Makespan。本發(fā)明首先對任務(wù)和資源分別分級,對分級后的任務(wù)和資源進(jìn)行調(diào)度,其調(diào)度方法是第一步驟根據(jù)任務(wù)提交的QoS請求對所有可用機器提供的QoS服 務(wù)進(jìn)行測試,以矩陣形式記錄測試的結(jié)果,可執(zhí)行則記錄執(zhí)行時間,不 可執(zhí)行估i相應(yīng)標(biāo)識;第二步驟對測試結(jié)果矩陣按指定的原則變形,并對變形后的矩陣按水平方向和垂直方向累加,計算出兩個向量 A:可執(zhí)行相應(yīng)任務(wù)的資源數(shù)目向量; B:每個資源的可執(zhí)行任務(wù)數(shù)目向量;第三步驟按計算所得的兩個向量對任務(wù)和資源進(jìn)行非降序分組; 第四步驟按任務(wù)分組結(jié)果進(jìn)行優(yōu)先級調(diào)度,分組值小的優(yōu)先級高 先調(diào)度,分組內(nèi)部按Min-min算法原則進(jìn)行調(diào)度;第五步驟調(diào)度中若出現(xiàn)任務(wù)對不同資源有相同的最小完成時間, 則按資源分組結(jié)果進(jìn)行調(diào)度,分組值小的優(yōu)先級高先調(diào)度;第六步驟重復(fù)執(zhí)行第四步驟到第五步驟,直到所有任務(wù)調(diào)度完成。 本發(fā)明分析了網(wǎng)格異構(gòu)環(huán)境下資源的特殊性和多QoS約束下資源調(diào) 度的復(fù)雜性,解決了異構(gòu)環(huán)境中多QoS約束下多種資源的調(diào)度問題,分 別對資源和任務(wù)進(jìn)行分級,實現(xiàn)了網(wǎng)格環(huán)境下的有效調(diào)度。本調(diào)度方法 與傳統(tǒng)網(wǎng)格資源調(diào)度方法相比,有以下特點1、從多QoS約束任務(wù)的需 求出發(fā)考慮異構(gòu)資源的復(fù)雜性,不局限于傳統(tǒng)調(diào)度方法只對計算資源的 調(diào)度,本專利對多種資源調(diào)度提出了相應(yīng)的調(diào)度方法,更適用于網(wǎng)格異 構(gòu)環(huán)境;2、對任務(wù)進(jìn)行了詳細(xì)和合理的分級,區(qū)別于原有一些調(diào)度方法 的兩級調(diào)度模式,更能反應(yīng)任務(wù)的特性,優(yōu)先調(diào)度有"苛刻"要求的任 務(wù),確保了總體完成時間最??;3、提出了對資源分級的思想,對網(wǎng)格環(huán)境中的稀少資源進(jìn)行優(yōu)先調(diào)度,改進(jìn)由于等待某些稀少資源而產(chǎn)生的不必要的等待時間,并可以提高這些資源的利用率;4、該調(diào)度方法中分 別對任務(wù)和資源進(jìn)行分級,綜合雙向分級結(jié)果對網(wǎng)格資源進(jìn)行調(diào)度,相 對于傳統(tǒng)調(diào)度方法有更小的任務(wù)完成時間和負(fù)載均衡性能。
圖1為本發(fā)明的執(zhí)行流程圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明作進(jìn)一步的詳細(xì)描述。本發(fā)明基于QoS的網(wǎng)格資源調(diào)度模型是解決異構(gòu)環(huán)境下資源調(diào)度問 題的有效途徑,在此^^莫型下,任務(wù)以描述其QoS需求的方式提交,資源 以描述其可提供的QoS服務(wù)方式發(fā)布,調(diào)度要保證在QoS約束的前提下 盡量使任務(wù)有最小的完成時間(Makespan)。目前已經(jīng)有很多調(diào)度方法考 慮了QoS約束的問題,但多數(shù)都只考慮一維QoS的影響簡單的把任務(wù) 分為兩組,使具有高QoS要求的任務(wù)為一組首先被映射;具有底QoS要 求的任務(wù)為一組后映射。這顯然不符合網(wǎng)格環(huán)境的現(xiàn)實,網(wǎng)格環(huán)境是多 種資源構(gòu)成的異構(gòu)環(huán)境,任務(wù)對資源的QoS要求可以是各種形式,如 CPU性能、機器帶寬、網(wǎng)絡(luò)能力、精密儀器等特殊資源,這就要求網(wǎng)格資 源調(diào)度要考慮多維QoS約束。在考慮多維QoS約束的網(wǎng)格環(huán)境中,任務(wù) 提交的QoS需求及資源提供的QoS服務(wù)都是多種多樣的,這使得網(wǎng)格環(huán) 境中任務(wù)和資源的對應(yīng)情況變的復(fù)雜。4艮大一部分資源只能滿足任務(wù)的 某些QoS需求,而不是全部,它們就不能分配給該任務(wù)。這就要求在調(diào) 度前要測試資源對任務(wù)的滿足情況,根據(jù)任務(wù)QoS需求的苛刻程度及資 源的性能區(qū)別制定合理的調(diào)度方案。雙向分級調(diào)度方法是指對預(yù)期執(zhí)行時間矩陣EET在垂直方向和水平 方向上分別分級,根據(jù)分級的結(jié)果對任務(wù)進(jìn)行調(diào)度,下面給出了調(diào)度中 使用的矩陣和向量的產(chǎn)生方法,介紹了它們在網(wǎng)格資源調(diào)度中的作用。調(diào)度中使用的矩陣和向量的產(chǎn)生方法根據(jù)任務(wù)提交的QoS請求對 所有可用機器提供的QoS服務(wù)進(jìn)行測試,并用預(yù)期執(zhí)行時間矩陣EET來 描述測試的結(jié)果,其中可執(zhí)行則記錄預(yù)期執(zhí)行時間,不可執(zhí)行記錄為'X,。 根據(jù)EET矩陣產(chǎn)生CoE矩陣,對EET矩陣中每個元素的情況進(jìn)行分析 若EET矩陣中元素為tt字,則CoE中相應(yīng)位置置'l,;若EET矩陣中元 素為'X,,則CoE矩陣中相應(yīng)位置置'0,。下面給出了 EEC矩陣的一個 設(shè)定,推導(dǎo)出的CoE矩陣如下若££c =8x1 2 3 4義 71 0 0"| 1 1 1 1 0 1產(chǎn)生的方法為CoE矩,可推導(dǎo)出?!?= 然后,由toE喪陣產(chǎn)生NoM向量和No—向—量; 陣的每一行元素相加為NoM向量的每一個分量,分量的個數(shù)于任務(wù)數(shù)相 同;CoE矩陣的每一列元素相加為NoT向量的每一個分量,分量的個數(shù) 與機器數(shù)相同,公式如下m—l腸m, =ZCo£,;,(0 2,^-1)................................................ (3)aw; =Zc (o".^-1)................................................ (4),=0對于上面對EEC的假設(shè),相應(yīng)的NoM和NoT向量分別為NoM={l, 3, 2}; NoT={3, 1, 2},它們分別是CoE矩陣水平和垂直方向累加的結(jié)果。利用NoM向量和NoT向量按垂直方向和水平方向分別對EET進(jìn)行分 級,方法如下垂直方向分級對NoM向量的分量進(jìn)行非降序排序,有相同值的分 量分為一組,并記錄每組的分量值作為每組的調(diào)度級別若值為'0,,表示該任務(wù)在當(dāng)前硬件環(huán)境下不可完成,不予調(diào)度;若為其它值,則值 越小表示分組的級別越高,任務(wù)按級別由高到底調(diào)度,若值為T的分 組優(yōu)先級最高,最先調(diào)度。水平方向分級對NoT向量的分量進(jìn)行非P爭序排序,有相同值的分 量分為一組,并記錄每組的分量值作為每組的調(diào)度級別若值為'O,, 表示該機器不可完成任何任務(wù),為無用機;若為其它值,則值越小表示 分組的級別越高。按照垂直方向分級的結(jié)果按優(yōu)先級調(diào)度,可以保證最苛刻QoS約束 的任務(wù)首先調(diào)度,防止較低QoS要求的任務(wù)占用較高QoS服務(wù)的機器。 分組內(nèi)部按Min-Min算法調(diào)度,盡力獲得最小的任務(wù)完成時間。若在使 用Min-Min算法調(diào)度時出現(xiàn)同一分組內(nèi)有多個機器同時對某任務(wù)有最小 完成時間,則按NoT向量分組結(jié)果中記錄的機器優(yōu)先級進(jìn)行調(diào)度。在整 個調(diào)度的過程中,每完成一個任務(wù)的調(diào)度就要更新NoT向量的值并重新 分組,以保證每次使用的值為機器可執(zhí)行剩余任務(wù)數(shù)量的最新值。本發(fā)明雙向分級調(diào)度方法的偽碼描述如下(1) for作業(yè)集T中的所有作業(yè)tk(2) for所有的機器nij(3) ECTij = EEL + dj(4) end for(5) end for(6) 由EET矩陣計算出CoE矩陣(7) 由CoE矩陣計算出向量NoM和NoT(8) 把任務(wù)集T中的作業(yè)按NoM向量的分量值非降序分組(9) 移除T中對應(yīng)NoM向量分量值為零的任務(wù)(10) do until任務(wù)集合T中所有任務(wù)被映射(11) for任務(wù)集T中所有已排序的分組(12) for每個分組中的作業(yè),找到具有最小完成時間的機器(13) 找到具有最小的最小完成時間的任務(wù)tk(14) If如果在多個機器上有相同的最小完成時間(15) 找到在NoT向量中具有最小分量值的機器ttu(16) end if(17) end for(18) 分配任務(wù)U到具有最小完成時間的機器nh上(19) 從任務(wù)集合T中刪除任務(wù)tk(20) NoT向量中對應(yīng)機器m,的分量值減l(21) 更新山(22) 對所有i的取值更新ECTu(23) end for(24) end do從上述調(diào)度過程可以看出,該調(diào)度方法先對可執(zhí)行機器數(shù)目少的機 器進(jìn)行調(diào)度,然后再對可執(zhí)行機器數(shù)目多的機器進(jìn)行調(diào)度,以減弱由異 構(gòu)機器性能受限產(chǎn)生的執(zhí)行任務(wù)的相關(guān)性。其中,第l行到第5行對作 業(yè)集中的每個作業(yè)算出該作業(yè)在每個資源上的期望完成時間。第6 ;阡到 第8行是對ECT矩陣產(chǎn)生機器的可執(zhí)行關(guān)系矩陣CoE,可以滿足任務(wù)QoS 需求的機器在矩陣中標(biāo)志為1,反之為0,并由CoE矩陣產(chǎn)生任務(wù)和^L器 的可執(zhí)行關(guān)系向量NoM和NoT。第9行排除不可執(zhí)行的任務(wù),防止任務(wù)調(diào)度在循環(huán)過程中失效。第IO行到最后是把已分組的任務(wù)對所有可用的機器以Min-min算法進(jìn)行測試,找出最小完成時間的機器分配作業(yè),其中第14行到16行是在對有相同的最小執(zhí)行時間的機器進(jìn)行選擇,選擇的原則是按照NoT矩陣分組級別分配,以減少機器對任務(wù)的向關(guān)性對makes pan產(chǎn)生影響。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。
權(quán)利要求
1、一種基于QoS約束的雙向分級網(wǎng)格資源調(diào)度方法,該方法首先對任務(wù)和資源分別分級,對分級后的任務(wù)和資源進(jìn)行調(diào)度,其調(diào)度方法是第一步驟根據(jù)任務(wù)提交的QoS請求對所有可用機器提供的QoS服務(wù)進(jìn)行測試,以矩陣形式記錄測試的結(jié)果,可執(zhí)行則記錄執(zhí)行時間,不可執(zhí)行做相應(yīng)標(biāo)識;第二步驟對測試結(jié)果矩陣按指定的原則變形,并對變形后的矩陣按水平方向和垂直方向累加,計算出兩個向量A可執(zhí)行相應(yīng)任務(wù)的資源數(shù)目向量;B每個資源的可執(zhí)行任務(wù)數(shù)目向量;第三步驟按計算所得的兩個向量對任務(wù)和資源進(jìn)行非降序分組;第四步驟按任務(wù)分組結(jié)果進(jìn)行優(yōu)先級調(diào)度,分組值小的優(yōu)先級高先調(diào)度,分組內(nèi)部按Min-min算法原則進(jìn)行調(diào)度;第五步驟調(diào)度中若出現(xiàn)任務(wù)對不同資源有相同的最小完成時間,則按資源分組結(jié)果進(jìn)行調(diào)度,分組值小的優(yōu)先級高先調(diào)度;第六步驟重復(fù)執(zhí)行第四步驟到第五步驟,直到所有任務(wù)調(diào)度完成。
全文摘要
本發(fā)明涉及一種基于QoS約束的雙向分級網(wǎng)格資源調(diào)度方法,其調(diào)度方法是1.根據(jù)任務(wù)提交的QoS請求對所有可用機器提供的QoS服務(wù)進(jìn)行測試,以矩陣形式記錄測試的結(jié)果,可執(zhí)行則記錄執(zhí)行時間,不可執(zhí)行做相應(yīng)標(biāo)識;2.對測試結(jié)果矩陣按指定的原則變形,并對變形后的矩陣按水平方向和垂直方向累加,計算出兩個向量;3.按計算所得的兩個向量對任務(wù)和資源進(jìn)行非降序分組;4.按任務(wù)分組結(jié)果進(jìn)行優(yōu)先級調(diào)度,分組值小的優(yōu)先級高先調(diào)度,分組內(nèi)部按Min-min算法原則進(jìn)行調(diào)度;5.調(diào)度中若出現(xiàn)任務(wù)對不同資源有相同的最小完成時間,則按資源分組結(jié)果進(jìn)行調(diào)度,分組值小的優(yōu)先級高先調(diào)度;6.重復(fù)執(zhí)行第四步驟到第五步驟,直到所有任務(wù)調(diào)度完成。
文檔編號G06F15/16GK101271405SQ20081004769
公開日2008年9月24日 申請日期2008年5月13日 優(yōu)先權(quán)日2008年5月13日
發(fā)明者張小慶, 施步青, 李春林, 蔡英華, 鐘景秀 申請人:武漢理工大學(xué)