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

一種基于最小費(fèi)用最大流的大規(guī)模資源調(diào)度系統(tǒng)及方法與流程

文檔序號(hào):12063473閱讀:262來(lái)源:國(guó)知局
一種基于最小費(fèi)用最大流的大規(guī)模資源調(diào)度系統(tǒng)及方法與流程

本發(fā)明涉及一種基于最小費(fèi)用最大流的大規(guī)模資源調(diào)度系統(tǒng)及方法,屬于大數(shù)據(jù)資源管理領(lǐng)域,特別是大規(guī)模環(huán)境下資源調(diào)度問(wèn)題。



背景技術(shù):

隨著互聯(lián)網(wǎng)(Internet)、物聯(lián)網(wǎng)(IoT)等技術(shù)的快速發(fā)展,數(shù)據(jù)(Data)開(kāi)始從簡(jiǎn)單處理對(duì)象向基礎(chǔ)性服務(wù)轉(zhuǎn)變,多個(gè)作業(yè)(Job)同時(shí)提交,分解成并行執(zhí)行任務(wù)(Task),在至少萬(wàn)級(jí)規(guī)模的物理服務(wù)器上運(yùn)行處理,已成主流的應(yīng)用模式,稱之為“并行作業(yè)(Concurrentjob)”問(wèn)題。例如,Github每年需處理2000多萬(wàn)個(gè)作業(yè),F(xiàn)acebook每天要響應(yīng)近萬(wàn)個(gè)作業(yè)請(qǐng)求。

大規(guī)模資源調(diào)度是指多目標(biāo)約束下,任務(wù)與物理資源最優(yōu)映射決策過(guò)程,它是解決并行作業(yè)問(wèn)題的關(guān)鍵。已有研究工作或權(quán)衡任務(wù)干擾約束(cross-task interference)和資源利用率(high resource utilization),如Whare-Map、Tetrisched;或權(quán)衡公平性(fairness)和數(shù)據(jù)局部性(data locality),如Quincy、YARN;或權(quán)衡公平性(fairness)和隔離性(isolation),如Mesos、Omega;或滿足優(yōu)先級(jí)(priority)等單一約束條件,如Borg、Alsched、Quasar。由此可見(jiàn),已有工作通常只能適用目標(biāo)固定不變,但相關(guān)研究表明,相同的作業(yè)集合采用不同的目標(biāo)進(jìn)行調(diào)度,或?qū)е聵O低的資源利用率,如Twitter平均資源利用率小于20%;或引起作業(yè)性能下降5倍。因此,根據(jù)合適的場(chǎng)景選擇合適的調(diào)度目標(biāo)意義重大。

隨著大數(shù)據(jù)的快速發(fā)展和應(yīng)用深入,白天采用公平性調(diào)度目標(biāo),為各服務(wù)類(郵件、門(mén)戶等)作業(yè)提供資源,晚上采用優(yōu)先級(jí)調(diào)度目標(biāo),優(yōu)先保證服務(wù)類作業(yè)資源供給,利用閑置資源提交大數(shù)據(jù)分析類作業(yè)(Hadoop、Spark等)已成為一種主流的業(yè)務(wù)模式。故而產(chǎn)生了資源調(diào)度具備動(dòng)態(tài)目標(biāo)組合,按需配置生效的新需求。



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

本發(fā)明技術(shù)解決問(wèn)題:克服現(xiàn)有技術(shù)的不足,提出了一種基于最小費(fèi)用最大流的大規(guī)模資源調(diào)度系統(tǒng)及方法,滿足了實(shí)際業(yè)務(wù)場(chǎng)景靈活性需求,即調(diào)度系統(tǒng)支持多種調(diào)度目標(biāo),且可針對(duì)不同場(chǎng)景需求,靈活選取最優(yōu)調(diào)度目標(biāo)以適應(yīng)需求。

本發(fā)明技術(shù)解決方案:一種基于最小費(fèi)用最大流的大規(guī)模資源調(diào)度系統(tǒng),包括:任務(wù)狀態(tài)表、集群狀態(tài)表、調(diào)度目標(biāo)表、最小費(fèi)用最大流構(gòu)造器、最小費(fèi)用最大流求解器、任務(wù)執(zhí)行器,其中:

任務(wù)狀態(tài)表,接收并保存用戶提交的任務(wù)狀態(tài),包括任務(wù)的CPU使用率、內(nèi)存使用率、網(wǎng)絡(luò)I/O、磁盤(pán)I/O和優(yōu)先級(jí);

集群狀態(tài)表,保存集群狀態(tài)信息,包括集群CPU使用率、內(nèi)存使用率、網(wǎng)絡(luò)和磁盤(pán)I/O,在集群狀態(tài)發(fā)生變化時(shí)對(duì)集群狀態(tài)表進(jìn)行更新;

調(diào)度目標(biāo)表:存儲(chǔ)用戶配置的調(diào)度目標(biāo),目前包括優(yōu)先級(jí)、放置約束及公平性;

最小費(fèi)用最大流構(gòu)造器,根據(jù)任務(wù)狀態(tài)表和集群狀態(tài)表信息,從調(diào)度目標(biāo)表選擇調(diào)度目標(biāo),構(gòu)造最小費(fèi)用最大流圖;

最小費(fèi)用最大流求解器,采用增量式算法對(duì)最小費(fèi)用最大流構(gòu)造器構(gòu)造的最小費(fèi)用最大流圖進(jìn)行求解;

任務(wù)執(zhí)行器,采用容器技術(shù)進(jìn)行任務(wù)隔離與執(zhí)行,同時(shí)把任務(wù)狀態(tài)和集群狀態(tài)定期同步到任務(wù)狀態(tài)表和集群狀態(tài)表。

所述最小費(fèi)用最大流構(gòu)造器對(duì)最小費(fèi)用最大流圖的構(gòu)造方法如下:

(1)根據(jù)最小費(fèi)用最大流構(gòu)造器建立最小費(fèi)用最大流模型,提供基本操作接口;

(2)根據(jù)任務(wù)狀態(tài)表、集群狀態(tài)表、調(diào)度目標(biāo)表獲取任務(wù)狀態(tài)、集群狀態(tài)和調(diào)度目標(biāo);

(3)根據(jù)第一步提供的基本操作接口和第二步獲取的任務(wù)狀態(tài)、集群狀態(tài)、和調(diào)度目標(biāo),采用不同構(gòu)造方法構(gòu)造最小費(fèi)用最大流圖;

(4)將構(gòu)造結(jié)果輸出至最小費(fèi)用最大流求解器。

所述采用增量式算法對(duì)最小費(fèi)用最大流圖進(jìn)行求解方法如下;

(1)循環(huán)監(jiān)測(cè)任務(wù)狀態(tài)表和集群狀態(tài)表的變更事件,包括添加任務(wù)、添加機(jī)器,將變更結(jié)果輸出值最小費(fèi)用最大流圖構(gòu)造器;

(2)最小費(fèi)用最大流圖構(gòu)造器根據(jù)第一步得到的變更事件更新最小費(fèi)用最大流圖,將更新后的最小費(fèi)用最大流圖輸出至最小費(fèi)用最大流求解器;

(3)最小費(fèi)用最大流求解器緩存上次求解結(jié)果,對(duì)第二步得到的更新后的最小費(fèi)用最大流圖進(jìn)行局部求解,得到任務(wù)與資源映射關(guān)系。

一種基于最小費(fèi)用最大流的大規(guī)模資源調(diào)度方法,包括以下步驟:

步驟S01:根據(jù)任務(wù)狀態(tài)表和集群狀態(tài)表獲取任務(wù)狀態(tài)和集群狀態(tài),輸出至最小費(fèi)用最大流求解器;

步驟S02:根據(jù)調(diào)度目標(biāo)表和用戶配置信息,獲取調(diào)度目標(biāo),輸出至最小費(fèi)用最大流構(gòu)造器;

步驟S03:根據(jù)步驟S01和步驟S02獲取的任務(wù)狀態(tài)、集群狀態(tài)、調(diào)度目標(biāo),采用最小費(fèi)用最大流構(gòu)造器構(gòu)造最小費(fèi)用最大流圖,將結(jié)果輸出至最小費(fèi)用最大流求解器;

步驟S04:根據(jù)最小費(fèi)用最大流求解器,采用增量式算法,對(duì)步驟S03中構(gòu)造的最小費(fèi)用最大流圖進(jìn)行求解,得到任務(wù)與資源的映射關(guān)系;

步驟S05:根據(jù)步驟S04得到的任務(wù)與資源映射關(guān)系,將相應(yīng)任務(wù)調(diào)度到特定機(jī)器的任務(wù)執(zhí)行器上執(zhí)行。

本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于:

(1)本發(fā)明提出基于最小費(fèi)用最大流的大規(guī)模資源調(diào)度方法,支持多種調(diào)度目標(biāo),且可針對(duì)不同場(chǎng)景按需切換,解決了傳統(tǒng)方法難以適用于多種調(diào)度場(chǎng)景問(wèn)題;

(2)本發(fā)明提出了最小費(fèi)用最大流圖的增量式求解算法,能夠有效降低流圖的求解時(shí)間,使本發(fā)明更具有實(shí)用價(jià)值。

附圖說(shuō)明

圖1為本發(fā)明方法實(shí)現(xiàn)原理圖;

圖2為本發(fā)明方法中最小費(fèi)用最大流網(wǎng)絡(luò)模型原理圖;

圖3為本發(fā)明中最小費(fèi)用最大流構(gòu)造器的實(shí)現(xiàn)流程圖;

圖4為本發(fā)明中最小費(fèi)用最大流求解器的實(shí)現(xiàn)流程圖。

具體實(shí)施方式

為使本發(fā)明更加容易理解,結(jié)合一個(gè)實(shí)例對(duì)本發(fā)明作進(jìn)一步闡述,但該實(shí)例不構(gòu)成對(duì)本發(fā)明的任何限制。

如附圖1,本發(fā)明技術(shù)解決方案:基于最小費(fèi)用最大流的大規(guī)模資源調(diào)度系統(tǒng),包括任務(wù)狀態(tài)表、集群狀態(tài)表、調(diào)度目標(biāo)表、最小費(fèi)用最大流構(gòu)造器、最小費(fèi)用最大流求解器、任務(wù)執(zhí)行器。其中:

任務(wù)狀態(tài)表接收并保存用戶提交的任務(wù)狀態(tài),包括任務(wù)的CPU使用率、內(nèi)存使用率、網(wǎng)絡(luò)I/O、磁盤(pán)I/O、優(yōu)先級(jí);

集群狀態(tài)表保存集群狀態(tài)信息,包括集群CPU使用率、內(nèi)存使用率、網(wǎng)絡(luò)和磁盤(pán)I/O,在集群狀態(tài)發(fā)生變化時(shí)對(duì)集群狀態(tài)表進(jìn)行更新;

調(diào)度目標(biāo)表:存儲(chǔ)用戶配置的調(diào)度目標(biāo),目前包括優(yōu)先級(jí)、放置約束以及公平性;

最小費(fèi)用最大流構(gòu)造器,根據(jù)任務(wù)狀態(tài)表和集群狀態(tài)表信息和調(diào)度目標(biāo)表中信息,根據(jù)不同構(gòu)造方法,構(gòu)造最小費(fèi)用最大流圖;

最小費(fèi)用最大流求解器采用增量式算法對(duì)構(gòu)造器構(gòu)造的最小費(fèi)用最大流圖進(jìn)行求解;

任務(wù)執(zhí)行器,采用容器技術(shù),進(jìn)行任務(wù)執(zhí)行與隔離。

如圖3所示,本發(fā)明中最小費(fèi)用最大流構(gòu)造器的實(shí)現(xiàn)如下:

首先采用最小費(fèi)用最大流構(gòu)造器建立最小費(fèi)用最大流模型,提供基本操作接口;然后根據(jù)任務(wù)狀態(tài)表、集群狀態(tài)表和調(diào)度目標(biāo)表獲取任務(wù)狀態(tài)、集群狀態(tài)和調(diào)度目標(biāo),輸出至最小費(fèi)用最大流構(gòu)造器;最小費(fèi)用最大流構(gòu)造器根據(jù)不同調(diào)度目標(biāo)的構(gòu)造方法,構(gòu)造最小費(fèi)用最大流圖。

所述最小費(fèi)用最大流模型及基本操作接口如下:

圖2是最小費(fèi)用最大流模型,左側(cè)是任務(wù)集合T,右側(cè)是物理資源集合M,邊T1,2→M1以及T2,1→U1,表示資源M1和U1為任務(wù)T1,2資源供給的候選項(xiàng);每條邊的容量和費(fèi)用表示任務(wù)是否可調(diào)度到相應(yīng)物理資源上(容量),如果可以,其供給的效果(費(fèi)用)如何。資源調(diào)度問(wèn)題映射到最小費(fèi)用最大流問(wèn)題后,圖中各元素的物理含義如表1所示。

表1基于最小費(fèi)用最大流調(diào)度元素具體含義(A→B表示A到B節(jié)點(diǎn)構(gòu)成的有向邊,*號(hào)表示任意節(jié)點(diǎn))

本系統(tǒng)提供的圖的基本操作接口如表1所示,包括添加邊AddEdge、添加節(jié)點(diǎn)AddNode、設(shè)置容量SetCapacity、設(shè)置費(fèi)用SetCost。

表1圖的基本操作接口

所述不同調(diào)度目標(biāo)的具體構(gòu)造方法如下:

公平性、放置約束、優(yōu)先級(jí)三種主要調(diào)度目標(biāo)從資源視角轉(zhuǎn)換為圖的容量和費(fèi)用賦值問(wèn)題,基于以上基本操作接口,分別介紹公平性、放置約束、優(yōu)先級(jí)的構(gòu)造算法。

1)公平性

公平性指作業(yè)集合公平共享物理資源。例如,對(duì)于Job j,其包含的任務(wù)數(shù)為Nj,通過(guò)公平算法計(jì)算其所需公平份額為Aj。若調(diào)度算法分配給Job j的資源份額為Aj,則滿足公平性。

公平性通過(guò)圖的容量構(gòu)造問(wèn)題來(lái)表達(dá),算法步驟如下:

i.對(duì)于每個(gè)作業(yè)Job j添加等待節(jié)點(diǎn)Uj

ii.設(shè)置Uj→S容量上下界為:

[Nj-Aj,Nj-Aj] (1)

iii.由于Uj→S的上下界均為Nj-Aj,則通過(guò)Uj的流量fu=Nj-Aj(最小費(fèi)用最大流網(wǎng)絡(luò)模型的約束條件)即Jobj中需要等待的任務(wù)為Nj-Aj個(gè)。

iv.Job j的任務(wù)Nj或流向Uj,處于等待狀態(tài),或流向資源節(jié)點(diǎn)進(jìn)行調(diào)度,因此Job j通過(guò)資源節(jié)點(diǎn)的流量

fr=Nj-(Nj-Aj)=Aj (2)

即Job j分配到Aj份額資源,滿足最大最小公平性。

表2圖的公平性構(gòu)造算法

2)放置約束

放置約束可描述為如公式(3)所示三元組:

placement constraint=<task,resources,utility> (3)

其中Task表示任務(wù),resources表示任務(wù)約束的資源,表示task放置到resources上所獲得的效益。采用效益函數(shù)描述放置約束,即

max∑utility (4)

放置約束可映射到最小費(fèi)用最大流網(wǎng)絡(luò)邊和費(fèi)用的構(gòu)造問(wèn)題,步驟如下:

i.在圖中task和resources之間建立一條邊task→resources

ii.為新建立的邊賦予一個(gè)與效益值相反的費(fèi)用,如公式(5)所示

cost(task→resources)=-utility (5)

iii.最大效益函數(shù)對(duì)應(yīng)最小費(fèi)用

min∑cost (6)

由公式(4)、(6)可知,通過(guò)最小費(fèi)用最大流網(wǎng)絡(luò)表述的放置約束等價(jià)于放置約束的定義。

表3圖的放置約束構(gòu)造算法

3)優(yōu)先級(jí)

在支持優(yōu)先級(jí)的調(diào)度中,優(yōu)先級(jí)高的任務(wù)優(yōu)先獲得資源。

最小費(fèi)用最大流網(wǎng)絡(luò)能夠通過(guò)費(fèi)用構(gòu)造來(lái)支持嚴(yán)格的優(yōu)先級(jí)調(diào)度,步驟如下:

i.類似Brog,帶有優(yōu)先級(jí)調(diào)度的費(fèi)用計(jì)算公式定義為

其中,w1-n代表每一維度(優(yōu)先級(jí)維度,CPU利用率維度,磁盤(pán)利用率維度等)的權(quán)重,每一維度的取值范圍規(guī)范化為[0,ω],ω是一個(gè)常數(shù)值。

ii.為滿足嚴(yán)格優(yōu)先級(jí)約束,把優(yōu)先級(jí)維度權(quán)重賦值為∑1≤i≤nwi×ω,則優(yōu)先級(jí)較高的任務(wù)費(fèi)用一定最小;

iii.對(duì)圖進(jìn)行構(gòu)造時(shí)任務(wù)相關(guān)費(fèi)用α賦值為cost(w,v)

α=cost(w,v) (8)

表4圖的優(yōu)先級(jí)構(gòu)造算法

如圖4所示,最小費(fèi)用最大流求解器的實(shí)現(xiàn)流程如下:

首先采用已有CostScaling方法對(duì)圖進(jìn)行初始化求解,并保存求解結(jié)果;然后,循環(huán)監(jiān)測(cè)任務(wù)狀態(tài)表和集群狀態(tài)表的變更事件,其中變更事件包括添加、移除任務(wù),添加、移除資源,費(fèi)用變更和容量變更;如果監(jiān)測(cè)到變更事件,則采用最小費(fèi)用最大流構(gòu)造器更新最小費(fèi)用最大流圖,并觸發(fā)最小費(fèi)用最大流求解器復(fù)用上次求解結(jié)果,僅對(duì)圖中的更新部分進(jìn)行增量求解。

所述增量求解的原理如下:

最小費(fèi)最大流網(wǎng)絡(luò)問(wèn)題的形式化描述如下:

目標(biāo)函數(shù)min∑(w,v)∈Ec(w,v)f(w,v) (9)

約束條件

其中,w,v表示圖中節(jié)點(diǎn),c(w,v)表示邊(w,v)的費(fèi)用,f(w,v)表示邊(w,v)的流量,u(w,v)表示邊(w,v)的容量,b(v)>0的頂點(diǎn)為源節(jié)點(diǎn),b(v)<0的點(diǎn)為匯聚節(jié)點(diǎn)。滿足∑vb(v)=0的流稱為可行流。每個(gè)節(jié)點(diǎn)v的勢(shì)π(v)是一個(gè)實(shí)數(shù)值,給定節(jié)點(diǎn)勢(shì)的集合,邊的相對(duì)費(fèi)用(Reduced cost)定義為cπ(v,w)=c(v,w)-π(v)+π(w)。對(duì)于可行流f,G(f)為圖G的殘存網(wǎng)絡(luò)。

當(dāng)最小費(fèi)用最大流問(wèn)題的可行流f滿足以下條件之一時(shí),可行流f是最優(yōu)的:

·負(fù)圈最優(yōu)化條件(Negative cycle optimality):G(f)中沒(méi)有費(fèi)用為負(fù)數(shù)的增廣圈;

·相對(duì)費(fèi)用最優(yōu)化條件(Reduced cost optimality):G(f)中每一個(gè)邊的相對(duì)費(fèi)用cπ(v,w)均大于0;

·互補(bǔ)松弛最優(yōu)化條件(Complementary slackness optimality):G(f)的邊,或滿足cπ(v,w)>0且f(v,w)=0,或滿足0<f(v,w)<u(v,w)且cπ(v,w)=0,或滿足cπ(v,w)<0且f(v,w)=u(v,w)。

基于以上條件,已有算法或維護(hù)最大流,迭代減少費(fèi)用;或維護(hù)最小費(fèi)用,迭代增加流,即算法是迭代進(jìn)行的。根據(jù)Google實(shí)測(cè)結(jié)果,已有算法在10萬(wàn)臺(tái)物理資源規(guī)模下,調(diào)度延遲會(huì)大于90秒,不具有實(shí)用性。本發(fā)明提出一種圖的增量式求解方法,通過(guò)緩存并復(fù)用上次求解結(jié)果,僅需對(duì)圖進(jìn)行局部運(yùn)算,即可得到圖的全局最優(yōu)解,具有實(shí)用性。

所述增量求解具體算法如下:

對(duì)于圖G=(V,E,U,C),其最小費(fèi)用流為f,G網(wǎng)絡(luò)結(jié)構(gòu)局部發(fā)生改變,改變后的圖G={V′,E′,U′,C′}。增量式最小費(fèi)用流算法,即圖G′基于G的最小費(fèi)用流f進(jìn)一步優(yōu)化,求得G′的最小費(fèi)用流f′。

首先,基于事件驅(qū)動(dòng)模型循環(huán)檢全局物理資源的狀態(tài)改變事件Event(任務(wù)提交,機(jī)器宕機(jī)等),當(dāng)有事件發(fā)生,更新圖的結(jié)構(gòu),然后復(fù)用上次求解結(jié)果,調(diào)用Cost scaling算法對(duì)更新后的圖進(jìn)行求解。Cost scaling算法主要思想是不斷迭代尋找互補(bǔ)松弛最優(yōu)化條件,其中∈表示松弛條件,隨著迭代次數(shù)增加逐漸減小,f表示初始最大流,基于流f,CostScaling算法迭代尋找減小費(fèi)用條件并更新總費(fèi)用,直到滿足松弛條件∈為止。增量迭代操作,采用推送-重標(biāo)簽算法對(duì)松弛條件進(jìn)行更新。增量式算法的時(shí)間復(fù)雜度和圖改變的范圍相關(guān),最好情況下為O(VE);最壞條件下需遍歷整個(gè)圖,時(shí)間復(fù)雜度為O(V2Elog(VC))。

表4增量式最小費(fèi)用最大流算法

本發(fā)明的大規(guī)模資源調(diào)度方法包括以下步驟:

步驟S01:任務(wù)狀態(tài)表接收并保存用戶提交的任務(wù)狀態(tài),包括任務(wù)的CPU使用率、內(nèi)存使用率、網(wǎng)絡(luò)I/O、磁盤(pán)I/O、優(yōu)先級(jí);集群狀態(tài)表保存集群狀態(tài)信息,包括集群CPU使用率、內(nèi)存使用率、網(wǎng)絡(luò)和磁盤(pán)I/O,在集群狀態(tài)發(fā)生變化時(shí)對(duì)集群狀態(tài)表進(jìn)行更新。任務(wù)狀態(tài)和集群狀態(tài)輸出至最小費(fèi)用最大流構(gòu)造器。

步驟S02:用戶配置的調(diào)度目標(biāo)表,從優(yōu)先級(jí)、放置約束以及公平性目標(biāo)中選擇一個(gè)調(diào)度目標(biāo)。調(diào)度目標(biāo)輸出至最小費(fèi)用最大流構(gòu)造器。

步驟S03:最小費(fèi)用最大流構(gòu)造器建立最小費(fèi)用最大流模型,提供基本操作接口,并根據(jù)任務(wù)狀態(tài)、集群狀態(tài)和用戶選擇的調(diào)度目標(biāo)構(gòu)造最小費(fèi)用最大流圖。最小費(fèi)用最大流圖輸出至最小費(fèi)用最大流求解器。

其中,最小費(fèi)用最大流模型建立過(guò)程如下:

資源調(diào)度問(wèn)題可映射為最小費(fèi)用最大流模型問(wèn)題,對(duì)于模型G=(V,E,U,C),資源調(diào)度問(wèn)題與其映射關(guān)系如下:

·節(jié)點(diǎn)集V:表示資源供需實(shí)體,比如資源需求實(shí)體是任務(wù)、資源供給實(shí)體是物理服務(wù)器;

·邊集E:表示任務(wù)與資源之間的可達(dá)性,即任務(wù)是否能映射到資源。任務(wù)與資源之間存在邊相連,表示可達(dá),否則表示不可達(dá);

·容量U:表示資源的最大供給,例如物理服務(wù)器M1的CPU核數(shù)是12;

·費(fèi)用C:當(dāng)任務(wù)與候選供給資源是一對(duì)多關(guān)系時(shí)候,用于評(píng)估每種資源供需組合的效果

對(duì)于模型G的基本操作接口包括:添加變AddEdge,添加節(jié)點(diǎn)AddNode,設(shè)置容量SetCapacity,設(shè)置費(fèi)用SetCost。

不同調(diào)度目標(biāo)構(gòu)造方法如下:

公平性通過(guò)圖的容量構(gòu)造問(wèn)題來(lái)表達(dá),算法步驟如下:

i.對(duì)于每個(gè)作業(yè)Job j添加等待節(jié)點(diǎn)Uj

ii.設(shè)置Uj→S容量上下界為:

[Nj-Aj,Nj-Aj] (1)

iii.由于Uj→S的上下界均為Nj-Aj,則通過(guò)Uj的流量fu=Nj-Aj(最小費(fèi)用最大流網(wǎng)絡(luò)模型的約束條件)即Job j中需要等待的任務(wù)為Nj-Aj個(gè)。

iv.Job j的任務(wù)Nj或流向Uj,處于等待狀態(tài),或流向資源節(jié)點(diǎn)進(jìn)行調(diào)度,因此Job j通過(guò)資源節(jié)點(diǎn)的流量

fr=Nj-(Nj-Aj)=Aj (2)

即Job j分配到Aj份額資源,滿足最大最小公平性。

放置約束可映射到最小費(fèi)用最大流網(wǎng)絡(luò)邊和費(fèi)用的構(gòu)造問(wèn)題,步驟如下:

i.在圖中task和resources之間建立一條邊task→resources

ii.為新建立的邊賦予一個(gè)與效益值相反的費(fèi)用,如公式(5)所示

cost(task→resources)=-utility (5)

iii.最大效益函數(shù)對(duì)應(yīng)最小費(fèi)用

min∑cost (6)

由公式(4)、(6)可知,通過(guò)最小費(fèi)用最大流網(wǎng)絡(luò)表述的放置約束等價(jià)于放置約束的定義。

優(yōu)先級(jí)構(gòu)造步驟如下:

i.優(yōu)先級(jí)調(diào)度的費(fèi)用計(jì)算公式定義為

其中,w1-n代表每一維度(優(yōu)先級(jí)維度,CPU利用率維度,磁盤(pán)利用率維度等)的權(quán)重,每一維度的取值范圍規(guī)范化為[0,ω],ω是一個(gè)常數(shù)值。

ii.把優(yōu)先級(jí)維度權(quán)重賦值為∑1≤i≤nwi×ω,優(yōu)先級(jí)較高的任務(wù)費(fèi)用一定最?。?/p>

iii.對(duì)圖進(jìn)行構(gòu)造時(shí)任務(wù)相關(guān)費(fèi)用α賦值為cost(w,v)

α=cost(w,v) (8)

步驟S04:最小費(fèi)用最大流求解器對(duì)步驟S03得到的最小費(fèi)用最大流圖采用增量式算法進(jìn)行求解,得到任務(wù)與資源的映射關(guān)系。任務(wù)與資源的映射關(guān)系輸出至任務(wù)執(zhí)行器。

其中,增量式算法具體過(guò)程如下,

基于事件驅(qū)動(dòng)模型循環(huán)檢全局物理資源的狀態(tài)改變事件Event(任務(wù)提交,機(jī)器宕機(jī)等),當(dāng)有事件發(fā)生,更新圖的結(jié)構(gòu),然后復(fù)用上次求解結(jié)果,調(diào)用Cost scaling算法對(duì)更新后的圖進(jìn)行求解。Cost scaling算法主要思想是不斷迭代尋找互補(bǔ)松弛最優(yōu)化條件,其中∈表示松弛條件,隨著迭代次數(shù)增加逐漸減小,f表示初始最大流,基于流f,CostScaling算法迭代尋找減小費(fèi)用條件并更新總費(fèi)用,直到滿足松弛條件∈為止。增量迭代操作,采用推送-重標(biāo)簽算法對(duì)松弛條件進(jìn)行更新。

步驟S05:根據(jù)步驟S04得到的任務(wù)與資源映射關(guān)系,將任務(wù)調(diào)度到相應(yīng)資源,由任務(wù)執(zhí)行器負(fù)責(zé)任務(wù)的具體執(zhí)行。任務(wù)執(zhí)行器采用容器。

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