亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種低能耗的云數(shù)據(jù)中心工作流調(diào)度與資源供給方法與流程

文檔序號(hào):11250688閱讀:616來(lái)源:國(guó)知局
一種低能耗的云數(shù)據(jù)中心工作流調(diào)度與資源供給方法與流程

本發(fā)明涉及虛擬化云計(jì)算領(lǐng)域,特別地,涉及一種低能耗的云數(shù)據(jù)中心工作流調(diào)度與資源供給方法。



背景技術(shù):

如今,社會(huì)計(jì)算、天文學(xué)、生物信息學(xué)與計(jì)算生物學(xué)等許多領(lǐng)域面臨爆炸式增長(zhǎng)的數(shù)據(jù),如何對(duì)快速增長(zhǎng)的數(shù)據(jù)進(jìn)行實(shí)時(shí)處理和分析已經(jīng)成為巨大的挑戰(zhàn)。同時(shí),科學(xué)界越來(lái)越迫切需要能夠提供可擴(kuò)展的、低成本的資源或服務(wù)的新計(jì)算平臺(tái)。隨著效用計(jì)算和虛擬化技術(shù)的發(fā)展,出現(xiàn)一種新的資源供應(yīng)模式——云計(jì)算。用戶能夠以“即用即付費(fèi)”的方式獲取無(wú)限的計(jì)算資源,且能避免搭建、維護(hù)和更新基礎(chǔ)設(shè)施的成本。當(dāng)今的云計(jì)算模式已經(jīng)能夠很好地滿足科學(xué)界的主要需求,并成為解決大規(guī)模和復(fù)雜計(jì)算問(wèn)題的有力平臺(tái)。

為了滿足日益增長(zhǎng)的云計(jì)算服務(wù)需求,云數(shù)據(jù)中心的主機(jī)數(shù)量急劇增加,云數(shù)據(jù)中心大量主機(jī)的正常運(yùn)行需要消耗大量能量。據(jù)報(bào)道,從2005到2010年,全世界數(shù)據(jù)中心所消耗的電能已上升了56%,約占2010年全球電能的1.5%;而且,如果按照目前的發(fā)展趨勢(shì),預(yù)計(jì)到2020年該比例將翻一翻。對(duì)于云計(jì)算供應(yīng)商,高能耗意味著巨大的能源成本,能源開(kāi)銷(xiāo)約占數(shù)據(jù)中心總支出的42%左右。另外,高能耗對(duì)環(huán)境造成負(fù)面影響,因?yàn)槭褂没剂蟻?lái)發(fā)電將產(chǎn)生大量的污染氣體。因此,高能耗成本和環(huán)境問(wèn)題已經(jīng)迫使云計(jì)算供應(yīng)商提高他們的能源效率和進(jìn)行可持續(xù)經(jīng)營(yíng)。

目前,云數(shù)據(jù)中心的計(jì)算資源的利用率較低,平均值大概在10-15%之間。該現(xiàn)象可歸結(jié)于一下三個(gè)原因:

①云數(shù)據(jù)中心處理的大部分應(yīng)用由大量相互依賴(lài)的任務(wù)組成,并且這些應(yīng)用是數(shù)據(jù)和計(jì)算密集型。這類(lèi)應(yīng)用通??山楣ぷ髁?,比如montage,cybershake,epigenomics和sipht應(yīng)用。工作流任務(wù)的運(yùn)行必須等待其前驅(qū)任務(wù)的數(shù)據(jù),因此在一些計(jì)算資源上留下空閑間隙。

②當(dāng)前主機(jī)的性能非常強(qiáng)大,單個(gè)任務(wù)幾乎不可能充分利用一臺(tái)主機(jī)所有資源。有統(tǒng)計(jì)數(shù)據(jù)表明,主機(jī)運(yùn)行不同工作流任務(wù)時(shí),他們的資源利用率差異較大,分布在5%到95%之間。如果不考慮他們的資源利用率就將這些任務(wù)直接放在主機(jī)上運(yùn)行,云數(shù)據(jù)中心會(huì)浪費(fèi)大量資源。

③云數(shù)據(jù)中心的工作流應(yīng)用是由大量遠(yuǎn)端的用戶動(dòng)態(tài)提交的,這會(huì)造成數(shù)據(jù)中心負(fù)載的劇烈波動(dòng)。為了滿足數(shù)據(jù)中心負(fù)載峰值,數(shù)據(jù)中心的資源需要按照峰值需求來(lái)配置(即提供的資源略大于其負(fù)載峰值的需求)。然而,對(duì)于許多云數(shù)據(jù)中心,它們的負(fù)載峰值是平均負(fù)載的2到10倍。因此,在非負(fù)載高峰時(shí)間,云數(shù)據(jù)中心將出現(xiàn)計(jì)算資源過(guò)度供給的情況。

針對(duì)現(xiàn)有技術(shù)中云數(shù)據(jù)中心的資源利用率低導(dǎo)致能耗浪費(fèi)過(guò)高的問(wèn)題,目前尚未有有效的解決方案。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明的目的在于提出一種低能耗的云數(shù)據(jù)中心工作流調(diào)度與資源供給方法,能夠提高云數(shù)據(jù)中心的資源利用率,降低云數(shù)據(jù)中心的工作能耗。

基于上述目的,本發(fā)明提供的技術(shù)方案如下:

根據(jù)本發(fā)明的一個(gè)方面,提供了一種低能耗的云數(shù)據(jù)中心工作流調(diào)度與資源供給方法,包括:

獲虛擬化云中的主機(jī)信息、虛擬機(jī)信息與工作流信息;

持續(xù)獲取新到達(dá)的工作流信息,并在虛擬機(jī)上以總能耗和資源利用率作為調(diào)度目標(biāo)對(duì)工作流中任務(wù)進(jìn)行調(diào)度;

完成全部任務(wù)并返回任務(wù)結(jié)果。

其中,主機(jī)信息包括每臺(tái)物理主機(jī)的內(nèi)存、硬盤(pán)容量、網(wǎng)絡(luò)帶寬、最大能耗功率、離散電壓-頻率對(duì)集合與運(yùn)行的虛擬機(jī)集合;虛擬機(jī)信息包括每臺(tái)虛擬機(jī)對(duì)主機(jī)的頻率、內(nèi)存與硬盤(pán)容量需求;工作流信息包括該工作流的到達(dá)時(shí)間、截止時(shí)間、結(jié)構(gòu),以及工作流中每個(gè)任務(wù)的cpu頻率需求與計(jì)算時(shí)間,其中,結(jié)構(gòu)為表明該工作流中所有任務(wù)之間依賴(lài)關(guān)系的有向無(wú)環(huán)圖。

并且,持續(xù)獲取新到達(dá)的工作流信息,并在虛擬機(jī)上以總能耗和資源利用率作為調(diào)度目標(biāo)對(duì)工作流中任務(wù)進(jìn)行調(diào)度包括:

移除任務(wù)池中所有等待任務(wù)與虛擬機(jī)的映射關(guān)系、與所有尚未執(zhí)行的資源調(diào)整計(jì)劃;

檢查云計(jì)算系統(tǒng)的工作狀態(tài)信息,并更新每個(gè)虛擬機(jī)的就緒時(shí)間;

獲取新到達(dá)的工作流信息,根據(jù)工作流的結(jié)構(gòu)為工作流中的每個(gè)任務(wù)指定優(yōu)先級(jí),并將工作流中的所有任務(wù)作為等待任務(wù)添加到任務(wù)池中;

將任務(wù)池中的每個(gè)等待任務(wù)與虛擬機(jī)分別建立映射關(guān)系,并生成資源調(diào)整計(jì)劃;

將任務(wù)池中的每個(gè)等待任務(wù)按照其與虛擬機(jī)的映射關(guān)系分配到對(duì)應(yīng)的虛擬機(jī)上,并執(zhí)行資源調(diào)整計(jì)劃。

并且,每個(gè)工作流的所有任務(wù)的完成時(shí)間的最大值不應(yīng)超過(guò)工作流的截止時(shí)間;每臺(tái)物理主機(jī)提供給虛擬機(jī)的頻率之和、內(nèi)存之和或硬盤(pán)容量之和不應(yīng)超過(guò)該物理主機(jī)的頻率、內(nèi)存或硬盤(pán)容量;對(duì)于依賴(lài)任務(wù),后驅(qū)任務(wù)的開(kāi)始時(shí)間不應(yīng)早于前驅(qū)任務(wù)的完成時(shí)間與前驅(qū)任務(wù)所在虛擬機(jī)和后驅(qū)任務(wù)所在虛擬機(jī)之間的數(shù)據(jù)傳輸時(shí)間之和。

同時(shí),根據(jù)虛擬機(jī)信息與工作流信息,以工作流總能量消耗最小化與虛擬機(jī)資源利用率最大化為優(yōu)化目標(biāo),將任務(wù)池中的任務(wù)與虛擬機(jī)建立映射關(guān)系。

同時(shí),根據(jù)工作流的結(jié)構(gòu)為工作流中的每個(gè)任務(wù)指定優(yōu)先級(jí),并將工作流中的所有任務(wù)作為等待任務(wù)添加到任務(wù)池中包括:

根據(jù)工作流的結(jié)構(gòu)確定依賴(lài)任務(wù)間的依賴(lài)關(guān)系;

根據(jù)依賴(lài)任務(wù)間的依賴(lài)關(guān)系為工作流中的每個(gè)任務(wù)指定優(yōu)先級(jí);

根據(jù)優(yōu)先級(jí)與工作流信息將工作流中每個(gè)任務(wù)作為等待任務(wù)添加到任務(wù)池中。

并且,將任務(wù)池中的每個(gè)等待任務(wù)與虛擬機(jī)分別建立映射關(guān)系,并生成資源調(diào)整計(jì)劃包括:

根據(jù)優(yōu)先級(jí)與工作流信息計(jì)算任務(wù)池中每個(gè)任務(wù)的最晚開(kāi)始時(shí)間;

將任務(wù)池中每個(gè)任務(wù)按照其最晚開(kāi)始時(shí)間由小到大進(jìn)行排序;

按照排序順序依次指定每個(gè)就緒任務(wù),其中,就緒任務(wù)為不存在前驅(qū)任務(wù)的任務(wù),或其所有前驅(qū)任務(wù)都已經(jīng)被映射到虛擬機(jī)且至少一個(gè)前驅(qū)任務(wù)已經(jīng)被完成的任務(wù);

遍歷所有可用的虛擬機(jī),將頻率能夠滿足被指定任務(wù)的虛擬機(jī)設(shè)置為候選虛擬機(jī);

當(dāng)存在一臺(tái)候選虛擬機(jī)時(shí),將被指定任務(wù)與該候選虛擬機(jī)建立映射關(guān)系;

當(dāng)存在多臺(tái)候選虛擬機(jī)時(shí),將被指定任務(wù)與多臺(tái)候選虛擬機(jī)中能保證被指定任務(wù)在其最晚完成時(shí)間之前完成且虛擬機(jī)資源浪費(fèi)最少的候選虛擬機(jī)建立映射關(guān)系;

當(dāng)不存在任何候選虛擬機(jī)時(shí),為被指定任務(wù)增加一臺(tái)虛擬機(jī)并將被指定任務(wù)與該新建虛擬機(jī)建立映射關(guān)系。

并且,當(dāng)不存在任何候選虛擬機(jī)時(shí),為被指定任務(wù)增加一臺(tái)虛擬機(jī)包括:

遍歷所有在工作中的物理主機(jī),判斷是否存在一臺(tái)未使用計(jì)算資源能滿足被指定任務(wù)的物理主機(jī),是則在物理主機(jī)上增加一臺(tái)虛擬機(jī),否則啟用一臺(tái)計(jì)算資源能滿足被指定任務(wù)的關(guān)閉的物理主機(jī)并在物理主機(jī)上增加一臺(tái)虛擬機(jī)。

另外,生成資源調(diào)整計(jì)劃還包括:

將所有工作中的物理主機(jī)按照其頻率能量比由小到大進(jìn)行排序,并按照排序順序依次指定每個(gè)物理主機(jī);

判斷被指定物理主機(jī)上的所有虛擬機(jī)都能被遷移至其他物理主機(jī),是則將被指定物理主機(jī)上的所有虛擬機(jī)都遷移至其他物理主機(jī)并關(guān)閉該物理主機(jī),否則不執(zhí)行任何虛擬機(jī)遷移。

并且,生成資源調(diào)整計(jì)劃還包括對(duì)所有工作中的物理主機(jī)上的虛擬機(jī)進(jìn)行遷移,使得所有工作中的物理主機(jī)的性能要求與主機(jī)頻率的平方的積趨于均衡。

從上面所述可以看出,本發(fā)明提供的技術(shù)方案通過(guò)使用以新到達(dá)的工作流信息為觸發(fā)條件在虛擬機(jī)上以總能耗和資源利用率作為調(diào)度目標(biāo)對(duì)工作流中的非周期性動(dòng)態(tài)任務(wù)進(jìn)行調(diào)度的技術(shù)手段,提高了云數(shù)據(jù)中心的資源利用率,降低了云數(shù)據(jù)中心的工作能耗。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn),下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為根據(jù)本發(fā)明實(shí)施例的一種低能耗的云數(shù)據(jù)中心工作流調(diào)度與資源供給方法的流程圖;

圖2為根據(jù)本發(fā)明實(shí)施例的一種低能耗的云數(shù)據(jù)中心工作流調(diào)度與資源供給方法中,虛擬機(jī)資源的浪費(fèi)的時(shí)隙示意圖;

圖3(a)為根據(jù)本發(fā)明實(shí)施例的一種低能耗的云數(shù)據(jù)中心工作流調(diào)度與資源供給方法中,cybershake的工作流程應(yīng)用的結(jié)構(gòu)圖;

圖3(b)為根據(jù)本發(fā)明實(shí)施例的一種低能耗的云數(shù)據(jù)中心工作流調(diào)度與資源供給方法中,ligo的工作流程應(yīng)用的結(jié)構(gòu)圖;

圖3(c)為根據(jù)本發(fā)明實(shí)施例的一種低能耗的云數(shù)據(jù)中心工作流調(diào)度與資源供給方法中,montage的工作流程應(yīng)用的結(jié)構(gòu)圖;

圖3(d)為根據(jù)本發(fā)明實(shí)施例的一種低能耗的云數(shù)據(jù)中心工作流調(diào)度與資源供給方法中,sipht的工作流程應(yīng)用的結(jié)構(gòu)圖;

圖4(a)為根據(jù)本發(fā)明實(shí)施例的一種低能耗的云數(shù)據(jù)中心工作流調(diào)度與資源供給方法中,多種算法的能量消耗-ccr直方比較圖;

圖4(b)為根據(jù)本發(fā)明實(shí)施例的一種低能耗的云數(shù)據(jù)中心工作流調(diào)度與資源供給方法中,多種算法的資源利用率-ccr直方比較圖;

圖4(c)為根據(jù)本發(fā)明實(shí)施例的一種低能耗的云數(shù)據(jù)中心工作流調(diào)度與資源供給方法中,多種算法的主機(jī)數(shù)量-時(shí)間直方比較圖。

具體實(shí)施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)一步進(jìn)行清楚、完整、詳細(xì)地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

根據(jù)本發(fā)明的實(shí)施例,提供了一種低能耗的云數(shù)據(jù)中心工作流調(diào)度與資源供給方法。

如圖1所示,根據(jù)本發(fā)明實(shí)施例的提供的一種低能耗的云數(shù)據(jù)中心工作流調(diào)度與資源供給方法包括:

步驟s101,獲虛擬化云中的主機(jī)信息、虛擬機(jī)信息與工作流信息;

步驟s103,持續(xù)獲取新到達(dá)的工作流信息,并在虛擬機(jī)上以總能耗和資源利用率作為調(diào)度目標(biāo)對(duì)工作流中的非周期性動(dòng)態(tài)任務(wù)進(jìn)行調(diào)度;

步驟s105,完成全部任務(wù)并返回任務(wù)結(jié)果。

其中,主機(jī)信息包括每臺(tái)物理主機(jī)的內(nèi)存、硬盤(pán)容量、網(wǎng)絡(luò)帶寬、最大能耗功率、離散電壓-頻率對(duì)集合與運(yùn)行的虛擬機(jī)集合;虛擬機(jī)信息包括每臺(tái)虛擬機(jī)對(duì)主機(jī)的頻率、內(nèi)存與硬盤(pán)容量需求;工作流信息包括該工作流的到達(dá)時(shí)間、截止時(shí)間、結(jié)構(gòu),以及工作流中每個(gè)任務(wù)的頻率需求與計(jì)算時(shí)間,其中,結(jié)構(gòu)為表明該工作流中所有任務(wù)之間依賴(lài)關(guān)系的有向無(wú)環(huán)圖。

并且,持續(xù)獲取新到達(dá)的工作流信息,并在虛擬機(jī)上以總能耗和資源利用率作為調(diào)度目標(biāo)對(duì)工作流中的非周期性動(dòng)態(tài)任務(wù)進(jìn)行調(diào)度包括:

移除任務(wù)池中所有等待任務(wù)與虛擬機(jī)的映射關(guān)系、與所有尚未執(zhí)行的資源調(diào)整計(jì)劃;

檢查云計(jì)算系統(tǒng)的工作狀態(tài)信息,并更新每個(gè)虛擬機(jī)的就緒時(shí)間;

獲取新到達(dá)的工作流信息,根據(jù)工作流的結(jié)構(gòu)為工作流中的每個(gè)任務(wù)指定優(yōu)先級(jí),并將工作流中的所有任務(wù)作為等待任務(wù)添加到任務(wù)池中;

將任務(wù)池中的每個(gè)等待任務(wù)與虛擬機(jī)分別建立映射關(guān)系,并生成資源調(diào)整計(jì)劃;

將任務(wù)池中的每個(gè)等待任務(wù)按照其與虛擬機(jī)的映射關(guān)系分配到對(duì)應(yīng)的虛擬機(jī)上,并執(zhí)行資源調(diào)整計(jì)劃。

并且,每個(gè)工作流的所有任務(wù)的完成時(shí)間的最大值不應(yīng)超過(guò)工作流的截止時(shí)間;每臺(tái)物理主機(jī)提供給虛擬機(jī)的頻率之和、內(nèi)存之和或硬盤(pán)容量之和不應(yīng)超過(guò)該物理主機(jī)的頻率、內(nèi)存或硬盤(pán)容量;對(duì)于依賴(lài)任務(wù),后驅(qū)任務(wù)的開(kāi)始時(shí)間不應(yīng)早于前驅(qū)任務(wù)的完成時(shí)間與前驅(qū)任務(wù)所在虛擬機(jī)和后驅(qū)任務(wù)所在虛擬機(jī)之間的數(shù)據(jù)傳輸時(shí)間之和。

同時(shí),根據(jù)虛擬機(jī)信息與工作流信息,以工作流總能量消耗最小化與虛擬機(jī)資源利用率最大化為優(yōu)化目標(biāo),將任務(wù)池中的任務(wù)與虛擬機(jī)建立映射關(guān)系。

同時(shí),根據(jù)工作流的結(jié)構(gòu)為工作流中的每個(gè)任務(wù)指定優(yōu)先級(jí),并將工作流中的所有任務(wù)作為等待任務(wù)添加到任務(wù)池中包括:

根據(jù)工作流的結(jié)構(gòu)確定依賴(lài)任務(wù)間的依賴(lài)關(guān)系;

根據(jù)依賴(lài)任務(wù)間的依賴(lài)關(guān)系為工作流中的每個(gè)任務(wù)指定優(yōu)先級(jí);

根據(jù)優(yōu)先級(jí)與工作流信息將工作流中每個(gè)任務(wù)作為等待任務(wù)添加到任務(wù)池中。

并且,將任務(wù)池中的每個(gè)等待任務(wù)與虛擬機(jī)分別建立映射關(guān)系,并生成資源調(diào)整計(jì)劃包括:

根據(jù)優(yōu)先級(jí)與工作流信息計(jì)算任務(wù)池中每個(gè)任務(wù)的最晚開(kāi)始時(shí)間;

將任務(wù)池中每個(gè)任務(wù)按照其最晚開(kāi)始時(shí)間由小到大進(jìn)行排序;

按照排序順序依次指定每個(gè)就緒任務(wù),其中,就緒任務(wù)為不存在前驅(qū)任務(wù)的任務(wù),或其所有前驅(qū)任務(wù)都已經(jīng)被映射到虛擬機(jī)且至少一個(gè)前驅(qū)任務(wù)已經(jīng)被完成的任務(wù);

遍歷所有可用的虛擬機(jī),將頻率能夠滿足被指定任務(wù)的虛擬機(jī)設(shè)置為候選虛擬機(jī);

當(dāng)存在一臺(tái)候選虛擬機(jī)時(shí),將被指定任務(wù)與該候選虛擬機(jī)建立映射關(guān)系;

當(dāng)存在多臺(tái)候選虛擬機(jī)時(shí),將被指定任務(wù)與多臺(tái)候選虛擬機(jī)中能保證被指定任務(wù)在其最晚完成時(shí)間之前完成且虛擬機(jī)資源浪費(fèi)最少的候選虛擬機(jī)建立映射關(guān)系;

當(dāng)不存在任何候選虛擬機(jī)時(shí),為被指定任務(wù)增加一臺(tái)虛擬機(jī)并將被指定任務(wù)與該新建虛擬機(jī)建立映射關(guān)系。

并且,當(dāng)不存在任何候選虛擬機(jī)時(shí),為被指定任務(wù)增加一臺(tái)虛擬機(jī)包括:

遍歷所有在工作中的物理主機(jī),判斷是否存在一臺(tái)未使用計(jì)算資源能滿足被指定任務(wù)的物理主機(jī),是則在物理主機(jī)上增加一臺(tái)虛擬機(jī),否則啟用一臺(tái)計(jì)算資源能滿足被指定任務(wù)的關(guān)閉的物理主機(jī)并在物理主機(jī)上增加一臺(tái)虛擬機(jī)。

另外,生成資源調(diào)整計(jì)劃還包括:

將所有工作中的物理主機(jī)按照其頻率能量比由小到大進(jìn)行排序,并按照排序順序依次指定每個(gè)物理主機(jī);

判斷被指定物理主機(jī)上的所有虛擬機(jī)都能被遷移至其他物理主機(jī),是則將被指定物理主機(jī)上的所有虛擬機(jī)都遷移至其他物理主機(jī)并關(guān)閉該物理主機(jī),否則不執(zhí)行任何虛擬機(jī)遷移。

并且,生成資源調(diào)整計(jì)劃還包括對(duì)所有工作中的物理主機(jī)上的虛擬機(jī)進(jìn)行遷移,使得所有工作中的物理主機(jī)的性能要求與主機(jī)頻率的平方的積趨于均衡。

下面根據(jù)具體實(shí)施例進(jìn)一步闡述本發(fā)明的技術(shù)方案。

現(xiàn)有技術(shù)中主要的缺點(diǎn)是:沒(méi)有考慮單個(gè)工作流任務(wù)很難充分利用主機(jī)的資源,就直接將工作流任務(wù)分配到主機(jī)上。在本發(fā)明實(shí)施例中根據(jù)工作流任務(wù)調(diào)度和根據(jù)系統(tǒng)的負(fù)載伸縮計(jì)算資源時(shí),考慮了任務(wù)對(duì)主機(jī)資源的利用率,這就達(dá)到了提高云數(shù)據(jù)中心的資源利用率和能源效率的效果。

本發(fā)明實(shí)施例關(guān)注非周期的、動(dòng)態(tài)的工作流,表示為w={w1,w2,…,wm}。對(duì)于某些工作流應(yīng)用,可以建模為wi={ai,di,gi},其中ai,di和gi分別表示工作流wi的到達(dá)時(shí)間、截止期和結(jié)構(gòu)。工作流的結(jié)構(gòu)gi可以進(jìn)一步表示為有向無(wú)環(huán)圖(dag)gi=(ti,ei),其中是一個(gè)頂點(diǎn)集合,頂點(diǎn)表示工作流wi中的第j個(gè)任務(wù)。表示任務(wù)間的有向邊集合。如果任務(wù)和任務(wù)之間存在數(shù)據(jù)依賴(lài),那么有向邊就存在;是任務(wù)的直接前驅(qū),而是任務(wù)的直接后繼。符號(hào)表示任務(wù)所有直接前驅(qū)組成的集合,符號(hào)表示任務(wù)所有直接后繼組成的集合。如果一個(gè)任務(wù)沒(méi)有任何前驅(qū)任務(wù)(即),或其所有前驅(qū)任務(wù)都已經(jīng)被映射到虛擬機(jī),我們就稱(chēng)一個(gè)任務(wù)是就緒任務(wù)。

云計(jì)算數(shù)據(jù)中心內(nèi)的物理主機(jī)通常是異構(gòu)的,因此同一個(gè)任務(wù)在不同主機(jī)上執(zhí)行時(shí),不同主機(jī)的資源利用率會(huì)有很大的差別。與cpu的資源利用率相比,cpu的頻率(hz)能更好地反映任務(wù)的資源需求。因此,與任務(wù)相關(guān)的參數(shù)分別表示任務(wù)的cpu頻率需求和計(jì)算時(shí)間。

另外,邊的權(quán)重表示任務(wù)傳輸給任務(wù)的數(shù)據(jù)量。兩個(gè)任務(wù)之間的數(shù)據(jù)傳輸時(shí)間可以根據(jù)數(shù)據(jù)量大小和云數(shù)據(jù)中心內(nèi)部網(wǎng)絡(luò)帶計(jì)算。本發(fā)明實(shí)施例假設(shè)所有機(jī)器間的通信都沒(méi)有擁堵,并且在相同計(jì)算資源上的兩個(gè)任務(wù)之間的通信開(kāi)銷(xiāo)可以忽略不計(jì)。

同時(shí),在本發(fā)明實(shí)施例中,目標(biāo)系統(tǒng)被認(rèn)為是一個(gè)大規(guī)模的虛擬化云數(shù)據(jù)中心,由n臺(tái)物理主機(jī)組成,即h={h1,h2,…,hn}。每臺(tái)主機(jī)可描述為其中,mk、sk、nk和是主機(jī)的內(nèi)存、硬盤(pán)容量、網(wǎng)絡(luò)帶寬和最大能耗功率;是主機(jī)hk的離散電壓-頻率對(duì)集合;主機(jī)hk上的虛擬機(jī)集合表示為vmk={vmkl,l=0,1,…,|vmk|},其中vmkl是主機(jī)hk上的第l臺(tái)虛擬機(jī)。一臺(tái)虛擬機(jī)可進(jìn)一步描述為vmkl={fkl,mkl,skl},其中fkl、mkl和skl分別表示虛擬對(duì)主機(jī)cpu頻率、內(nèi)存和存儲(chǔ)資源的需求。多臺(tái)虛擬機(jī)在一臺(tái)主機(jī)上可以動(dòng)態(tài)地啟動(dòng)和停止。另外,虛擬機(jī)還可以從一臺(tái)主機(jī)在線遷移到另一臺(tái)主機(jī)。

本發(fā)明實(shí)施例設(shè)計(jì)了一個(gè)新的調(diào)度架構(gòu),在虛擬化的云數(shù)據(jù)中心運(yùn)行工作流應(yīng)用。類(lèi)似于傳統(tǒng)的多處理器系統(tǒng),云數(shù)據(jù)中心的調(diào)度架構(gòu)由三層組成:應(yīng)用層、調(diào)度層和資源層。然而,這兩者之間的最大區(qū)別在于:云數(shù)據(jù)中心的資源層可以進(jìn)一步分為兩層:主機(jī)層和虛擬機(jī)層。此外,虛擬機(jī)層可用的虛擬機(jī)數(shù)量可以根據(jù)云數(shù)據(jù)中心的負(fù)載動(dòng)態(tài)伸縮。

調(diào)度層包括任務(wù)池(taskpool,簡(jiǎn)稱(chēng)為tp)、調(diào)度分析器、任務(wù)控制器、以及資源控制器。tp容納所有的等待任務(wù);調(diào)度分析器負(fù)責(zé)將tp中的任務(wù)映射到虛擬機(jī)上,并生成資源伸縮計(jì)劃,該計(jì)劃包括什么時(shí)候哪些虛擬機(jī)需要添加或刪除;基于該方案,資源控制器將動(dòng)態(tài)調(diào)整系統(tǒng)中的計(jì)算資源;當(dāng)虛擬機(jī)完成正在處理任務(wù)后,任務(wù)控制器將根據(jù)任務(wù)與虛擬機(jī)的映射,將tp中等待的任務(wù)分配到虛擬機(jī)上。當(dāng)新工作流到達(dá)后,一個(gè)新的調(diào)度過(guò)程將被觸發(fā),對(duì)tp中所有等待任務(wù)和新工作流程中的任務(wù)進(jìn)行重新調(diào)度。當(dāng)一個(gè)新工作流程到達(dá)時(shí),調(diào)度過(guò)程的步驟如下。

第一步,刪除tp中等待任務(wù)與虛擬機(jī)的映射關(guān)系、與沒(méi)有執(zhí)行的資源調(diào)整計(jì)劃。調(diào)度器檢查系統(tǒng)的狀態(tài)信息,如運(yùn)行任務(wù)的剩余執(zhí)行時(shí)間,活動(dòng)主機(jī),虛擬機(jī)的部署等,并更新每個(gè)虛擬機(jī)的就緒時(shí)間。

第二步,調(diào)度器將為新工作流中的每個(gè)任務(wù)指定優(yōu)先級(jí),并將新工作流程中的所有任務(wù)添加到tp中。

第三步,調(diào)度分析器將確定tp中每個(gè)等待任務(wù)與vm的映射,和調(diào)整資源的供給(包括主機(jī)和虛擬機(jī))。

第四步,到映射的虛擬機(jī)就緒執(zhí)行tp中等待任務(wù)時(shí),任務(wù)分配器動(dòng)態(tài)移動(dòng)任務(wù)到相應(yīng)的虛擬機(jī)上。另外,資源控制器將按照計(jì)劃動(dòng)態(tài)添加新的虛擬機(jī)和刪除空閑的虛擬機(jī)。

主機(jī)cpu的能量功率的可以分為空閑功率和活動(dòng)功率??臻e功率是指cpu在一個(gè)完全空閑狀態(tài)時(shí)的功率消耗,活動(dòng)功率與電源電壓的平方和工作頻率成正比。對(duì)于主機(jī)的主機(jī),其活動(dòng)功耗可以表示為:

假設(shè)sk為主機(jī)靜態(tài)功耗的比例,為主機(jī)的最大功耗。主機(jī)的功耗可表示為:

其中,表示主機(jī)hk在時(shí)刻t的狀態(tài)。如果主機(jī)處于活躍狀態(tài),則否則

假設(shè)執(zhí)行任務(wù)集合t的開(kāi)始時(shí)刻和結(jié)束時(shí)刻分別是st和et,主機(jī)hk的總能耗teck可以表示為:

處理完工作流集合w,云數(shù)據(jù)中心m臺(tái)主機(jī)的總能耗tec可以表示為:

在本發(fā)明實(shí)施例中,變量被用來(lái)表示任務(wù)與虛擬機(jī)的映射關(guān)系。如果任務(wù)被映射到虛擬機(jī),那么為1,否則為0,即,

由于優(yōu)先級(jí)的限制(因?yàn)槿蝿?wù)之間存在數(shù)據(jù)依賴(lài)關(guān)系),只有收集到所有直接前驅(qū)任務(wù)傳來(lái)的數(shù)據(jù),一個(gè)任務(wù)才可以開(kāi)始,因此存在以下約束:

其中,表示任務(wù)的完成時(shí)間,是任務(wù)與任務(wù)之間的數(shù)據(jù)傳輸時(shí)間。

當(dāng)工作流wi中所有任務(wù)都被映射到虛擬機(jī),工作流wi的完成時(shí)間fti就是其所有任務(wù)的最大完成時(shí)間如下:

為了滿足工作流的時(shí)效性要求,其所有任務(wù)都要在它的最后期限前完成。因此,它帶來(lái)另一個(gè)約束:

因?yàn)樵朴?jì)算數(shù)據(jù)中心每臺(tái)主機(jī)只提供有限的資源,以下公式表達(dá)每臺(tái)主機(jī)供給給虛擬機(jī)的每類(lèi)資源都不能大于主機(jī)的容量,即,

基于如公式(6)(8)和(9),本發(fā)明實(shí)施例的首要優(yōu)化目標(biāo)是最小化執(zhí)行一組的工作流的總能量消耗:

其中,m表示云中的主機(jī)數(shù)量;st和et分別是執(zhí)行工作流集合w的開(kāi)始時(shí)間和結(jié)束時(shí)間。

除了能量消耗,資源利用率是另一個(gè)重要指標(biāo)。因此,我們將最大化主機(jī)的平均資源利用率,即,

其中,m和|ti|分別表示工作流的數(shù)量和工作流wi中的任務(wù)數(shù)量;分別表示任務(wù)對(duì)主機(jī)的性能要求和計(jì)算時(shí)間;n表示云計(jì)算數(shù)據(jù)中心的主機(jī)數(shù)量;表示主機(jī)cpu的最大處理能力,wtk是主機(jī)在執(zhí)行工作流集合中的活躍時(shí)間。

多機(jī)環(huán)境中的工作流調(diào)度屬于典型的np完全問(wèn)題,只有小規(guī)模問(wèn)題才能得到最優(yōu)解。因此,本發(fā)明實(shí)施例提出了一個(gè)啟發(fā)式的算法,在一個(gè)合理的時(shí)間內(nèi),來(lái)搜索上述問(wèn)題的近似最優(yōu)解。

在工作流調(diào)度中,如何排序工作流任務(wù)是一個(gè)關(guān)鍵的問(wèn)題。本發(fā)明實(shí)施例在tp中所有任務(wù)將根據(jù)他們的最晚開(kāi)始時(shí)間排序。一個(gè)任務(wù)的最晚開(kāi)始時(shí)間可以按遞歸計(jì)算定義如下:

其中,表示任務(wù)的所有直接前驅(qū)任務(wù)。

由于云計(jì)算數(shù)據(jù)中心包含大量的異構(gòu)主機(jī),每臺(tái)主機(jī)的計(jì)算能力和能量消耗都不同。為了減少云計(jì)算數(shù)據(jù)中心的能量消耗,我們需要解決以下2個(gè)問(wèn)題:①當(dāng)資源需求一定時(shí)如何最小化所有活躍主機(jī)的能耗功率;②當(dāng)伸縮計(jì)算資源時(shí)哪些主機(jī)應(yīng)該被打開(kāi)或者關(guān)閉。

對(duì)于問(wèn)題①,有定理1:假設(shè)是活躍主機(jī)的集合,對(duì)主機(jī)集合ha的總cpu頻率需求為其中變量fk表示主機(jī)hk的頻率。主機(jī)集合ha的總能耗功率,表示為得到最小化,如果滿足對(duì)于主機(jī)hk,是一個(gè)常數(shù)。

證明:根據(jù)公式(2),活躍主機(jī)hk的功耗pk可表示為:

定義上式的拉格朗日函數(shù)為:

其中,f是向量,表示為λ是一個(gè)向量。

其最優(yōu)條件是:

因此,當(dāng)且僅當(dāng)總能耗功率最小。

定理1表明,盡可能均衡所有活躍主機(jī)的能夠最小化總能耗功率。

對(duì)于問(wèn)題②,本發(fā)明實(shí)施例將主機(jī)的最大cpu頻率與主機(jī)最大能耗功率的比值被定義為頻率能量比。表示如下:

物理主機(jī)的ferk越大就意味著它的能源效率越高,有更高ferk的主機(jī)將優(yōu)先選擇來(lái)執(zhí)行工作流任務(wù)。相反,當(dāng)系統(tǒng)的工作量減少,對(duì)小ferk的主機(jī)上的虛擬機(jī)將被整合到高ferk的主機(jī),然后關(guān)閉低ferk主機(jī),來(lái)降低能源消耗。

本發(fā)明實(shí)施例提出了一個(gè)啟發(fā)式算法名為enos。enos能調(diào)度帶截止期的工作流,同時(shí)動(dòng)態(tài)伸縮計(jì)算資源來(lái)減少能量消耗。對(duì)于現(xiàn)有技術(shù)的調(diào)度算法而言,一旦工作流任務(wù)被調(diào)度,他們將立即被放置到虛擬機(jī)或主機(jī)上;與這些算法不同,eons只將就緒任務(wù)放置到虛擬機(jī)上,并將所有的等待工作流任務(wù)滯留在任務(wù)池中。等待任務(wù)的調(diào)度方案可以被重新生成來(lái)提高資源和能量效率。

eons算法(算法1)的偽代碼如下所示:

當(dāng)一個(gè)新的工作流wi到達(dá),在任務(wù)池(taskpool)中所有等待的調(diào)度決策將被取消,包括任務(wù)與虛擬機(jī)的映射(見(jiàn)3行,算法1)和為等待任務(wù)創(chuàng)建虛擬機(jī)的計(jì)劃(見(jiàn)4行,算法1)。然后,更新虛擬機(jī)的就緒時(shí)間rtkl,表示虛擬機(jī)vmkl完成所有映射到其的任務(wù)的時(shí)間(見(jiàn)5行,算法1)。在那之后,計(jì)算工作流wi中每個(gè)任務(wù)的最遲開(kāi)始時(shí)間(即)(見(jiàn)5行,算法1),并將新到達(dá)工作流中所有任務(wù)都添加到任務(wù)池(taskpool)中(見(jiàn)7行,算法1)。然后,高能耗效率調(diào)度策略將多個(gè)工作流中的任務(wù)混合地調(diào)度到虛擬機(jī)(見(jiàn)8-11行,算法1)。

本發(fā)明實(shí)施例提出的節(jié)能調(diào)度策略中,通過(guò)努力減少虛擬機(jī)資源的浪費(fèi)來(lái)節(jié)約主機(jī)的能量消耗。圖2示出的是虛擬機(jī)資源的浪費(fèi)的主要原因,包括:①相同虛擬機(jī)上相連任務(wù)間的空閑時(shí)隙;②虛擬機(jī)資源沒(méi)被充分利用。如圖2所示,陰影區(qū)域代表調(diào)度任務(wù)后,虛擬機(jī)vm11被浪費(fèi)的資源。區(qū)域1(area1)和區(qū)域2(area2)分別代表任務(wù)之間的空閑時(shí)隙(即①)和的低資源利用率造成的資源浪費(fèi)(即②)。

為了提高資源的利用率,降低能量消耗,本發(fā)明實(shí)施例設(shè)計(jì)了一個(gè)新的指標(biāo),在調(diào)度任務(wù)時(shí)衡量資源的浪費(fèi)。在本發(fā)明實(shí)施例中,任務(wù)造成虛擬機(jī)vmkl浪費(fèi)的資源被定義為:

其中,表示任務(wù)的完成時(shí)間,假設(shè)任務(wù)分配到虛擬機(jī)vmkl上且排在任務(wù)的前面;表示空閑間隙造成的資源浪費(fèi),而表示低資源利用造成的資源浪費(fèi)。

在算法eons中,節(jié)能調(diào)度策略將添加一個(gè)就緒工作流任務(wù)到虛擬機(jī)先前已經(jīng)映射的任務(wù)的后面。任務(wù)在虛擬機(jī)vmkl上的完成任務(wù)時(shí)間為:

其中,rtkl表示虛擬機(jī)vmkl的就緒時(shí)間,當(dāng)一個(gè)任務(wù)映射到虛擬機(jī)vmkl上時(shí),該參數(shù)將被更新,比如,將任務(wù)映射到虛擬機(jī)vmkl,那么虛擬機(jī)vmkl的就緒時(shí)間就變?yōu)?imgfile="bda00012706545400001411.gif"wi="230"he="71"img-content="drawing"img-format="gif"orientation="portrait"inline="no"/>ai表示工作流wi的到達(dá)時(shí)間,表示任務(wù)在虛擬機(jī)vmkl上的完成時(shí)間。

基于上述定義,本發(fā)明實(shí)施例設(shè)計(jì)了節(jié)能調(diào)度策略(算法2),其偽代碼如下所示:

節(jié)能調(diào)度策略將工作流任務(wù)調(diào)度到虛擬機(jī)上,在滿足任務(wù)的最晚完成時(shí)間的同時(shí),盡可能地節(jié)約能量消耗。首先,算法2對(duì)readytasks中的任務(wù)根據(jù)任務(wù)的最晚開(kāi)始時(shí)間進(jìn)行排序(見(jiàn)1行,算法2),和根據(jù)就緒任務(wù)最晚開(kāi)始時(shí)間最小優(yōu)先的順序,對(duì)就緒任務(wù)進(jìn)行調(diào)度(見(jiàn)2行,算法2)。對(duì)于每一個(gè)就緒任務(wù)我們?cè)O(shè)計(jì)了兩個(gè)策略來(lái)為它選擇一臺(tái)虛擬機(jī)。策略一:所有可用的虛擬機(jī),其cpu的頻率足夠大來(lái)滿足任務(wù)的資源需求,都屬于候選虛擬機(jī)(見(jiàn)4行,算法2);而一臺(tái)虛擬機(jī),可以保證任務(wù)的最晚完成時(shí)間且浪費(fèi)最少的資源,將被選來(lái)執(zhí)行任務(wù)(見(jiàn)5-10行,算法2)。如果策略一沒(méi)能從可用的虛擬機(jī)為任務(wù)選出虛擬機(jī)(見(jiàn)11行,算法2),策略二將調(diào)用函數(shù)scaleupresource()來(lái)為任務(wù)增加虛擬機(jī)(見(jiàn)12行,算法2)。最后,任務(wù)被映射到選定的虛擬機(jī)(見(jiàn)14行,算法2)。

在函數(shù)scaleupresource()中,我們?cè)O(shè)計(jì)了以下兩步策略來(lái)增加更多的虛擬機(jī):

步驟一,搜索一臺(tái)有足夠多未使用資源的活躍主機(jī),然后在該主機(jī)上創(chuàng)建一臺(tái)新的虛擬機(jī),而不啟動(dòng)任何主機(jī);

步驟二,如果上述步驟不可行,則啟動(dòng)一臺(tái)具有較高的能量效率的關(guān)閉主機(jī),然后在此主機(jī)上創(chuàng)建一臺(tái)新的虛擬機(jī)。

函數(shù)scaleupresource()(算法3)的偽代碼如下所示:

函數(shù)首先選擇一個(gè)虛擬機(jī)模板vml,滿足任務(wù)的cpu性能要求(見(jiàn)1行,算法3)。根據(jù)定理1,有最小且可容納vml的主機(jī)hk將被選擇(見(jiàn)2-8行,算法3),以最小化系統(tǒng)總能耗。如果以上策略沒(méi)能選出主機(jī),然后該函數(shù)啟動(dòng)一臺(tái)有最大ferk且能容納vml的主機(jī)hk,然后在該主機(jī)上創(chuàng)建虛擬機(jī)vmkl(見(jiàn)12-19行,算法3)。

當(dāng)一個(gè)虛擬機(jī)被已經(jīng)完成了所有映射到它的任務(wù),稱(chēng)其為空閑虛擬機(jī)。

由于有大量的用戶動(dòng)態(tài)地向云計(jì)算平臺(tái)提交工作流應(yīng)用,云計(jì)算平臺(tái)的負(fù)載肯定隨著時(shí)間的推進(jìn)出現(xiàn)大幅的波動(dòng)。當(dāng)局部的負(fù)載高峰過(guò)后,在云數(shù)據(jù)中心總會(huì)出現(xiàn)一些閑置的虛擬機(jī)和主機(jī)。為了提高資源和能源效率,我們?cè)O(shè)計(jì)了一個(gè)資源收縮策略,scaledownresources()通過(guò)動(dòng)態(tài)整合活躍虛擬機(jī),來(lái)減少活躍主機(jī)的數(shù)量。

收縮資源的函數(shù)scaledownresources()(算法4)如下所示:

如果系統(tǒng)的負(fù)載變輕,存在一些空閑的虛擬機(jī)。這些空閑的虛擬機(jī)將被刪除,和空閑的主機(jī)也被關(guān)閉。然后,函數(shù)scaledownresources(),如算法4所示,將被調(diào)用來(lái)動(dòng)態(tài)整合虛擬機(jī)和關(guān)閉空閑主機(jī),以減少主機(jī)的使用量。首先,所有活動(dòng)主機(jī)根據(jù)它們的fer進(jìn)行升序排序(見(jiàn)2行,算法4),即能源效率低的主機(jī)將排在隊(duì)列的前頭。之后,這個(gè)函數(shù)從較小ferk的主機(jī)開(kāi)始(3行),檢測(cè)選定主機(jī)上的所有虛擬機(jī)是否都可以遷移到其他主機(jī)(見(jiàn)5-19行,算法4)。此外,為了提高系統(tǒng)的能源效率,該函數(shù)盡力均衡活躍主機(jī)的(見(jiàn)6-13行,算法4)。值得注意的是,如果存在一些在選定主機(jī)上的虛擬機(jī)無(wú)法找到目標(biāo)主機(jī),所選主機(jī)上其他虛擬機(jī)的遷移計(jì)劃都要被放棄(見(jiàn)17行,算法4)。否則,將所選主機(jī)上的所有虛擬機(jī)遷移到相應(yīng)的目標(biāo)主機(jī)上,然后關(guān)閉所選的主機(jī)(見(jiàn)20-23行,算法4)。

對(duì)比實(shí)驗(yàn)驗(yàn)證了算法的有效性。

實(shí)驗(yàn)選擇cloudsim仿真平臺(tái)座位模擬云服務(wù)系統(tǒng)中的基礎(chǔ)設(shè)施。實(shí)驗(yàn)使用以下五種主機(jī)的參數(shù)模擬云服務(wù)系統(tǒng):poweredger730、sugoni620-g20、rh2288hv2、altosr360和express5800。每種主機(jī)的數(shù)量都設(shè)為2000臺(tái),假設(shè)啟動(dòng)主機(jī)的時(shí)間為30s。

另外,假設(shè)云服務(wù)系統(tǒng)中有6個(gè)虛擬機(jī)模板,虛擬機(jī)模板對(duì)主機(jī)的cpu頻率的需求分別有1.0、1.5、2.0、2.5、3.0和3.5ghz。使用虛擬機(jī)模板創(chuàng)建虛擬機(jī)的時(shí)間為30s。

試驗(yàn)中選擇四組實(shí)際測(cè)試集,即cybershake,ligo,montage和sipht。這些工作流程應(yīng)用的結(jié)構(gòu)如圖3(a)至圖3(d)所示。這些工作流中任務(wù)的運(yùn)行時(shí)間和任務(wù)間的數(shù)據(jù)傳輸量都是已經(jīng)公開(kāi)的。

通信與計(jì)算比(communicationtocomputationratio),簡(jiǎn)寫(xiě)為ccr,是指在一個(gè)工作流中,總計(jì)算時(shí)間開(kāi)銷(xiāo)與總的通信時(shí)間開(kāi)銷(xiāo)的比例[38]。實(shí)驗(yàn)的重點(diǎn)是分析對(duì)四種算法性能的影響。參數(shù)將從0.5變化到5.5,而工作流數(shù)量和到達(dá)率分別固定為10000和0.5。圖4(a)至圖4(c)示出的是算法eons、easa、heft和esfs的實(shí)驗(yàn)結(jié)果。

如圖4(a)所示,當(dāng)ccr增加時(shí),算法easa、heft和esfs的能量消耗也隨著增加。特別是算法easa,能量消耗上升了27.04%,從3954千瓦時(shí)到5023千瓦時(shí)。對(duì)這個(gè)趨勢(shì)解釋是,當(dāng)ccr越大,計(jì)算資源的空閑間隙就會(huì)延長(zhǎng),而且這些算法沒(méi)有采用相應(yīng)的策略來(lái)利用空閑時(shí)隙,從而消耗更多的能量。與這些算法不同,算法eons的能耗基本上不變,無(wú)論ccr怎么變化。這是因?yàn)閑ons混合調(diào)度不同工作流中的任務(wù),來(lái)減少計(jì)算資源上的空閑時(shí)隙。另外,eons平均比easa、heft和esfs平均少消耗58.24%,42.26%和38.47%的能量。

圖4(b)示出的第一印象是,eons在資源利用率方面遠(yuǎn)優(yōu)于easa、heft和esfs。在本質(zhì)上,eons平均優(yōu)于easa、heft和esfs14.98%、7.22%和17.25%。這一結(jié)果表明,對(duì)于在保障工作流時(shí)效性的同時(shí)提高資源利用率方面,算法eons是高效的。圖4(b)也顯示,當(dāng)ccr增加時(shí),算法easa、heft和esfs的資源利用率都相應(yīng)減少。這是因?yàn)殡S著ccr的增加,計(jì)算資源上的空閑時(shí)隙變得更大,因此資源利用率呈現(xiàn)下降趨勢(shì)。然而,eons的資源利用率略有上升趨勢(shì),隨著ccr增加的。這種現(xiàn)象表明,eons的任務(wù)調(diào)度策略,混合調(diào)度不同工作流地任務(wù)相同的虛擬機(jī)上,在資源利用方面eons是有效的。

圖4(c)示出展示了使用主機(jī)數(shù)量隨著時(shí)間的變化,當(dāng)工作流數(shù)量、到達(dá)率和ccr分別設(shè)為10000、0.5和0.5。很明顯,eons在使用主機(jī)數(shù)量方面一直優(yōu)于對(duì)比算法。圖4(c)清楚地表明,四個(gè)算法的主機(jī)使用量大致可分為三類(lèi):eons所使用的主機(jī)在3000和4000年之間波動(dòng),easa和heft都在5200左右,而esfs啟動(dòng)多達(dá)7000臺(tái)主機(jī)。這一結(jié)果證明了我們提出的算法eons,能有效降低云數(shù)據(jù)中心使用主機(jī)的數(shù)量。

綜上所述,本發(fā)明設(shè)計(jì)了一種新的調(diào)度架構(gòu),將一個(gè)在線調(diào)度問(wèn)題轉(zhuǎn)化為多個(gè)靜態(tài)調(diào)度過(guò)程。該架構(gòu)還使每個(gè)靜態(tài)調(diào)度過(guò)程能夠充分利用所有可用的信息,來(lái)重新調(diào)度所有等待調(diào)度的工作流任務(wù)。本發(fā)明提出一種方法將混合調(diào)度不同工作流中的任務(wù)調(diào)度到虛擬機(jī)上,來(lái)提高系統(tǒng)資源利用率。理論上也能證明,當(dāng)資源需求和活躍的主機(jī)已知,通過(guò)平衡主機(jī)工作頻率的加權(quán)平方,來(lái)最小化主機(jī)的總能耗功率。本發(fā)明還提出了一種在線調(diào)度算法eons,能混合地調(diào)度不同工作流的任務(wù),在提高資源利用率,同時(shí)保證流的截止期。eons還具有三個(gè)根據(jù)系統(tǒng)負(fù)載動(dòng)態(tài)伸縮計(jì)算資源的策略。此外,這些策略通過(guò)均衡主機(jī)工作頻率的加權(quán)平方,來(lái)降低能源消耗。借助于本發(fā)明的上述技術(shù)方案,通過(guò)使用以新到達(dá)的工作流信息為觸發(fā)條件在虛擬機(jī)上以總能耗和資源利用率作為調(diào)度目標(biāo)對(duì)工作流中的非周期性動(dòng)態(tài)任務(wù)進(jìn)行調(diào)度的技術(shù)手段,提高了云數(shù)據(jù)中心的資源利用率,降低了云數(shù)據(jù)中心的工作能耗。

所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1