馮亞玲 張 卓 張學(xué)武 徐曉龍
(河海大學(xué)物聯(lián)網(wǎng)工程學(xué)院 常州 213022)
水利工程是配置和增強(qiáng)水資源調(diào)控能力、加強(qiáng)綠色能源發(fā)展的重大工程措施,大壩是水利水電工程建設(shè)的核心,其高質(zhì)高效安全建設(shè)與長(zhǎng)期高效安全運(yùn)行關(guān)系國(guó)計(jì)民生[1]。隨著新一代信息技術(shù)的高速發(fā)展,物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能、云計(jì)算等技術(shù)深度融入筑壩領(lǐng)域,為大壩建造智能化提供了新理念、新技術(shù)、新裝備,形成了動(dòng)態(tài)精細(xì)化可感知、可分析、可控制的智能化大壩建設(shè)與運(yùn)行管理體系,包括信息實(shí)時(shí)感知模塊、聯(lián)通化實(shí)時(shí)傳輸模塊、智能化實(shí)時(shí)分析模塊與智能化實(shí)時(shí)管理決策系統(tǒng)等[2]。
當(dāng)前廣泛應(yīng)用的云計(jì)算技術(shù)[3]具有較強(qiáng)的可靠性和可擴(kuò)展性,然而如果將大數(shù)據(jù)全部卸載到云平臺(tái)可能會(huì)導(dǎo)致網(wǎng)絡(luò)卡頓,從而降低各種應(yīng)用程序總體服務(wù)質(zhì)量(Quality of Service,QoS)。為緩解大數(shù)據(jù)帶來(lái)的網(wǎng)絡(luò)擁塞,業(yè)界提出引入另一項(xiàng)技術(shù),通過(guò)在網(wǎng)絡(luò)邊緣部署邊緣節(jié)點(diǎn)來(lái)提供計(jì)算處理和數(shù)據(jù)存儲(chǔ)的能力,即邊緣計(jì)算[4]。云計(jì)算和邊緣計(jì)算是相輔相成的關(guān)系,云邊協(xié)同技術(shù)[5]將云中心和邊緣節(jié)點(diǎn)協(xié)同處理數(shù)據(jù)的服務(wù)方式能夠充分結(jié)合云中心和邊緣節(jié)點(diǎn)的自身優(yōu)勢(shì),能夠聯(lián)合調(diào)度不同特征的業(yè)務(wù),因此將云邊協(xié)同技術(shù)引入水庫(kù)大壩灌區(qū)視頻監(jiān)控系統(tǒng)具有極高的研究?jī)r(jià)值和應(yīng)用意義。
計(jì)算卸載技術(shù)作為物聯(lián)網(wǎng)應(yīng)用場(chǎng)景中的關(guān)鍵技術(shù),在降低用戶執(zhí)行時(shí)延提升QoS方面起著重要作用?,F(xiàn)階段計(jì)算卸載技術(shù)還在圍繞單一的云計(jì)算與邊緣計(jì)算進(jìn)行研究,本文通過(guò)構(gòu)建一個(gè)云邊協(xié)同計(jì)算環(huán)境來(lái)解決它們之間的任務(wù)協(xié)同調(diào)度問(wèn)題。當(dāng)前部分水庫(kù)大壩灌區(qū)所在的環(huán)境復(fù)雜,因此,不能簡(jiǎn)單地將云邊協(xié)同的計(jì)算卸載技術(shù)應(yīng)用到水庫(kù)大壩灌區(qū)中的視頻監(jiān)控系統(tǒng)中。鑒于此,本文的云邊協(xié)同計(jì)算卸載技術(shù)研究還會(huì)面臨以下科學(xué)問(wèn)題。
1)水壩灌區(qū)地理位置險(xiǎn)要[6],地區(qū)偏遠(yuǎn),危險(xiǎn)點(diǎn)眾多,各監(jiān)測(cè)站點(diǎn)位置分布不均,調(diào)度困難,系統(tǒng)會(huì)面臨癱瘓風(fēng)險(xiǎn)。
2)各監(jiān)測(cè)站點(diǎn)計(jì)算資源分配不均,且視頻監(jiān)控系統(tǒng)中非結(jié)構(gòu)化數(shù)據(jù)[7]占到了大壩日常業(yè)務(wù)數(shù)據(jù)中的很大比例,處理該類業(yè)務(wù),對(duì)系統(tǒng)時(shí)效性要求比較高[8]。
通過(guò)參考云邊協(xié)同卸載技術(shù)在水電廠和配電物聯(lián)網(wǎng)中的研究[6],結(jié)合水壩灌區(qū)視頻監(jiān)控系統(tǒng)中存在的科學(xué)問(wèn)題,本文以滿足低時(shí)延的應(yīng)用需求為目標(biāo),研究了水壩灌區(qū)視頻監(jiān)控系統(tǒng)中的云邊協(xié)同計(jì)算卸載技術(shù),主要貢獻(xiàn)如下。
1)針對(duì)水壩灌區(qū)地理環(huán)境問(wèn)題,提出了云邊協(xié)同的計(jì)算卸載模型。區(qū)域公司作為云中心,監(jiān)測(cè)站點(diǎn)作為邊緣節(jié)點(diǎn),是部署在離生產(chǎn)設(shè)備較近的輕量級(jí)開(kāi)放平臺(tái),并在區(qū)域公司集控側(cè)部署遠(yuǎn)程集控平臺(tái)來(lái)實(shí)現(xiàn)基于需求的業(yè)務(wù)編排,如網(wǎng)絡(luò)資源調(diào)配、計(jì)算資源編排等。
2)針對(duì)計(jì)算資源分配不均和系統(tǒng)高時(shí)效性的問(wèn)題,提出了基于SAGTSA(Simulated-annealingbased Adaptive Genetic Taboo Search Algorithm)算法的計(jì)算卸載方法,使集控側(cè)的遠(yuǎn)程集控平臺(tái)能夠選取最佳的卸載決策。
近年來(lái),業(yè)界提出很多有效的云邊協(xié)同的計(jì)算卸載方法來(lái)降低系統(tǒng)時(shí)延。如文獻(xiàn)[9]提出一種隨機(jī)調(diào)度算法和捎帶式數(shù)據(jù)重部署策略,以實(shí)現(xiàn)降低跨域作業(yè)的平均時(shí)延為優(yōu)化目標(biāo),基于資源異構(gòu)性計(jì)算出系統(tǒng)偏好,并以此偏好調(diào)度每個(gè)計(jì)算任務(wù),但不足之處在于要求數(shù)據(jù)沒(méi)有相關(guān)性。文獻(xiàn)[10]提出一種基于集中控制的資源調(diào)度算法,在已選擇的節(jié)點(diǎn)間采取集中控制的方法來(lái)降低端到端的時(shí)間延遲,但不足之處是只能選擇少量的節(jié)點(diǎn)作為邊緣節(jié)點(diǎn)。文獻(xiàn)[11]提出了一種改進(jìn)的粒子群算法,以實(shí)現(xiàn)低時(shí)延、低能耗的最優(yōu)計(jì)算卸載方案為目標(biāo),但不足之處是基于信譽(yù)值的方法有一定的局限性。文獻(xiàn)[12]提出一種人工魚(yú)群算法,使得系統(tǒng)總時(shí)延降低,但缺點(diǎn)是只能以一定低概率跳出局部最優(yōu)解。在不同業(yè)務(wù)場(chǎng)景下,針對(duì)移動(dòng)增強(qiáng)現(xiàn)實(shí)應(yīng)用場(chǎng)景,文獻(xiàn)[13]中,以優(yōu)化多用戶多任務(wù)的應(yīng)用調(diào)度問(wèn)題為目標(biāo),提出一種有效的調(diào)度算法,但要求每個(gè)應(yīng)用程序要被建模為一個(gè)相互依賴的任務(wù)鏈。在移動(dòng)邊緣計(jì)算網(wǎng)絡(luò)中,文獻(xiàn)[14]以降低所有終端延遲為目標(biāo),研究了協(xié)同計(jì)算卸載、計(jì)算和通信資源分配方案,并提出了基于管道的卸載方案,但不足之處在于要求終端要具備計(jì)算能力。文獻(xiàn)[16]提出一種基于海洋多節(jié)點(diǎn)協(xié)同卸載的遺傳算法,通過(guò)優(yōu)化改進(jìn)染色體編碼方式和適應(yīng)度函數(shù),使用戶在滿足能耗約束的同時(shí)有效地降低時(shí)延,但不足之處在于跳出局部最優(yōu)解的能力偏低。文獻(xiàn)[6]針對(duì)電力物聯(lián)網(wǎng)應(yīng)用場(chǎng)景,以優(yōu)化系統(tǒng)時(shí)延為目標(biāo),基于任務(wù)的數(shù)據(jù)量和邊云計(jì)算資源分配,選擇優(yōu)化的云邊任務(wù)分割比率,但不足之處在于沒(méi)有考慮云中心計(jì)算資源不足的情況。
目前,云邊協(xié)同的計(jì)算卸載研究主要都以減少終端的時(shí)延和能耗為目標(biāo),對(duì)邊緣節(jié)點(diǎn)到云中心這部分的計(jì)算卸載優(yōu)化研究很少。本文構(gòu)建了一種基于云邊協(xié)同的水庫(kù)大壩視頻監(jiān)控系統(tǒng),不同于上述方法,本文主要優(yōu)化邊緣節(jié)點(diǎn)到云計(jì)算中心這一部分的系統(tǒng)卸載時(shí)延,不需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,且是以任務(wù)為單位做出分割,對(duì)數(shù)據(jù)相關(guān)性沒(méi)有要求。與此同時(shí),在文獻(xiàn)[6]的研究基礎(chǔ)上,考慮了邊遠(yuǎn)地區(qū)云服務(wù)器計(jì)算力不足的情況,并在區(qū)域公司集控側(cè)遠(yuǎn)程集控平臺(tái)來(lái)實(shí)現(xiàn)業(yè)務(wù)編排管理,所用算法通過(guò)對(duì)染色體編碼方式和基于模擬退火算法的更新機(jī)制進(jìn)行改進(jìn),并添加了基于TS的存儲(chǔ)機(jī)制,來(lái)對(duì)邊緣節(jié)點(diǎn)收到的任務(wù)選擇最佳的卸載策略和節(jié)點(diǎn)資源分配,以獲得最優(yōu)的系統(tǒng)時(shí)延。
本文構(gòu)建一個(gè)云邊協(xié)同架構(gòu)水庫(kù)大壩視頻監(jiān)控系統(tǒng)基本模型,如圖1所示,主要由區(qū)域公司大數(shù)據(jù)云平臺(tái)、區(qū)域公司集控側(cè)遠(yuǎn)程集控平臺(tái)與區(qū)域站點(diǎn)視頻監(jiān)控系統(tǒng)三大部分組成。
圖1 基于云邊協(xié)同架構(gòu)的水庫(kù)大壩視頻監(jiān)控系統(tǒng)模型
區(qū)域公司大數(shù)據(jù)云平臺(tái)部署了高性能服務(wù)器集群和數(shù)據(jù)庫(kù)。在本文的云邊協(xié)同架構(gòu)中,云服務(wù)器始終作為整個(gè)系統(tǒng)計(jì)算和存儲(chǔ)的中心,能夠?qū)崟r(shí)處理區(qū)域監(jiān)測(cè)站點(diǎn)上傳的任務(wù)。
區(qū)域公司集控側(cè)部署了遠(yuǎn)程集控平臺(tái),能夠?qū)崿F(xiàn)基于需求的業(yè)務(wù)編排和網(wǎng)絡(luò)資源調(diào)配。將SAGTSA算法部署在中央控制器上,對(duì)于邊緣節(jié)點(diǎn)接收的任務(wù)進(jìn)行業(yè)務(wù)編排,將一部分任務(wù)留在邊緣節(jié)點(diǎn),一部分加載至區(qū)域公司云平臺(tái)進(jìn)行處理。
區(qū)域監(jiān)測(cè)站點(diǎn)視頻監(jiān)控系統(tǒng)作為整個(gè)云邊協(xié)同架構(gòu)中的邊緣層,是部署在距離監(jiān)測(cè)設(shè)備較近且是以數(shù)據(jù)中心為核心的輕量級(jí)分布式開(kāi)放平臺(tái),能夠?yàn)闃I(yè)務(wù)間的協(xié)同提供支撐。
3.2.1 云邊協(xié)同計(jì)算卸載場(chǎng)景概述
針對(duì)圖1所示的用于水庫(kù)大壩視頻監(jiān)控業(yè)務(wù)的云邊協(xié)同架構(gòu)模型,本文采用的云邊協(xié)同機(jī)損卸載模型如圖2所示,其中包含一個(gè)云中心和J個(gè)邊緣節(jié)點(diǎn)的邊緣層。在邊緣層中,每個(gè)邊緣節(jié)點(diǎn)都配有服務(wù)器,且針對(duì)不同區(qū)域的地形和通信條件都具備不同的計(jì)算能力。與此同時(shí),我們假設(shè)感知層的終端設(shè)備將任務(wù)上傳至邊緣節(jié)點(diǎn),依據(jù)部署在邊緣節(jié)點(diǎn)的卸載決策結(jié)果執(zhí)行任務(wù),使邊緣節(jié)點(diǎn)中收到的任務(wù)一部分上傳到云管理中心處理,其余部分留在邊緣節(jié)點(diǎn)進(jìn)行處理。
圖2 云邊協(xié)同計(jì)算卸載模型
假設(shè)同一時(shí)間內(nèi)系統(tǒng)有J個(gè)邊緣云覆蓋范圍下的能夠參與計(jì)算調(diào)度的邊緣節(jié)點(diǎn)的集合;Dj,i表示邊緣節(jié)點(diǎn)j收到的第i個(gè)任務(wù)的數(shù)據(jù)量大小。設(shè)邊緣節(jié)點(diǎn)j同時(shí)收到Ij個(gè)任務(wù),根據(jù)卸載策略,其中一部分留在邊緣節(jié)點(diǎn)完成,其余任務(wù)加載至云中心進(jìn)行處理,其中?i∈Ij,Ij={1,2,…,Nj},j∈J。
一般而言,邊緣節(jié)點(diǎn)具備獨(dú)立的通信模塊和計(jì)算模塊,所以邊緣節(jié)點(diǎn)可以計(jì)算任務(wù),與此同時(shí),通信模塊可以將任務(wù)傳輸至云中心進(jìn)行處理。為了簡(jiǎn)化且不失一般性的求解,本文將Bj設(shè)置為每個(gè)邊緣節(jié)點(diǎn)到云中心的帶寬。在視頻監(jiān)控系統(tǒng)中,任務(wù)的計(jì)算結(jié)果足夠小,因此下行鏈路的傳輸時(shí)延可以忽略。此外,本方案主要面向的是大壩實(shí)時(shí)監(jiān)控流,實(shí)時(shí)性要求比較高,其能耗問(wèn)題忽略不計(jì)。
3.2.2 云邊協(xié)同計(jì)算卸載時(shí)延分析
當(dāng)任務(wù)采用邊緣節(jié)點(diǎn)計(jì)算執(zhí)行(即Xi=1時(shí)),那么任務(wù)在邊緣節(jié)點(diǎn)產(chǎn)生的計(jì)算時(shí)延為
其中,Xj,i表示卸載策略,邊緣節(jié)點(diǎn)j的任務(wù)i的卸載策略,“1”和“0”分別表示任務(wù)留在邊緣節(jié)點(diǎn)和加載至“云管理中心”處理。αj,i邊緣節(jié)點(diǎn)j分配給任務(wù)i的計(jì)算能力占比,Dj,i表示邊緣節(jié)點(diǎn)j上任務(wù)i的數(shù)據(jù)量大小,fjedge表示邊緣節(jié)點(diǎn)j服務(wù)器的計(jì)算能力(CPU cycles/s)。
當(dāng)任務(wù)采用云中心計(jì)算執(zhí)行(即Xj,i=0時(shí)),任務(wù)在云中心產(chǎn)生的計(jì)算時(shí)延:
其中,βj,i表示云中心分配給邊緣節(jié)點(diǎn)j的任務(wù)i的計(jì)算能力占比,fcore云管理中心服務(wù)器的計(jì)算能力(CPU cycles/s)。
關(guān)于任務(wù)產(chǎn)生的傳輸時(shí)延,若直接卸載到云計(jì)算中心,則時(shí)延為
其中,Bj邊緣節(jié)點(diǎn)j到云中心的帶寬。
若經(jīng)邊緣節(jié)點(diǎn)處理后再將結(jié)果上傳到云中心,則時(shí)延為
其中Zj,i表示邊緣節(jié)點(diǎn)j的第i個(gè)任務(wù)處理后,輸出數(shù)據(jù)對(duì)輸入數(shù)據(jù)的壓縮率。
那么傳輸時(shí)延為
其中,Pj,i=1-Zj,i。
當(dāng)任務(wù)數(shù)過(guò)多,云中心計(jì)算力會(huì)有些不足,則相應(yīng)產(chǎn)生等候時(shí)延:
卸載到云中心的時(shí)延應(yīng)為計(jì)算時(shí)延、傳輸時(shí)延與排隊(duì)等候時(shí)延之和,即為
綜上,完成單個(gè)任務(wù)所產(chǎn)生的時(shí)延為
則整個(gè)視頻監(jiān)控系統(tǒng)的時(shí)延優(yōu)化問(wèn)題可描述為P1:
其中,目標(biāo)函數(shù)中的λj,i為權(quán)重。C1是對(duì)邊緣節(jié)點(diǎn)j分配給任務(wù)i的計(jì)算能力占比αj,i的約束,C2是云中心分配給邊緣節(jié)點(diǎn)j的任務(wù)i的計(jì)算能力占比βj,i的約束,C3是對(duì)任務(wù)時(shí)延權(quán)重λj,i的約束,C4是對(duì)卸載決策Xj,i的約束。為簡(jiǎn)化求解,我們假設(shè)以下分析中所有的任務(wù)的時(shí)延權(quán)重都是相同的。
為解決水庫(kù)大壩云邊協(xié)同機(jī)制下視頻監(jiān)控系統(tǒng)業(yè)務(wù)時(shí)延優(yōu)化問(wèn)題,本文采用了一種基于SAGTSA(Simulated-annealing-based Adaptive Genetic Taboo Search Algorithm)的云邊協(xié)同計(jì)算卸載方法。針對(duì)傳統(tǒng)遺傳算法過(guò)早收斂的問(wèn)題,本文的SAGTSA算法通過(guò)充分結(jié)合了模擬退火算法的全局收斂性和適應(yīng)性,以及禁忌搜索策略所具備的較強(qiáng)的攀爬能力和較高的效率,具有較強(qiáng)的收斂性和適應(yīng)性。具體地,優(yōu)化與改進(jìn)了染色體編碼方式、解的更新機(jī)制和自適應(yīng)交叉概率以及自適應(yīng)變異概率[15],使得系統(tǒng)尋找到最優(yōu)計(jì)算卸載策略并提升系統(tǒng)時(shí)延有效性。
在對(duì)優(yōu)化變量進(jìn)行編碼時(shí),由于采用邊緣節(jié)點(diǎn)與云中心計(jì)算節(jié)點(diǎn)協(xié)同處理數(shù)據(jù)的計(jì)算卸載策略;因此首先需要對(duì)每個(gè)任務(wù)與其所在的邊緣節(jié)點(diǎn)與云中心的計(jì)算能力分配比例進(jìn)行編號(hào),之后在每條染色體上用二進(jìn)制編碼的方式表示出來(lái)。若J個(gè)邊緣節(jié)點(diǎn)共收到N個(gè)任務(wù),其中,任務(wù)上傳到的邊云計(jì)算節(jié)點(diǎn)編號(hào)用計(jì)算卸載決策XN表示,且計(jì)算能力分配比例邊云計(jì)算資源分配比例αN、βN表示。具體編碼過(guò)程如圖3所示,x1~xn,α1~αn,β1~βn分別表示任務(wù)計(jì)算卸載決策和對(duì)應(yīng)邊緣節(jié)點(diǎn)與云中心計(jì)算資源分配比例。在本文中,假設(shè)種群數(shù)量為S,A1,A2,…,Ai表示在當(dāng)前種群中每個(gè)可能存在的解,個(gè)體i的適應(yīng)度為,本文的選擇操作采用fitness(Ai)輪盤賭的選擇方式,個(gè)體被選中的概率為如式(10):
圖3 優(yōu)化變量編碼圖
其中適應(yīng)度函數(shù)如式(11)所示:
傳統(tǒng)遺傳算法的交叉概率和變異概率均為固定值。在演化過(guò)程中,很容易陷入局部最優(yōu)狀態(tài)。根據(jù)種群的適應(yīng)度值對(duì)交叉概率和突變概率進(jìn)行自適應(yīng)調(diào)整,有利于算法跳出局部最優(yōu)值。自適應(yīng)的交叉概率PJ和變異概率Pm分別為
在進(jìn)行交叉操作和變異操作后,根據(jù)玻爾茲曼機(jī)制,接受新染色體的概率如式(14)所示:
tg為第g次迭代中當(dāng)前溫度。
此外,算法通過(guò)設(shè)置禁忌表,避免了對(duì)局部最優(yōu)解的重復(fù)搜索,并通過(guò)設(shè)置“大赦免標(biāo)準(zhǔn)”來(lái)確保搜索過(guò)程的多樣性。
下面將具體介紹應(yīng)用SAGTSA算法求解水庫(kù)大壩時(shí)延優(yōu)化問(wèn)題的過(guò)程。
每條染色體表示一種計(jì)算卸載策略Ai包括卸載決策XN邊緣節(jié)點(diǎn)與云中心計(jì)算能力分配比例αN、βN。此外,計(jì)算卸載策略Ai交叉變異前后的適應(yīng)度可分別用fitness(Ai)與fitnessn(Ai)表示,具體步驟如下:
輸入:邊緣計(jì)算節(jié)點(diǎn)計(jì)算能力fjedge、計(jì)算能力fcore、任務(wù)數(shù)量N、邊緣節(jié)點(diǎn)j到云管理中心的帶寬Bj、經(jīng)邊緣節(jié)點(diǎn)j的第i個(gè)任務(wù)處理后輸出數(shù)據(jù)對(duì)輸入數(shù)據(jù)的壓縮率Zj,i和任務(wù)數(shù)據(jù)量Dj,i。
輸出:最優(yōu)計(jì)算卸載決策XN、邊云計(jì)算資源分配比例αN、βN表示、計(jì)算卸載策略對(duì)應(yīng)時(shí)延tj,i(Ai)。
步驟1(參數(shù)設(shè)置):設(shè)置染色體數(shù)量S、最大迭代次數(shù)G、卸載策初始交叉概率PJ0、變異操作的初始概率Pm0,初始溫度tg=t0,冷卻率ε,禁忌表長(zhǎng)度L并設(shè)置禁忌表為空。每次迭代不同的計(jì)算卸載策略數(shù)目;
步驟2(種群初始化):根據(jù)式(10)得出每種計(jì)算卸載策略對(duì)應(yīng)的染色體的適應(yīng)度。
步驟3(選擇操作):將本次迭代中所有可能的計(jì)算卸載策略按照其概率Pi(可根據(jù)式(9)計(jì)算每種計(jì)算卸載策略的選擇概率)大小進(jìn)行累加排序。如果Pi>Pr(與本次迭代染色體數(shù)目相同0-1之間的隨機(jī)數(shù)Pr,在排序時(shí)均勻產(chǎn)生),那么就選擇該計(jì)算卸載策略進(jìn)行后續(xù)操作,持續(xù)此選擇操作直到能夠選出足夠數(shù)量的計(jì)算卸載策略,并根據(jù)輪盤賭的方法選出最優(yōu)解。
步驟4(終止條件判斷):判斷是否滿足終止條件,滿足則終止算法,輸出最優(yōu)計(jì)算卸載策略Ai及系統(tǒng)對(duì)應(yīng)時(shí)延,否則進(jìn)行步驟5。
步驟5(交叉操作):每次將兩個(gè)卸載策略分為一組,根據(jù)概率PJ令這兩種卸載策略進(jìn)行交叉操作來(lái)產(chǎn)生新的計(jì)算卸載策略,根據(jù)玻爾茲曼機(jī)制判斷是否接受新的染色體。
步驟6(變異操作):在每種計(jì)算卸載策略的三個(gè)點(diǎn)位上以概率Pm來(lái)進(jìn)行變異操作,并根據(jù)玻爾茲曼機(jī)制判斷是否接受新的染色體。
步驟7(更新禁忌表):將已經(jīng)選擇的最優(yōu)解放入禁忌表避免被重復(fù)選擇。
步驟8(收斂性判斷):如果滿足收斂條件則執(zhí)行步驟7,否則降低溫度并返回步驟3。并選擇出適應(yīng)度值最小的計(jì)算卸載策略Ai并終止循環(huán)。
步驟9(確定候選解):將當(dāng)前解作為TS算法的初始解,生成當(dāng)前解的鄰域,并從該鄰域中確定候選解。
步驟10(判斷是否滿足大赦準(zhǔn)則):判斷候選解是否滿足大赦準(zhǔn)則,如果滿足,則以候選解作為當(dāng)前最優(yōu)解,更新表和當(dāng)前狀態(tài),返回步驟3,否則執(zhí)行下一個(gè)操作。
步驟11:選擇最優(yōu)解作為當(dāng)前解,然后返回到步驟3。
根據(jù)水庫(kù)大壩云邊協(xié)同計(jì)算卸載模型,本文采用Matlab2019軟件模擬了在水庫(kù)大壩業(yè)務(wù)應(yīng)用背景下邊緣節(jié)點(diǎn)和云中心協(xié)同處理多個(gè)計(jì)算任務(wù)的網(wǎng)絡(luò)場(chǎng)景[15]。設(shè)邊緣節(jié)點(diǎn)數(shù)為J=6,每個(gè)節(jié)點(diǎn)任務(wù)數(shù)為10。其他仿真參數(shù)由表1所示。我們?cè)O(shè)置迭代次數(shù)G=100,這是由于SAGTSA算法經(jīng)過(guò)多次實(shí)驗(yàn)驗(yàn)證發(fā)現(xiàn)其在迭代100次以內(nèi)均可實(shí)現(xiàn)穩(wěn)定收斂。SAGTSA算法中種群數(shù)量S=70,染色體的初始交叉概率為PJ0=0.6,初始變異概率為Pm0=0.07,變異點(diǎn)數(shù)目為3。禁忌表長(zhǎng)度L=5,冷卻率ε=0.98。
表1 主要仿真參數(shù)
本文對(duì)系統(tǒng)時(shí)延隨邊緣節(jié)點(diǎn)任務(wù)數(shù)的變化做出了仿真實(shí)驗(yàn)與分析,并為突出本文云邊協(xié)同方案的優(yōu)越性,找到三個(gè)對(duì)比方案,分別為:1)僅邊方案(Only Edge Computation Scheme,OECS):邊緣節(jié)點(diǎn)收到的任務(wù)不上傳到云中心均在邊緣節(jié)點(diǎn)執(zhí)行,主要為信息獲取業(yè)務(wù),簡(jiǎn)稱OECS;2)僅云方案(Only Cloud Computation Scheme,OCCS):邊緣節(jié)點(diǎn)收到的任務(wù)都不經(jīng)邊緣節(jié)點(diǎn)處理都上傳到云中心的服務(wù)器執(zhí)行。主要為決策分析業(yè)務(wù)和大壩壩體變形監(jiān)測(cè)業(yè)務(wù)等,簡(jiǎn)稱OCCS;3)隨機(jī)卸載方案(Random Unloading Scheme,RUS):邊緣節(jié)點(diǎn)收到的任務(wù)隨機(jī)上傳至云中心或留在邊緣節(jié)點(diǎn)進(jìn)行處理,渠道站點(diǎn)視頻監(jiān)控業(yè)務(wù)為主。
本文對(duì)SAGTSA算法在邊緣節(jié)點(diǎn)收到不同任務(wù)數(shù)的情況下的所得到的迭代收斂效果進(jìn)行了驗(yàn)證分析,如圖4所示,以證實(shí)在有限的迭代次數(shù)內(nèi)SAGTSA算法能夠?qū)崿F(xiàn)穩(wěn)定收斂。圖4中,SAGTSA算法在邊緣節(jié)點(diǎn)收到不同任務(wù)數(shù)的情況下得到的系統(tǒng)執(zhí)行時(shí)延隨著迭代次數(shù)的逐漸增大逐漸減小,除了一部分情況在迭代100次以內(nèi)實(shí)現(xiàn)穩(wěn)定收斂以外,大部分大約在迭代30次時(shí)均可實(shí)現(xiàn)其對(duì)應(yīng)情況下的實(shí)現(xiàn)穩(wěn)定收斂并得到其對(duì)應(yīng)計(jì)算卸載最優(yōu)解。經(jīng)過(guò)仿真分析,可以看出SAGTSA算法的運(yùn)算量較低,并且其在邊緣節(jié)點(diǎn)收到不同的任務(wù)數(shù)的情況下都能實(shí)現(xiàn)在有限迭代次數(shù)內(nèi)的達(dá)到速度較快的穩(wěn)定收斂的指標(biāo)。
圖4 SAGTSA算法迭代收斂
如圖5,方案OECS中,仿真發(fā)現(xiàn)當(dāng)實(shí)驗(yàn)中每個(gè)邊緣節(jié)點(diǎn)收到的任務(wù)數(shù)增加時(shí),系統(tǒng)時(shí)延也隨之增加,這是由于OECS僅依賴于邊緣節(jié)點(diǎn)的計(jì)算資源,在增加任務(wù)數(shù)而節(jié)點(diǎn)數(shù)量不變的情況下,每個(gè)任務(wù)分配到的計(jì)算資源相對(duì)減少。
圖5 不同卸載策略對(duì)系統(tǒng)時(shí)延的影響
方案OCCS中,實(shí)驗(yàn)中當(dāng)回程通信能力固定時(shí),同理,由于方案OCCS依賴于云中心的計(jì)算能力,系統(tǒng)時(shí)延隨節(jié)點(diǎn)任務(wù)數(shù)增加(此時(shí)單個(gè)任務(wù)分到的計(jì)算資源減少)而增加。但當(dāng)節(jié)點(diǎn)收到的任務(wù)數(shù)增加時(shí),由于云中心計(jì)算能力遠(yuǎn)大于單個(gè)邊緣節(jié)點(diǎn),方案OCCS相較方案OECS而言影響較小,云中心計(jì)算資源遠(yuǎn)大于單個(gè)邊緣節(jié)點(diǎn)計(jì)算資源。在方案RUS中,相較于前兩種方案其具有更好的系統(tǒng)時(shí)效性。但隨著節(jié)點(diǎn)任務(wù)數(shù)的增多邊云各自需要處理的任務(wù)也會(huì)較多。此時(shí)并行處理的優(yōu)勢(shì)降低,其系統(tǒng)時(shí)延趨勢(shì)逐漸趨向方案OCCS。而本文提出的云邊協(xié)同方案克服了隨機(jī)策略的缺陷,其可根據(jù)節(jié)點(diǎn)任務(wù)數(shù)和邊云計(jì)算資源等參數(shù)自適應(yīng)做出卸載決策,相較前三種方案有更低的系統(tǒng)時(shí)延。
此外,為突出本文SAGTSA算法的收斂效果,本文與三個(gè)經(jīng)典傳統(tǒng)算法做出效果對(duì)比,分別為:1)GA優(yōu)化[15](Genetic Algorithm Optimization):將傳統(tǒng)遺傳算法應(yīng)用到云邊協(xié)同計(jì)算卸載策略中,簡(jiǎn)稱GA;2)AFSA優(yōu)化(Artificial Fish Swarm Algorithm Optimization):將文獻(xiàn)[12]傳統(tǒng)人工魚(yú)群算法應(yīng)用到云邊協(xié)同計(jì)算卸載策略中,簡(jiǎn)稱AFSA;3)PSO方案(Particle Swarm Optimization):將文獻(xiàn)[16~17]中粒子群優(yōu)化算法應(yīng)用到視頻監(jiān)控系統(tǒng)的云邊協(xié)同計(jì)算卸載策略中,簡(jiǎn)稱PSO。
圖6~圖8是SAGTSA與其他算法之間優(yōu)化效果對(duì)比。圖7進(jìn)一步驗(yàn)證了當(dāng)J=6,任務(wù)數(shù)為10,Dj,i=500KB時(shí)的迭代收斂情況。隨著迭代次數(shù)的增加,四種算法的平均適應(yīng)度值均不同程度地增加,本文的SAGTSA算法對(duì)應(yīng)的適應(yīng)度值最高。這主要是由于SAGTSA算法結(jié)合模擬退火算法和禁忌搜索策略對(duì)傳統(tǒng)GA算法進(jìn)行了改進(jìn),使得其能跳出局部最優(yōu)解的能力增強(qiáng)。其他方案由于參數(shù)相對(duì)固定,跳出局部最優(yōu)解的能力有限。圖7驗(yàn)證了不同算法隨任務(wù)數(shù)的變化對(duì)時(shí)延的影響,可以看出隨任務(wù)數(shù)的增加,各個(gè)算法產(chǎn)生的系統(tǒng)時(shí)延也隨之增加,而本文的SAGTSA算法明顯優(yōu)于其他算法。圖8中,驗(yàn)證了在任務(wù)數(shù)為5,J=6時(shí),隨節(jié)點(diǎn)輸入數(shù)據(jù)量的變化任務(wù)平均時(shí)延的變化??梢钥闯?,隨數(shù)據(jù)量的增加,各個(gè)算法得出的任務(wù)平均時(shí)延均不同程度的增加,本文的SAGTSA算法在尋優(yōu)方面體現(xiàn)了較強(qiáng)的優(yōu)越性。
圖6 不同算法間的迭代性能比較
圖7 不同算法隨任務(wù)數(shù)的變化對(duì)時(shí)延的影響
圖8 隨節(jié)點(diǎn)輸入數(shù)據(jù)量任務(wù)平均時(shí)延的變化
本文提出了一種在云邊協(xié)同架構(gòu)下水庫(kù)大壩優(yōu)化系統(tǒng)時(shí)延的方法,通過(guò)部署在區(qū)域公司集控側(cè)的SAGTSA算法對(duì)邊緣節(jié)點(diǎn)收到的任務(wù)進(jìn)行卸載決策,利用邊云協(xié)同處理來(lái)減小任務(wù)的計(jì)算時(shí)延,將一部分任務(wù)留在邊緣節(jié)點(diǎn)處理,剩余的任務(wù)全部上傳至云中心處理,仿真結(jié)果證明此方案使系統(tǒng)具有較高的系統(tǒng)時(shí)效性。