郭榮佐,鄧涵文,陳芳瑩,黃 君
1(四川師范大學 計算機科學學院,成都 610101)2(四川工商職業技術學院 經濟與管理系,四川 都江堰 611830)
E-mail:469497691@qq.com
物聯網(Internet of Things,IoT)已成為一種擁有大量互聯事物和應用的新型范式,正在促進互聯網從連接網絡向連接物理世界轉變[1].IoT將數據傳輸到數據中心或云端進行進一步處理,從而實現物與物、物與人和人與人的互聯互通.而現用物聯網以集中式的數據中心或云端進行數據處理,帶來設備端的網絡延遲大、無法滿足設備的爆炸式增長、設備端的數據安全受到威脅和造成設備數據傳輸的能耗大大增加等缺陷.邊緣計算的提出和應用,使集中式物聯網的這些缺陷得到緩和,將計算任務轉移到邊緣服務側而使延遲和能耗得到顯著的改善,特別是對延遲和能耗敏感的物聯網應用而言[2].
現有研究成果主要集中于對邊緣計算、物聯網邊緣計算(Edge-Computing-based Internet of Things,ECIoT)的計算卸載的研究.如文獻[3]就對邊緣計算的計算卸載決策模型進行研究,提出一種改進的分層拓撲結構的決策模型,并對模型進行了實驗驗證;文獻[4]對移動邊緣云計算的計算卸載問題進行研究,提出一種基于博弈論的分布式移動邊緣云計算的計算卸載算法,并將算法應用于多通道無線競爭的多用戶計算卸載場景中,驗證了算法的計算卸載性能;文獻[5]從數據安全角度研究移動邊緣計算的計算資源分配與計算卸載,提出一種具有資源安全的多用戶資源分配與計算卸載模式;文獻[6、7]對移動邊緣計算網絡的計算遷移與內容緩存、邊緣計算的計算卸載研究現狀進行綜述,綜述了計算卸載的各個方面,包括能耗最小化、服務質量保證和經驗質量提高,對資源調度方法、系統性能和計算卸載決策開銷之間的博弈和權衡進行了綜述.亦有研究者對邊緣計算、物聯網邊緣計算的資源分配進行研究的.如文獻[8]對邊緣計算系統的計算卸載進行研究,提出一種基于Stackelberg策略的邊緣計算的無線和計算資源分散均衡卸載算法,并對算法進行了仿真驗證;文獻[9]提出了一種新的邊緣計算物聯網體系結構,并對結構的無線資源、計算資源、接入控制和功率控制等進行了基于Lyapunov的隨機跨層動態優化研究;文獻[10]對正交多址的物聯網移動邊緣計算的通信與計算資源分配進行關聯研究,提出一種有效分層的系統成本和延遲最優化的通信與計算資源關聯分配于邊緣服務器的算法,并對算法進行驗證.同樣,有利用模糊理論與模糊優化方法對邊緣計算進行研究的.如文獻[11]利用模糊理論,對邊緣計算的邊緣卸載切換進行研究,提出了一種基于帶寬、處理器速度和延遲的邊緣模糊切換控制器算法,來提高邊緣計算系統的邊緣切換時間而降低系統的響應時間和成本;文獻[12]利用模糊理論對物聯網工作分類和資源分配進行研究,設計了一種模糊干擾系統,從通信和成本角度對物聯網作業進行分類和資源進行分配.這些研究,為研究ECIoT資源分配與優化奠定了一定的基礎,但由于ECIoT的特性和資源的有限性,以及邊緣計算的計算任務的動態性和隨機性,使得ECIoT的資源分配呈現并發性、資源請求的沖突性和隨機多階段任務特性等,必須進一步研究ECIoT的資源分配與優化問題,以使其資源得到有效利用,從而提高ECIoT的應用范圍.
綜上所述,對物聯網邊緣計算的研究,雖有相關研究者進行了研究,但僅設計了相應的模糊系統,未對其資源分配和算法進行深入研究.另外,基于文獻[13]對協同物流網的資源分配進行模糊優化分配建模和物聯網邊緣計算本身的模糊特性,利用模糊理論對物聯網邊緣計算進行資源分配問題的建模與優化研究,以解決其資源分配的最優化問題和提高資源利用率等.因此,本文主要貢獻為:提出一種具有虛擬化控制器的邊緣網關型物聯網邊緣計算結構;對物聯網邊緣計算的任務進行研究,設計了一種任務分解模型;利用模糊理論,建立了多目標模糊函數;利用非線性六角模糊數,對多目標模糊函數進行量化,設計了多目標模糊函數轉換算法和一種基于改進遺傳算法的模因算法的優化算法,以求解多目標函數最優解,以此得到物聯網邊緣計算資源分配的最優分配方案.
低成本感知器件的普及使得物聯網由傳統集中式向邊緣計算范式發展,即物聯網與邊緣計算結合,將云計算的功能和優點向邊緣推移,使得云計算的部分功能接近于數據生成的邊緣設備,從而使得ECIoT引起了多個行業的極大興趣和成為研究熱點,并導致傳統物聯網架構的演繹和優化.
由此,物聯網由集中式向邊緣計算范式發展,基于邊緣計算的物聯網架構演化為如圖1所示的結構,稱為ECIoT系統架構(Architecture of Edge-Computing-based Internet of Things Systems,AECIoTs).AECIoTs分為4層,分別為物理事物層、物聯網邊緣設備層、邊緣網關層和邊緣服務層,其中邊緣服務層通過網絡與遠端云計算平臺鏈接,以實現云計算功能.邊緣服務層由邊緣服務器(Edge Server,ES)和邊緣應用服務器(Edge Application Server,EAS)等構成,ES具有邊緣網關控制單元(Edge Gateway Control Unit,EGCU),EGCU發送控制命令給EGs;同時,邊緣服務層還通過網絡與后端/遠端的云計算平臺鏈接.邊緣網關層由若干邊緣網關(Edge Gateways,EGs)組成,EGs具有負載平衡與卸載功能,以實現邊緣設備的自動卸載與掛起;EGs具有流量監控報告(Report Monitoring Traffic,RMT)、數據預處理單元(Data Preprocessing Unit,DPU)、數據暫存單元(Data Temporary Storage Unit,DTSU)和邊緣控制單元等,可實現對邊緣設備通信流量的監測、數據的預處理、數據暫存和接受邊緣服務器的邊緣控制信息(Edge Control messages,ECMs)的控制等功能.而物理事物層通過移動通信、寬帶、近距離通信和現場總線等通信技術,實現與邊緣設備層的連接,即現實物理世界通過各種感知技術進行信息感知.

圖1 ECIoT架構圖Fig.1 Architecture figure of edge-computing-based internet of things systems
如圖1所示的架構中,物聯網邊緣設備層的邊緣設備(Edge Devices,EDs)執行對物理世界數據源端的感知和簡單數據處理任務.在AECIoTs中,設X個私有EDs組成EDs集合SEDs,即SEDs={Eds1,Eds2,…,EdsX}在數據源端附近完成數據感知與采集和計算,并通過EGs的預處理和計算與暫存,將數據傳輸到邊緣服務層.邊緣服務層中,EAS承擔后端/遠端云計算鏈接,并為Eds提供全局服務接口,通過命令控制EG來管理和調度所有的EDs.設Y個本地ES構成本地邊緣服務集合SESs,即SESs={Ess1,Ess2,…,EssY},SESs可能為微數據中心、微云計算、智能路由器或具有計算能力的EGs等,為靠近EDs側提供數據存儲和計算.設M個本地EGs構成本地邊緣網關層,即SEGs={Egs1,Egs2,…,EgsM},Egs為邊緣網關.

圖2 邊緣網關置入的虛擬化控制器結構圖Fig.2 Structure of virtualization controller of edge gateways
如圖2所示,在邊緣網關層的邊緣網關中,置入虛擬化控制器,以實現對上層邊緣服務層提供服務和對下層的邊緣設備層進行能耗與時延、應用程序與任務分解和其他應用處理等.虛擬化控制器中間部分為上層資源分配與調度、流量監考報告和應用處理核提供服務,且處理下層的能耗與時延分析、任務分解和應用處理,協調實現延遲、能耗、任務分解等來完成資源有效分配.通過邊緣網關層的邊緣網關置入該虛擬化控制器,可處理大部分邊緣任務,減少邊緣設備層的應用請求的整體服務延遲和能耗,以提高整個ECIoT系統的服務滿意度.
本部分描述如何依據ECIoT系統的延遲和能耗等來研究其資源分配,主要描述ECIoT系統的任務模型,并對系統的時延、能耗和滿意度等進行描述,擬在能耗和延遲之間做出權衡.
對ECIoT系統的任務,需按一定策略進行分解.故定義系統任務模型和任務劃分策略.
定義1.設物聯網邊緣計算的任務TD具有可分解特性,則任務TD定義為五元組表,即:
TD={Ic,Ks,Stfd,Tds,Ecfs},
(1)
其中:Ic表示任務TD的初始條件集合,包括TD產生時擁有的知識,如TD產生時間、環境和執行估計時間等等;Ks表示任務TD分解的知識集,包含任務TD執行所需所有子任務執行先后順序和任務TD的功能特征描述等任務TD完成分解的關鍵因子;Stfd表示任務TD分解中的子任務,依據子任務的復雜度來判斷其是否繼續進行分解;Tds表示任務TD分解過程完成后,得到的能夠由相應設備直接完成的子任務,該子任務可通過資源分配可直接對應到相應的設備資源;Ecfs表示子任務Tds對應的設備角色,且與Tds成映射關系,為可執行對應終結子任務的邊緣設備,與邊緣設備的具體性能和能力相關.
依據定義1,ECIoT的任務,無論其復雜程度如何,都需要進行按照定義1的描述進行分解.
ECIoT系統一旦建成,其執行的所有任務,均為周期性初始化且具有一定的周期和時間間隔[14].假定AECIoTs中應用持續具有Z個任務,即TAZ={Td1,Td2,…,TdZ},在每個周期開始時由應用程序初始化,則Tdi與四元組Di={Ai,Tsi,DOi,Maxi,x}具有強相關性,其中Di表示與任務Tdi相關聯的量的集合;Ai表示任務Tdi將要處理的數據量;Tsi表示任務或子任務開始時間的先后的時間因子;DOi表示任務Tdi執行完成后的數據輸出量的大小;Maxi,x表示Tdi分配給邊緣設備Ecfsx時的最壞情況下的執行時間.
由此,得到AECIoTs中任務分解樹如圖3所示.圖3所示,頂層為ECIoT系統應用程序任務集合TAZ,接下來是任務Tdi的中間分解的子任務集Stfd={Stfd1,…,Stfdn},然后是不可再分的最終子任務集Tds,每個最終子任務都對應相應的邊緣設備Ecfsx.任務間或子任務間的相關性,由四元組Di描述,并在圖3中表示為最終子任務間的Ai和Tsi.

圖3 ECIoT中應用程序任務分解樹Fig.3 Application task decomposition tree in ECIoT
從ECIoT系統內的信息傳輸需要消耗時間和能量,故本節對系統的時延、能耗和服務滿意度進行描述[15].
設ECIoT系統中,從邊緣設備層的Edsi傳輸數據到邊緣網關層Egsj,或通過邊緣網關層Egsj傳輸到邊緣服務層Essk的數據傳輸為上傳服務,其上傳服務速率為Ri,j或Ri,k,否則為下載服務,且下載服務的時間和能耗在此忽略不計,其中i∈X,j∈Y,k∈M;又設ECIoT系統可用通信通道為Comm={1,2,…,C},則Commn,m∈{0}∪Comm表示請求n的任務m選擇了通道Commn,m>0上傳,Commn,m=0為任務m在本地設備上執行;若假設所有請求任務的信道分配候選方案為Cancc={c1,1,c1,2,…,c1,m,…,cn,1,…,cn,m},則Commn,m的上傳速率為:
(2)
其中:CBn,m是信道的帶寬,Transpn,m是請求n的任務m的發送功率,CGn,m是信道增益,Cinp是干擾噪聲功率,αi,j是為計算卸載因子,有卸載時αi,j=1,否則αi,j=0.
若ECIoT系統中請求n的任務m的輸入數據大小為An,m,執行該任務所需的處理器周期數用Tccn,m表示,則該任務將在EDsi,Egsj,Egsk(i∈X,j∈Y,k∈M)中選一個設備進行執行,這將涉及到計算時延、能耗和滿意度等.
定義2.假設ECIoT系統中最終子任務Tdsi卸載到Egsj執行,則卸載成本Timeij(tij)為傳輸時間timeij(tij)和子任務執行時間timei(ti)構成,即:
(3)
其中:Ai,j為傳輸數據量、Ri,j為式(2)所描述、Tcci,j為執行子任務Tdsi的Egsj的CPU周期數;di,j表示最終子任務Tdsi提交設備到Egsj的距離;pri,j表示Egsj的CPU處理速率.
由定義2可知,若請求n的任務Tdm,分解為若干最終子任務,即Tdm={Tds1,Tds2,…,Tdsh},則任務Tdm的卸載成本為:
(4)
其中:Tdm表示任務分解為h個最終子任務.因此,ECIoT系統中,有Z個任務的計算卸載時間成本按照式(4)累加[16].

(5)

針對電池供電的設備,需要對其提供經綜合考慮計算負載均衡與通信相關的高效計算卸載算法[17].僅有EDs需要關注能耗,其能耗主要開銷于本地計算、任務卸載和數據傳輸.
若邊緣設備Edsi空閑能耗忽略不計,且設其初始能量為Edei,則在經歷時間t所消耗能量為:
(6)
其中:Ei,lc(tlc)、Ei,dt(tdt)、Ei,oe(toe)分別表示Edsi在時間tlc、tdt、toe完成本地計算、數據傳輸、任務卸載所消耗的能量.
定義3.假設ECIoT系統中,用戶n獲得資源m的體驗函數為fe(xn,m),則體驗函數fe(xn,m)定義為:
fe(xn,m)=1-e-μxn,m
(7)
其中:μ為用戶體驗函數fe(xn,m)的權值因子,且μ>0;xn,m表示用戶獲得的資源.
由定義3可知,fe(xn,m)∈[0,1],但并不是與資源擁有量成線性關系;當用戶n獲得資源多時,的值會逐步向1方向增加,但增速會慢慢放緩.因此,用戶n得到資源m服務滿意度效用函數fn,m(CBn,m)為:
(8)

邊緣設備的本地計算到達具有隨機性,遠端/后端云計算平臺下達的計算命令是隨機的,而ECIoT系統的資源總量是固定的,每個應用程序任務從本地資源庫分配相應的資源以滿足任務執行的要求,但由圖1可知,應用程序任務分解為最終子任務可用資源數是不確定的和模糊的.另一方面,每個任務的約束條件為能耗、執行時間、可靠性、可用性、可卸載度、通信帶寬和鄰居節點相似度等,也具有不確定性和模糊特性.
假定卸載策略和返回策略的計算產生的時延在此不予考慮,則由式(4)、式(5)、式(6)和式(8)可得到系統的時延、能耗和滿意度效用函數,即:
(9)

依據定義1,任務分解為最終子任務時,存在約束為子任務的處理能力、狀態和所處環境,而邊緣層的設備亦具有能力特征、狀態屬性和部署位置等約束[18].因此,ECIoT系統的資源分配問題,就轉化為在子任務約束和邊緣層設備約束下,使得Ttotal和Ern最小,且Utotal最大的資源分配的策略、算法或方法問題.
利用模糊優化方法,建立ECIoT系統的資源分配的模糊模型,并設計算法對模型進行最優化求解.
在ECIoT系統里,任務的產生在周期性里具有隨機特性.為了使隨機任務與模糊資源之間的優化,假設任務間相互獨立且到達時間服從相同的概率分布,每個任務都按照前面描述進行隨機和模糊分解,多個子任務通過計算卸載可在系統多個資源并行運行,而系統總的資源是恒定的.
目標函數為:
其中的各種變量定義服從前面的描述.
系統所有任務經分解為最終子任務后,均需要配置資源,以確保子任務得以執行,因此,系統資源分配應滿足子任務執行的最小資源需求.另外,系統可用的資源總量不超過Star=SEDs∪SESs∪SEGs,Star為系統總的可用資源集合,故有:
(13)
因此,系統總的延時必須滿足:
(14)
(15)
其中:λm表示請求n的任務m的卸載決策因子.
系統中,若請求n的任務m得以執行,其能耗不能多于請求n的初始能量,即得到系統剩余能量約束為:
(16)
同時,滿意度必須滿足以下約束條件,即:
(17)

(18)
即得到目標函數為式(10)、(11)、(12),該目標函數必須在約束式(13)、式(14)、式(15)、式(16)、式(17)和式(18)下,求得最優解,即為ECIoT系統的最優資源分配.
約束條件具有不確定性,在完全滿足條件的可用資源分配到不完全滿足條件間,存在過渡區間.這要求得最優解,必須在所有模糊約束條件下,用模糊優化探索其最優解[19].
1.數據庫:利用2016年以前的國家專利局中國專利文獻數據庫和七國兩組織數據庫及歐洲專利局數據庫有關關鍵詞檢索,獲取潛水醫學相關的國內專利申請文獻,運用智慧牙專利分析軟件對這些專利進行分析。
模糊多目標優化能針對多個互斥與沖突的目標提供多種靈活的決策而被廣泛應用.在ECIoT系統中,系統延時、能耗和滿意度間的關系是模糊的,可使用隸屬函數對模型的多個子優化目標分別進行模糊化處理,以得到模型的最優解.選擇合適隸屬函數是求解模糊優化的前提,故利用文獻[20]的六角模糊數來構造隸屬函數.

(19)
則將0<ζ<1的(ξ1,ξ2,ξ3,ξ4,ξ5,ξ6;ζ)γ稱為非線性六角模糊數(Nonlinear Hexagonal Fuzzy Number,NHFN),函數式(19)稱為NHFN隸屬函數,式(19)的示意圖如圖4所示.
(20)

(21)


圖4 六角模糊數示意圖Fig.4 Schematic diagram of hexagon fuzzy number
對得到的目標函數利用算法1進行轉換,再利用最優化算法搜索最優解.其模糊多目標函數轉換算法,如算法1所示.
算法1.模糊目標函數轉換算法
輸入:設置系統最大容許時延tMad、最大能耗EMec、滿意度μ、初始能量E0
②目標函數和約束條件
③模糊決策水平參數(σ,τ,δ)

output:多目標轉換為單目標的模型
if(σ,τ,δ)//符合要求目標函數有最佳、最有可能和最壞,σ為決策者決策因子;τ,v為決策者偏好級別;權重系數δi
{
if(σi==σ0i) //給定決策因子,每個目標函數具有給定的決策因子初始值,σ0i,i= 1,2,3
{

//flmgv(x)是給定解向量的第v個目標函數的梯形隸屬函數
//多目標轉化為雙目標函數.τv為v個目標函數的最低初值,取決于決策者,且∑τv=1,τv∈[0,1]
//雙目標轉單目標;且θ≤flmgv(x),v=1,2,…,V;δ1,δ2∈[0,1],δ1+δ2=1.
}
return(fsogv(x));
}
else //輸出的單目標不符合要求,重新設置(σ,τ,δ),重新開始
{重新設置(σ,τ,δ)→從該算法開始處重新執行,直到符合要求}
算法1先將多目標模糊問題轉化為單目標問題.對算法1中的fsogv(x)}的最優解,即為多目標模糊函數式(10)、式(11)和式(12)的最優解.因此,利用基于改進遺傳算法的模因算法(Memetic Algorithm Based on Improved Genetic Algorithm,MABIGA)來求解fsogv(x)}的最優解,具體步驟為[21]:
第1步.初始化種群.依據ECIoT系統特點,設計其資源分配優化編碼.任務數為Z,總的資源數為Rnum=X+Y+M;先為fsogv(x)設置初始化種群,并對每個種群進行編碼,并初始化所有約束.
第2步.種群交叉.在fsogv(x)的所有初始化種群中,隨機選擇交叉點,使交叉點后的種群按照反序重新排列,并建立新的子種群.
第3步.種群突變.隨機選擇新產生的子種群進行比賽,將突變的種群轉移到下一代的每個種群;得到的子種群修改為具有一定概率δi的突變算子進行進化,與隨機塊內種群交換突變,每個塊內包括滿足δi∈[0,1]的多個種群,突變算子僅交換種群的相關屬性字符串;在父種群和子種群中,經過突變算子優化得到ksur個幸存者.
第4步.本地搜索.要對fsogv(x)求得最優解,需要對種群交叉和突變進行局部最優化搜索.由此,使用可變領域局部搜索(Variable Neighborhood Local Search,VNLS)算法來提高MABIGA的效率、收斂速度和準確度[22].首先所有幸存者種群隨機生成kmax≤ksur個具有鄰域結構的Rk(k=1,2,…,kmax),并在鄰域Rk中隨機選擇初始解ψ1,對ψ1進行抖動得到解ψ2;然后使用ψ2進行可變鄰域搜索來改進抖動得到的解而得到解ψ3;最后進行邊界判定,達到邊界條件Rkmax,結束搜索,輸出最優解ψ3,否則重新產生初始隨機解重新開始算法;VNLS具體算法如算法2所示.
第5步.新種群產生.經過進化和局部搜索存在后,種群數量大于初始種群數,使用改進關鍵路徑啟發式算法選出優異個體形成新的種群.
第6步.終止算法.檢查得到fsogv(x)的最優解是否符合決策者對該最優解設置的(σ,τ,δ)的要求,若符合則最優解符合要求而停止算法;否則返回第2步,重新執行算法.
算法2.VNLS本地搜索最優解算法
輸入:鄰域結構Rt(t=1,2,…,tmax)
終止條件:迭代最大值tmax≤kmax≤ksur
輸出:局部最優解Ψ3
Ψ1=Randomly_generated_initial_solution();
While (k {t=1; Ψ2=shking(Ψ1);//對隨機初始解Ψ1進行抖動,得到解Ψ2在鄰域進行搜索,若找到最優解, next1:if(t 在Rt里搜索,找到Ψ3 if (fsogv(Ψ2)≥fsogv(Ψ3)) {t=t+1; goto next1;} else {goto next2;} } else {goto next3;} next2:Ψ2=Ψ3; next3:k=k+1; } return Ψ3 由此,通過對模糊目標函數的轉換算法和MABIGA算法求得最優解. 本部分用建立的ECIoT系統資源分配的模糊模型,對系統隨機任務模糊資源分配的方案進行優化與分析. 按照前面ECIoT系統架構的要求,利用臺式電腦、ARM Cortex A8的網關和各種具有無線收發的物聯網邊緣感知設備,構成如圖5所示的實驗環境.實驗時,使用PC機作為邊緣服務器,4個ARM Cortex A8處理器的多協議網關作為邊緣網關,而13個各種具有無線收發的電池供電的物聯網邊緣感知設備作為系統的邊緣設備,直接感知物理世界. 如圖5(a)所示,為用我校物聯網實驗室設備而搭建的實驗環境.傳感器模塊有光照、溫濕度、霍爾、噪聲、火焰、超聲波、震動、氣壓和煙霧等,共用13個感知模塊,其中霍爾傳感器檢測直接變速電機的轉速.所有傳感器模塊均通過帶有CC2530的ZigBee模塊的創新節點與網關的信息交互,創新節點主控芯片為STM32F103VET6處理器.網關采用具有ARM Cortex A8內核的三星電子有限公司的S5PV210芯片,擴展ZigBee、以太、移動4G和藍牙等通信方式,添加虛擬化控制器模塊.邊緣服務端采用三臺實驗室PC機充當. 在創新節點和網關上,分別串入一個采樣電阻,用示波器和萬用表測量程序運行時間和采樣電阻壓降,測量原理如圖5(b)所示.采樣電阻阻值為12.2歐姆,將萬用表的開關調節到mV檔,測量采用電阻端壓降.若節點被分配并執行子任務前,將創新節點的電路板進行LED燈飛線到對應可測試點的引腳,而使其電平拉高,執行完畢之后再將電平拉低,通過示波器測量LED燈引腳高電平的持續時間,即得到該節點運行時間.實物測量如圖5(c)所示. 圖5 實驗環境及測量圖Fig.5 Experimental environment and measurement diagram 依據本文建立的模型、模型求解算法和求解模型時的偏好因子σ(σ={0.45,0.56,0.82}),利用隨機產生NHFN數和ζ,γ值,對模糊目標函數偏好因子σ分解,并進行約束條件的權重δj(j=1,2,…,6,∑δj=1)的隨機產生;再設置最大容忍時延tMad、最大能耗容許值EMec和最低滿意度μs,各感知節點初始能量值E0均為9v380mAh電池.由此得到表1所示的各種參數設定值.實驗的資源總量為邊緣服務器數、邊緣網關數和邊緣設備數之和,即Rnum=Y+M+X=20. 表1 初始化參數設置值Table 1 Value of initialization parameter settings ()b實驗時資源分配數據采集實例圖6 實驗操作參數設計與資源分配的數據采集實例Fig.6 Data collection example of experimental operation parameter design and resource allocation 實驗時先將模糊多目標模型用算法1進行單目標化處理,且用MABIGA算法及算法2求解最優解.在Windows7操作系統下,用微軟公司的Visual C++6.0編寫邊緣服務端程序,邊緣網關在Keil中加載ARM開發環境,用C語言編寫代碼,并通過JTAG下載;創新節點在IAR7.10中用C語言開發,通過JLINK下載燒寫.如圖6(a)所示,在服務器端設置網絡參數,即可與邊緣網關和創新節點進行通信;不同任務對現場不同邊緣網關、不同創新節點傳感器的數據采集,如圖6(b)所示. 實驗測試得到任務1、2、3分解后的子任務數發表為6、10、12,依據表1參數進行參數設置,得到模糊多目標模型的延時tMad、能耗EMec(為完成某任務所有邊緣設備的平均能耗)和計算得到滿意度μs;且資源分配的模糊多目標模型、算法1和MABIGA算法實驗得到的分配的資源序列,如表2的資源分配行所示. 表2 不同任務資源分配實驗數據表Table 2 Experimental data of resource allocation for different tasks 用Matlab對禁忌搜索元啟發式算法(Tabu Search Element Heuristic Algorithm,TSEHA)[23]、捕食搜索算法(Predatory Search Algorithm,PSA)[24]和多目標遺傳算法(Multi-Objective Genetic Algorithm,MoGA)[18]進行仿真資源分配,在時延、能耗和滿意度等方面與本文算法進行同資源下的仿真實驗. 仿真時,任務數為0-40個,且每個任務復雜度相當.分別對不同任務數下,TSEHA、PSA、MoGA和This(本文算法)算法進行延時、能耗、滿意度和邊緣設備資源分配的仿真,得到如圖7所示的仿真圖;其中圖7(a)為延時對比圖,圖7(b)為邊緣設備平均能耗對比圖,圖7(c)為滿意度對比圖,圖7(d)為邊緣設備資源分配對比圖. 由仿真實驗和圖7(a)可知,當任務數小于20時,參比算法和本文算法在延時上的差異較小;當任務數由20增加至25時,各算法的時延增加值為MoGA最大、本文算法最小.從圖7(b)可知,在邊緣設備能耗方面,PSA算法當任務數增加到25以后,其后序隨著任務數的增加,能耗增加較其他算法快,而本文算法能耗增加程度較為平緩.從滿意度來看,TSEHA、PSA和MoGA算法在任務數達到一定量時,若繼續增加任務數,則滿意度呈現明顯的下降,而本文算法隨著任務數的增加而略有增加.圖7(d)對邊緣設備資源分配進行了仿真,TSEHA、PSA、MoGA隨著任務數的增加,邊緣設備資源分配數也隨著增加,本文算法邊緣設備資源分配數在任務達到40而繼續增加任務時,還有剩余資源可分配. 圖7 對比仿真實驗圖Fig.7 Comparison of simulation experiment 本文對物聯網邊緣計算架構進行設計,提出一種含有虛擬化控制器的邊緣網關型物聯網邊緣計算系統架構,并對系統任務分解進行定義和描述.然后,利用模糊優化理論,建立了ECIoT系統資源分配模糊多目標函數模型,利用非線性六角模糊數對目標函數進行求解,提出了多目標向單目標轉換算法和一種基于改進遺傳算法的模因算法的模糊目標函數優化算法.最后,對所提出的ECIoT系統資源分配的模糊優化方法進行實驗和對比仿真,有實驗和仿真可知,本文算法在系統時延、邊緣設備平均能耗、滿意度等方面,都得到比較優異的資源分配結果.5 實驗與仿真
5.1 實驗與分析





5.2 仿真比較

6 總 結