姜洪超
(中國移動通信集團河北有限公司,河北 石家莊 050035)
5G 核心網(wǎng)資源分配其實就是將各種虛擬的服務(wù)功能鏈SFC 解耦成多個虛擬網(wǎng)絡(luò)功能VNF 后,將其映射到滿足物理條件的虛擬化的基礎(chǔ)設(shè)備上,通過對虛擬網(wǎng)絡(luò)功能的編排和調(diào)度,實現(xiàn)物理資源的最佳配置,以提高網(wǎng)絡(luò)系統(tǒng)的負載均衡和網(wǎng)絡(luò)資源的利用率[1]。虛擬化技術(shù)增強了網(wǎng)絡(luò)的靈活性和可擴展性,通過設(shè)計不同的資源分配方案有效滿足5G 服務(wù)差異化需求,在很大程度上提升網(wǎng)絡(luò)資源的利用率,因此得到很多學(xué)者的青睞。相關(guān)的研究包括:Kamel 等人[2]基于公平理論選擇切片資源,并將切片中具有最佳信道響應(yīng)的物理資源分配給用戶;Caballero 等人[3]基于共享約束比例分配機制,以用戶共享級別為準則分配資源量,并通過用戶自身分配影響其他用戶的分配比例,從而使得自身分配達到最大化;Hu 等人[4]采用輪詢的方法將資源分配給切片,結(jié)合業(yè)務(wù)中所需要目標速率和切片的平均速率來調(diào)節(jié)切片的資源數(shù)量;Jiang 等人[5]提出一種基于拍賣博弈的切片資源分配方法,將無線帶寬、計算資源和存儲資源作為切片分配的影響因素,以用戶需求作為價格計算,最后采用競爭的方式實現(xiàn)資源分配。
上述學(xué)者大多數(shù)采用線性規(guī)劃、非線性規(guī)劃或者博弈的方式構(gòu)建資源分配模型,實現(xiàn)單目標資源分配的優(yōu)化,很少采用多目標的方法進行切片資源分配。除此之外,上述的算法很少考慮到策略的落地,也就是在用戶提出資源請求的過程中,采用貪婪的方式來獲得最優(yōu)解是不現(xiàn)實的。鑒于此,本文提出一種基于虛擬化技術(shù)的5G 核心網(wǎng)資源分配算法,該方法對系統(tǒng)負載均衡和系統(tǒng)利用率兩個目標進行折中優(yōu)化;根據(jù)業(yè)務(wù)需求約束項(節(jié)點的可靠性和節(jié)點之間鏈路可靠性)篩選候選服務(wù)器集;然后采用改進粒子群算法快速實現(xiàn)服務(wù)器資源的映射,實現(xiàn)全局學(xué)習(xí)的最優(yōu)。
在5G 核心網(wǎng)中,利用NFV(網(wǎng)絡(luò)功能虛擬化)技術(shù)將網(wǎng)絡(luò)功能實現(xiàn)軟硬件解耦,用戶的業(yè)務(wù)請求將會抽象成多個NFVs,然后基于抽象出來的NFVs 與底層的服務(wù)器進行映射,最終實現(xiàn)資源的分配。基于服務(wù)化網(wǎng)絡(luò)架構(gòu)的核心網(wǎng)資源映射過程如圖1 所示。
基于SDN 和NFV 服務(wù)網(wǎng)絡(luò)架構(gòu)有效應(yīng)對每個場景對于時延、可靠性和功耗的需求,對網(wǎng)絡(luò)資功能進行構(gòu)建、組合和調(diào)整,從而定制不同的網(wǎng)絡(luò)切片。而虛擬網(wǎng)絡(luò)功能(VNFs,Virtual Network Features)和物理層網(wǎng)絡(luò)資源都包含在切片中,然后結(jié)合用戶需求定制不同虛擬功能組合,并調(diào)用相關(guān)的接口申請底層物理網(wǎng)絡(luò)資源實現(xiàn)虛擬網(wǎng)絡(luò)功能的實例化和編排,最終形成服務(wù)功能鏈的部署。圖1 展現(xiàn)了網(wǎng)絡(luò)功能的實例化和編排后,實現(xiàn)服務(wù)功能鏈的部署過程。每一個切片請求對應(yīng)一條服務(wù)功能鏈,7個VNF 組成某一條服務(wù)功能鏈,然后將功能鏈中所對應(yīng)的VNF 實例化到低層物理網(wǎng)絡(luò)資源中,在滿足用戶QoS需求下,實現(xiàn)資源配置的高效部署。

圖1 基于服務(wù)化網(wǎng)絡(luò)架構(gòu)的核心網(wǎng)資源映射過程
虛擬網(wǎng)絡(luò)功能部署一般分為兩個階段:VNF 部署和鏈路映射。在VNF 部署階段主要對收集的SFC 按照一定的原則(業(yè)務(wù)優(yōu)先級別、時延、速率等)進行排序并將其部署到底層物理服務(wù)器節(jié)點中;在鏈路映射階段是實現(xiàn)VNF 與底層服務(wù)器的鏈路映射。本文僅對VNF 部署過程進行詳細解釋。
VNF 部署階段不僅將VNF 部署到底層服務(wù)服務(wù)節(jié)點上,還需要選擇合適的調(diào)度策略,以便提高網(wǎng)絡(luò)資源利用率。SCF 多目標優(yōu)化調(diào)度策略通常采用Max-Min 和Min-Min 算法將資源需求部署到對應(yīng)等級的節(jié)點上,本文把負載不均衡度和系統(tǒng)利用率考慮在內(nèi),在最小化負載不均衡度的基礎(chǔ)上最大化系統(tǒng)利用率。在資源部署前,本文將節(jié)點可靠性和鏈路可靠性納入到候選服務(wù)器節(jié)點選取的考慮因素,如此,在用戶服務(wù)請求時結(jié)合用戶QoS 需求快速篩選滿足節(jié)點可靠性和鏈路可靠性的服務(wù)器節(jié)點,縮小系統(tǒng)服務(wù)器的選擇范圍,增加虛擬網(wǎng)絡(luò)功能映射成功的可能性。為了快速實現(xiàn)調(diào)度策略的選取,提出一種基于改進離散粒子群的底層物理資源選取策略,通過迭代快速搜索全局最優(yōu)解,提升算法的收斂性。流程如圖2 所示。

圖2 流程圖
假設(shè)5G核心網(wǎng)中服務(wù)器的集合為A。A={pmi|0 ≤i≤n},其中i表示5G 核心網(wǎng)中可用服務(wù)器的數(shù)量。服務(wù)器的資源(CPU、內(nèi)存、帶寬等)集合為B。B={pmir|0 ≤r≤m},其中r表示服務(wù)器資源的種類。
由于5G 網(wǎng)絡(luò)時動態(tài)變化的,假設(shè)當(dāng)前時刻已經(jīng)被分配的資源為總的資源總量為那么服務(wù)器i在資源r上的平均利用率為:

那么整個系統(tǒng)的資源平均利用率可表示為:

基于物理服務(wù)器的資源平均利用率,找出整個系統(tǒng)的負載不均衡度μ為:

那么,雙目標優(yōu)化適應(yīng)度公式可以表示為:

其中μ為系統(tǒng)的負載不均衡度,該問題是一個NP-Hard問題,需要對負載均衡和利用率之間進行均衡。為了降低計算復(fù)雜度,本文將基于虛擬網(wǎng)絡(luò)功能QoS 的最低要求選取滿足需求的服務(wù)器候選集,然后,在獲取候選服務(wù)器集的基礎(chǔ)上采用改進離散粒子群實現(xiàn)底層物理資源的快速搜索。
假設(shè)服務(wù)器的可用性其實就是衡量服務(wù)器的剩余資源平均可用性。已知服務(wù)器i在資源r上的平均利用率為那么在資源r的平均可用性表示為

鏈路可用性可用鏈路失效率表示。由于鏈路的時效性滿足指數(shù)分布,也就是節(jié)點i到達下一個物理節(jié)點j的傳輸時間tij內(nèi),鏈路的失效率可用表示為:

多個虛擬網(wǎng)絡(luò)功能的最低資源需求可以簡化為節(jié)點可靠性和鏈路可靠性。為了獲取可用的候選服務(wù)器集合,結(jié)合節(jié)點可靠性和鏈路可靠性需求遍歷系統(tǒng)中所有的服務(wù)器節(jié)點,篩選滿足最低資源要求的服務(wù)器節(jié)點。篩選的規(guī)則可表示為:

公式(8) 的第一部分是指服務(wù)器某一種資源的可用性大于虛擬網(wǎng)絡(luò)功能對某一種資源的最低需求。這里的資源一般包含CPU、內(nèi)存以及帶寬。通過對CPU、內(nèi)存以及帶寬進行一一比較,篩選出滿足要求的服務(wù)器節(jié)點;第二部分是指5G 核心網(wǎng)內(nèi)連接服務(wù)器之間的鏈路可用性要大于虛擬網(wǎng)絡(luò)功能之間數(shù)據(jù)傳輸最低需求,如此才能保證選取服務(wù)器節(jié)點在處理完數(shù)據(jù)之后,順利地傳到下一個服務(wù)器節(jié)點中。
基于上一步獲得了候選服務(wù)器集合,采用改進離散粒子群算法結(jié)合用戶業(yè)務(wù)需求來實現(xiàn)資源配置方案的搜索。
改進離散粒子群算法不僅需要加快粒子搜索的速度,還要避免粒子陷入局部優(yōu)化。因此,通過對自我學(xué)習(xí)因子和全局學(xué)習(xí)因子進行改進,隨著算法的搜索的推進,自我學(xué)習(xí)因子逐漸變大,全局學(xué)習(xí)因子逐漸變小,如此,在搜索初期不僅能夠提升粒子的全局搜索能力,避免算法早熟過早收斂的問題,也能在搜索后期提高算法的收斂能力,提升搜索速度。本文將改進離散粒子群算法運用到核心資源搜索中。
假設(shè)現(xiàn)在有一個用戶請求,系統(tǒng)該用戶請求抽象出來D個虛擬網(wǎng)絡(luò)功能,那么,我們將D個虛擬網(wǎng)絡(luò)功能最終搜索方案用粒子i的位置xi=(xi1,xi2,…,xiD) 來表示。其中,xiD表示第D個VFN 放置在編號為xiD的服務(wù)器中。vi=(vi1,vi2,…,viD) 代表粒子速度。那么該問題就可以歸結(jié)為離散二進制粒子群算法,粒子的更新速度表示為:

其中c1表示一個自我學(xué)習(xí)因子,取值在0~1 之間,通常取常數(shù);c2表示一個全局學(xué)習(xí)因子,取值在0~1 之間,通常取常數(shù);w是一個慣性系數(shù),c1、c2、w通常設(shè)置為常數(shù)。在粒子搜索初期,粒子由于缺乏與其他粒子交互的信息,自我學(xué)習(xí)因子越大越好,全局學(xué)習(xí)因子越小越好,如此才能使粒子盡量發(fā)散到搜索空間,增加全局搜索的能力,避免算法早熟收斂問題。隨著迭代次數(shù)的增加,粒子之間的交互信息越來越充分,全局學(xué)習(xí)因子越大越好,自我學(xué)習(xí)因子越小越好,如此更好地引導(dǎo)粒子進行局部優(yōu)化搜索,提高算法的收斂能力。基于上述的想法,本文采用始終時間衰減系數(shù)的思想來修正自我學(xué)習(xí)因子和全局學(xué)習(xí)因子。

其中n表示總的迭代次數(shù),t表示算法的迭代次數(shù),cmax是學(xué)習(xí)因子上限值,cmin是學(xué)習(xí)因子下限值。公式(10) 考慮學(xué)習(xí)因子的自適應(yīng)問題,滿足算法迭代過程中學(xué)習(xí)因子的自我調(diào)整,形成初期依賴自我學(xué)習(xí)的經(jīng)驗,后期依賴全局學(xué)習(xí)的經(jīng)驗的自適應(yīng)學(xué)習(xí)規(guī)則,避免算法陷入局部優(yōu)化的局面。
由于位置是一個離散變量,那么采用sigmoid 函數(shù)將速度進行轉(zhuǎn)換,將其映射到0~1 之間。

式(12) 表示粒子對位置所對應(yīng)取值0/1 的可行解。
基于上述改進離散粒子算法,以公式(4)即適應(yīng)度公式的最大值作為全局最優(yōu)解,基于當(dāng)前最大的迭代次數(shù)找到一組可行解xi=(xi1,xi2,…,xiD)滿足最大利用率和最小負載不均衡率,實現(xiàn)虛擬網(wǎng)絡(luò)功能到服務(wù)器節(jié)點的映射。
本文仿真平臺是基于16 個服務(wù)器節(jié)點搭建的服務(wù)器集群,每個服務(wù)器的CPU 頻率為3.6 GHz,內(nèi)存為128 G,硬盤大小為2 T。基于虛擬化技術(shù)的5G 核心網(wǎng)資源配置算法的性能仿真參照文獻[6]-[9],利用Matlab 工具驗證算法的性能,相關(guān)的仿真參數(shù)如表1 所示。

表1 核心網(wǎng)資源配置仿真實驗的參數(shù)設(shè)置
仿真時間一共持續(xù)6 周,其中粒子群參數(shù)學(xué)習(xí)周期為500 周期,測試周期為200 周期。較長的學(xué)習(xí)時間能夠更好地調(diào)整參數(shù),包括學(xué)習(xí)因子的上限值、學(xué)習(xí)因子的下限值以及時間衰減系數(shù)。在學(xué)習(xí)期間,通過不斷更新參數(shù)得到一個最佳的參數(shù)值,在測試階段則采用確定的參數(shù)值和樣本值來驗證算法的擴展性。圖3 顯示當(dāng)γ=0.6 時,在學(xué)習(xí)周期和測試周期內(nèi)樣本fmax(Uavg,u) 的真實值和改進離散粒子群擬合值之間的關(guān)系。如圖3 所示,周期迭代到500 次以后測試階段的樣本真實值與適應(yīng)函數(shù)值基本重合。
從圖3 可知,樣本的適應(yīng)性函數(shù)經(jīng)過多次迭代,在490 次迭代之后達到穩(wěn)定,適應(yīng)性函數(shù)值收斂到0.889。在后面的近200 次測試中,適應(yīng)性函數(shù)值一直保持穩(wěn)定的狀態(tài),算法收斂。

圖3 學(xué)習(xí)周期和測試周期適應(yīng)性函數(shù)值與樣本真實值比較
為了驗證本文算法的可用性,本文將隨機資源分配算法與本文算法在不同服務(wù)功能鏈內(nèi)存資源總量的分配條件下服務(wù)用戶數(shù)量的區(qū)別。
圖4 是服務(wù)功能鏈內(nèi)存資源總量在4G、8G、12G、16G、20G、24G 時的用戶服務(wù)數(shù)量比較。隨著服務(wù)功能鏈內(nèi)存資源總量的增加,服務(wù)用戶數(shù)量差距逐漸增加。這是因為隨著資源分配量的增加,本文算法在設(shè)備資源分配上選取了全局最優(yōu)的方法,能夠有效協(xié)同服務(wù)器設(shè)備之間的資源,因此比隨機資源分配算法的方案更加合理。

圖4 不同服務(wù)功能鏈內(nèi)存資源總量的分配條件下服務(wù)用戶數(shù)量比較
本文研究如何在服務(wù)質(zhì)量和負載均衡前提下,有效提升資源利用率的問題,提出了以負載不均衡度最小和系統(tǒng)利用率最大為核心網(wǎng)資源分配算法的目標,通過改進離散粒子群算法實現(xiàn)虛擬網(wǎng)絡(luò)功能到服務(wù)器節(jié)點的快速映射,以適應(yīng)實時動態(tài)變化的服務(wù)器負載和用戶服務(wù)多變的功能需求。實驗表明,在服務(wù)功能鏈內(nèi)存資源總量較大的情況下,該方法能夠有效增加服務(wù)用戶的數(shù)量,提高系統(tǒng)性能。