李 凡,王 超
(成都信息工程大學(xué)區(qū)塊鏈產(chǎn)業(yè)學(xué)院,四川 成都 610225)
移動(dòng)邊緣計(jì)算是現(xiàn)階段能夠?qū)崿F(xiàn)資源計(jì)算、存儲(chǔ)以及處理功能為一體的全新架構(gòu)形式。該計(jì)算通常通過兩種方式實(shí)現(xiàn):一種是將需要處理的資源放置至基站或各種無線通信設(shè)施中,利用蜂窩移動(dòng)通信或無線通信,實(shí)現(xiàn)就近處理數(shù)據(jù)服務(wù);第二種是通過終端設(shè)備自身存在的數(shù)據(jù)處理能力,例如手機(jī)等設(shè)備,利用端到端等通信技術(shù),完成本地?cái)?shù)據(jù)處理。該計(jì)算方法能夠有效降低服務(wù)響應(yīng)時(shí)延,改善用戶處理數(shù)據(jù)的難題,還能夠緩解網(wǎng)絡(luò)帶寬以及電池容量壓力等。
區(qū)塊鏈技術(shù)最早是通過比特幣形式展現(xiàn)到人們面前。該技術(shù)通過去中心化的管理結(jié)構(gòu),實(shí)現(xiàn)數(shù)據(jù)加密以及數(shù)據(jù)處理等問題。對(duì)于資源分配來說,通過移動(dòng)邊緣計(jì)算與區(qū)塊鏈相結(jié)合的形式,能夠全面、安全地實(shí)現(xiàn)資源的分配。有較多學(xué)者研究資源分配,例如翟玲等人研究云計(jì)算平臺(tái)下電子信息資源均衡分配算法,唐倫等人,研究基于異步優(yōu)勢(shì)演員-評(píng)論家學(xué)習(xí)的服務(wù)功能鏈資源分配算法。以上幾種算法在實(shí)際應(yīng)用中仍然存在系統(tǒng)能耗過高的問題。
因此,本文研究一種新的基于移動(dòng)邊緣計(jì)算的區(qū)塊鏈資源分配算法。通過構(gòu)建基于區(qū)塊鏈形式的資源管理結(jié)構(gòu),實(shí)現(xiàn)資源的去中心化管理,利用移動(dòng)邊緣計(jì)算,構(gòu)建多用戶異構(gòu)蜂窩模型,并設(shè)計(jì)模型優(yōu)化約束,采用蟻群算法獲取資源分配最優(yōu)解,實(shí)現(xiàn)最佳資源分配。
由于區(qū)塊鏈中邊緣網(wǎng)絡(luò)資源自身存在計(jì)算資源不足以及電池容量不足難以進(jìn)行高性能運(yùn)算等問題,借助無線通信技術(shù),將終端設(shè)備連接到移動(dòng)邊緣計(jì)算(MEC)服務(wù)器中,以此為基礎(chǔ),并結(jié)合上述去中心化管理后的資源,構(gòu)建基于多用戶異構(gòu)蜂窩的移動(dòng)邊緣計(jì)算模型。
設(shè)計(jì)由一個(gè)以太坊主鏈和個(gè)以太坊側(cè)鏈構(gòu)成的多用戶異構(gòu)蜂窩網(wǎng)絡(luò)。在以太坊主鏈的計(jì)算范圍中,均勻存在個(gè)終端設(shè)備。設(shè)全部基站的集合為={,,…,},以太坊主鏈由描述。終端設(shè)備的集合由={,…,}描述。將每個(gè)服務(wù)器分別放置在每個(gè)以太坊側(cè)鏈中,使計(jì)算資源能夠供應(yīng)至終端設(shè)備。在每個(gè)設(shè)備中,存在一個(gè)具有延遲敏感性且計(jì)算較為密集的計(jì)算任務(wù),設(shè)計(jì)算的任務(wù)的大小為,并設(shè)需要的計(jì)算資源為,并將某段時(shí)延內(nèi)需實(shí)現(xiàn)的計(jì)算任務(wù)通過描述。
(1)
式(1)中,表示設(shè)備,設(shè)備與以太坊主鏈或以太坊側(cè)鏈存在關(guān)聯(lián),同時(shí),設(shè)備與基站互相通信時(shí)的傳輸速率與功率均會(huì)因帶寬變化而變化,且當(dāng)信道出現(xiàn)干擾時(shí),也會(huì)對(duì)傳輸造成干擾。因此,為有效解決干擾,以太坊側(cè)鏈復(fù)用以太坊主鏈的頻譜資源,選取OFDMA實(shí)現(xiàn)設(shè)備與基站的通信。在此時(shí),相同基站內(nèi)的設(shè)備之間存在正交頻譜,以太坊側(cè)鏈與以太坊主鏈之間的頻譜同樣為正交。
若某一以太坊側(cè)鏈的區(qū)域范圍內(nèi)不存在設(shè)備,則該設(shè)備的在以太坊主鏈上實(shí)現(xiàn)通信,兩者的無線通信數(shù)據(jù)傳輸速率如式(2)所示
(2)
可采用三種形式實(shí)現(xiàn)設(shè)備的計(jì)算任務(wù):
1)通過本地計(jì)算資源對(duì)任務(wù)進(jìn)行計(jì)算。
(3)
(4)
2)遷移至以太坊側(cè)鏈上的服務(wù)器進(jìn)行處理
(5)
通過三部分實(shí)現(xiàn)設(shè)備將任務(wù)遷移到以太坊側(cè)鏈中處理的延遲。首先是上行鏈路傳輸時(shí)間,其次是任務(wù)計(jì)算時(shí)間,最終為下行鏈路傳輸時(shí)間。由此可知,從設(shè)備中將任務(wù)轉(zhuǎn)移至以太坊側(cè)鏈進(jìn)行計(jì)算的任務(wù)完成延遲可通過式(6)表示
(6)
與該公式相應(yīng)的能耗如式(7)所示
(7)
式(8)中,以太坊側(cè)鏈所采用的單位時(shí)鐘能耗由描述。
3)遷移至以太坊上主鏈的服務(wù)器進(jìn)行處理
該遷移過程與遷移至以太坊側(cè)鏈過程較為類似。因此以,該過程的任務(wù)完成時(shí)延如式(8)所示
(8)
與該公式對(duì)應(yīng)能耗可通過式(9)計(jì)算:
(9)
式(9)中,以太坊主鏈所采用的單位周期能耗由表示。
考慮以太坊主鏈和以太坊側(cè)鏈的計(jì)算資源約束、任務(wù)的時(shí)延約束,建立邊緣計(jì)算能耗遷移與資源分配聯(lián)合優(yōu)化模型,如下所示:
(10)
(11)
(12)
(13)
(14)
其中,表示計(jì)算資源總?cè)萘?。?10)表示任務(wù)的時(shí)延約束;式(11)、式(13)約束每個(gè)設(shè)備,使該設(shè)備僅能選取一種計(jì)算形式對(duì)任務(wù)進(jìn)行計(jì)算,分別為本地計(jì)算、遷移到以太坊側(cè)鏈或以太坊主鏈;式(12)是以太坊側(cè)鏈或以太坊主鏈的計(jì)算資源約束,由于上述公式屬于整數(shù)約束,因此對(duì)以上公式進(jìn)行優(yōu)化屬于NP難問題,若想尋取該問題的最優(yōu)解,需要將問題轉(zhuǎn)化為蟻群算法學(xué)習(xí)模型,通過蟻群算法,對(duì)資源分配最優(yōu)解進(jìn)行尋取。
251 路徑構(gòu)建
依據(jù)蟻群算法的理論,選取螞蟻“覓食”路徑的形成與更新信息素的過程為該算法的主要步驟。其中,路徑的形成通常是依據(jù)啟發(fā)信息,尋取到螞蟻由當(dāng)前點(diǎn)移動(dòng)到目的地的概率,之后挑選概率最高的點(diǎn),將該點(diǎn)作為螞蟻轉(zhuǎn)移的下一目的地,以此為基礎(chǔ),確定螞蟻逐步移動(dòng)的路徑,以確認(rèn)螞蟻整個(gè)移動(dòng)的路徑。
通過式(15)對(duì)螞蟻移動(dòng)概率進(jìn)行計(jì)算
(15)
252 信息素更新
(16)
當(dāng)全部路徑信息素都實(shí)現(xiàn)更新時(shí),引入下一輪螞蟻,繼續(xù)進(jìn)行新一輪循環(huán)。式(16)中,表示路線,為需求點(diǎn)數(shù)量,的情況下表示螞蟻經(jīng)過,“0”情況下表示螞蟻不經(jīng)過,表示點(diǎn)到點(diǎn)的距離,。
253 蟻群算法求解基本流程
依據(jù)蟻群算法的基本理論,本文將資源分配求解過程分為四部分:第一部分為初始化,依據(jù)現(xiàn)實(shí)情況設(shè)定需要的參數(shù);第二部分是確認(rèn)螞蟻群數(shù)目需求,將全部螞蟻分組,并進(jìn)行編號(hào);第三部分為依據(jù)需求點(diǎn)數(shù)量,對(duì)螞蟻進(jìn)行隨機(jī)分配,使螞蟻的移動(dòng)路徑能夠通過移動(dòng)概率獲知;第四部分是在全部螞蟻都尋找到路徑后,對(duì)最優(yōu)目標(biāo)值進(jìn)行計(jì)算,計(jì)算結(jié)束后對(duì)路徑中的信息素進(jìn)行更新,更新完畢啟動(dòng)下一輪循環(huán),當(dāng)循環(huán)達(dá)到一定次數(shù)后,得到資源分配最優(yōu)解。
1)對(duì)每條線路中的信息素(,=1,2,…,),,,進(jìn)行初始化。
2)對(duì)螞蟻進(jìn)行分組,全部螞蟻分為組,在每組中存在只螞蟻,向資源存放區(qū)域放置全部螞蟻,即向位置派出資源分配小組。
5)若步驟4)內(nèi)的全部螞蟻均返回至點(diǎn),則執(zhí)行步驟6),若未返回,則執(zhí)行步驟4)。
6)求解式(11),獲取現(xiàn)階段最優(yōu)解。
7)若現(xiàn)階段所設(shè)循環(huán)次數(shù)大于迭代次數(shù),則對(duì)每條路徑中的信息素進(jìn)行更新,并重新執(zhí)行步驟2),若未大于,則執(zhí)行步驟8)。
8)依次對(duì)比循環(huán)中的目標(biāo)函數(shù)值,獲取全局最優(yōu)解,實(shí)現(xiàn)區(qū)塊鏈資源分配。
通過Python對(duì)本文算法進(jìn)行仿真,選取文獻(xiàn)[6]云計(jì)算平臺(tái)下電子信息資源均衡分配算法,文獻(xiàn)[7]基于異步優(yōu)勢(shì)演員-評(píng)論家學(xué)習(xí)的服務(wù)功能鏈資源分配算法作為本文對(duì)比算法。
在單個(gè)移動(dòng)終端的MEC服務(wù)器下,分析應(yīng)用本文算法分配資源時(shí),隨著MEC服務(wù)器運(yùn)行時(shí)間的增加,MEC服務(wù)器的電池能量與電池容量的消耗情況,分析結(jié)果如圖1所示。
圖1 應(yīng)用本文算法后電池消耗情況
根據(jù)圖1可知,隨著運(yùn)行時(shí)間的增長,電池容量始終消耗為40mJ,并未隨著時(shí)間增長而產(chǎn)生波動(dòng),而MEC服務(wù)器運(yùn)行時(shí)間處于0ms時(shí),并未開始分配資源,因此電池能量消耗為0,當(dāng)開始分配資源,電池能量的消耗由此上升,達(dá)到30mJ~40mJ之間,在之后的時(shí)間里,始終消耗電池能量均處于30mJ~40mJ之間,因此,應(yīng)用本文算法,并未產(chǎn)生較大的電池消耗,能夠以較為節(jié)約電池能量的形式實(shí)現(xiàn)資源的分配。
分析采用三種算法對(duì)資源進(jìn)行分配時(shí)在不同設(shè)備數(shù)量下的資源分配能耗,分析結(jié)果如圖2所示。
圖2 不同算法分配下的能耗變化情況
根據(jù)圖2可知,當(dāng)設(shè)備數(shù)量逐漸上升,三種算法資源分配能耗也隨之增加,其中,文獻(xiàn)[7]算法的資源分配能耗在三種算法中保持最高,當(dāng)設(shè)備數(shù)量達(dá)到150個(gè)時(shí),能耗達(dá)到1600mJ以上,文獻(xiàn)[6]算法的資源分配能耗相對(duì)低于文獻(xiàn)[7]算法,但該算法的能耗會(huì)隨著設(shè)備數(shù)量的增加大幅度上升,且該算法資源分配下的能耗要高于本文算法,本文算法未出現(xiàn)資源分配能耗大幅度上升現(xiàn)象,且最高能耗不超過400mJ,因此,應(yīng)用本文算法對(duì)資源進(jìn)行分配時(shí),并不會(huì)對(duì)MEC服務(wù)器造成太大負(fù)擔(dān)。
分析三種算法處于同一用戶數(shù)量時(shí),隨著計(jì)算迭代次數(shù)的增加,不同算法地計(jì)算資源分配收斂狀態(tài),分析結(jié)果如圖3所示。
圖3 三種算法的計(jì)算資源分配收斂性
根據(jù)圖3可知,當(dāng)計(jì)算迭代次數(shù)逐漸增加,三種算法逐漸進(jìn)行收斂,其中文獻(xiàn)[7]算法在迭代次數(shù)為50次時(shí)并未實(shí)現(xiàn)有效收斂,因此該算法的收斂性能最差,文獻(xiàn)[6]算法雖然能夠有效實(shí)現(xiàn)收斂,但本文算法的收斂情況依然高于該算法,本文算法在迭代次數(shù)為30次時(shí),即能夠完整實(shí)現(xiàn)資源分配收斂,因此,本文算法能夠在有限迭代次數(shù)內(nèi)實(shí)現(xiàn)收斂狀態(tài)。
當(dāng)用戶數(shù)量分別處于50,100,150時(shí),分析應(yīng)用本文算法計(jì)算過程中,當(dāng)移動(dòng)邊緣的最大發(fā)射功率逐漸增長時(shí),資源分配速率的變化情況,分析結(jié)果如圖4所示。
圖4 不同用戶數(shù)量下的資源分配速率
由圖4可知,當(dāng)用戶數(shù)量增大,資源分配速率也隨之增大,但當(dāng)最大發(fā)射功率為20dBm之后,速率開始逐漸下降,因此在功率為20dBm時(shí),資源分配速率也停止增加,同時(shí),用戶數(shù)為150名時(shí),資源分配速率最高。
本文研究基于移動(dòng)邊緣計(jì)算的區(qū)塊鏈資源分配算法,通過構(gòu)建區(qū)塊鏈形式的數(shù)據(jù)管理結(jié)構(gòu),并結(jié)合移動(dòng)邊緣計(jì)算,構(gòu)建多用戶異構(gòu)蜂窩移動(dòng)邊緣計(jì)算模型,設(shè)計(jì)資源分配優(yōu)化約束,依據(jù)優(yōu)化約束模型,采用蟻群算法獲取全局最優(yōu)解,實(shí)現(xiàn)資源分配。通過仿真形式驗(yàn)證算法性能,得出該算法收斂狀態(tài)與系統(tǒng)能耗均要好于其它算法。未來可依據(jù)當(dāng)前設(shè)計(jì)繼續(xù)優(yōu)化,實(shí)現(xiàn)海量數(shù)據(jù)資源的分配。