本發(fā)明涉及計算機理論領(lǐng)域,特別是指一種自組織云多對多計算遷移方法及系統(tǒng)。
背景技術(shù):
隨著全球信息化和智能化技術(shù)的發(fā)展,智能終端和各種物聯(lián)網(wǎng)節(jié)點設(shè)備作為人們享受智能化和信息化生活的接口,作為在最底層采集、計算和傳輸信息的載體,以及各種智能化和信息化功能的具體執(zhí)行者,在人們生活中擔(dān)當(dāng)著日益重要的角色。在智能終端設(shè)備不斷發(fā)展的背景下,自組織網(wǎng)絡(luò)將成為各個終端設(shè)備協(xié)同工作、互相協(xié)作,創(chuàng)造更高應(yīng)用服務(wù)的主要組織形式。然而由于自身固有的資源限制,這些設(shè)備往往無法滿足日益提升的需求,計算遷移技術(shù)利用網(wǎng)絡(luò)中的閑散資源,將終端設(shè)備上的任務(wù)遷移至其他資源豐富的設(shè)備上執(zhí)行,有效解決了這一問題,成為當(dāng)下研究的熱點。
按照計算遷移的目的設(shè)備劃分可以將計算遷移分為三種:遠(yuǎn)端云計算遷移、本地云計算遷移和自組織云計算遷移。第一種是指節(jié)點設(shè)備將計算任務(wù)遷移至遠(yuǎn)程數(shù)據(jù)中心執(zhí)行并接收其執(zhí)行結(jié)果,遠(yuǎn)端云通常具備強大的計算能力,但要求節(jié)點設(shè)備具有遠(yuǎn)程通信能力,且網(wǎng)絡(luò)時延大,不夠穩(wěn)定。第二種是指節(jié)點設(shè)備將任務(wù)遷移至本地云端,本地云為節(jié)點設(shè)備附近的高可用資源(如小型服務(wù)器、基站資源等),這種模式可減少通信和時間開銷,但是建設(shè)和維護成本較高。第三種是指節(jié)點設(shè)備將任務(wù)遷移至附近其他節(jié)點設(shè)備上執(zhí)行,各個節(jié)點設(shè)備組成自組織云,云中的節(jié)點設(shè)備可以提供和享受云服務(wù)并且具有數(shù)據(jù)轉(zhuǎn)發(fā)能力,雖然單一設(shè)備提供資源有限,但網(wǎng)絡(luò)中設(shè)備眾多可以彌補這一缺陷,且通信和時間開銷進一步降低。自組織云計算遷移通過移動自組織網(wǎng)絡(luò)的形式將終端設(shè)備聯(lián)結(jié)在一起,整合出網(wǎng)絡(luò)中各個節(jié)點設(shè)備的空閑資源,形成自組織云資源池,網(wǎng)絡(luò)內(nèi)的節(jié)點設(shè)備互相提供云資源,并可以通過多跳形式相互訪問,實現(xiàn)資源共享。在終端設(shè)備數(shù)量和性能日益提升的今天,自組織云網(wǎng)絡(luò)具有重大研究意義。
在移動云計算、機器人網(wǎng)絡(luò)、車聯(lián)網(wǎng)、自組織網(wǎng)、網(wǎng)格計算等領(lǐng)域有許多移動自組織云計算遷移技術(shù)研究。huh,wangr等人將計算遷移與d2d通信引入h-crans,資源匱乏的設(shè)備可以通過集中式管理利用其它用戶的空閑計算資源,通過d2d通信將計算任務(wù)遷移到其它設(shè)備,優(yōu)化目標(biāo)為減少計算遷移過程中的通信能耗。binzhou等人闡述了機器人云的概念,并提出m2m/m2c兩種計算遷移架構(gòu),前者為自組織云,后者為本地基礎(chǔ)設(shè)施云,研究使用hybirdgossip等算法,研究了三種模式下的能耗問題,實現(xiàn)了計算成本與通信能耗的平衡。malhotraa等人提出了一種多跳移動自組織云(mmadc)計算架構(gòu),包含服務(wù)提供節(jié)點和消費節(jié)點兩種設(shè)備,采用固定規(guī)模分區(qū)和資源發(fā)現(xiàn)部署策略節(jié)省能耗,利用本地閑置資源,提高資源利用率。fernandon等人提出了一種微型網(wǎng)絡(luò)中的自組織云架構(gòu),設(shè)備在執(zhí)行期可以分享本地資源。通過向周圍發(fā)送請求的方式,服務(wù)提供設(shè)備給出回應(yīng),選出合適的服務(wù)提供設(shè)備后進行計算遷移。vetriselviv等人提出了一種自組織網(wǎng)格架構(gòu),網(wǎng)絡(luò)內(nèi)包含服務(wù)提供設(shè)備與消費設(shè)備,服務(wù)提供設(shè)備根據(jù)服務(wù)質(zhì)量參數(shù)競爭成為網(wǎng)格簇頭,消費節(jié)點設(shè)備有計算遷移請求時直接聯(lián)系網(wǎng)格簇頭,兩者進行計算遷移。donabraham等人提出一種自組織網(wǎng)格模型,采用虛擬組織的方法動態(tài)組織服務(wù)提供節(jié)點與消費節(jié)點,分別采用llba和glla算法實現(xiàn)了虛擬組織內(nèi)和整個網(wǎng)格的負(fù)載均衡。
發(fā)明人研究發(fā)現(xiàn),現(xiàn)階段自組織網(wǎng)絡(luò)環(huán)境下的對等計算遷移技術(shù)研究存在以下問題:現(xiàn)有研究多針對單一設(shè)備的優(yōu)化(能量消耗、計算效率等)較多,對整體網(wǎng)絡(luò)的優(yōu)化較少;在對等設(shè)備計算遷移中,設(shè)備既可作為計算服務(wù)提供者也可以作為計算遷移的請求者,現(xiàn)有研究缺乏多對多計算遷移類似模型,缺乏針對對等自組織云網(wǎng)絡(luò)中多對多計算遷移的合理資源分配機制。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提出一種自組織云多對多計算遷移方法及系統(tǒng),在保證各個設(shè)備公平性的基礎(chǔ)上,實現(xiàn)整個網(wǎng)絡(luò)的負(fù)載均衡、提高網(wǎng)絡(luò)性能和計算效率,兼顧能耗,為物聯(lián)網(wǎng)和智能化技術(shù)發(fā)展提供新的思路。
基于上述目的本發(fā)明提供的一種自組織云多對多計算遷移方法,其特征在于,包括步驟:
中央調(diào)度管理器監(jiān)測本地自組織云網(wǎng)絡(luò)、認(rèn)知網(wǎng)絡(luò)與認(rèn)知無線電,為網(wǎng)絡(luò)中的節(jié)點設(shè)備編號;
節(jié)點設(shè)備定時向中央調(diào)度管理器發(fā)送自身節(jié)點設(shè)備信息;
中央調(diào)度管理器收集并管理節(jié)點設(shè)備信息,并將節(jié)點設(shè)備信息整理至資源列表;
節(jié)點設(shè)備向中央調(diào)度管理器發(fā)送任務(wù)遷移請求;
中央調(diào)度管理器收集并管理各節(jié)點設(shè)備發(fā)送的任務(wù)遷移請求,基于資源列表的節(jié)點設(shè)備信息,定時采用遺傳蟻群調(diào)度算法獲取最優(yōu)任務(wù)調(diào)度解進行任務(wù)調(diào)度,并將任務(wù)調(diào)度結(jié)果返回至發(fā)送任務(wù)遷移請求的源節(jié)點設(shè)備;
源節(jié)點設(shè)備接收到任務(wù)調(diào)度結(jié)果后,按照任務(wù)調(diào)度結(jié)果指定的目標(biāo)節(jié)點設(shè)備將任務(wù)遷移至對應(yīng)的目標(biāo)節(jié)點設(shè)備;
目標(biāo)節(jié)點設(shè)備按照節(jié)點的任務(wù)隊列信息依次執(zhí)行任務(wù),執(zhí)行完該任務(wù)后將任務(wù)輸出數(shù)據(jù)發(fā)送回源節(jié)點設(shè)備。
進一步的,所述遺傳蟻群任務(wù)調(diào)度算法包括:
將任務(wù)調(diào)度轉(zhuǎn)化為遺傳算法的染色體編碼;
初始化染色體種群,獲取初始任務(wù)調(diào)度解集空間;
采用全局適應(yīng)值函數(shù)作為評價標(biāo)準(zhǔn),通過遺傳算法的選擇操作、交叉操作和變異操作進行迭代,獲取至少一個最優(yōu)解;
根據(jù)獲取的最優(yōu)解生成對應(yīng)的任務(wù)調(diào)度方案;
將遺傳算法生成最優(yōu)解對應(yīng)的任務(wù)調(diào)度方案轉(zhuǎn)化為節(jié)點設(shè)備的初始信息素,根據(jù)蟻群算法進行迭代,獲取最優(yōu)任務(wù)調(diào)度解。
進一步的,所述在將任務(wù)調(diào)度轉(zhuǎn)化為遺傳算法的染色體編碼過程中,染色體表示為
所述在初始化染色體種群的過程中,根據(jù)各個節(jié)點設(shè)備的選擇概率進行收斂解集,獲取初始染色體編碼空間即初始任務(wù)調(diào)度解集空間,其中,所述各個節(jié)點設(shè)備的選擇概率函數(shù)為
其中,n表示包含發(fā)送任務(wù)遷移請求的源節(jié)點設(shè)備在內(nèi)的節(jié)點設(shè)備的數(shù)量,
所述全局適應(yīng)值函數(shù)用于對整個調(diào)度方案進行評價,所述全局適應(yīng)值函數(shù)f(x)表示為
其中,f(x)表示目標(biāo)函數(shù),x表示任務(wù)調(diào)度方案,cmax表示目標(biāo)函數(shù)理論上的最大值;
所述選擇操作采用適應(yīng)值比列選擇形式,采用輪盤賭方式實現(xiàn),用于選擇適應(yīng)值高的染色體個體,每個染色體個體被選擇的概率為
其中,染色體集群為g={g1,g2,…gn},染色體集群的空間大小為n,染色體個體gj∈g的適應(yīng)值為f(gj);
所述交叉操作采用面向知識領(lǐng)域的位交叉,計算染色體的基因適應(yīng)值,選取染色體基因適應(yīng)值低的繼續(xù)進行迭代,所述基因適應(yīng)值函數(shù)用于對調(diào)度方案中某一個調(diào)度結(jié)果進行評價,基因適應(yīng)值函數(shù)為
g(x)=α*totaltimej+β*taskenergyj
其中,α表示任務(wù)j的執(zhí)行總時間的權(quán)重系數(shù),β表示任務(wù)j的執(zhí)行能耗的權(quán)重系數(shù),totaltime表示任務(wù)j的執(zhí)行總時間,taskenergy表示任務(wù)j的執(zhí)行能耗,x表示任務(wù)調(diào)度方案;
所述變異操采用面向領(lǐng)域知識的位變異實現(xiàn),用于防止提前收斂,基因的變異概率函數(shù)為
其中,gi為第i位基因的適應(yīng)值。
優(yōu)選的,所述適應(yīng)值函數(shù)的目標(biāo)函數(shù)為:
f(x)=α*averagetaskcompletingtime+β*averagetaskcompletingenergy
其中,α表示任務(wù)完成平均時間的權(quán)重系數(shù),β表示任務(wù)平均能耗的權(quán)重系數(shù)其值由具體情境決定;averagetaskcompletingtime表示任務(wù)完成平均時間,averagetaskcompletingenergy表示任務(wù)平均能耗;
所述任務(wù)完成平均時間與任務(wù)平均能耗的函數(shù)為
其中,m表示任務(wù)數(shù)量,n表示節(jié)點設(shè)備數(shù)量;x表示m示節(jié)的任務(wù)調(diào)度矩陣,矩陣x中元素xi,j=1,則表示應(yīng)用任務(wù)ti被指派到計算節(jié)點設(shè)備pj來進行調(diào)度執(zhí)行,否則xi,j=0;c表示m示j的時間矩陣c,矩陣c中元素ci,j表示應(yīng)用任務(wù)ti被指派到計算節(jié)點設(shè)備pj上進行調(diào)度執(zhí)行時所需要的時間;e表示m示行的能耗矩陣e,矩陣e的元素ei,j表示應(yīng)用任務(wù)ti被指派到計算節(jié)點設(shè)備pj上進行調(diào)度執(zhí)行時所需要的計算能耗。
進一步的,所述蟻群算法包括算法初始化、轉(zhuǎn)移概率設(shè)計以及信息素修改:
所述在算法初始化時,每個節(jié)點設(shè)備的信息素初始值函數(shù)為
其中,
所述轉(zhuǎn)移概率設(shè)計函數(shù)為
其中,τi(t)表示t時刻節(jié)點設(shè)備i的信息素值,ai(t)為t時刻節(jié)點設(shè)備的相對性能,α、β表示兩者的權(quán)重即重要程度,ai(t)=k*li,k為常數(shù),li為當(dāng)前節(jié)點設(shè)備能量狀況,能量狀況好的節(jié)點設(shè)備更有可能提供云服務(wù),實現(xiàn)負(fù)載均衡優(yōu)化;
所述信息素修改函數(shù)為
τi(t+1)=τi(t)+δτi(t)i=1,2…n
其中,若任務(wù)成功執(zhí)行δτi(t)=ks*taskenergyj,若任務(wù)執(zhí)行失敗δτi(t)=kl*taskenergyj,ks,kl分別為成功失敗的獎懲因子,taskenergyj為任務(wù)執(zhí)行開銷。
進一步的,所述節(jié)電設(shè)備信息包括計算能力、通信能力、可用電池能源、執(zhí)行任務(wù)隊列信息和設(shè)備編號。
一種自組織云多對多計算遷移系統(tǒng),包括:中央調(diào)度管理器以及多個節(jié)點設(shè)備:
中央調(diào)度管理器,用于監(jiān)測本地自組織云網(wǎng)絡(luò)、認(rèn)知網(wǎng)絡(luò)與認(rèn)知無線電,為網(wǎng)絡(luò)中的節(jié)點設(shè)備編號;收集并管理節(jié)點設(shè)備信息,并將節(jié)點設(shè)備信息整理至資源列表;收集并管理各節(jié)點設(shè)備發(fā)送的任務(wù)遷移請求,基于資源列表的節(jié)點設(shè)備信息,定時采用遺傳蟻群調(diào)度算法獲取最優(yōu)任務(wù)調(diào)度解進行任務(wù)調(diào)度,并將任務(wù)調(diào)度結(jié)果返回至發(fā)送任務(wù)遷移請求的源節(jié)點設(shè)備;
節(jié)點設(shè)備,用于定時向中央調(diào)度管理器發(fā)送自身節(jié)點設(shè)備信息;向中央調(diào)度管理器發(fā)送任務(wù)遷移請求,發(fā)送任務(wù)遷移請求的源節(jié)點設(shè)備在接收到任務(wù)調(diào)度結(jié)果后,按照任務(wù)調(diào)度結(jié)果指定的目標(biāo)節(jié)點設(shè)備將任務(wù)遷移至對應(yīng)的目標(biāo)節(jié)點設(shè)備;對于接收到所述任務(wù)遷移的目標(biāo)節(jié)點設(shè)備,按照節(jié)點自身任務(wù)隊列信息依次執(zhí)行任務(wù),執(zhí)行完該任務(wù)后將任務(wù)輸出數(shù)據(jù)發(fā)送回源節(jié)點設(shè)備。
進一步的,所述中央調(diào)度管理器包括任務(wù)調(diào)度模塊,所述任務(wù)調(diào)度模塊用于采用遺傳蟻群任務(wù)調(diào)度算法獲取任務(wù)最優(yōu)調(diào)度解進行任務(wù)調(diào)度;
所述任務(wù)調(diào)度模塊進一步用于:
將任務(wù)調(diào)度轉(zhuǎn)化為遺傳算法的染色體編碼;
初始化染色體種群,獲取初始任務(wù)調(diào)度解集空間;
采用全局適應(yīng)值函數(shù)作為評價標(biāo)準(zhǔn),通過遺傳算法的選擇操作、交叉操作和變異操作進行迭代,獲取至少一個最優(yōu)解;
根據(jù)獲取的最優(yōu)解生成對應(yīng)的任務(wù)調(diào)度方案;
將遺傳算法生成最優(yōu)解對應(yīng)的任務(wù)調(diào)度方案轉(zhuǎn)化為節(jié)點設(shè)備的初始信息素,根據(jù)蟻群算法進行迭代,獲取最優(yōu)任務(wù)調(diào)度解。進一步的,所述任務(wù)調(diào)度模塊在將任務(wù)調(diào)度轉(zhuǎn)化為遺傳算法的染色體編碼過程中,染色體表示為
所述在初始化染色體種群的過程中,根據(jù)各個節(jié)點設(shè)備的選擇概率進行收斂解集,獲取初始染色體編碼空間即初始任務(wù)調(diào)度解集空間,其中,所述各個節(jié)點設(shè)備的選擇概率函數(shù)為
其中,n表示包含發(fā)送任務(wù)遷移請求的源節(jié)點設(shè)備在內(nèi)的節(jié)點設(shè)備的數(shù)量,
所述全局適應(yīng)值函數(shù)用于對整個調(diào)度方案進行評價,所述全局適應(yīng)值函數(shù)f(x)表示為
其中,f(x)表示目標(biāo)函數(shù),x表示任務(wù)調(diào)度方案,cmax表示目標(biāo)函數(shù)理論上的最大值;
所述適應(yīng)值函數(shù)的目標(biāo)函數(shù)為:
f(x)=α*averagetaskcompletingtime+β*averagetaskcompletingenergy
其中,α表示任務(wù)完成平均時間的權(quán)重系數(shù),β表示任務(wù)平均能耗的權(quán)重系數(shù)其值由具體情境決定;averagetaskcompletingtime表示任務(wù)完成平均時間,averagetaskcompletingenergy表示任務(wù)平均能耗;
所述任務(wù)完成平均時間與任務(wù)平均能耗的函數(shù)為
其中,m表示任務(wù)數(shù)量,n表示節(jié)點設(shè)備數(shù)量;x表示m示節(jié)的任務(wù)調(diào)度矩陣,矩陣x中元素xi,j=1,則表示應(yīng)用任務(wù)ti被指派到計算節(jié)點設(shè)備pj來進行調(diào)度執(zhí)行,否則xi,j=0;c表示m示j的時間矩陣c,矩陣c中元素ci,j表示應(yīng)用任務(wù)ti被指派到計算節(jié)點設(shè)備pj上進行調(diào)度執(zhí)行時所需要的時間;e表示m示行的能耗矩陣e,矩陣e的元素ei,j表示應(yīng)用任務(wù)ti被指派到計算節(jié)點設(shè)備pj上進行調(diào)度執(zhí)行時所需要的計算能耗;
所述選擇操作采用適應(yīng)值比列選擇形式,采用輪盤賭方式實現(xiàn),用于選擇適應(yīng)值高的染色體個體,每個染色體個體被選擇的概率為
其中,染色體集群為g={g1,g2,…gn},染色體集群的空間大小為n,染色體個體gj∈g的適應(yīng)值為f(gj);
所述交叉操作采用面向知識領(lǐng)域的位交叉,計算染色體的基因適應(yīng)值,選取染色體基因適應(yīng)值低的繼續(xù)進行迭代,所述基因適應(yīng)值函數(shù)用于對調(diào)度方案中某一個調(diào)度結(jié)果進行評價,基因適應(yīng)值函數(shù)為
g(x)=α*totaltimej+β*taskenergyj
其中,α表示任務(wù)j的執(zhí)行總時間的權(quán)重系數(shù),β表示任務(wù)j的執(zhí)行能耗的權(quán)重系數(shù),totaltime表示任務(wù)j的執(zhí)行總時間,taskenergy表示任務(wù)j的執(zhí)行能耗,x表示任務(wù)調(diào)度方案;
所述變異操采用面向領(lǐng)域知識的位變異實現(xiàn),用于防止提前收斂,基因的變異概率函數(shù)為
其中,gi為第i位基因的適應(yīng)值;
所述在蟻群算法的算法初始化時,每個節(jié)點設(shè)備的信息素初始值函數(shù)為
其中,
所述蟻群算法的轉(zhuǎn)移概率設(shè)計函數(shù)為
其中,τi(t)表示t時刻節(jié)點設(shè)備i的信息素值,ai(t)為t時刻節(jié)點設(shè)備的相對性能,α、β表示兩者的權(quán)重即重要程度,ai(t)=k*li,k為常數(shù),li為當(dāng)前節(jié)點設(shè)備能量狀況,能量狀況好的節(jié)點設(shè)備更有可能提供云服務(wù),實現(xiàn)負(fù)載均衡優(yōu)化;
所述蟻群算法的信息素修改函數(shù)為
τi(t+1)=τi(t)+δτi(t)i=1,2…n
其中,若任務(wù)成功執(zhí)行δτi(t)=ks*taskenergyj,若任務(wù)執(zhí)行失敗δτi(t)=kl*taskenergyj,ks,kl分別為成功失敗的獎懲因子,taskenergyj為任務(wù)執(zhí)行開銷。
進一步的,所述節(jié)電設(shè)備信息包括計算能力、通信能力、可用電池能源、執(zhí)行任務(wù)隊列信息和設(shè)備編號。
從上面所述可以看出,本發(fā)明提供的自組織云多對多計算遷移方法及系統(tǒng),采用集中式管理,該管理設(shè)備可發(fā)現(xiàn)管理現(xiàn)有可用資源,針對多個設(shè)備發(fā)送的計算遷移請求根據(jù)基于遺傳蟻群算法指定調(diào)度策略,決定設(shè)備能否進行計算遷移,可用資源多少;考慮到多跳所帶來的能耗較高,在保證一定能耗的約束條件下,盡可能提高整個網(wǎng)絡(luò)系統(tǒng)的性能。
附圖說明
圖1為本發(fā)明實施例典型對等自組織云網(wǎng)絡(luò)示意圖;
圖2為本發(fā)明實施例一種自組織云多對多計算遷移方法的流程示意圖;
圖3為本發(fā)明實施例一種自組織云多對多計算遷移模型示意圖;
圖4為本發(fā)明實施例一種自組織云多對多計算遷移系統(tǒng)的中央調(diào)度管理器結(jié)構(gòu)示意圖;
圖5為本發(fā)明實施例一種自組織云多對多計算遷移系統(tǒng)的節(jié)點設(shè)備結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,并參照附圖,對本發(fā)明進一步詳細(xì)說明。
需要說明的是,本發(fā)明實施例中所有使用“第一”和“第二”的表述均是為了區(qū)分兩個相同名稱非相同的實體或者非相同的參量,可見“第一”“第二”僅為了表述的方便,不應(yīng)理解為對本發(fā)明實施例的限定,后續(xù)實施例對此不再一一說明。
參照圖1所示,在典型自組織云網(wǎng)絡(luò)中,網(wǎng)絡(luò)中的節(jié)點設(shè)備是對等關(guān)系,節(jié)點設(shè)備既可以作為資源的提供者又可以作為資源的受用者,不存在固定的資源提供設(shè)備。云網(wǎng)絡(luò)中的節(jié)點設(shè)備在一定激勵機制下,或在某些安排下,自主發(fā)起利他協(xié)作和利己協(xié)作。在對等自組織云網(wǎng)絡(luò)中,每個節(jié)點設(shè)備具有不同的利益需求,用戶不會無償?shù)胤瞰I(xiàn)出自己的設(shè)備資源,因此由節(jié)點設(shè)備本身做出分布式計算遷移決策時,往往無法形成統(tǒng)一意見,很難發(fā)現(xiàn)合適的自組織云資源。
在這種情況下,本發(fā)明提出一種自組織云多對多計算遷移方法,參照附圖2所示,本發(fā)明所述自組織云多對多計算遷移方法包括步驟:
s101:中央調(diào)度管理器監(jiān)測本地自組織云網(wǎng)絡(luò)、認(rèn)知網(wǎng)絡(luò)與認(rèn)知無線電,為網(wǎng)絡(luò)中的節(jié)點設(shè)備編號。
優(yōu)選的,所述中央調(diào)度管理器可以是由服務(wù)提供商提供的高層管理設(shè)備,也可以是由自組織云網(wǎng)絡(luò)內(nèi)的節(jié)點設(shè)備共同選舉而產(chǎn)生的類簇頭管理節(jié)點。在本發(fā)明中,默認(rèn)中央調(diào)度管理器不參與任務(wù)的計算請求和計算資源提供。所述節(jié)點設(shè)備編號為1~n。
s102:節(jié)點設(shè)備定時向中央調(diào)度管理器發(fā)送自身節(jié)點設(shè)備信息。
優(yōu)選的,所述時間間隔為δt。
s103:中央調(diào)度管理器收集并管理節(jié)點設(shè)備信息,并將節(jié)點設(shè)備信息整理至資源列表。
優(yōu)選的,所述節(jié)點設(shè)備信息包括計算能力、通信能力、可用電池能源、執(zhí)行任務(wù)隊列信息和設(shè)備編號等。此外,節(jié)點設(shè)備可以限制自身可提供的資源。
s104:節(jié)點設(shè)備向中央調(diào)度管理器發(fā)送任務(wù)遷移請求。
優(yōu)選的,所述節(jié)點設(shè)備在向中央調(diào)度管理器發(fā)送任務(wù)遷移請求時,可以隨機發(fā)送任務(wù)遷移請求,也可以按照節(jié)點設(shè)備自己的需求發(fā)送任務(wù)遷移請求。
s105:中央調(diào)度管理器收集并管理各節(jié)點設(shè)備發(fā)送的任務(wù)遷移請求,基于資源列表的節(jié)點設(shè)備信息,定時采用遺傳蟻群調(diào)度算法獲取最優(yōu)任務(wù)調(diào)度解進行任務(wù)調(diào)度,并將任務(wù)調(diào)度結(jié)果返回至發(fā)送任務(wù)遷移請求的源節(jié)點設(shè)備。
優(yōu)選的,所述中央調(diào)度管理器整理各節(jié)點設(shè)備發(fā)送的任務(wù)請求,并對任務(wù)進行隊列管理,每隔δt時間,基于資源列表,采用合理地任務(wù)調(diào)度算法進行任務(wù)調(diào)度,并將任務(wù)調(diào)度結(jié)果返回至原節(jié)點設(shè)備。
s106:源節(jié)點設(shè)備接收到任務(wù)調(diào)度結(jié)果后,按照任務(wù)調(diào)度結(jié)果指定的目標(biāo)節(jié)點設(shè)備將任務(wù)遷移至對應(yīng)的目標(biāo)節(jié)點設(shè)備。
優(yōu)選的,所述任務(wù)源節(jié)點設(shè)備接收到任務(wù)調(diào)度結(jié)果后將任務(wù)遷移至目標(biāo)資源提供設(shè)備,即目標(biāo)節(jié)點設(shè)備,并傳輸任務(wù)輸入數(shù)據(jù)。
s107:目標(biāo)節(jié)點設(shè)備按照節(jié)點設(shè)備的任務(wù)隊列信息依次執(zhí)行任務(wù),執(zhí)行完該任務(wù)后將任務(wù)輸出數(shù)據(jù)發(fā)送回源節(jié)點設(shè)備。
在本發(fā)明的另一個實施例中,本發(fā)明所述的一種自組織云多對多計算遷移方法可以適用于以下計算遷移模型:本發(fā)明采用集中式批處理任務(wù)調(diào)度模型,由某一結(jié)點設(shè)備或?qū)B氄{(diào)度設(shè)備作為中央調(diào)度管理器統(tǒng)一管理自組織云網(wǎng)絡(luò)的資源,系統(tǒng)只有一個中央調(diào)度管理器,每隔一定時間片進行一次調(diào)度,所有任務(wù)到達(dá)系統(tǒng)后,中央調(diào)度管理器根據(jù)每個節(jié)點設(shè)備的計算遷移需求、自身資源信息和合作意愿強度等多方面因素做出集中式任務(wù)調(diào)度決策,來達(dá)到節(jié)點設(shè)備間的互惠互利,或提升自組織云網(wǎng)絡(luò)的整體性能等目標(biāo)。參照附圖3所示,pi表示設(shè)備編號,設(shè)備總數(shù)為n,λi為設(shè)備pi的任務(wù)到達(dá)率。任務(wù)由調(diào)度器調(diào)度之前在調(diào)度隊列等待,調(diào)度映射時間到來后,由調(diào)度器將其分配至各設(shè)備等待隊列,待等待隊列內(nèi)任務(wù)執(zhí)行完畢后開始執(zhí)行。
作為本發(fā)明的另一個實施例,本發(fā)明所述的自組織云多對多計算遷移方法中的任務(wù)調(diào)度是指以云網(wǎng)絡(luò)整體為優(yōu)化目標(biāo),在滿足任務(wù)執(zhí)行能耗和時間開銷性能指標(biāo)的約束條件下,充分利用網(wǎng)絡(luò)中各個節(jié)點設(shè)備的空閑資源,利用針對具體優(yōu)化目標(biāo)的調(diào)度算法,將任務(wù)調(diào)度給合適的節(jié)點設(shè)備執(zhí)行,使得網(wǎng)絡(luò)中的設(shè)備充分合作,發(fā)揮出最大的性能。本發(fā)明所述的自組織云多對多計算遷移方法中的任務(wù)調(diào)度針對任務(wù)平均時長、負(fù)載均衡以及最小能量損耗等目標(biāo)建立遷移需求模型:
所述遷移需求模型為t<id,l,di,do,tl>,其中:id為設(shè)備編號,l為任務(wù)計算量,di,do分別為任務(wù)計算輸入輸出,tl為任務(wù)的時間限制。
用集合p={p1,p2,……,pn}表示計算資源節(jié)點設(shè)備集合,其中n為節(jié)點設(shè)備數(shù)量。
用集合t={t1,t2,……,tm}表示待調(diào)度任務(wù)集合,其中m為任務(wù)數(shù)量。
設(shè)計m×n的能耗矩陣e。其元素ei,j表示應(yīng)用任務(wù)ti被指派到計算節(jié)點設(shè)備pj上進行調(diào)度執(zhí)行時所需要的計算能耗開銷:
ei,j=computationenergyi,j+communicationenergyi,j
其中,computationenergyi,j表示通信能耗,communicationenergyi,j表示任務(wù)執(zhí)行能耗。
設(shè)計m×n的時間矩陣c。其元素ci,j表示應(yīng)用任務(wù)ti被指派到計算節(jié)點設(shè)備pj上進行調(diào)度執(zhí)行時所需要的時間開銷;
ci,j=twait;j+texecution;j+ttransmission;j
其中,twait;j表示等待時間,texecution;j表示任務(wù)執(zhí)行時間,ttransmission;j表示任務(wù)傳輸時間。
設(shè)計m×n的任務(wù)調(diào)度矩陣x。如果x中元素xi,j=1,則表示應(yīng)用任務(wù)ti被指派到計算節(jié)點設(shè)備pj來進行調(diào)度執(zhí)行,否則xi,j=0。
優(yōu)化目標(biāo)最小任務(wù)執(zhí)行時間和最小任務(wù)執(zhí)行能耗可表示為:
約束條件為
ti;completion≤ti;limitation
在本發(fā)明的另一個實施例中,步驟s105所述的調(diào)度算法為遺傳蟻群任務(wù)調(diào)度算法。所述遺傳蟻群任務(wù)調(diào)度算法包括使用遺傳算法進行快速的群體性全局搜索,生成任務(wù)調(diào)度問題的最優(yōu)解;以及轉(zhuǎn)化為蟻群算法的初始信息素分布,利用蟻群算法的正反饋、高效收斂尋求最優(yōu)任務(wù)調(diào)度解。其中,所述遺傳蟻群任務(wù)調(diào)度算法包括:將任務(wù)調(diào)度轉(zhuǎn)化為遺傳算法的染色體編碼;初始化染色體種群,獲取初始染色體編碼空間即初始任務(wù)調(diào)度解集空間;采用適應(yīng)值函數(shù)作為評價標(biāo)準(zhǔn),通過遺傳算法的選擇操作、交叉操作和變異操作進行迭代,獲取至少一個最優(yōu)解;根據(jù)獲取的最優(yōu)解生成對應(yīng)的任務(wù)調(diào)度方案:將遺傳算法生成最優(yōu)解對應(yīng)的任務(wù)調(diào)度方案轉(zhuǎn)化為節(jié)點設(shè)備的初始信息素,根據(jù)蟻群算法進行迭代,獲取最優(yōu)任務(wù)調(diào)度解。本發(fā)明將遺傳算法與蟻群算法相結(jié)合,利用遺傳算法的快速全局搜索能力和蟻群算法的正反饋收斂機制,先使用遺傳算法進行快速的群體性全局搜索,生成任務(wù)調(diào)度問題的最優(yōu)解,并將其轉(zhuǎn)化為蟻群算法的初始信息素分布,然后利用蟻群算法的正反饋、高效收斂等優(yōu)勢尋求最優(yōu)任務(wù)調(diào)度解。
其中,遺傳算法模擬自然界中遺傳進化和自然選擇過程,將任務(wù)調(diào)度問題的解空間轉(zhuǎn)化為染色體種群,利用適應(yīng)值函數(shù)作為調(diào)度方案的評價標(biāo)準(zhǔn),以交叉變異等操作建立迭代過程,不斷使得新一代個體性能由于父代個體,最終逐漸接近最優(yōu)解。蟻群算法從整個螞蟻種群啟動搜索過程,具備較好的魯棒性、并行性和正反饋特性,可以很好地應(yīng)用于任務(wù)調(diào)度問題。
在本發(fā)明的一個實施例中,遺傳算法所涉及的要素包括染色體編碼、初始化染色體種群、全局適應(yīng)度函數(shù)設(shè)計和遺傳算子設(shè)計:
所述在染色體編碼過程中,染色體表示為
作為本發(fā)明的一個具體的實施例,當(dāng)任務(wù)調(diào)度矩陣如下式所示:
則染色體為g=(3,1,2,1,3),表示任務(wù)t1、t5在設(shè)備3上執(zhí)行,t2、t4任務(wù)在設(shè)備1上執(zhí)行,而任務(wù)t3在設(shè)備2上執(zhí)行。
所述在初始化染色體種群時,為提高算法效率,收斂解集,每個任務(wù)的遷移目標(biāo)在解集合中概率性選擇。根據(jù)各個節(jié)點設(shè)備的選擇概率進行收斂解集,獲取初始染色體編碼空間即初始任務(wù)調(diào)度解集空間。初始種群每個任務(wù)按概率分配資源提供節(jié)點設(shè)備,各個資源提供設(shè)備即節(jié)點設(shè)備的選擇概率為:
其中,n表示包含服務(wù)請求設(shè)備在內(nèi)的可遷移目標(biāo)的數(shù)量,
所述在全局適應(yīng)度評價函數(shù)設(shè)計中,全局適應(yīng)度值評價函數(shù)是衡量染色體生存能力的標(biāo)準(zhǔn),決定了染色體能否遺傳到下一代,對應(yīng)著任務(wù)調(diào)度方案性能的優(yōu)劣,并最終決定最優(yōu)解的判別,需要與具體問題的優(yōu)化目標(biāo)相匹配。由于遺傳算法中規(guī)定適應(yīng)值為非負(fù)值,且希望越大越好,因此將本發(fā)明的最小化問題轉(zhuǎn)化為最大化問題,全局適應(yīng)值函數(shù)f(x)表示為:
其中,f(x)表示目標(biāo)函數(shù),cmax表示目標(biāo)函數(shù)理論上的最大值。
優(yōu)選的,結(jié)合最小任務(wù)平均執(zhí)行時長和最小任務(wù)平均執(zhí)行能耗的優(yōu)化目標(biāo),所述適應(yīng)值函數(shù)的目標(biāo)函數(shù)為
f(x)=α*averagetaskcompletingtime+β*averagetaskcompletingenergy
其中,α表示任務(wù)完成平均時間的權(quán)重系數(shù),β表示任務(wù)平均能耗的權(quán)重系數(shù)其值由具體情境決定。averagetaskcompletingtime表示任務(wù)完成平均時間,averagetaskcompletingenergy表示任務(wù)平均能耗。
優(yōu)選的,所述任務(wù)完成平均時間與任務(wù)平均能耗的函數(shù)為
其中,m表示任務(wù)數(shù)量,n表示節(jié)點設(shè)備數(shù)量;x表示m示節(jié)的任務(wù)調(diào)度矩陣,矩陣x中元素xi,j=1,則表示應(yīng)用任務(wù)ti被指派到計算節(jié)點設(shè)備pj來進行調(diào)度執(zhí)行,否則xi,j=0;c表示m示j的時間矩陣c,矩陣c中元素ci,j表示應(yīng)用任務(wù)ti被指派到計算節(jié)點設(shè)備pj上進行調(diào)度執(zhí)行時所需要的時間;e表示m示行的能耗矩陣e,矩陣e的元素ei,j表示應(yīng)用任務(wù)ti被指派到計算節(jié)點設(shè)備pj上進行調(diào)度執(zhí)行時所需要的計算能耗。
在本發(fā)明的另一個實施例中,所述遺傳算子包括選擇算子、交叉算子以及變異算子:
所述選擇操作中的選擇算子的目的在于將適應(yīng)值高的個體選擇出來,以更高概率上產(chǎn)出更優(yōu)秀的個體。在本發(fā)明中,所述選擇算子采用適應(yīng)值比列選擇形式,采用輪盤賭方式實現(xiàn);所述選擇算子的選擇概率為
其中,染色體集群為g={g1,g2,…gn},染色體集群的空間大小為n,個體gj∈g的適應(yīng)值為f(gj),所述選擇算子的選擇概率公式?jīng)Q定后代種群中染色體的概率分布。
所述交叉操作中的交叉算子用于模擬自然界中有性繁殖的基因重組過程,將父代中的優(yōu)秀基因遺傳重組給下一代,產(chǎn)生比父代染色體更優(yōu)秀的個體。在本發(fā)明中,所述交叉算子采用面向知識領(lǐng)域的位交叉,計算染色體中每一位基因的適應(yīng)值;基因的適應(yīng)值函數(shù)為:
g(x)=α*totaltimej+β*taskenergyj
其中,α表示任務(wù)j的執(zhí)行總時間的權(quán)重系數(shù),β表示任務(wù)j的執(zhí)行能耗的權(quán)重系數(shù),totaltime表示任務(wù)j的執(zhí)行總時間,taskenergy表示任務(wù)j的執(zhí)行能耗。得到每一位基因的適應(yīng)值之后,比較兩個染色體對應(yīng)位置基因的適應(yīng)值,將適應(yīng)值低的遺傳到下一代。
所述變異操作中變異算子用于模擬進化過程中的基因突變的現(xiàn)象,豐富種群的多樣性,防止提前收斂,與交叉操作相比,變異操作僅充當(dāng)輔助手段。在本發(fā)明在,所述變異算子采用面向領(lǐng)域知識的位變異實現(xiàn),基因的變異概率與適應(yīng)值有關(guān),變異概率為:
其中,gi為第i位基因的適應(yīng)值。完成時間長、能耗高的任務(wù)調(diào)度結(jié)果將更有可能產(chǎn)生變異。
在本發(fā)明的另一個實施例中,所述蟻群算法包括算法初始化、轉(zhuǎn)移概率設(shè)計以及信息素修改:
所述在算法初始化時,信息素值賦在節(jié)點設(shè)備上,信息素的大小表示節(jié)點設(shè)備離散資源的可用性。根據(jù)遺傳算法最終所得出的最優(yōu)或者滿意解,解析出其對應(yīng)的任務(wù)調(diào)度方案,并將其轉(zhuǎn)化為節(jié)點設(shè)備的初始信息素,每個節(jié)點設(shè)備的信息素初始值函數(shù)為
其中,
所述轉(zhuǎn)移概率是下一任務(wù)節(jié)點設(shè)備選擇的主要參考,在本發(fā)明中,將已有的計算負(fù)載作為結(jié)點性能的主要考量因素,t時刻的轉(zhuǎn)移概率由各個節(jié)點設(shè)備的信息素值和設(shè)備負(fù)載決定。所述轉(zhuǎn)移概率設(shè)計函數(shù)為
其中,τi(t)表示t時刻節(jié)點設(shè)備i的信息素值,ai(t)為t時刻節(jié)點設(shè)備的相對性能,α、β表示兩者的權(quán)重即重要程度,ai(t)=k*li,k為常數(shù),li為當(dāng)前節(jié)點設(shè)備能量狀況,能量狀況好的節(jié)點設(shè)備更有可能提供云服務(wù),實現(xiàn)負(fù)載均衡優(yōu)化。
所述信息素修改函數(shù)為
τi(t+1)=τi(t)+δti(t)i=1,2...n
其中,若任務(wù)成功執(zhí)行δτi(t)=ks*taskenergyj,若任務(wù)執(zhí)行失敗δτi(t)=kl*taskenergyj,ks,kl分別為成功失敗的獎懲因子,taskenergyj為任務(wù)執(zhí)行開銷。
優(yōu)選的,所述蟻群算法的終止條件可以設(shè)置為合理的迭代次數(shù)m或者當(dāng)前解連續(xù)k次相同,m或k根據(jù)具體情況設(shè)定。
以上介紹了一種自組織云多對多計算遷移方法,接下來介紹一種自組織云多對多計算遷移系統(tǒng)。
在本發(fā)明的一個實施例中,本發(fā)明所述一種自組織云多對多計算遷移系統(tǒng)包括中央調(diào)度管理器以及多個節(jié)點設(shè)備:
中央調(diào)度管理器,用于監(jiān)測本地自組織云網(wǎng)絡(luò)、認(rèn)知網(wǎng)絡(luò)與認(rèn)知無線電,為網(wǎng)絡(luò)中的節(jié)點設(shè)備編號;收集并管理節(jié)點設(shè)備信息,并將節(jié)點設(shè)備信息整理至資源列表;收集并管理各節(jié)點設(shè)備發(fā)送的任務(wù)遷移請求,基于資源列表的節(jié)點設(shè)備信息,定時采用遺傳蟻群調(diào)度算法獲取最優(yōu)任務(wù)調(diào)度解進行任務(wù)調(diào)度,并將任務(wù)調(diào)度結(jié)果返回至發(fā)送任務(wù)遷移請求的源節(jié)點設(shè)備;
節(jié)點設(shè)備,用于定時向中央調(diào)度管理器發(fā)送自身節(jié)點設(shè)備信息;向中央調(diào)度管理器發(fā)送任務(wù)遷移請求,發(fā)送任務(wù)遷移請求的源節(jié)點設(shè)備在接收到任務(wù)調(diào)度結(jié)果后,按照任務(wù)調(diào)度結(jié)果指定的目標(biāo)節(jié)點設(shè)備將任務(wù)遷移至對應(yīng)的目標(biāo)節(jié)點設(shè)備;對于接收到所述任務(wù)遷移的目標(biāo)節(jié)點設(shè)備,按照節(jié)點自身任務(wù)隊列信息依次執(zhí)行任務(wù),執(zhí)行完該任務(wù)后將任務(wù)輸出數(shù)據(jù)發(fā)送回源節(jié)點設(shè)備。
作為本發(fā)明一個具體的實施例,本發(fā)明所述一種自組織云多對多計算遷移系統(tǒng)包括:一個中央調(diào)度管理器以及多個節(jié)點設(shè)備:其中中央調(diào)度管理器統(tǒng)一管理自組織云網(wǎng)絡(luò)的資源,根據(jù)每個節(jié)點設(shè)備的計算遷移需求、自身資源信息和合作意愿強度做出集中式任務(wù)調(diào)度決策,每隔一定時間進行一次調(diào)度,將到達(dá)系統(tǒng)的任務(wù)分配給節(jié)點設(shè)備;所述節(jié)點設(shè)備向中央調(diào)度管理器發(fā)送任務(wù)遷移請求,根據(jù)中央調(diào)度管理器的調(diào)度命令執(zhí)行調(diào)度任務(wù),并執(zhí)行本節(jié)點設(shè)備的原任務(wù)以及調(diào)度至本節(jié)點設(shè)備的任務(wù)。
在本發(fā)明的一個具體的實施例中,參照圖4所示,所述中央調(diào)度管理器1包括網(wǎng)絡(luò)認(rèn)知模塊11、資源收集模塊12、任務(wù)收集模塊13、任務(wù)管理模塊14以及任務(wù)調(diào)度模塊15:
所述網(wǎng)絡(luò)認(rèn)知模塊11用于監(jiān)測本地自組織網(wǎng)絡(luò)、認(rèn)知網(wǎng)絡(luò)與認(rèn)知無線電,為網(wǎng)絡(luò)中的節(jié)點設(shè)備編號;此外,網(wǎng)絡(luò)認(rèn)知模塊11還用于獲取信道狀況和各節(jié)點設(shè)備之間路由的信息,并將其輸入到資源信息表。
所述資源收集模塊12用于收集并管理節(jié)點設(shè)備定時發(fā)送的包括計算能力、通信能力、可用電池能源、執(zhí)行任務(wù)隊列信息和設(shè)備編號的節(jié)點設(shè)備信息,并將節(jié)點設(shè)備信息整理到資源信息表,為任務(wù)調(diào)度模塊15提供參考。
所述任務(wù)收集模塊13用于收集節(jié)點設(shè)備發(fā)送的計算遷移請求。
所述任務(wù)管理模塊14用于管理收集到的節(jié)點設(shè)備的計算遷移請求,并提交給任務(wù)調(diào)度模塊。
所述任務(wù)調(diào)度模塊15基于任務(wù)管理模塊14中的計算遷移請求信息以及資源信息表的節(jié)點設(shè)備信息,根據(jù)各用戶或者網(wǎng)絡(luò)整體的優(yōu)化目標(biāo),定時采用遺傳蟻群調(diào)度算法獲取最優(yōu)任務(wù)調(diào)度解進行任務(wù)調(diào)度,為各個任務(wù)分配合適的資源,并將任務(wù)調(diào)度結(jié)果返回至發(fā)送任務(wù)遷移請求的源節(jié)點設(shè)備。
優(yōu)選的,所述任務(wù)調(diào)度模塊15進一步用于:
將任務(wù)調(diào)度轉(zhuǎn)化為遺傳算法的染色體編碼;
初始化染色體種群,獲取初始任務(wù)調(diào)度解集空間;
采用全局適應(yīng)值函數(shù)作為評價標(biāo)準(zhǔn),通過遺傳算法的選擇操作、交叉操作和變異操作進行迭代,獲取至少一個最優(yōu)解;
根據(jù)獲取的最優(yōu)解生成對應(yīng)的任務(wù)調(diào)度方案;
將遺傳算法生成最優(yōu)解對應(yīng)的任務(wù)調(diào)度方案轉(zhuǎn)化為節(jié)點設(shè)備的初始信息素,根據(jù)蟻群算法進行迭代,獲取最優(yōu)任務(wù)調(diào)度解。
在本發(fā)明另一個具體的實施例中,參照圖5所示,所述節(jié)點設(shè)備包括應(yīng)用層和管理層:其中,所述應(yīng)用層用于節(jié)點設(shè)備自身的任務(wù)產(chǎn)生和管理以及外部遷移任務(wù)的管理;所述管理層負(fù)責(zé)網(wǎng)絡(luò)的維持和通信、所遷移任務(wù)的輸入輸出數(shù)據(jù)傳輸和任務(wù)的具體執(zhí)行工作。
優(yōu)選的,所述應(yīng)用層包括自身任務(wù)隊列21以及外部任務(wù)隊列22,其中自身任務(wù)隊列21以及外部任務(wù)隊列22可以統(tǒng)稱為任務(wù)隊列:
所述自身任務(wù)隊列21通過網(wǎng)絡(luò)通信模塊將任務(wù)遷移請求發(fā)送給中央調(diào)度管理器。所述自身任務(wù)隊列21用于管理節(jié)點設(shè)備的自身任務(wù)群以及任務(wù)間的復(fù)雜關(guān)系,整理出各個任務(wù)的信息,交由網(wǎng)絡(luò)通信模塊發(fā)送至中央調(diào)度管理器。
所述外部任務(wù)隊列22用于管理根據(jù)任務(wù)調(diào)度結(jié)果遷移到本節(jié)點設(shè)備的任務(wù)信息,并將任務(wù)排序后提交給任務(wù)執(zhí)行模塊24。所述外部任務(wù)隊列22管理節(jié)點設(shè)備的外來任務(wù)群,假如設(shè)備中的某個自身任務(wù)遷移調(diào)度結(jié)果為在本設(shè)備執(zhí)行,則要將該任務(wù)由自身任務(wù)隊列21轉(zhuǎn)移至外部任務(wù)隊列22,外部任務(wù)隊列22將根據(jù)任務(wù)的優(yōu)先級等因素整理任務(wù)執(zhí)行順序,并逐個交給任務(wù)執(zhí)行模塊24。
所述管理層包括網(wǎng)絡(luò)通信模塊23、任務(wù)執(zhí)行模塊24以及數(shù)據(jù)傳輸模塊25:
所述網(wǎng)絡(luò)通信模塊23用于定時向中央調(diào)度管理器發(fā)送節(jié)點設(shè)備信息,并接收中央調(diào)度管理器的任務(wù)調(diào)度結(jié)果。進一步的,網(wǎng)絡(luò)通信模塊23用于自身資源信息的傳遞與自組織網(wǎng)絡(luò)的維持,所述網(wǎng)絡(luò)通信模塊23每隔一定時間將自身的資源信息和任務(wù)隊列的執(zhí)行情況傳遞到中央調(diào)度管理器,并接收來自中央調(diào)度管理器的任務(wù)調(diào)度結(jié)果,同時發(fā)送接收網(wǎng)絡(luò)協(xié)議信息,保證自組織網(wǎng)絡(luò)的正常運行。
所述任務(wù)執(zhí)行模塊24用于按照外部任務(wù)隊列發(fā)送的任務(wù)順序執(zhí)行任務(wù),并將任務(wù)執(zhí)行后的輸出數(shù)據(jù)發(fā)送給數(shù)據(jù)傳輸模塊25。更具體的,所述任務(wù)執(zhí)行模塊24用于計算遷移任務(wù)的具體執(zhí)行,所述任務(wù)執(zhí)行模塊24按照應(yīng)用層外部任務(wù)隊列22發(fā)送的任務(wù)順序執(zhí)行任務(wù),并將任務(wù)執(zhí)行后的輸出數(shù)據(jù)發(fā)送給數(shù)據(jù)傳輸模塊25。
所述數(shù)據(jù)傳輸模塊25用于接收源節(jié)點設(shè)備發(fā)送過來的任務(wù)信息,將任務(wù)信息轉(zhuǎn)交給外部任務(wù)隊列22管理;并接收任務(wù)執(zhí)行模塊發(fā)送24的輸出數(shù)據(jù),并將輸出數(shù)據(jù)轉(zhuǎn)發(fā)到源節(jié)點設(shè)備。進一步的,所述數(shù)據(jù)傳輸模塊25用于任務(wù)數(shù)據(jù)的傳輸,所述任務(wù)執(zhí)行模塊24接收其他節(jié)點設(shè)備發(fā)送過來的任務(wù)基本信息與輸入數(shù)據(jù)將其轉(zhuǎn)交給任務(wù)隊列管理,并接收執(zhí)行模塊傳送的任務(wù)執(zhí)行輸出數(shù)據(jù)將其轉(zhuǎn)發(fā)至指定的源節(jié)點設(shè)備。
在本發(fā)明的另一個實施例中,所述任務(wù)調(diào)度模塊15在將任務(wù)調(diào)度轉(zhuǎn)化為遺傳算法的染色體編碼過程中,染色體表示為
所述在初始化染色體種群的過程中,根據(jù)各個節(jié)點設(shè)備的選擇概率進行收斂解集,獲取初始染色體編碼空間即初始任務(wù)調(diào)度解集空間,其中,所述各個節(jié)點設(shè)備的選擇概率函數(shù)為
其中,n表示包含發(fā)送任務(wù)遷移請求的源節(jié)點設(shè)備在內(nèi)的節(jié)點設(shè)備的數(shù)量,
所述全局適應(yīng)值函數(shù)用于對整個調(diào)度方案進行評價,所述全局適應(yīng)值函數(shù)f(x)表示為
其中,f(x)表示目標(biāo)函數(shù),x表示任務(wù)調(diào)度方案,cmax表示目標(biāo)函數(shù)理論上的最大值;
所述適應(yīng)值函數(shù)的目標(biāo)函數(shù)為:
f(x)=α*averagetaskcompletingtime+β*averagetaskcompletingenergy
其中,α表示任務(wù)完成平均時間的權(quán)重系數(shù),β表示任務(wù)平均能耗的權(quán)重系數(shù)其值由具體情境決定;averagetaskcompletingtime表示任務(wù)完成平均時間,averagetaskcompletingenergy表示任務(wù)平均能耗;
所述任務(wù)完成平均時間與任務(wù)平均能耗的函數(shù)為
其中,m表示任務(wù)數(shù)量,n表示節(jié)點設(shè)備數(shù)量;x表示m示節(jié)的任務(wù)調(diào)度矩陣,矩陣x中元素xi,j=1,則表示應(yīng)用任務(wù)ti被指派到計算節(jié)點設(shè)備pj來進行調(diào)度執(zhí)行,否則xi,j=0;c表示m示j的時間矩陣c,矩陣c中元素ci,j表示應(yīng)用任務(wù)ti被指派到計算節(jié)點設(shè)備pj上進行調(diào)度執(zhí)行時所需要的時間;e表示m示行的能耗矩陣e,矩陣e的元素ei,j表示應(yīng)用任務(wù)ti被指派到計算節(jié)點設(shè)備pj上進行調(diào)度執(zhí)行時所需要的計算能耗;
所述選擇操作采用適應(yīng)值比列選擇形式,采用輪盤賭方式實現(xiàn),用于選擇適應(yīng)值高的染色體個體,每個染色體個體被選擇的概率為
其中,染色體集群為g={g1,g2,…gn},染色體集群的空間大小為n,染色體個體gj∈g的適應(yīng)值為f(gj);
所述交叉操作采用面向知識領(lǐng)域的位交叉,計算染色體的基因適應(yīng)值,選取染色體基因適應(yīng)值低的繼續(xù)進行迭代,所述基因適應(yīng)值函數(shù)用于對調(diào)度方案中某一個調(diào)度結(jié)果進行評價,基因適應(yīng)值函數(shù)為
g(x)=α*totaltimej+β*taskenergyj
其中,α表示任務(wù)j的執(zhí)行總時間的權(quán)重系數(shù),β表示任務(wù)j的執(zhí)行能耗的權(quán)重系數(shù),totaltime表示任務(wù)j的執(zhí)行總時間,taskenergy表示任務(wù)j的執(zhí)行能耗,x表示任務(wù)調(diào)度方案;
所述變異操采用面向領(lǐng)域知識的位變異實現(xiàn),用于防止提前收斂,基因的變異概率函數(shù)為
其中,gi為第i位基因的適應(yīng)值;
所述在蟻群算法的算法初始化時,每個節(jié)點設(shè)備的信息素初始值函數(shù)為
其中,
所述蟻群算法的轉(zhuǎn)移概率設(shè)計函數(shù)為
其中,τi(t)表示t時刻節(jié)點設(shè)備i的信息素值,ai(t)為t時刻節(jié)點設(shè)備的相對性能,α、β表示兩者的權(quán)重即重要程度,ai(t)=k*li,k為常數(shù),li為當(dāng)前節(jié)點設(shè)備能量狀況,能量狀況好的節(jié)點設(shè)備更有可能提供云服務(wù),實現(xiàn)負(fù)載均衡優(yōu)化;
所述蟻群算法的信息素修改函數(shù)為
τi(t+1)=τi(t)+δτi(t)i=1,2...n
其中,若任務(wù)成功執(zhí)行δτi(t)=ks*taskenergyj,若任務(wù)執(zhí)行失敗δτi(t)=kl*taskenergyj,ks,kl分別為成功失敗的獎懲因子,taskenergyj為任務(wù)執(zhí)行開銷。
進一步的,所述節(jié)電設(shè)備信息包括計算能力、通信能力、可用電池能源、執(zhí)行任務(wù)隊列信息和設(shè)備編號。
多對多計算遷移方式是自組織云網(wǎng)絡(luò)中較為普遍的場景,例如:用戶將手機終端、計算機、家用電器、家用傳感網(wǎng)節(jié)點設(shè)備等自主連接起來,云網(wǎng)絡(luò)中資源節(jié)點以各種組合方式共同合作,生成更高級的智能服務(wù),提升用戶體驗;物聯(lián)網(wǎng)中的移動設(shè)備節(jié)點互相協(xié)作,將計算任務(wù)遷移到其他設(shè)備上執(zhí)行,同時也接收其他設(shè)備的計算遷移請求,不但可以整體延長節(jié)點設(shè)備的壽命,還有利于提升網(wǎng)絡(luò)整體性能,達(dá)到負(fù)載均衡,更好的實現(xiàn)某些專業(yè)服務(wù);在公共場所,同學(xué)或同事針對某一目標(biāo)而共享自己移動設(shè)備的資源,陌生用戶之間在某種激勵機制下共享資源,互惠互利。
在本發(fā)明中,自組織云的概念是以更廣義的內(nèi)涵和角度進行定義的,是脫離了移動云計算、車聯(lián)網(wǎng)、無線傳感器網(wǎng)絡(luò)等的更高層通用概念。此時,終端設(shè)備不在局限于移動智能終端,而是如計算處理能力、存儲能力、傳感器、通信能力及其他能力的集合。自組織云中的節(jié)點設(shè)備可以是任何具備無線連接功能的設(shè)備,如移動設(shè)備、平板電腦、計算機、機器人、車輛、家用和辦公電器、中繼站等,每個節(jié)點設(shè)備具有不同的功能和性能,某些節(jié)點設(shè)備具有移動性(如可便攜可移動設(shè)備),而某些節(jié)點設(shè)備則在自組織云中是以固定(靜止)的形式存在。
本發(fā)明上述各實施例所提出的所述的自組織云多對多計算遷移方法及系統(tǒng),不同于現(xiàn)有技術(shù)從一個節(jié)點設(shè)備角度出發(fā),本發(fā)明首次提出多對多計算遷移模型,同一個自組織云網(wǎng)絡(luò)內(nèi)的設(shè)備相互協(xié)作,互為云資源;本發(fā)明中各個設(shè)備的任務(wù)到達(dá)率服從泊松分布,但具體任務(wù)形式可以多種多樣;以云網(wǎng)絡(luò)整體為優(yōu)化目標(biāo),在滿足任務(wù)執(zhí)行能耗和時間開銷性能指標(biāo)的約束條件下,充分利用網(wǎng)絡(luò)中各個節(jié)點設(shè)備的空閑資源;利用針對具體優(yōu)化目標(biāo)的調(diào)度算法,將任務(wù)調(diào)度給合適的節(jié)點設(shè)備執(zhí)行,使得網(wǎng)絡(luò)中的設(shè)備充分合作,發(fā)揮出最大的性能。針對優(yōu)化目標(biāo)設(shè)計的遺傳蟻群算法,結(jié)合了遺傳算法的快速搜索能力和蟻群算法的精確求解能力,并利用蟻群算法的正反饋機制有效地提升負(fù)載均衡能力。
并且,本發(fā)明實施例中所述自組織云多對多計算遷移方法所使用的調(diào)度算法以云網(wǎng)絡(luò)整體為優(yōu)化目標(biāo),在算法設(shè)計過程中,充分考慮:
(1)任務(wù)平均時長:本發(fā)明實施例以優(yōu)化網(wǎng)絡(luò)整體性能為目的,且各節(jié)點設(shè)備上任務(wù)按泊松分布隨機生成,不適合以各個節(jié)點設(shè)備的最優(yōu)跨度作為目標(biāo),應(yīng)從網(wǎng)絡(luò)整體出發(fā),因此將任務(wù)平均時長作為性能目標(biāo),記錄出現(xiàn)的所有任務(wù)的執(zhí)行時間,求出其平均值,任務(wù)調(diào)度算法越好,性能越優(yōu)越,任務(wù)的平均時長越小。
(2)負(fù)載均衡:負(fù)載均衡是指使得自組織云網(wǎng)絡(luò)中的節(jié)點設(shè)備合理地承擔(dān)負(fù)載任務(wù),根據(jù)每個節(jié)點設(shè)備差異化的性能,結(jié)合目前所需要完成的任務(wù)負(fù)載,合理分配,避免某些節(jié)點設(shè)備承擔(dān)過多的計算任務(wù),也避免某些節(jié)點設(shè)備負(fù)載較輕,處于空閑狀態(tài)。負(fù)載均衡可以提升網(wǎng)絡(luò)的整體壽命,調(diào)度器會把任務(wù)調(diào)度到負(fù)載比較輕、能量狀況比較好的節(jié)點設(shè)備。
(3)最小能量損耗:能耗是自組織云網(wǎng)絡(luò)中極為重要且無法忽視的問題,減少任務(wù)執(zhí)行能耗,延長節(jié)點設(shè)備壽命,提升自組織云網(wǎng)絡(luò)的可持續(xù)性,是重要的優(yōu)化目標(biāo)。本發(fā)明對等自組織云網(wǎng)絡(luò)中的計算遷移技術(shù)研究中,以自組織云網(wǎng)絡(luò)整體能耗而非個別節(jié)點設(shè)備的能耗問題為優(yōu)化對象,包含各個任務(wù)的執(zhí)行能耗與通信能耗,保證任務(wù)遷移不會帶來過多多余的能耗。在滿足任務(wù)執(zhí)行能耗和時間開銷性能指標(biāo)的約束條件下,充分利用網(wǎng)絡(luò)中各個節(jié)點設(shè)備的空閑資源,利用針對具體優(yōu)化目標(biāo)的調(diào)度算法,將任務(wù)調(diào)度給合適的節(jié)點設(shè)備執(zhí)行,使得網(wǎng)絡(luò)中的設(shè)備充分合作,發(fā)揮出最大的性能。
所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上所述僅為本發(fā)明的具體實施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。