摘 要:針對物聯(lián)網(wǎng)(Internet of Things,IoT)終端的移動(dòng)性和服務(wù)請求的隨機(jī)性所導(dǎo)致的IoT網(wǎng)絡(luò)的動(dòng)態(tài)變化,在物聯(lián)網(wǎng)邊緣計(jì)算網(wǎng)絡(luò)(IoT-mobile edge computing,IoT-MEC)中對物聯(lián)網(wǎng)服務(wù)功能鏈請求流(IoT-service function chain request,IoT-SFCR)進(jìn)行動(dòng)態(tài)SFC部署是一個(gè)具有挑戰(zhàn)性的問題。首先將IoT-MEC網(wǎng)絡(luò)中的動(dòng)態(tài)SFC部署問題分解為兩個(gè)子問題,即虛擬網(wǎng)絡(luò)功能(virtual network function,VNF)部署子問題和路由路徑確定子問題。然后利用馬爾可夫決策過程(Markov decision process,MDP)對其進(jìn)行建模。為了使IoT-SFCRs的資源消耗成本和端到端時(shí)延的加權(quán)和最小,并考慮網(wǎng)絡(luò)的負(fù)載均衡,接著提出了一種采用目標(biāo)網(wǎng)絡(luò)和經(jīng)驗(yàn)重放方法的深度強(qiáng)化學(xué)習(xí)(deep reinforcement learning,DRL)算法,對每個(gè)到達(dá)的IoT-SFCR實(shí)現(xiàn)動(dòng)態(tài)SFC部署。仿真結(jié)果表明,在三種典型網(wǎng)絡(luò)類型下,與現(xiàn)有算法相比,該算法的SFC部署成功率提高了17%,平均獎(jiǎng)勵(lì)提高了23.8%,高效地解決了IoT-MEC網(wǎng)絡(luò)中SFC的動(dòng)態(tài)部署問題。
關(guān)鍵詞: 物聯(lián)網(wǎng); 移動(dòng)邊緣計(jì)算; 服務(wù)功能鏈; 深度強(qiáng)化學(xué)習(xí)
中圖分類號: TN915 文獻(xiàn)標(biāo)志碼: A 文章編號: 1001-3695(2025)02-035-0575-07
doi:10.19734/j.issn.1001-3695.2024.06.0222
Deep reinforcement learning-based dynamic SFC deployment in IoT-MEC network
Wang Liyan1,2’ , Zheng Xianfeng1,2 , Du Yarong3
(1.School of Big Data amp; Computer Science, Chongqing College of Mobile Communication, Chongqing 401520, China; 2.Chongqing Key Laboratory of Public Big Data Security Technology, Chongqing 401420, China; 3.China United Network Communications Co.,Ltd., Hunan Branch, Changsha 410013, China)
Abstract:Dynamic service function chain(SFC)deployment for IoT-SFCRs in IoT-edge computing networks is a challenging problem for the dynamic changes in IoT networks due to the mobility of IoT terminals and the stochastic nature of service requests.This paper decomposed the dynamic SFC deployment problem in IoT-MEC networks into two subproblems,namely the VNF deployment subproblem and the routing path determination subproblem.Then it modeled the two subproblems as MDP.In order to minimize the weighted sum of resource consumption cost and end-to-end delay of IoT-SFCRs and to consider the load balancing of the network,it proposed a deep reinforcement learning(DRL)-based algorithm,which employed a target network and empirical replay approach to achieve a dynamic IoT-SFCRs for each arriving SFC deployment.Simulation results show that the algorithm improves the success rate by 17% and the average reward by 23.8% compared to existing algorithms under three typical network types.
Key words:Internet of Things; mobile edge computing; service function chain; deep reinforcement learning
0 引言
隨著物聯(lián)網(wǎng)(Internet of Things,IoT)設(shè)備的普及,越來越多的異構(gòu)計(jì)算密集型和對延遲敏感的服務(wù)請求由物聯(lián)網(wǎng)終端產(chǎn)生(例如穿戴設(shè)備、虛擬現(xiàn)實(shí)終端、智能攝像頭)[1]。這些業(yè)務(wù)請求通常需要使用多種網(wǎng)絡(luò)功能(network function,NF),如防火墻(firewall,F(xiàn)W)、深度包檢測(deep package inspection,DPI)、入侵防御系統(tǒng)(intrusion prevention system,IPS)和負(fù)載均衡?;诰W(wǎng)絡(luò)功能虛擬化(network function virtualization,NFV)技術(shù),NF可以從特定的硬件設(shè)備中分離出來,在這些硬件設(shè)備上,NF由部署在虛擬機(jī)(virtual machine,VM)上的軟件應(yīng)用程序替代,這被稱為虛擬網(wǎng)絡(luò)功能(virtual network function,VNF)。VNF能夠靈活適應(yīng)動(dòng)態(tài)的網(wǎng)絡(luò)環(huán)境,滿足各種網(wǎng)絡(luò)業(yè)務(wù)的需求[2]。此外,軟件定義網(wǎng)絡(luò)(software defined network,SDN)將網(wǎng)絡(luò)的數(shù)據(jù)平面與控制平面分離,可以在控制平面中集中處理所有物聯(lián)網(wǎng)業(yè)務(wù)。
然而,一些物聯(lián)網(wǎng)服務(wù)通常需要更低的延遲和更多的計(jì)算資源。得益于移動(dòng)邊緣計(jì)算(mobile edge computing,MEC)技術(shù),邊緣云中的VNF不僅可以縮短物聯(lián)網(wǎng)服務(wù)的端到端延遲,還可以為邊緣物聯(lián)網(wǎng)設(shè)備提供計(jì)算能力[3,4]。此外,從物聯(lián)網(wǎng)終端生成的實(shí)時(shí)服務(wù)請求流通常需要按照預(yù)定義的順序遍歷由不同的VNF實(shí)例組成的服務(wù)功能鏈(service function chain,SFC)[5],因此將此類請求定義為物聯(lián)網(wǎng)SFC請求(IoT SFC request,IoT-SFCR)[6]。由于邊緣云資源有限,SDN控制器需要為IoT-SFCR動(dòng)態(tài)放置VNF和制定最優(yōu)路由策略。這個(gè)問題通常稱為SFC的動(dòng)態(tài)部署問題。針對該問題,在一些特定的網(wǎng)絡(luò)場景下,已經(jīng)有許多較好的解決方案[5~8]。但是,針對物聯(lián)網(wǎng)邊緣計(jì)算網(wǎng)絡(luò)這種場景且同時(shí)考慮以下因素,解決SFC在IoT-MEC網(wǎng)絡(luò)中動(dòng)態(tài)部署的工作較少:a)網(wǎng)絡(luò)狀態(tài)不斷變化,流量隨機(jī)到達(dá);b)對于每種類型的VNF,通常會有多個(gè)VNF實(shí)例放置在不同的邊緣云上,并且VNF實(shí)例可以根據(jù)需要?jiǎng)討B(tài)部署在不同的邊緣云上;c)物聯(lián)網(wǎng)服務(wù)的服務(wù)質(zhì)量(quality of service,QoS)要求(如延遲、帶寬),確保網(wǎng)絡(luò)負(fù)載均衡;d)成本和端到端延遲之間的權(quán)衡。
傳統(tǒng)的優(yōu)化方法(如啟發(fā)式[9]等)難以及時(shí)、高效地解決IoT-MEC中的SFC動(dòng)態(tài)部署問題。具體地說,在大規(guī)模的物聯(lián)網(wǎng)絡(luò)中,啟發(fā)式方法通常需要花費(fèi)大量的計(jì)算資源,且在環(huán)境不斷變化的網(wǎng)絡(luò)中,啟發(fā)式算法容易陷入局部最優(yōu)解。近年來,一些文獻(xiàn)采用機(jī)器學(xué)習(xí)方法解決流量路由、VNF放置、SFC編排等問題[10~13]。例如,文獻(xiàn)[10,11]提出了基于深度強(qiáng)化學(xué)習(xí)(deep reinforcement learning,DRL)的方法來解決SFC編排問題,但是沒有考慮網(wǎng)絡(luò)中的資源消耗成本、網(wǎng)絡(luò)服務(wù)質(zhì)量QoS。文獻(xiàn)[12,13]均研究了虛擬網(wǎng)絡(luò)功能轉(zhuǎn)發(fā)圖(VNF-forwarding graph,VNF-FG)的嵌入問題,并提出了不同的DRL算法,但它們都只考慮VNF的放置,而不考慮流量路由問題,并在每一個(gè)時(shí)間步完成SFC中的單個(gè)VNF的放置,未能考慮全局最優(yōu)的VNF部署,并且所提方法不能適應(yīng)具有高動(dòng)態(tài)性的物聯(lián)網(wǎng)場景。
因此,在本文中,使用馬爾可夫決策過程(Markov decision process,MDP)來捕獲網(wǎng)絡(luò)狀態(tài)轉(zhuǎn)換,并提出了一種基于深度強(qiáng)化學(xué)習(xí)的方法來解決IoT-MEC網(wǎng)絡(luò)中的動(dòng)態(tài)SFC部署問題,目標(biāo)是最小化IoT-SFCRs的資源消耗成本和端到端延遲的加權(quán)總和。為了簡化SFC動(dòng)態(tài)部署問題,將其分解為兩個(gè)子問題:a)VNF放置問題;b)路由問題。采用典型的基于值的深度強(qiáng)化學(xué)習(xí)方法—雙深度Q-網(wǎng)絡(luò)(double deep Q-network,DDQN)來求解這兩個(gè)子問題?;贒DQN的方法可以快速為每一個(gè)到達(dá)的IoT-SFCR提供高回報(bào)的SFC部署方案,然后利用啟發(fā)式方法,根據(jù)第二個(gè)訓(xùn)練神經(jīng)網(wǎng)絡(luò)輸出的前k個(gè)動(dòng)作確定可行的路由路徑。本文的主要貢獻(xiàn)如下:
a)詳細(xì)分析了IoT-MEC網(wǎng)絡(luò)中的動(dòng)態(tài)SFC部署問題,并將其表示為一個(gè)整數(shù)線性規(guī)劃(integer linear programming,ILP)問題,其目標(biāo)是最小化IoT-SFCR的資源消耗成本和端到端延遲的加權(quán)和。
b)為了捕捉實(shí)時(shí)的網(wǎng)絡(luò)變化,使用MDP模型構(gòu)建了兩個(gè)子問題,并設(shè)計(jì)了兩種類型的DDQN網(wǎng)絡(luò),即VNF選擇網(wǎng)絡(luò)和SFC路徑搜索網(wǎng)絡(luò)(SFC path searching network,SPSN)。此外,構(gòu)建了一個(gè)新的獎(jiǎng)勵(lì)函數(shù)來提高VNF放置的成功率。
c)提出了一種基于深度強(qiáng)化學(xué)習(xí)的SFC部署算法(deep reinforcement learning-based SFC deployment,DRL-SFCD),該算法將DRL算法與啟發(fā)式算法相結(jié)合,解決了SFC的動(dòng)態(tài)部署問題,同時(shí)考慮了網(wǎng)絡(luò)的負(fù)載均衡。
d)仿真結(jié)果表明,與基準(zhǔn)算法相比,本文方法在流的成功接受率和平均獎(jiǎng)勵(lì)方面具有較高的性能。
1 系統(tǒng)模型和問題刻畫
1.1 物理網(wǎng)絡(luò)
1.3 問題描述
解決動(dòng)態(tài)復(fù)雜的IoT-MEC網(wǎng)絡(luò)中的SFC部署問題,目標(biāo)是最小化IoT-SFCRs的資源消耗成本和端到端延遲的加權(quán)和。由于物聯(lián)網(wǎng)網(wǎng)絡(luò)的動(dòng)態(tài)變化和請求流的隨機(jī)到達(dá),增加了處理SFC動(dòng)態(tài)部署問題的難度。此外,在微云中,由于虛擬機(jī)可以靈活高效地實(shí)現(xiàn)VNF,同一類型的VNF可能有多個(gè)VNF實(shí)例,從而導(dǎo)致了多個(gè)候選VNF實(shí)例的組合。由于物聯(lián)網(wǎng)終端和應(yīng)用的多樣性造成了IoT-SFCR需求的多樣性和異構(gòu)性,為了滿足時(shí)延敏感型網(wǎng)絡(luò)服務(wù)的端到端延遲需求,有效利用網(wǎng)絡(luò)中的各種資源,簡化問題的處理,將SFC動(dòng)態(tài)部署問題分解為兩部分:a)VNF放置子問題;b)流量路由子問題,即為SFC中相鄰節(jié)點(diǎn)對選擇最優(yōu)路徑。
1.4 問題刻畫
使用ILP解算器或啟發(fā)式算法解決上述優(yōu)化問題并不簡單,因?yàn)樾枰罅康牡陀?jì)算。因此,本文使用了深度強(qiáng)化學(xué)習(xí),專門解決組合優(yōu)化問題[14],以實(shí)時(shí)獲得網(wǎng)絡(luò)狀態(tài)變化,并優(yōu)化動(dòng)態(tài)SFC放置。
2 利用深度強(qiáng)化學(xué)習(xí)動(dòng)態(tài)放置SFC
在本章中,提出了一種結(jié)合深度強(qiáng)化學(xué)習(xí)和啟發(fā)式算法的智能方法,以解決IoT-MEC網(wǎng)絡(luò)中的動(dòng)態(tài)SFC放置問題。首先,對提出的解決方案進(jìn)行概述。然后,將問題描述為一個(gè)MDP模型,該模型被定義為一個(gè)三元組〈S,A,Euclid Math OneRAp〉。
a)綜述:為了實(shí)現(xiàn)最優(yōu)的SFC部署,首先使用DDQN按照以下思路獲取網(wǎng)絡(luò)中的最優(yōu)VNF實(shí)例組合。SDN控制器獲取網(wǎng)絡(luò)狀態(tài)和到達(dá)物聯(lián)網(wǎng)SFCR的信息,并將其發(fā)送到VNF選擇網(wǎng)絡(luò)的VNF輸入層。然后,VNF選擇網(wǎng)絡(luò)輸出層中每個(gè)動(dòng)作的Q值。代理以最大的Q值執(zhí)行操作。所有的結(jié)果,包括狀態(tài)、動(dòng)作、獎(jiǎng)勵(lì)和下一個(gè)狀態(tài),都作為經(jīng)驗(yàn)樣本數(shù)據(jù)存儲在用于訓(xùn)練DDQN模型的經(jīng)驗(yàn)記憶中。最后,需要檢查所選云上是否部署了所需的VNF實(shí)例。如果沒有部署,則需要在云上動(dòng)態(tài)地放置VNF實(shí)例。
為了連接源節(jié)點(diǎn)、目標(biāo)節(jié)點(diǎn)和選定的云,將DDQN和啟發(fā)式算法結(jié)合起來進(jìn)行路徑搜索。例如,在圖1中,有四條路徑需要按預(yù)定順序生成,即(物聯(lián)網(wǎng)終端,cloudlet3)、(cloudlet3,cloudlet4)、(cloudlet4,cloudlet5)、(cloudlet5,src)。迭代地使用每條路徑的起始和結(jié)束節(jié)點(diǎn)以及剩余帶寬資源比作為SFC路徑搜索網(wǎng)絡(luò)(SFC path searching network,SPSN)的輸入。SPSN輸出所有候選路徑的Q值,對每條路徑進(jìn)行初步分析。由于鏈路資源的限制,一些離散的操作是不可行的,使用啟發(fā)式算法來有效地解決這個(gè)問題。具體來說,通過選擇前k個(gè)動(dòng)作來優(yōu)化動(dòng)作空間大小。然后,將前k個(gè)動(dòng)作發(fā)送到啟發(fā)式算法中,以判斷這些鏈路是否有足夠的資源來路由IoT-SFCR,即需要判斷所選鏈路是否被識別為瓶頸鏈路。如果它們沒有被識別為瓶頸,計(jì)算獎(jiǎng)勵(lì)并選擇獎(jiǎng)勵(lì)最高的鏈接。最后,如果能夠獲得最佳路徑集,則說明IoT-SFCR成功服務(wù)。
圖2是基于DRL和啟發(fā)式算法的動(dòng)態(tài)SFC部署框架。步驟①~⑦是兩個(gè)DDQN網(wǎng)絡(luò)的訓(xùn)練過程。步驟①通過SDN控制器獲取當(dāng)前網(wǎng)絡(luò)狀態(tài),并將其發(fā)送給代理。步驟②輸出與最佳Q值對應(yīng)的動(dòng)作。代理通過網(wǎng)絡(luò)監(jiān)控組件從網(wǎng)絡(luò)環(huán)境中獲得獎(jiǎng)勵(lì)并觀察下一個(gè)狀態(tài)后,生成的樣本(ss,as,rs,s′s)存儲在經(jīng)驗(yàn)回放中,用于步驟③中的網(wǎng)絡(luò)訓(xùn)練。步驟④~⑥與步驟①~③類似。代理與網(wǎng)絡(luò)交互以獲得狀態(tài),執(zhí)行操作,然后在下次環(huán)境達(dá)到新狀態(tài)時(shí),環(huán)境又會產(chǎn)生新的反饋獎(jiǎng)勵(lì)。所有這些數(shù)據(jù)都記錄在Ep中。在步驟⑦中,代理隨機(jī)取出一小批數(shù)據(jù)用于在線網(wǎng)絡(luò)的訓(xùn)練。對于每個(gè)固定的時(shí)間步長,將目標(biāo)網(wǎng)絡(luò)的參數(shù)更新為在線網(wǎng)絡(luò)的參數(shù)。
圖2中的虛線是算法的運(yùn)行過程。步驟(1)將SDN控制器聯(lián)合代理獲取的網(wǎng)絡(luò)信息輸入到VNF選擇網(wǎng)絡(luò)。步驟(2)輸出每個(gè)VNF實(shí)例組合的Q值,然后,代理選擇最佳操作并將結(jié)果發(fā)送到SPSN。在步驟(3)中,代理在執(zhí)行云選擇和動(dòng)態(tài)VNF部署后觀察網(wǎng)絡(luò)狀態(tài)。步驟(4)對路由路徑集進(jìn)行初步分析。步驟(5)使用啟發(fā)式算法,根據(jù)代理輸出的前k個(gè)動(dòng)作確定最佳可行的路由路徑集。
b)MDP模型:事實(shí)上,在實(shí)際網(wǎng)絡(luò)場景中,由于網(wǎng)絡(luò)的變化和IoT-SFCR的隨機(jī)到達(dá),在動(dòng)態(tài)網(wǎng)絡(luò)中很難找到最優(yōu)路由路徑。下一個(gè)SFC部署只與網(wǎng)絡(luò)當(dāng)前的狀態(tài)有關(guān)。因此,可以使用MDP模型對動(dòng)態(tài)網(wǎng)絡(luò)進(jìn)行建模。首先,描述了VNF選擇網(wǎng)絡(luò)的輸入,即網(wǎng)絡(luò)狀態(tài)包括:云{ωcpu1,ωcpu2,…,ωcpu|C|}的剩余CPU資源比率,其中|C|是集合C的基數(shù)、IoT-SFCR i的VNF類型p∈Fi的CPU資源消耗為Rcpui,p;端到端延遲要求大小為Rdelayi。那么,網(wǎng)絡(luò)狀態(tài)掃描可以用一個(gè)向量來表示:
ss={{ωcpu1,ωcpu2,…,ωcpu|C|},Rcpui,p,Rdelayi}(14)
因此,狀態(tài)空間的維數(shù)為|C|+|Fi|+1。
在本文中,假設(shè)IoT-SFCR需要遍歷的VNF被放置在不同的云上。例如,如果IoT-SFCR需要遍歷三種VNF,必須選擇三種不同的云。定義動(dòng)作集以及所有可能的云組合。假設(shè)IoT-MEC網(wǎng)絡(luò)中有N=|C|個(gè)云,IoT-SFCR需要遍歷K種類型的VNF實(shí)例,有CKN×AKK種可能的組合,即動(dòng)作空間的維數(shù)也是CKN×AKK。一旦選擇了某個(gè)操作,必須檢查云上是否有相應(yīng)的VNF實(shí)例,如果沒有,則立即動(dòng)態(tài)部署VNF實(shí)例。
接下來,將操作ap表示為用于連接開始和結(jié)束對節(jié)點(diǎn)的路徑。由于源節(jié)點(diǎn)、目的節(jié)點(diǎn)和VNF選擇網(wǎng)絡(luò)選擇的節(jié)點(diǎn)之間需要生成|Fi|+1路徑,所以代理必須迭代確定路徑。此外,還需要通過限制路徑長度來過濾動(dòng)作空間,即設(shè)置最大傳輸跳數(shù)h,以避免過多的延遲。列出了SFC中兩個(gè)相鄰節(jié)點(diǎn)的所有可選路徑,并根據(jù)它們的長度對它們排序。然后,根據(jù)經(jīng)驗(yàn)選取排序后的前600條路徑,將動(dòng)作空間ap的維數(shù)限制在600,有利于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和收斂。
最后,將VNF選擇網(wǎng)絡(luò)的獎(jiǎng)勵(lì)函數(shù)定義如下:
rs=-∑c∈C^dc-∑p∈Pi ∑c∈Cxpc(ηa)1-ωcpuc-Costi(d)(15)
其中:是所選的云集。
在計(jì)算狀態(tài)和選擇的動(dòng)作下的獎(jiǎng)勵(lì)之前,必須判斷所選的云上是否有足夠的資源來放置VNF。如果資源充足,根據(jù)式(16)計(jì)算獎(jiǎng)勵(lì),否則,經(jīng)驗(yàn)設(shè)置獎(jiǎng)勵(lì)為-200。因此,代理會嘗試選擇資源剩余率高的云,以提高IoT-SFCR的成功率。
最后,為了共同優(yōu)化資源消耗成本和端到端延遲,將SPSN的獎(jiǎng)勵(lì)函數(shù)定義為物聯(lián)網(wǎng)的資源消耗成本和端到端延遲的負(fù)加權(quán)和。同樣,當(dāng)IoT-SFCR沒有可行路徑時(shí),SPSN的獎(jiǎng)勵(lì)經(jīng)驗(yàn)設(shè)置為-500。獎(jiǎng)勵(lì)方式如下:
rp=-λ1∑l∈L^dl-λ2∑m,n∈Fi ∑uv∈Euclid Math OneLApxmnuv(ηb)1-ωbwuv(16)
其中:L^是連接源節(jié)點(diǎn)、目標(biāo)節(jié)點(diǎn)和那些被選中的云的路徑集。為了保證算法的穩(wěn)定性,利用加權(quán)因子λ1和λ2保證兩個(gè)獎(jiǎng)勵(lì)的數(shù)量級相同。由于∑l∈L^dl相對于鏈路上的資源消耗成本來說是一個(gè)較小的值,為了使訓(xùn)練穩(wěn)定,必須保證λ1gt;λ2。
3 算法
3.1 神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法
在本文中,使用一個(gè)神經(jīng)網(wǎng)絡(luò)來逼近值函數(shù)。通過對DDQN的不斷訓(xùn)練,可以更精確地逼近Q函數(shù)的分布,實(shí)現(xiàn)有效的SFC部署策略。DDQN網(wǎng)絡(luò)使用經(jīng)驗(yàn)重放池來存儲每次迭代的經(jīng)驗(yàn)樣本,并隨機(jī)從經(jīng)驗(yàn)重放池中提取一些數(shù)據(jù)來更新網(wǎng)絡(luò)參數(shù),從而打破數(shù)據(jù)之間的相關(guān)性。由于都使用DDQN模型來解決VNF選擇網(wǎng)絡(luò)和SFC路徑搜索網(wǎng)絡(luò)(SPSN)這兩個(gè)子問題,所以都使用算法1來訓(xùn)練網(wǎng)絡(luò)。分別用θs和θp對VNF選擇網(wǎng)絡(luò)和SPSN進(jìn)行參數(shù)化,它們都包含在線網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)。這兩種在線網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)分別用θs和θp、θ-s和θ-p參數(shù)表示。這兩種網(wǎng)絡(luò)的訓(xùn)練過程詳見算法1。
算法1 神經(jīng)網(wǎng)絡(luò)訓(xùn)練程序
4 仿真和結(jié)果分析
4.1 仿真設(shè)置
1)網(wǎng)絡(luò)拓?fù)?/p>
由于物聯(lián)網(wǎng)設(shè)備的多樣性和隨機(jī)部署特性,IoT-MEC網(wǎng)絡(luò)的實(shí)際網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)是不規(guī)則的。因此,使用Python NetworkX2.4[15]庫生成了三種典型的網(wǎng)絡(luò)拓?fù)渥鳛榉抡嫱負(fù)?,這有助于說明DRL-SFCD算法的適用性和通用性。這三種網(wǎng)絡(luò)拓?fù)浞謩e是隨機(jī)網(wǎng)絡(luò)、小世界網(wǎng)絡(luò)[16]和自由擴(kuò)展網(wǎng)絡(luò)[17]。對于每種類型的網(wǎng)絡(luò)拓?fù)?,都?4個(gè)節(jié)點(diǎn),其中8個(gè)節(jié)點(diǎn)被選為云,用于通過放置的VNF處理IoT-SFCR。隨機(jī)網(wǎng)絡(luò)的連通概率為0.4,小世界網(wǎng)絡(luò)有10個(gè)鄰居節(jié)點(diǎn),重新連接概率為0.2,自由擴(kuò)展網(wǎng)絡(luò)的初始節(jié)點(diǎn)數(shù)為7。VNF有六種類型:FW、Proxy、NAT、IPS、IDS和Gateway。CPU要求分別為1 600 MIPS、1 200 MIPS、2 000 MIPS、3 000 MIPS、2 400 MIPS、1 800 MIPS[18]。每個(gè)云放置1~2種類型的VNF實(shí)例,IoT-SFCR在AP節(jié)點(diǎn)中隨機(jī)生成。將每個(gè)云的CPU容量設(shè)置在3 000~8 000 MIPS。每條鏈路的帶寬和時(shí)延分別設(shè)置在[1 000,10 000]Mbit/s和[2,5]ms。云上的延遲隨機(jī)設(shè)置為4~8 ms。將式(16)中的權(quán)重因子λ1、λ2分別設(shè)為3和1。
2)SFC請求
在本文中,假設(shè)每個(gè)IoT-SFCR在到達(dá)目的節(jié)點(diǎn)之前需要遍歷三種類型的VNF[18]。對于每個(gè)IoT-SFCR,隨機(jī)設(shè)置帶寬要求Rbwi為[10,120]Mbit/s。最大允許延遲Rdelayi設(shè)置在[50,100]ms。隨機(jī)生成20個(gè)IoT-SFCR來評估DRL-SFCD算法的性能。
3)對比算法
a)隨機(jī)方法(random method):隨機(jī)方法隨機(jī)選擇云放置/遍歷VNF實(shí)例,并為每個(gè)到達(dá)的IoT-SFCR連接兩個(gè)相鄰的VNF實(shí)例路由路徑。
b)時(shí)延最小貪心算法(delay-least-greedy method)[19]:延遲最小方法通常為每個(gè)到達(dá)的IoT-SFCR選擇延遲最小的云和路由路徑。同時(shí),對該方法進(jìn)行了改進(jìn),以避免選擇高負(fù)載的云和鏈接,并賦予它們較高的代價(jià)。
c)DQL聯(lián)合最短路徑算法(DQL-SP):在這種方法中,利用Dijkstra算法為每個(gè)IoT-SFCR搜索路由路徑。對于云的選擇,本文采用了DDQN算法。
仿真平臺:仿真環(huán)境設(shè)置在一臺使用Intel Core i5和8 GB RAM的機(jī)器上。使用一個(gè)基于Python的框架和TensorFlow來構(gòu)建和訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)。
4.2 結(jié)果分析
首先比較隨機(jī)網(wǎng)絡(luò)下IoT-SFCR數(shù)量變化時(shí)的成功率,如圖3所示。IoT-SFCR所需的資源只有在它們進(jìn)入網(wǎng)絡(luò)時(shí)才能獲得。結(jié)果表明,在大多數(shù)情況下,DRL-SFCD的性能優(yōu)于其他算法,這意味著經(jīng)過訓(xùn)練的代理能夠很好地指導(dǎo)SDN控制器動(dòng)態(tài)放置VNF實(shí)例并找到合適的路由路徑。也可以注意到,DQL-SP算法在IoT-SFCR的成功率方面與本文算法是一致的。原因是它們使用相同的方法來查找云來遍歷VNF實(shí)例。由于將跳數(shù)設(shè)置為6,貪婪算法和隨機(jī)算法可能找不到路徑,導(dǎo)致IoT-SFCR無法服務(wù),而最短路徑法可以保證找到路徑。另外,隨機(jī)算法和時(shí)延最小貪心算法由于不能動(dòng)態(tài)部署SFC,性能較差,無法獲得最優(yōu)解。
為了更清楚地展示實(shí)驗(yàn)結(jié)果,本文在圖4中給出了IoT-SFCR在隨機(jī)網(wǎng)絡(luò)下的平均獎(jiǎng)勵(lì)。本文定義的獎(jiǎng)勵(lì)是符合優(yōu)化目標(biāo)的資源使用成本和延遲成本的加權(quán)和。可以看到,DQL-SP算法只有在SFCR數(shù)量在60個(gè)以下時(shí)才能優(yōu)于比較算法。當(dāng)IoT-SFCR數(shù)量超過60個(gè)時(shí),平均獎(jiǎng)勵(lì)明顯且快速下降。然而,DRL-SFCD沒有顯著的變化,卻獲得了最大的回報(bào)??梢缘贸鼋Y(jié)論,本文DRL-SFCD算法在隨機(jī)網(wǎng)絡(luò)拓?fù)渲斜绕渌椒ㄓ懈玫男阅堋?/p>
圖5展示了IoT-SFCR數(shù)量在20~200時(shí),這些算法在小世界網(wǎng)絡(luò)下的IoT-SFCR的接受成功率??梢钥吹?,DQL-SP算法和提出的DRL-SFCD算法有相同的結(jié)果,因?yàn)樗鼈兪褂孟嗤姆椒ǚ胖肰NF實(shí)例,當(dāng)路由流量沒有路徑或所選路徑?jīng)]有足夠的資源時(shí),IoT-SFCR將被拒絕。還可以發(fā)現(xiàn),本文提出的DRL-SFCD算法的IoT-SFCR的成功率始終高于其他比較算法。
圖6為小世界網(wǎng)絡(luò)下IoT-SFCR的平均獎(jiǎng)勵(lì)。當(dāng)IoT-SFCR的數(shù)量在20~200個(gè)時(shí),可以發(fā)現(xiàn),DRL-SFCD在80個(gè)IoT-SFCR之后可以獲得最大的獎(jiǎng)勵(lì)。這是因?yàn)镈QLSP總是找到適合少量IoT-SFCR的最短路徑。當(dāng)IoT-SFCR數(shù)量增加時(shí),無法保證網(wǎng)絡(luò)資源的均衡使用。在80次IoT-SFCR后,三種比較方法的平均獎(jiǎng)勵(lì)都迅速下降。可以得出結(jié)論,在小世界網(wǎng)絡(luò)中,DRL-SFCD算法比其他算法具有更好的性能。
圖7為自由擴(kuò)展網(wǎng)絡(luò)條件下IoT-SFCR數(shù)量為20~200時(shí)IoT-SFCR結(jié)果的成功率。結(jié)果表明,與其他兩種方法相比,DRL-SFCD和DQL-SP算法具有最高的IoT-SFCR成功接受率。隨著IoT-SFCR數(shù)量的增加,所有方法的IoT-SFCR的成功率都會下降,原因是資源消耗成本增加,部分鏈接和云成為瓶頸??梢园l(fā)現(xiàn),所有方法的IoT-SFCR的成功率與上述網(wǎng)絡(luò)具有相同的變化趨勢。
圖8為自由擴(kuò)展網(wǎng)絡(luò)條件下,IoT-SFCR數(shù)量為20~200時(shí)的平均獎(jiǎng)勵(lì)??梢园l(fā)現(xiàn),所有方法的平均報(bào)酬與上述網(wǎng)絡(luò)具有相同的變化趨勢。在這些圖中可以看到,本文提出的DRL-SFCD算法在IoT-SFCR數(shù)量較多的情況下比其他方法獲得的獎(jiǎng)勵(lì)最好,在大多數(shù)情況下IoT-SFCR的成功率最好。在本文中,IoT-SFCR的資源需求是不斷變化的,從而形成了一個(gè)動(dòng)態(tài)的場景。因此,有必要考慮動(dòng)態(tài)SFC部署方案,使資源消耗成本和端到端延遲的加權(quán)總和最小。這些結(jié)果表明,所提出的DRL-SFCD算法能夠動(dòng)態(tài)地適應(yīng)網(wǎng)絡(luò)的變化,證明了該方法的有效性。綜上所述,在三種典型的網(wǎng)絡(luò)類型下,本文算法平均提高了23.8%的平均獎(jiǎng)勵(lì)率和17%的成功率。
5 結(jié)束語
本文提出了一種高效的基于DRL的SFC動(dòng)態(tài)部署算法DRL-SFCD,用于處理動(dòng)態(tài)IoT-MEC網(wǎng)絡(luò)中的IoT-SFCR。為了簡化SFC的動(dòng)態(tài)部署問題,將其分解為VNF布局子問題和流量路由子問題。VNF選擇網(wǎng)絡(luò)和SPSN是為了實(shí)現(xiàn)最優(yōu)VNF實(shí)例選擇和路由路徑確定而設(shè)計(jì)的??梢允褂糜?xùn)練有素的代理快速響應(yīng)IoT-SFCR。仿真結(jié)果表明,在三種典型的網(wǎng)絡(luò)拓?fù)湎?,所提方法在IoT-SFCR的成功率和平均回報(bào)方面均優(yōu)于DDQN聯(lián)合最短路徑法、隨機(jī)方法和貪婪方法。
參考文獻(xiàn):
[1]梁俊斌,黃少東,吳旭,等.綠色移動(dòng)邊緣網(wǎng)絡(luò)中可靠的虛擬網(wǎng)絡(luò)功能部署技術(shù)研究[J].計(jì)算機(jī)應(yīng)用研究,2023,40(12):3521-3528,3538.(Liang Junbin,Huang Shaodong,Wu Xu,et al.Research on reliable virtual network function deployment technology in green mobile edge networks[J].Application Research of Computers,2023,40(12):3521-3528,3538.)
[2]Li Junhuai,Wang Ruijie,Wang Kan.Service function chaining in industrial Internet of Things with edge intelligence:a natural actor-critic approach[J].IEEE Trans on Industrial Informatics,2022,19(1):491-502.
[3]He Nan,Yang Song,Li Fan,et al.Leveraging deep reinforcement learning with attention mechanism for virtual network function placement and routing[J].IEEE Trans on Parallel and Distributed Systems,2023,34(4):1186-1201.
[4]陳嘉亮,王豐,張瀟.移動(dòng)邊緣計(jì)算網(wǎng)絡(luò)下的服務(wù)功能鏈部署優(yōu)化設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用研究,2022,39(10):3108-3113.(Chen Jialiang,Wang Feng,Zhang Xiao.Optimization design of service function chain deployment under mobile edge computing network[J].Application Research of Computers,2022,39(10):3108-3113.)
[5]Liu Yicen,Lu Hao,Li Xi,et al.Dynamic service function chain orchestration for NFV/MEC-enabled IoT networks:a deep reinforcement learning approach[J].IEEE Internet of Things Journal,2020,8(9):7450-7465.
[6]Xu Jiuyun,Cao Xuemei,Duan Qiang,et al.Service function chain deployment using deep Q learning and tidal mechanism[J].IEEE Internet of Things Journal,2024,11(3):5401-5416.
[7]Yang Song,Li Fan,Trajanovski S,et al.Delay-aware virtual network function placement and routing in edge clouds[J].IEEE Trans on Mobile Computing,2019,20(2):445-459.
[8]Liu Yicen,Lu Hao,Li Xi,et al.A novel approach for service function chain dynamic orchestration in edge clouds[J].IEEE Communications Letters,2020,24(10):2231-2235.
[9]Jin Panpan,F(xiàn)ei Xincai,Zhang Qixia,et al.Latency-aware VNF chain deployment with efficient resource reuse at network edge[C]//Proc of IEEE Conference on Computer Communications.Piscataway,NJ:IEEE Press,2020:267-276.
[10]Wang Shaoyang,Lyu Tiejun.Deep reinforcement learning for demand-aware joint VNF placement-and-routing[C]//Proc of IEEE GlobeCom Workshops.Piscataway,NJ:IEEE Press,2019:1-6.
[11]Jia Junzhong,Yang Lei,Cao Jiannong.Reliability-aware dynamic ser-vice chain scheduling in 5G networks based on reinforcement learning[C]//Proc of IEEE Conference on Computer Communications.Pisca-taway,NJ:IEEE Press,2021:1-10.
[12]Lin Rongping,Yu Song,Luo Shan,et al.Column generation based service function chaining embedding in multi-domain networks[J].IEEE Trans on Cloud Computing,2021,11(1):185-199.
[13]Liu Liang,Guo Songtao,Liu Guiyan,et al.Joint dynamical VNF placement and SFC routing in NFV-enabled SDNs[J].IEEE Trans on Network and Service Management,2021,18(4):4263-4276.
[14]Singh S,Okun A,Jackson A.Learning to play Go from scratch[J].Nature,2017,550(7676):336-337.
[15]NetworkX 2.4[EB/OL].(2019-10-16).https://pypi.org/project/networkx/.
[16]Newman M E J.The structure and function of networks[J].Compu-ter Physics Communications,2002,147(1-2):40-45.
[17]Barabási A L,Bonabeau E.Scale-free networks[J].Scientific American,2003,288(5):60-69.
[18]Pei Jianing,Hong Peilin,Pan Miao,et al.Optimal VNF placement via deep reinforcement learning in SDN/NFV-enabled networks[J].IEEE Journal on Selected Areas in Communications,2019,38(2):263-278.
[19]Sun Chen,Bi Jun,Zheng Zhilong,et al.SLA-NFV:an SLA-aware high performance framework for network function virtualization[C]//Proc of ACM SIGCOMM Conference.New York:ACM Press,2016:581-582.