李 斌,沈 淵,汪澍萌
(揚(yáng)州市職業(yè)大學(xué),江蘇 揚(yáng)州 225009)
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,各類智能家居、可穿戴設(shè)備的普及率越來越高,大大改善了人們的生活質(zhì)量及生產(chǎn)效率。然而,物聯(lián)網(wǎng)技術(shù)在應(yīng)用過程中會(huì)產(chǎn)生海量的感知數(shù)據(jù),如果將這些數(shù)據(jù)都直接發(fā)送至云計(jì)算平臺(tái)會(huì)為網(wǎng)絡(luò)帶來很大的流量負(fù)擔(dān),從而影響到數(shù)據(jù)與傳感器之間的傳輸效率,降低用戶體驗(yàn)。在這種背景下,邊緣網(wǎng)絡(luò)設(shè)備可用于設(shè)備附近物聯(lián)網(wǎng)設(shè)備感知數(shù)據(jù)的處理,物聯(lián)網(wǎng)感知終端將數(shù)據(jù)發(fā)送至邊緣設(shè)備,由其處理后再響應(yīng)用戶或者將結(jié)果發(fā)送至云端,整個(gè)過程可以最大限度減少主干網(wǎng)絡(luò)的流量,提高數(shù)據(jù)處理效率[1]。
邊緣計(jì)算網(wǎng)絡(luò)主要包括云、邊、端三層架構(gòu)。其中,云計(jì)算層的主要作用是根據(jù)需求提供服務(wù)資源及計(jì)算能力,邊緣層則主要提供服務(wù)資源。雖然云計(jì)算具備強(qiáng)大的計(jì)算能力,擁有豐富的服務(wù)資源,但是云計(jì)算不考慮數(shù)據(jù)量、網(wǎng)絡(luò)連接質(zhì)量及任務(wù)容忍延時(shí)等參數(shù),而邊緣層的服務(wù)資源雖然遠(yuǎn)遠(yuǎn)比不上云計(jì)算層,但是可以對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,數(shù)據(jù)源、云中心路徑上都分布有大量設(shè)備,這些設(shè)備本身的計(jì)算及存儲(chǔ)功能可以為邊緣計(jì)算的數(shù)據(jù)預(yù)處理提供支持,經(jīng)過預(yù)處理的數(shù)據(jù)再返回至終端層[2]。與云計(jì)算相比,邊緣計(jì)算具有實(shí)時(shí)性好、成本低、安全性高等諸多優(yōu)勢(shì),二者的區(qū)別主要包括以下幾個(gè)方面:云計(jì)算的計(jì)算位置在遠(yuǎn)程網(wǎng)絡(luò)中心,而邊緣計(jì)算更靠近位置;云計(jì)算采用集中式的計(jì)算模型,邊緣計(jì)算采用分布式計(jì)算模型;云計(jì)算的計(jì)算能力及存儲(chǔ)能力都大于邊緣計(jì)算,但是邊緣計(jì)算的相對(duì)執(zhí)行延遲更低,在設(shè)備通信過程中,帶寬、網(wǎng)絡(luò)等均會(huì)對(duì)云計(jì)算設(shè)備的通信產(chǎn)生限制作用,而邊緣計(jì)算可以實(shí)現(xiàn)實(shí)時(shí)交互;在處理任務(wù)安全性方面,邊緣計(jì)算的安全性要大于云計(jì)算且邊緣計(jì)算成本更低。因此,在實(shí)際大數(shù)據(jù)物聯(lián)網(wǎng)應(yīng)用中,往往采用云計(jì)算與邊緣計(jì)算互補(bǔ)的形式,既滿足物聯(lián)系統(tǒng)應(yīng)用智能、優(yōu)化數(shù)據(jù),又能夠?qū)崿F(xiàn)實(shí)時(shí)業(yè)務(wù)、敏捷鏈接,還能夠保障用戶的安全與隱私[3]。
計(jì)算卸載是指將終端設(shè)備計(jì)算任務(wù)交付給邊緣服務(wù)器或云計(jì)算中心進(jìn)行任務(wù)計(jì)算的技術(shù)。由于終端設(shè)備無論是計(jì)算能力還是資源方面都十分有限,一些資源密集型任務(wù)或者延遲敏感型任務(wù)無法通過終端設(shè)備完成,而通過計(jì)算卸載可以提高終端設(shè)備的處理能力,優(yōu)化用戶體驗(yàn),彌補(bǔ)終端設(shè)備計(jì)算能力較差、存儲(chǔ)資源較少等不足。不過在高負(fù)載時(shí)期邊緣服務(wù)器無論是計(jì)算能力還是計(jì)算資源都無法滿足大量的卸載請(qǐng)求,此時(shí)就需要與云中心聯(lián)合進(jìn)行卸載計(jì)算,并通過邊緣協(xié)同應(yīng)用重復(fù)利用任務(wù)卸載計(jì)算結(jié)果[4]。多個(gè)因素均會(huì)對(duì)計(jì)算卸載決策產(chǎn)生影響,比如網(wǎng)絡(luò)鏈路質(zhì)量、終端設(shè)備性能、邊緣服務(wù)器性能等,需要考慮是否可卸載新的任務(wù)。如果可以卸載,是全部卸載,還是部分卸載,在哪里執(zhí)行卸載計(jì)算等。同一個(gè)應(yīng)用各個(gè)任務(wù)之間可以是并行關(guān)系,也可能是連續(xù)串行關(guān)系,確定卸載策略時(shí)需要考慮計(jì)算任務(wù)之間的順序關(guān)系。
在工業(yè)環(huán)境中,大規(guī)模的生產(chǎn)設(shè)備在運(yùn)行過程中會(huì)產(chǎn)生大量需要實(shí)時(shí)處理的任務(wù),為保證任務(wù)處理的時(shí)效性,減少能耗,本研究提出一個(gè)基于任務(wù)優(yōu)先級(jí)的自適應(yīng)卸載策略。先將確定計(jì)算任務(wù)優(yōu)先級(jí),分析時(shí)延要求、任務(wù)類型、數(shù)據(jù)量大小、計(jì)算資源等,確定任務(wù)卸載平臺(tái),賦予能耗、時(shí)延不同的權(quán)重,構(gòu)建卸載到移動(dòng)邊緣計(jì)算服務(wù)器任務(wù)的目標(biāo)函數(shù),再利用Q學(xué)習(xí)動(dòng)態(tài)確定該目標(biāo)函數(shù)任務(wù)卸載位置,合理分配計(jì)算資源。
本研究提出的多層IIoT的邊緣計(jì)算(MEC)網(wǎng)絡(luò)模型如圖1所示。
圖1 多層IIoT的MEC網(wǎng)絡(luò)模型
本系統(tǒng)架構(gòu)主要包括3層。終端層包含本地CPU的終端設(shè)備層。任務(wù)類型包括產(chǎn)品分析、勞動(dòng)力管理、作業(yè)規(guī)范、故障預(yù)測(cè)、內(nèi)部監(jiān)控及需求預(yù)測(cè)等。邊緣層主要是MEC服務(wù)器以及云服務(wù)器。云服務(wù)器的部署位置距離終端設(shè)備距離較遠(yuǎn),即使其具備較高的計(jì)算能力,也會(huì)在處理任務(wù)時(shí)產(chǎn)生傳輸時(shí)延,從而影響設(shè)備的響應(yīng)速度,因此諸如產(chǎn)品分析之類的任務(wù)量大、優(yōu)先等級(jí)低的任務(wù)通過云服務(wù)器進(jìn)行處理。相比云服務(wù)器,邊緣層服務(wù)器的計(jì)算能力相對(duì)較弱,但是其與終端層設(shè)備距離較近,時(shí)延較低,因此諸如預(yù)測(cè)分析等對(duì)時(shí)延較敏感的中優(yōu)先級(jí)任務(wù)可以通過邊緣層服務(wù)器進(jìn)行計(jì)算。終端設(shè)備層CPU計(jì)算能力最弱,不過其不存在傳輸時(shí)延的問題,因此諸如應(yīng)急反應(yīng)之類的高優(yōu)先級(jí)任務(wù)主要通過本地CPU進(jìn)行處理。由此可見,在該物聯(lián)網(wǎng)網(wǎng)絡(luò)模型中要提高任務(wù)卸載成功率,需要解決處理任務(wù)產(chǎn)生的時(shí)延問題及任務(wù)的處理優(yōu)先等級(jí)問題。
任務(wù)類型不同,其重要程度、對(duì)時(shí)延的要求也各不相同,因此有必要?jiǎng)澐秩蝿?wù)的優(yōu)先級(jí),對(duì)任務(wù)進(jìn)行差異化處理,以提高任務(wù)的服務(wù)質(zhì)量及完成率。本研究劃分任務(wù)優(yōu)先級(jí)采用層次分析法,該方法在評(píng)價(jià)任務(wù)的優(yōu)先等級(jí)時(shí),主要考慮任務(wù)類型、數(shù)據(jù)大小、截止時(shí)延、需要CPU周期數(shù)4個(gè)指標(biāo)。其中,任務(wù)類型的權(quán)重最高。對(duì)同一層次的因素進(jìn)行比較,構(gòu)建層次分析矩陣如式(1):
(1)
Λ=[λ1,λ2,…λc]T
(2)
第c個(gè)影響因素的權(quán)重如式(3):
(3)
根據(jù)各個(gè)影響因素可構(gòu)建以下任務(wù)矩陣K,如式(4):
(4)
最終可確定任務(wù)優(yōu)先級(jí)值如下式(5):
(5)
3.3.1 本地計(jì)算模型
(6)
(7)
上式中Jm表示工業(yè)設(shè)備m每單位CPU周期能耗。
在評(píng)價(jià)任務(wù)執(zhí)行效率過程中,時(shí)延及能耗均為重要指標(biāo),故本地執(zhí)行某項(xiàng)任務(wù)的總成本可通過式(8)表示:
(8)
上式中:λ1表示任務(wù)執(zhí)行時(shí)延權(quán)值;λ2表示任務(wù)能耗權(quán)值,二者之和為1。
3.3.2 MEC計(jì)算模型
如上述任務(wù)在MEC服務(wù)器中卸載,則任務(wù)會(huì)產(chǎn)生任務(wù)傳輸至MEC服務(wù)器的傳輸時(shí)延、MEC服務(wù)器處理任務(wù)的執(zhí)行時(shí)延、處理結(jié)果向設(shè)備終端傳輸時(shí)的傳輸時(shí)延。實(shí)際計(jì)算中任務(wù)在MEC服務(wù)器與云服務(wù)器處理后的處理結(jié)果遠(yuǎn)遠(yuǎn)小于輸入數(shù)據(jù)量,下載數(shù)據(jù)速率高于上傳數(shù)據(jù)速率,因此MEC服務(wù)器執(zhí)行km時(shí)產(chǎn)生的總時(shí)延可用式(9)表示:
(9)
MEC服務(wù)器執(zhí)行km時(shí)產(chǎn)生的總成本如式(10):
(10)
3.3.3 云計(jì)算模型
如上述任務(wù)在云服務(wù)器層進(jìn)行卸載,則任務(wù)會(huì)產(chǎn)生任務(wù)上傳至云服務(wù)器層產(chǎn)生的傳輸時(shí)延、云服務(wù)器處理計(jì)算時(shí)延、云服務(wù)器向設(shè)備返回處理結(jié)果的傳輸時(shí)延等。云服務(wù)器執(zhí)行任務(wù)時(shí)的總時(shí)延如式(11):
(11)
由于云服務(wù)器的計(jì)算資源比較豐富,故任務(wù)在云服務(wù)器層的消耗可忽略不計(jì),其總成本如式(12):
(12)
面向工業(yè)物聯(lián)網(wǎng)的邊緣計(jì)算卸載過程中,MEC服務(wù)器的計(jì)算資源高于本地CPU,但是相比云服務(wù)器層仍然十分有限,因此需要將系統(tǒng)的任務(wù)卸載和資源分配建模為優(yōu)化問題??梢酝ㄟ^尋找最佳的卸載決策向量、計(jì)算資源向量來建立問題公式[5]。由上述可知,不同的位置執(zhí)行卸載任務(wù)的能耗及時(shí)延均不相同,一般情況下本地CPU處理重要程度高、計(jì)算量小、對(duì)時(shí)延高度敏感的任務(wù),MEC服務(wù)器則處理對(duì)時(shí)延敏感度相對(duì)較高的任務(wù),云服務(wù)器層則處理時(shí)延敏感度低、計(jì)算量相對(duì)較大的任務(wù)。在面向工業(yè)物聯(lián)網(wǎng)環(huán)境中,任務(wù)量、任務(wù)類型是一個(gè)持續(xù)變化的過程,計(jì)算資源的分配需要充分考慮這些變化,可以采用基于任務(wù)優(yōu)先級(jí)的自適應(yīng)卸載策略。在具體卸載過程中,先對(duì)任務(wù)優(yōu)先等級(jí)做出排序,再根據(jù)上次卸載情況確定執(zhí)行卸載任務(wù)的層級(jí),針對(duì)MEC服務(wù)器層中的卸載任務(wù),可以利用Q學(xué)習(xí)方法向MEC服務(wù)器分配計(jì)算資源,并確定具體卸載到哪個(gè)服務(wù)器。卸載任務(wù)可以按照高、中、低分為3個(gè)級(jí)別。假設(shè)上次執(zhí)行卸載任務(wù)時(shí),本地CPU執(zhí)行任務(wù)量10個(gè),MEC服務(wù)器執(zhí)行任務(wù)量25個(gè),云服務(wù)器層執(zhí)行任務(wù)量15個(gè),則本次的任務(wù)執(zhí)行比例也可參照上述執(zhí)行比例進(jìn)行分配,同時(shí)還要保證本地執(zhí)行任務(wù)成功,才能盡量降低本地計(jì)算資源的消耗,因此需要判斷本地CPU執(zhí)行任務(wù)時(shí)的時(shí)延。如任務(wù)截止時(shí)延前本地CPU能夠完成任務(wù)的執(zhí)行過程,則該任務(wù)由本地CPU完成即可;若無法完成,則由MEC服務(wù)器來完成。MEC服務(wù)器執(zhí)行任務(wù)需要考慮資源分配問題,這個(gè)過程可以利用強(qiáng)化學(xué)習(xí)的方法選擇任務(wù)卸載的具體位置。MEC服務(wù)器計(jì)算能力有限,且隨時(shí)被占用,不同任務(wù)、不同時(shí)間的請(qǐng)求生成率、數(shù)據(jù)量大小均不斷發(fā)生變化。強(qiáng)化學(xué)習(xí)系統(tǒng)可以通過對(duì)環(huán)境的探索、接收反饋形成自適應(yīng)模型,即使沒有大量標(biāo)記數(shù)據(jù),也能夠與環(huán)境進(jìn)行持續(xù)交互,在獲得反饋后更新行動(dòng)策略,以更好地適應(yīng)環(huán)境,并制定決策序列實(shí)現(xiàn)自適應(yīng)決策[6]。
邊緣計(jì)算技術(shù)有效解決了物聯(lián)網(wǎng)感知移動(dòng)終端向云數(shù)據(jù)中心傳輸數(shù)據(jù)的相關(guān)問題,移動(dòng)邊緣計(jì)算模式向用戶提供計(jì)算資源及存儲(chǔ)資源,有效降低了主干網(wǎng)絡(luò)資源的占有率,縮短時(shí)延。針對(duì)面向工業(yè)生產(chǎn)的物聯(lián)網(wǎng)環(huán)境,本研究提出一個(gè)基本任務(wù)優(yōu)先級(jí)的邊緣計(jì)算卸載策略,分析任務(wù)的類型,計(jì)算資源需求、數(shù)據(jù)量大小及時(shí)延,劃分任務(wù)的優(yōu)先等級(jí),確定卸載平臺(tái),針對(duì)需要MEC服務(wù)器層卸載的任務(wù),可構(gòu)建效用函數(shù),以降低任務(wù)處理的總成本,并針對(duì)該效應(yīng)函數(shù)確定具體的任務(wù)卸載位置,分配計(jì)算資源。相信隨著物聯(lián)網(wǎng)、云計(jì)算、邊緣計(jì)算卸載等技術(shù)的不斷發(fā)展,邊緣計(jì)算的應(yīng)用場(chǎng)景將會(huì)越來越豐富,其在降低延遲、保護(hù)數(shù)據(jù)隱私、減少帶寬使用等方面的優(yōu)勢(shì)會(huì)越來越突出。