摘 要:針對物聯(lián)網(wǎng)(Internet of Things,IoT)終端的移動性和服務(wù)請求的隨機性所導(dǎo)致的IoT網(wǎng)絡(luò)的動態(tài)變化,在物聯(lián)網(wǎng)邊緣計算網(wǎng)絡(luò)(IoT-mobile edge computing,IoT-MEC)中對物聯(lián)網(wǎng)服務(wù)功能鏈請求流(IoT-service function chain request,IoT-SFCR)進行動態(tài)SFC部署是一個具有挑戰(zhàn)性的問題。首先將IoT-MEC網(wǎng)絡(luò)中的動態(tài)SFC部署問題分解為兩個子問題,即虛擬網(wǎng)絡(luò)功能(virtual network function,VNF)部署子問題和路由路徑確定子問題。然后利用馬爾可夫決策過程(Markov decision process,MDP)對其進行建模。為了使IoT-SFCRs的資源消耗成本和端到端時延的加權(quán)和最小,并考慮網(wǎng)絡(luò)的負載均衡,接著提出了一種采用目標網(wǎng)絡(luò)和經(jīng)驗重放方法的深度強化學(xué)習(xí)(deep reinforcement learning,DRL)算法,對每個到達的IoT-SFCR實現(xiàn)動態(tài)SFC部署。仿真結(jié)果表明,在三種典型網(wǎng)絡(luò)類型下,與現(xiàn)有算法相比,該算法的SFC部署成功率提高了17%,平均獎勵提高了23.8%,高效地解決了IoT-MEC網(wǎng)絡(luò)中SFC的動態(tài)部署問題。
關(guān)鍵詞: 物聯(lián)網(wǎng); 移動邊緣計算; 服務(wù)功能鏈; 深度強化學(xué)習(xí)
中圖分類號: TN915 文獻標志碼: 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)計算密集型和對延遲敏感的服務(wù)請求由物聯(lián)網(wǎng)終端產(chǎn)生(例如穿戴設(shè)備、虛擬現(xiàn)實終端、智能攝像頭)[1]。這些業(yè)務(wù)請求通常需要使用多種網(wǎng)絡(luò)功能(network function,NF),如防火墻(firewall,F(xiàn)W)、深度包檢測(deep package inspection,DPI)、入侵防御系統(tǒng)(intrusion prevention system,IPS)和負載均衡?;诰W(wǎng)絡(luò)功能虛擬化(network function virtualization,NFV)技術(shù),NF可以從特定的硬件設(shè)備中分離出來,在這些硬件設(shè)備上,NF由部署在虛擬機(virtual machine,VM)上的軟件應(yīng)用程序替代,這被稱為虛擬網(wǎng)絡(luò)功能(virtual network function,VNF)。VNF能夠靈活適應(yī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ù)通常需要更低的延遲和更多的計算資源。得益于移動邊緣計算(mobile edge computing,MEC)技術(shù),邊緣云中的VNF不僅可以縮短物聯(lián)網(wǎng)服務(wù)的端到端延遲,還可以為邊緣物聯(lián)網(wǎng)設(shè)備提供計算能力[3,4]。此外,從物聯(lián)網(wǎng)終端生成的實時服務(wù)請求流通常需要按照預(yù)定義的順序遍歷由不同的VNF實例組成的服務(wù)功能鏈(service function chain,SFC)[5],因此將此類請求定義為物聯(lián)網(wǎng)SFC請求(IoT SFC request,IoT-SFCR)[6]。由于邊緣云資源有限,SDN控制器需要為IoT-SFCR動態(tài)放置VNF和制定最優(yōu)路由策略。這個問題通常稱為SFC的動態(tài)部署問題。針對該問題,在一些特定的網(wǎng)絡(luò)場景下,已經(jīng)有許多較好的解決方案[5~8]。但是,針對物聯(lián)網(wǎng)邊緣計算網(wǎng)絡(luò)這種場景且同時考慮以下因素,解決SFC在IoT-MEC網(wǎng)絡(luò)中動態(tài)部署的工作較少:a)網(wǎng)絡(luò)狀態(tài)不斷變化,流量隨機到達;b)對于每種類型的VNF,通常會有多個VNF實例放置在不同的邊緣云上,并且VNF實例可以根據(jù)需要動態(tài)部署在不同的邊緣云上;c)物聯(lián)網(wǎng)服務(wù)的服務(wù)質(zhì)量(quality of service,QoS)要求(如延遲、帶寬),確保網(wǎng)絡(luò)負載均衡;d)成本和端到端延遲之間的權(quán)衡。
傳統(tǒng)的優(yōu)化方法(如啟發(fā)式[9]等)難以及時、高效地解決IoT-MEC中的SFC動態(tài)部署問題。具體地說,在大規(guī)模的物聯(lián)網(wǎng)絡(luò)中,啟發(fā)式方法通常需要花費大量的計算資源,且在環(huán)境不斷變化的網(wǎng)絡(luò)中,啟發(fā)式算法容易陷入局部最優(yōu)解。近年來,一些文獻采用機器學(xué)習(xí)方法解決流量路由、VNF放置、SFC編排等問題[10~13]。例如,文獻[10,11]提出了基于深度強化學(xué)習(xí)(deep reinforcement learning,DRL)的方法來解決SFC編排問題,但是沒有考慮網(wǎng)絡(luò)中的資源消耗成本、網(wǎng)絡(luò)服務(wù)質(zhì)量QoS。文獻[12,13]均研究了虛擬網(wǎng)絡(luò)功能轉(zhuǎn)發(fā)圖(VNF-forwarding graph,VNF-FG)的嵌入問題,并提出了不同的DRL算法,但它們都只考慮VNF的放置,而不考慮流量路由問題,并在每一個時間步完成SFC中的單個VNF的放置,未能考慮全局最優(yōu)的VNF部署,并且所提方法不能適應(yīng)具有高動態(tài)性的物聯(lián)網(wǎng)場景。
因此,在本文中,使用馬爾可夫決策過程(Markov decision process,MDP)來捕獲網(wǎng)絡(luò)狀態(tài)轉(zhuǎn)換,并提出了一種基于深度強化學(xué)習(xí)的方法來解決IoT-MEC網(wǎng)絡(luò)中的動態(tài)SFC部署問題,目標是最小化IoT-SFCRs的資源消耗成本和端到端延遲的加權(quán)總和。為了簡化SFC動態(tài)部署問題,將其分解為兩個子問題:a)VNF放置問題;b)路由問題。采用典型的基于值的深度強化學(xué)習(xí)方法—雙深度Q-網(wǎng)絡(luò)(double deep Q-network,DDQN)來求解這兩個子問題?;贒DQN的方法可以快速為每一個到達的IoT-SFCR提供高回報的SFC部署方案,然后利用啟發(fā)式方法,根據(jù)第二個訓(xùn)練神經(jīng)網(wǎng)絡(luò)輸出的前k個動作確定可行的路由路徑。本文的主要貢獻如下:
a)詳細分析了IoT-MEC網(wǎng)絡(luò)中的動態(tài)SFC部署問題,并將其表示為一個整數(shù)線性規(guī)劃(integer linear programming,ILP)問題,其目標是最小化IoT-SFCR的資源消耗成本和端到端延遲的加權(quán)和。
b)為了捕捉實時的網(wǎng)絡(luò)變化,使用MDP模型構(gòu)建了兩個子問題,并設(shè)計了兩種類型的DDQN網(wǎng)絡(luò),即VNF選擇網(wǎng)絡(luò)和SFC路徑搜索網(wǎng)絡(luò)(SFC path searching network,SPSN)。此外,構(gòu)建了一個新的獎勵函數(shù)來提高VNF放置的成功率。
c)提出了一種基于深度強化學(xué)習(xí)的SFC部署算法(deep reinforcement learning-based SFC deployment,DRL-SFCD),該算法將DRL算法與啟發(fā)式算法相結(jié)合,解決了SFC的動態(tài)部署問題,同時考慮了網(wǎng)絡(luò)的負載均衡。
d)仿真結(jié)果表明,與基準算法相比,本文方法在流的成功接受率和平均獎勵方面具有較高的性能。
1 系統(tǒng)模型和問題刻畫
1.1 物理網(wǎng)絡(luò)
1.3 問題描述
解決動態(tài)復(fù)雜的IoT-MEC網(wǎng)絡(luò)中的SFC部署問題,目標是最小化IoT-SFCRs的資源消耗成本和端到端延遲的加權(quán)和。由于物聯(lián)網(wǎng)網(wǎng)絡(luò)的動態(tài)變化和請求流的隨機到達,增加了處理SFC動態(tài)部署問題的難度。此外,在微云中,由于虛擬機可以靈活高效地實現(xiàn)VNF,同一類型的VNF可能有多個VNF實例,從而導(dǎo)致了多個候選VNF實例的組合。由于物聯(lián)網(wǎng)終端和應(yīng)用的多樣性造成了IoT-SFCR需求的多樣性和異構(gòu)性,為了滿足時延敏感型網(wǎng)絡(luò)服務(wù)的端到端延遲需求,有效利用網(wǎng)絡(luò)中的各種資源,簡化問題的處理,將SFC動態(tài)部署問題分解為兩部分:a)VNF放置子問題;b)流量路由子問題,即為SFC中相鄰節(jié)點對選擇最優(yōu)路徑。
1.4 問題刻畫
使用ILP解算器或啟發(fā)式算法解決上述優(yōu)化問題并不簡單,因為需要大量的迭代和計算。因此,本文使用了深度強化學(xué)習(xí),專門解決組合優(yōu)化問題[14],以實時獲得網(wǎng)絡(luò)狀態(tài)變化,并優(yōu)化動態(tài)SFC放置。
2 利用深度強化學(xué)習(xí)動態(tài)放置SFC
在本章中,提出了一種結(jié)合深度強化學(xué)習(xí)和啟發(fā)式算法的智能方法,以解決IoT-MEC網(wǎng)絡(luò)中的動態(tài)SFC放置問題。首先,對提出的解決方案進行概述。然后,將問題描述為一個MDP模型,該模型被定義為一個三元組〈S,A,Euclid Math OneRAp〉。
a)綜述:為了實現(xiàn)最優(yōu)的SFC部署,首先使用DDQN按照以下思路獲取網(wǎng)絡(luò)中的最優(yōu)VNF實例組合。SDN控制器獲取網(wǎng)絡(luò)狀態(tài)和到達物聯(lián)網(wǎng)SFCR的信息,并將其發(fā)送到VNF選擇網(wǎng)絡(luò)的VNF輸入層。然后,VNF選擇網(wǎng)絡(luò)輸出層中每個動作的Q值。代理以最大的Q值執(zhí)行操作。所有的結(jié)果,包括狀態(tài)、動作、獎勵和下一個狀態(tài),都作為經(jīng)驗樣本數(shù)據(jù)存儲在用于訓(xùn)練DDQN模型的經(jīng)驗記憶中。最后,需要檢查所選云上是否部署了所需的VNF實例。如果沒有部署,則需要在云上動態(tài)地放置VNF實例。
為了連接源節(jié)點、目標節(jié)點和選定的云,將DDQN和啟發(fā)式算法結(jié)合起來進行路徑搜索。例如,在圖1中,有四條路徑需要按預(yù)定順序生成,即(物聯(lián)網(wǎng)終端,cloudlet3)、(cloudlet3,cloudlet4)、(cloudlet4,cloudlet5)、(cloudlet5,src)。迭代地使用每條路徑的起始和結(jié)束節(jié)點以及剩余帶寬資源比作為SFC路徑搜索網(wǎng)絡(luò)(SFC path searching network,SPSN)的輸入。SPSN輸出所有候選路徑的Q值,對每條路徑進行初步分析。由于鏈路資源的限制,一些離散的操作是不可行的,使用啟發(fā)式算法來有效地解決這個問題。具體來說,通過選擇前k個動作來優(yōu)化動作空間大小。然后,將前k個動作發(fā)送到啟發(fā)式算法中,以判斷這些鏈路是否有足夠的資源來路由IoT-SFCR,即需要判斷所選鏈路是否被識別為瓶頸鏈路。如果它們沒有被識別為瓶頸,計算獎勵并選擇獎勵最高的鏈接。最后,如果能夠獲得最佳路徑集,則說明IoT-SFCR成功服務(wù)。
圖2是基于DRL和啟發(fā)式算法的動態(tài)SFC部署框架。步驟①~⑦是兩個DDQN網(wǎng)絡(luò)的訓(xùn)練過程。步驟①通過SDN控制器獲取當前網(wǎng)絡(luò)狀態(tài),并將其發(fā)送給代理。步驟②輸出與最佳Q值對應(yīng)的動作。代理通過網(wǎng)絡(luò)監(jiān)控組件從網(wǎng)絡(luò)環(huán)境中獲得獎勵并觀察下一個狀態(tài)后,生成的樣本(ss,as,rs,s′s)存儲在經(jīng)驗回放中,用于步驟③中的網(wǎng)絡(luò)訓(xùn)練。步驟④~⑥與步驟①~③類似。代理與網(wǎng)絡(luò)交互以獲得狀態(tài),執(zhí)行操作,然后在下次環(huán)境達到新狀態(tài)時,環(huán)境又會產(chǎn)生新的反饋獎勵。所有這些數(shù)據(jù)都記錄在Ep中。在步驟⑦中,代理隨機取出一小批數(shù)據(jù)用于在線網(wǎng)絡(luò)的訓(xùn)練。對于每個固定的時間步長,將目標網(wǎng)絡(luò)的參數(shù)更新為在線網(wǎng)絡(luò)的參數(shù)。
圖2中的虛線是算法的運行過程。步驟(1)將SDN控制器聯(lián)合代理獲取的網(wǎng)絡(luò)信息輸入到VNF選擇網(wǎng)絡(luò)。步驟(2)輸出每個VNF實例組合的Q值,然后,代理選擇最佳操作并將結(jié)果發(fā)送到SPSN。在步驟(3)中,代理在執(zhí)行云選擇和動態(tài)VNF部署后觀察網(wǎng)絡(luò)狀態(tài)。步驟(4)對路由路徑集進行初步分析。步驟(5)使用啟發(fā)式算法,根據(jù)代理輸出的前k個動作確定最佳可行的路由路徑集。
b)MDP模型:事實上,在實際網(wǎng)絡(luò)場景中,由于網(wǎng)絡(luò)的變化和IoT-SFCR的隨機到達,在動態(tài)網(wǎng)絡(luò)中很難找到最優(yōu)路由路徑。下一個SFC部署只與網(wǎng)絡(luò)當前的狀態(tài)有關(guān)。因此,可以使用MDP模型對動態(tài)網(wǎng)絡(luò)進行建模。首先,描述了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)掃描可以用一個向量來表示:
ss={{ωcpu1,ωcpu2,…,ωcpu|C|},Rcpui,p,Rdelayi}(14)
因此,狀態(tài)空間的維數(shù)為|C|+|Fi|+1。
在本文中,假設(shè)IoT-SFCR需要遍歷的VNF被放置在不同的云上。例如,如果IoT-SFCR需要遍歷三種VNF,必須選擇三種不同的云。定義動作集以及所有可能的云組合。假設(shè)IoT-MEC網(wǎng)絡(luò)中有N=|C|個云,IoT-SFCR需要遍歷K種類型的VNF實例,有CKN×AKK種可能的組合,即動作空間的維數(shù)也是CKN×AKK。一旦選擇了某個操作,必須檢查云上是否有相應(yīng)的VNF實例,如果沒有,則立即動態(tài)部署VNF實例。
接下來,將操作ap表示為用于連接開始和結(jié)束對節(jié)點的路徑。由于源節(jié)點、目的節(jié)點和VNF選擇網(wǎng)絡(luò)選擇的節(jié)點之間需要生成|Fi|+1路徑,所以代理必須迭代確定路徑。此外,還需要通過限制路徑長度來過濾動作空間,即設(shè)置最大傳輸跳數(shù)h,以避免過多的延遲。列出了SFC中兩個相鄰節(jié)點的所有可選路徑,并根據(jù)它們的長度對它們排序。然后,根據(jù)經(jīng)驗選取排序后的前600條路徑,將動作空間ap的維數(shù)限制在600,有利于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和收斂。
最后,將VNF選擇網(wǎng)絡(luò)的獎勵函數(shù)定義如下:
rs=-∑c∈C^dc-∑p∈Pi ∑c∈Cxpc(ηa)1-ωcpuc-Costi(d)(15)
其中:是所選的云集。
在計算狀態(tài)和選擇的動作下的獎勵之前,必須判斷所選的云上是否有足夠的資源來放置VNF。如果資源充足,根據(jù)式(16)計算獎勵,否則,經(jīng)驗設(shè)置獎勵為-200。因此,代理會嘗試選擇資源剩余率高的云,以提高IoT-SFCR的成功率。
最后,為了共同優(yōu)化資源消耗成本和端到端延遲,將SPSN的獎勵函數(shù)定義為物聯(lián)網(wǎng)的資源消耗成本和端到端延遲的負加權(quán)和。同樣,當IoT-SFCR沒有可行路徑時,SPSN的獎勵經(jīng)驗設(shè)置為-500。獎勵方式如下:
rp=-λ1∑l∈L^dl-λ2∑m,n∈Fi ∑uv∈Euclid Math OneLApxmnuv(ηb)1-ωbwuv(16)
其中:L^是連接源節(jié)點、目標節(jié)點和那些被選中的云的路徑集。為了保證算法的穩(wěn)定性,利用加權(quán)因子λ1和λ2保證兩個獎勵的數(shù)量級相同。由于∑l∈L^dl相對于鏈路上的資源消耗成本來說是一個較小的值,為了使訓(xùn)練穩(wěn)定,必須保證λ1gt;λ2。
3 算法
3.1 神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法
在本文中,使用一個神經(jīng)網(wǎng)絡(luò)來逼近值函數(shù)。通過對DDQN的不斷訓(xùn)練,可以更精確地逼近Q函數(shù)的分布,實現(xiàn)有效的SFC部署策略。DDQN網(wǎng)絡(luò)使用經(jīng)驗重放池來存儲每次迭代的經(jīng)驗樣本,并隨機從經(jīng)驗重放池中提取一些數(shù)據(jù)來更新網(wǎng)絡(luò)參數(shù),從而打破數(shù)據(jù)之間的相關(guān)性。由于都使用DDQN模型來解決VNF選擇網(wǎng)絡(luò)和SFC路徑搜索網(wǎng)絡(luò)(SPSN)這兩個子問題,所以都使用算法1來訓(xùn)練網(wǎng)絡(luò)。分別用θs和θp對VNF選擇網(wǎng)絡(luò)和SPSN進行參數(shù)化,它們都包含在線網(wǎng)絡(luò)和目標網(wǎng)絡(luò)。這兩種在線網(wǎng)絡(luò)和目標網(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ò)拓撲
由于物聯(lián)網(wǎng)設(shè)備的多樣性和隨機部署特性,IoT-MEC網(wǎng)絡(luò)的實際網(wǎng)絡(luò)拓撲結(jié)構(gòu)是不規(guī)則的。因此,使用Python NetworkX2.4[15]庫生成了三種典型的網(wǎng)絡(luò)拓撲作為仿真拓撲,這有助于說明DRL-SFCD算法的適用性和通用性。這三種網(wǎng)絡(luò)拓撲分別是隨機網(wǎng)絡(luò)、小世界網(wǎng)絡(luò)[16]和自由擴展網(wǎng)絡(luò)[17]。對于每種類型的網(wǎng)絡(luò)拓撲,都有24個節(jié)點,其中8個節(jié)點被選為云,用于通過放置的VNF處理IoT-SFCR。隨機網(wǎng)絡(luò)的連通概率為0.4,小世界網(wǎng)絡(luò)有10個鄰居節(jié)點,重新連接概率為0.2,自由擴展網(wǎng)絡(luò)的初始節(jié)點數(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]。每個云放置1~2種類型的VNF實例,IoT-SFCR在AP節(jié)點中隨機生成。將每個云的CPU容量設(shè)置在3 000~8 000 MIPS。每條鏈路的帶寬和時延分別設(shè)置在[1 000,10 000]Mbit/s和[2,5]ms。云上的延遲隨機設(shè)置為4~8 ms。將式(16)中的權(quán)重因子λ1、λ2分別設(shè)為3和1。
2)SFC請求
在本文中,假設(shè)每個IoT-SFCR在到達目的節(jié)點之前需要遍歷三種類型的VNF[18]。對于每個IoT-SFCR,隨機設(shè)置帶寬要求Rbwi為[10,120]Mbit/s。最大允許延遲Rdelayi設(shè)置在[50,100]ms。隨機生成20個IoT-SFCR來評估DRL-SFCD算法的性能。
3)對比算法
a)隨機方法(random method):隨機方法隨機選擇云放置/遍歷VNF實例,并為每個到達的IoT-SFCR連接兩個相鄰的VNF實例路由路徑。
b)時延最小貪心算法(delay-least-greedy method)[19]:延遲最小方法通常為每個到達的IoT-SFCR選擇延遲最小的云和路由路徑。同時,對該方法進行了改進,以避免選擇高負載的云和鏈接,并賦予它們較高的代價。
c)DQL聯(lián)合最短路徑算法(DQL-SP):在這種方法中,利用Dijkstra算法為每個IoT-SFCR搜索路由路徑。對于云的選擇,本文采用了DDQN算法。
仿真平臺:仿真環(huán)境設(shè)置在一臺使用Intel Core i5和8 GB RAM的機器上。使用一個基于Python的框架和TensorFlow來構(gòu)建和訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)。
4.2 結(jié)果分析
首先比較隨機網(wǎng)絡(luò)下IoT-SFCR數(shù)量變化時的成功率,如圖3所示。IoT-SFCR所需的資源只有在它們進入網(wǎng)絡(luò)時才能獲得。結(jié)果表明,在大多數(shù)情況下,DRL-SFCD的性能優(yōu)于其他算法,這意味著經(jīng)過訓(xùn)練的代理能夠很好地指導(dǎo)SDN控制器動態(tài)放置VNF實例并找到合適的路由路徑。也可以注意到,DQL-SP算法在IoT-SFCR的成功率方面與本文算法是一致的。原因是它們使用相同的方法來查找云來遍歷VNF實例。由于將跳數(shù)設(shè)置為6,貪婪算法和隨機算法可能找不到路徑,導(dǎo)致IoT-SFCR無法服務(wù),而最短路徑法可以保證找到路徑。另外,隨機算法和時延最小貪心算法由于不能動態(tài)部署SFC,性能較差,無法獲得最優(yōu)解。
為了更清楚地展示實驗結(jié)果,本文在圖4中給出了IoT-SFCR在隨機網(wǎng)絡(luò)下的平均獎勵。本文定義的獎勵是符合優(yōu)化目標的資源使用成本和延遲成本的加權(quán)和。可以看到,DQL-SP算法只有在SFCR數(shù)量在60個以下時才能優(yōu)于比較算法。當IoT-SFCR數(shù)量超過60個時,平均獎勵明顯且快速下降。然而,DRL-SFCD沒有顯著的變化,卻獲得了最大的回報??梢缘贸鼋Y(jié)論,本文DRL-SFCD算法在隨機網(wǎng)絡(luò)拓撲中比其他方法有更好的性能。
圖5展示了IoT-SFCR數(shù)量在20~200時,這些算法在小世界網(wǎng)絡(luò)下的IoT-SFCR的接受成功率??梢钥吹?,DQL-SP算法和提出的DRL-SFCD算法有相同的結(jié)果,因為它們使用相同的方法放置VNF實例,當路由流量沒有路徑或所選路徑?jīng)]有足夠的資源時,IoT-SFCR將被拒絕。還可以發(fā)現(xiàn),本文提出的DRL-SFCD算法的IoT-SFCR的成功率始終高于其他比較算法。
圖6為小世界網(wǎng)絡(luò)下IoT-SFCR的平均獎勵。當IoT-SFCR的數(shù)量在20~200個時,可以發(fā)現(xiàn),DRL-SFCD在80個IoT-SFCR之后可以獲得最大的獎勵。這是因為DQLSP總是找到適合少量IoT-SFCR的最短路徑。當IoT-SFCR數(shù)量增加時,無法保證網(wǎng)絡(luò)資源的均衡使用。在80次IoT-SFCR后,三種比較方法的平均獎勵都迅速下降??梢缘贸鼋Y(jié)論,在小世界網(wǎng)絡(luò)中,DRL-SFCD算法比其他算法具有更好的性能。
圖7為自由擴展網(wǎng)絡(luò)條件下IoT-SFCR數(shù)量為20~200時IoT-SFCR結(jié)果的成功率。結(jié)果表明,與其他兩種方法相比,DRL-SFCD和DQL-SP算法具有最高的IoT-SFCR成功接受率。隨著IoT-SFCR數(shù)量的增加,所有方法的IoT-SFCR的成功率都會下降,原因是資源消耗成本增加,部分鏈接和云成為瓶頸。可以發(fā)現(xiàn),所有方法的IoT-SFCR的成功率與上述網(wǎng)絡(luò)具有相同的變化趨勢。
圖8為自由擴展網(wǎng)絡(luò)條件下,IoT-SFCR數(shù)量為20~200時的平均獎勵??梢园l(fā)現(xiàn),所有方法的平均報酬與上述網(wǎng)絡(luò)具有相同的變化趨勢。在這些圖中可以看到,本文提出的DRL-SFCD算法在IoT-SFCR數(shù)量較多的情況下比其他方法獲得的獎勵最好,在大多數(shù)情況下IoT-SFCR的成功率最好。在本文中,IoT-SFCR的資源需求是不斷變化的,從而形成了一個動態(tài)的場景。因此,有必要考慮動態(tài)SFC部署方案,使資源消耗成本和端到端延遲的加權(quán)總和最小。這些結(jié)果表明,所提出的DRL-SFCD算法能夠動態(tài)地適應(yīng)網(wǎng)絡(luò)的變化,證明了該方法的有效性。綜上所述,在三種典型的網(wǎng)絡(luò)類型下,本文算法平均提高了23.8%的平均獎勵率和17%的成功率。
5 結(jié)束語
本文提出了一種高效的基于DRL的SFC動態(tài)部署算法DRL-SFCD,用于處理動態(tài)IoT-MEC網(wǎng)絡(luò)中的IoT-SFCR。為了簡化SFC的動態(tài)部署問題,將其分解為VNF布局子問題和流量路由子問題。VNF選擇網(wǎng)絡(luò)和SPSN是為了實現(xiàn)最優(yōu)VNF實例選擇和路由路徑確定而設(shè)計的??梢允褂糜?xùn)練有素的代理快速響應(yīng)IoT-SFCR。仿真結(jié)果表明,在三種典型的網(wǎng)絡(luò)拓撲下,所提方法在IoT-SFCR的成功率和平均回報方面均優(yōu)于DDQN聯(lián)合最短路徑法、隨機方法和貪婪方法。
參考文獻:
[1]梁俊斌,黃少東,吳旭,等.綠色移動邊緣網(wǎng)絡(luò)中可靠的虛擬網(wǎng)絡(luò)功能部署技術(shù)研究[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]陳嘉亮,王豐,張瀟.移動邊緣計算網(wǎng)絡(luò)下的服務(wù)功能鏈部署優(yōu)化設(shè)計[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.