盧 旭,易 波,王興偉,黃 敏
1(東北大學 計算機科學與工程學院,沈陽 110169)
2(東北大學 信息科學與工程學院 流程工業綜合自動化國家重點實驗室,沈陽 110819)
在經歷了電信網絡3次重要的技術飛躍后,第五代移動通信(the 5thGeneration mobile communication,5G)網絡如今已逐漸進入商業使用階段.面對用戶日益增長的服務類型多樣化、服務范圍擴大化和服務質量優化的要求,5G網絡切片可以有效地支持各垂直行業的多樣化應用場景[1],5G網絡切片的核心思想可以概括為專用虛擬網絡即服務[2].
軟件定義網絡(Software-Defined Networking,SDN)中的服務定制化使得SDN被應用于5G網絡切片的趨勢越來越明顯[3,4].網絡功能虛擬化(Network Function Virtualization,NFV)的兩個特點網絡功能與硬件解耦和網絡功能的靈活部署使得NFV與5G網絡切片的網絡軟件化思想不謀而合.目前將SDN和NFV共同作用于網絡切片環境的相關研究仍處于起步階段.
在SDN實現網絡切片方面,較為權威的是ONF發表的白皮書[5],該文獻首次提出了具體的切片設計方案.ETSI的白皮書[6]針對SDN控制器的部署位置提出了一種非常具有代表性的復合型架構.在該架構中,SDN控制器以VNF的形式實現,并分別部署于NFV的基礎設施層和虛擬網絡層.本文的研究很大程度上都是以該框架為理論模型展開的.
在不考慮5G網絡支持時,要求保證網絡切片性能要求的基礎上實現基礎設施供應商收益最大化,提出了根據租戶提出的性能標準按需劃分資源并創建網絡切片[7].如果是面向多租戶場景的動態資源分配策略,提出了一種份額有限比例分配模型[8].
如果是在具備完全的5G網絡結構支持的假設下,可以將網絡切片構造問題轉化為節點和鏈路容量受限的服務功能鏈構造過程,進而將問題的形式化描述轉化為混合二元線性規劃問題[9].對于端到端5G網絡切片的部署問題[10],通過復雜網絡的相關理論分析切片和基礎設施網絡的拓撲信息,并以此為根據為3種典型場景EMBB、MMTC、URLLC設計不同的資源分配策略實現面向服務類型的切片部署,且該研究以線性增長的算法平均執行時間實現了較高的資源效率和切片請求接受率.
上述算法忽略了對切片實時性能的反饋,優化目標單一.本文利用SDN和NFV獨有的優勢為5G網絡切片環境設計一種高效的資源機制,在擁有完善的網絡虛擬化技術和SDN網絡框架的前提下,充分發揮架構優勢,提出優化的資源調度策略以支持網絡切片的整個生命周期過程,在實現切片間的資源共享以及保證網絡切片服務質量的前提下,實現切片綜合效益最大化.
本文底層的網絡基礎設施可以抽象為一個有向連通圖Ginf={Vinf,Einf,Cinf,Binf,Dinf,Rinf},其中Vinf,記錄所有的節點;Einf表示邊的集合;Cinf表示節點的性能容量;Binf表示鏈路的帶寬;Dinf表示鏈路的傳播時延,在衡量切片的性能指標時實際使用的是端到端時延;Rinf表示鏈路的可靠性.一個網絡切片ns則可以表示為有向連通圖Gns={Vns,Ens,Cns,Bns,Dns,Rns},其中,每一個集合和基礎設施中各項的含義相同.除此之外,還有一個集合requestns={Tns,Typens,Uns,RFns,KPIns}表示對網絡切片的某些性能和屬性的限制,Tns表示生存周期;切片類型Typens∈{embb,urllc,mmtc},分別對應目前各大廠商的5G白皮書中定義的3大應用場景EMBB、URLLC、MMTC;Uns描述切片創建時指定的各個接入點的預期用戶規模;RFns是在切片創建之前給出的服務功能鏈的要求,它表現為一個數字序列(向量),每個數值表示每種VNF處理1個單位帶寬的數據所需的單位性能;集合KPIns描述網絡切片的關鍵性能指標,本文關注的是帶寬bwth、時延delay、可靠性rlb這3項指標.
參考5G網絡切片的理論框架,可以確定網絡切片中涉及到的資源管理的主要內容應集中于SDN控制器、OSS/BSS、編排器這3種軟件(硬件)實體中.因此,本文所設計的5G網絡切片資源管理的整體框架如圖1所示,框架主要分為3大模塊:綜合效益定義模塊,切片性能監測模塊,切片資源管理模塊.

圖1 系統框架圖
綜合效益定義模塊主要接收運營商設定的網絡切片定價參數,用以計算作為資源管理機制的全局優化目標;性能檢測模塊主要功能是實時測試并反饋各網絡切片的實際性能指標,作為網絡切片資源管理的觸發條件,該模塊沒有理論研究工作,但是該模塊提供的結果是資源管理機制正常運行的重要參考因素;切片管理模塊是運行于控制器和編排器之上的主要功能模塊,通過SDN控制器和NFV編排器的配合執行本文的研究成果,完成對網絡切片的資源優化調度,該模塊包含切片創建、切片維護和回收策略.
本文定義綜合效益作為各項優化策略的全局優化目標,網絡切片ns的綜合效益同時反映兩方面的內容:1)運營商利用切片為終端用戶提供服務而產生的利潤pns;2)服務質量低于運營商承諾的性能要求時產生的負面影響αnens,見式(1):
CUns=pns+αnens
(1)
網絡切片的本質是運行于底層資源之上的定制化虛擬網絡,切片的創建實際上是一種虛擬網絡嵌入過程,鑒于其NP-hard的特性,本文采取啟發式方法配合圖論中的最大流算法進行優選以求解該問題的次優解.
3.1.1 基于圖論的初始解獲取
切片網絡圖的構建可以簡化為有向圖中的多次端到端路徑尋找的過程,sink節點作為統一的收點.算法采取Dijkstra算法搜索最短路徑,稍有不同的是在其中增加了一個終止條件—搜索到以sink為目的的最短路徑.最終算法的輸出為這些路徑的并集構成的切面構造方案.
3.1.2 基于PSO和DE的啟發式優化

解碼操作是將切片中兩個向量Xi和Yi與基礎設施Ginf做解碼運算即可獲得對應的網絡切片抽象Gi={Vi,Ei,Ci,Bi,Di,Ri}.
2)適應度函數.本文采取基于粒子群算法[11](Particle Swarm Optimization,PSO)和差分進化算法(Differential Evolution,DE)的啟發式優化算法[12]的啟發式算法對切片構造方案進行求解,切片構造方案被抽象為個體向量,個體之間的優劣性根據適應度進行判斷,對任意個體Xi,其適應度函數HSIi定義見式(2):
(2)
式(2)代表切片占用的節點和鏈路資源之和,其中β為兩者的權重系數.
3)初始化操作.算法的初始化操作是為了在解空間中產生初始的種群,本文采取經典DE算法的種群初始化方案,在解空間中隨機產生均勻分布的個體,解空間則用節點剩余容量加以限制,若將第0代的個體形式化見式(3):
(3)

4)變異操作.差分變異操作可以增加算法的廣度搜索范圍,使得種群更有可能向全局最優的情況收斂.在本文設計的啟發式優化算法中,變異操作包含了DE算法和PSO算法的特點,變異方式既有DE算法的差分變異算子,又保留了PSO算法的速度向量算子.

hi(g)=Xr1(g-1)+F·(Xr2(g-1)-
Xr3(g-1)),F∈[0,2]
(4)
其中r1、r2和r3是3個不相等的隨機整數,滿足r1,r2,r3∈[1,n],因此Xr1(g-1)、Xr2(g-1)和Xr3(g-1)相當于從種群中隨機選出的3個不同的個體.縮放因子F用于控制差分向量的權重,取F=0.5.
變異操作中另一項變異策略是基于PSO的速度向量更新,對應操作見式(5):
Xi(g)=Xi(g-1)+Si(g)
(5)
該式旨在用個體的速度向量更新個體位置,而其中的速度向量的計算則參考式(6):
Si(g)=ω·Si(g)+C1·rand(0,1)·(pbesti-Xi(g-1))+
C2·rand(0,1)·(pgbest-Xi(g-1))
(6)
其中,C1是局部搜索因子,取C1=1.8.C2是全局搜索因子,取C2=1.9.非負實數ω是慣性因子,正相關于算法的全局搜索能力.利用這一特點,本文對ω取較大值,并在迭代時依概率PPSO執行速度向量更新,旨在提升種群多樣性,避免算法的“早熟”現象.
5)交叉操作.交叉操作是對原個體Xi(g-1)和變異個體hi(g)進行交叉選擇獲得試驗個體ti(g).如果交叉概率大于隨機數則選擇變異個體,否則,選擇原個體.
6)選擇操作.選擇操作的目標在于對比個體Xi(g-1)和經交叉操作獲得的試驗個體ti(g)兩者的適應度,選擇適應度值更小的方案作為新一代個體.
7)算法描述
綜合上述各個分步驟的設計,基于DE和PSO的切片創建算法的整體流程見算法1.
算法1.基于PSO和DE的切片創建算法
輸入:種群X={x1,x2,…,xM};基礎設施抽象Ginf;迭代次數Tmax;創建請求requestns
輸出:最優解xopt
BEGIN
1.執行初始化操作,得到X′={x1,x2,…,xM}
2.WHILEg 3. IFrand(0,1)>pPSO 4. FORi=1:M(棲息地個數)DO 5. 根據式(4)生成變異向量hi(g)/*差分變異操作*/ 6. FORj=1:n(棲息地維數)DO 8. 計算tij(g)/*交叉操作*/ 9. END IF 10. END FOR 11. 根據式(5)計算xi(g)/*選擇操作*/ 12. 更新局部個體pbesti 13. END FOR 14. ELSE 15. FORi=1:M(棲息地個數)DO 16. 根據式(5)更新xi(g)/*速度向量更新操作*/ 17. 更新pbesti 18. END FOR 19. END IF 20. 更新全局最優個體pgbest 21.END WHILE 22.根據適應度值選取最優解xopt 23.RETURNxopt END 性能監測模塊檢測到網絡切片的性能指標不達標時,首先對這些網絡切片執行內部調度,通過調整網絡切片中VNF的部署位置和數量來優化網絡結構.如果切片負載過重,考慮對切片進行外部調度(即用額外資源進行擴充),根據擴充的資源位置不同,又分為垂直擴充和水平擴充. 3.2.1 基于VNF遷移的內部調度算法 內部調度算法是在Dinic算法的基礎上進行改進,本文設計的切片內部調度算法在各個發點間交替執行流擴充過程,并以具體的用戶數作為約束條件. 切片的內部調度算法偽代碼見算法2. 算法2.切片內部調度算法 輸入:切片Gi={Vi,Ei,Ci,Bi,Di,Ri},切片要求requesti={Ti,Typei,Ui,RFi,KPIi} BEGIN 2.WHILE TRUE DO 4. 以l為發點構造層次網絡LNi/*對應下文步驟2)*/ 7. ELSE 8. CONTINUE 9. END IF 10. END FOR 12. IFsink節點不在LNi中/*說明已達到最大流狀態,無需再擴充*/ 13. BREAK 14. END IF 15.END WHILE END 1)殘量網絡初始化.記切片i的網絡容量圖為NTi={SVi,SEi,SCi.SBi.SDi.SRi,TFi},其中集合SBi和向量TFi分別代表鏈路容量以及正向網絡流的大小.構造殘量網絡是為每條邊增加一條對應的反向邊,并置反向邊流量為正向邊容量與正向邊流量之差,正向邊容量為帶寬,正向邊流量為向量TFi中的對應的值. 2)層次網絡初始化.層次網絡初始化是基于當前的殘量網絡,從給定的發點src開始構造層次網絡.層次網絡對應的圖結構實際上并沒有變化,只是每個節點都增加了額外增加的屬性—層次號,層次號代表的是該節點與發點的最小距離(跳數).層次號的作用是在進行搜索增廣路徑時限制路徑只能從低層次延伸到高層次,避免無效的搜索過程. 3.2.2 外部調度算法 若內部調度未能達到切片的性能優化目標,說明需要使用額外的資源對該切片進行擴充,這些額外的資源既可以是當前系統池的未分配資源,也可以是其它輕負載切片的空閑資源.這類切片調整策略稱為外部調度,在本文中,分為具有先后關系的兩個步驟:垂直擴充和水平擴充. 1)垂直擴充.垂直擴充是在不改變當前網絡節點以及鏈路部署位置的前提下,對其節點和鏈路所占用的資源量進行調整. (7) 其中,β是權重系數,b∈Bi,j是集合Bi,j中任意一個元素,rm(ci)和rm(bi)分別代表網絡流中某節點或某鏈路對應的切片中節點或鏈路的剩余資源大小. 考慮到某些流的水平擴充代價會隨著切片內空閑的消耗而變化,因此在每一次擴充后都應該對當前流的平均擴充代價和基于平均擴充代價的有序流集合的元素次序進行更新. 2)水平擴充.水平擴充是在當前系統的可調度資源的基礎上進行重構,本質上是網絡切片創建問題. 在切片的水平調整過程中對不合格切片的重構操作按照各自的處理優先級進行處理.定義網絡切片的水平調整優先級見式(8): (8) 其中,Tri表示切片的剩余服務時間,Ui即預期用戶規模,nei即負面性能評價.因此該優先級保證切片剩余時間越長、用戶規模越小、切片性能越差的網絡切片越優先進行水平擴充. 之所以做出這樣的決策,其一是因為剩余生存時間越長的切片帶來的預期收益更高,其二是因為對用戶規模小的切片進行擴充對系統整體資源消耗量較小(類似于操作系統中的短作業優先策略),其三是因為性能越差的切片往往預示著切片和切片網絡功能的部署方案越不合理,所以被重新分配資源進行重組的緊迫程度越高. 考慮到切片創建和調節過程的復雜性,本文在切片回收決策設計的核心是資源延遲回收及復用策略. 參考操作系統底層對已分配的內存的回收過程,資源管理系統可以推遲回收失效切片資源的時機,原因如下:一方面,若失效切片符合新的切片創建標準或是切片調整目標,則該切片可被重新啟用;另一方面,失效的切片可以被視為空閑切片而被直接釋放為未分配資源;同時,因為切片復用的要求較為嚴格,因此失效切片在系統中時間足夠久,被復用的概率才足夠可觀. 復用的標準需要同時滿足兩個條件: 2)保證失效切片端到端性能能夠滿足切片創建或調整的要求,對目標切片i而言,只有當ns滿足(bwthns≥bwthi∧delayns≤delayi∧rlbns≥rlbi),才能滿足KPI限制. 本文提出的切片回收算法更多的是對失效切片的復用來輔助切片調整過程和創建,優化整個系統的響應速度. 本文設計的仿真平臺是基于Mininet[13,14]、Floodlight[15]和SFlow[16]進行的二次開發,整合了其他的程序作為輔助平臺. 為測試本文提出的資源管理機制的性能,分別實現了SOCN、GLL機制以及本文提出的資源管理機制(標記為“Ours”).此外,還加入了一項僅保留文中切片創建機制的基準機制(標記為“SC”).這4種機制在請求接受率和平均性能偏差這兩類指標上進行對比分析. 4.2.1 請求接受率 請求接受率反映了不同機制在同一底層網絡下對網絡切片的承載能力,與運營商的收益直接相關.其定義見式(9): (9) 式(9)代表前k個請求的請求接受率.而其中Nacp(k)代表前k個請求中被系統接受的請求數. 如圖2所示,在初始階段,基礎設施中的節點容量和鏈路帶寬資源充足,4種機制的請求接受率都較高,在后期由于早期的切片生命周期結束,所占用的資源逐漸被釋放,因此3者的接受率曲線斜率逐漸趨于平緩.本文提出的資源管理機制整體趨勢與SOCN機制接近,是因為這兩項機制在構造網絡切片時都綜合考慮了底層網絡拓撲的節點和鏈路資源狀態,雖然最后本文設計的機制的請求接受率仍劣于SOCN,但并未拉開較大差距(請求接受率差距為4.8%).SC機制中的切片創建算法的啟發式過程更是以切片的資源占用量為適應度函數,所以SC機制的請求接受率一直保持在較高水平.GLL機制在進行節點的資源分配時優先考慮節點剩余容量,在后期當切片請求越來越多時,系統內節點的剩余資源會趨于碎片化,而本文是基于最小費用最大流算法進行節點和鏈路的選取,因此網絡切片的構造會更加合理,在請求接受率方面與GLL機制相比會造成10%的差距. 圖2 切片請求到達率 4.2.2 平均性能偏差 平均性能偏差定義為各網絡切片在運行時的實際服務質量與承諾值的偏差程度.由于本文主要考慮網絡切片的帶寬、時延和可靠性3項指標,因此需要對3者分別計算偏差值,見式(10)-式(13): (10) (11) (12) (13) 為了避免某些切片的極端情況影響對算法的整體評價,這3項指標都做了取均值的處理. 1)平均帶寬偏差.平均帶寬偏差衡量網絡切片的實際用戶數據承載能力.4種機制在運行時,管理域下所有切片的平均帶寬偏差如圖3所示. 圖3 4種機制下的平均帶寬偏差 當系統承載的切片越來越多,各節點和鏈路的剩余資源越來越少時,本文提出的資源管理機制對另外3者呈現出明顯的優勢,首要原因便是本文設計的基于實時性能監測的切片調整機制,能夠對切片拓撲屬性進行調整.而SOCN機制雖然不會對切片進行動態調整,但在構造階段會根據服務類型進行差異化構造,所以平均帶寬偏差會較低于動態調整的切片機制,差值約為0.12.SC機制優于SOCN是因為切片創建機制在構造時以預期用戶規模下的最大端到端帶寬作為構造標準,因此大部分場景下能夠滿足用戶的帶寬要求.而GLL機制對鏈路資源的分配欠缺考慮,所以平均帶寬偏差將近是實時監測的資源管理機制的2倍,是SC機制和SOCN機制的1.4倍. 2)平均時延偏差.平均時延偏差反映了各網絡切片應對高負載場景時的時延性能表現,結果如圖4所示,需要注意的是,這里的時延指的是切片內實際的端到端時延,該值的大小和鏈路帶寬、路徑長度、切片負載程度相關.SC機制由于切片創建階段中以鏈路時延作為權重因子,在系統輕負載下可以得到較低的時延,SOCN機制的差異化構造使得其在輕負載下時延也較低,但在重負載狀態下,低時延的鏈路被占用后,兩者都同樣面臨切片內路徑時延過高的問題,兩者時延偏差差距較小,但由于本文的資源管理機制具備實時切片調整和更嚴格的性能要求,表現出了更低的時延偏差,約為SOCN機制和SC機制的0.6倍.而GLL算法缺乏對路徑的合理規劃導致后期容易出現過長的路徑,導致該機制的時延偏差是本文提出機制的2.5倍,約是SC機制和SOCN機制的1.6倍. 圖4 4種機制下的平均時延偏差 3)平均可靠性偏差.路由可靠性這一指標主要取決于所經過的鏈路本身和所經過的鏈路的數量.所以,SOCN和SC機制在進行節點間的鏈路映射時優先使用最短路徑算法挑選兩節點間的最短路徑進行映射,一定程度上控制了切片內的端到端路徑的長度,因此在可靠性指標上與本文設計的資源管理機制的效果接近.GLL機制為了實現全局的資源負載平衡,犧牲了對切片內路徑長度的考慮,所以后期可靠性偏差較大,約為本文資源管理機制的1.66倍.結果如圖5所示. 圖5 機制下的平均可靠性偏差 本文充分發揮基于SDN和NFV的5G網絡切片架構優勢,每個網絡切片內部都增設SDN控制器,盡可能真實地模擬出基于SDN和NFV的網絡切片部署環境,這種對實際應用場景的綜合考慮使得本文設計的資源管理機制更加符合5G系統的實際使用場景,具備更高的使用價值.為了優化網絡切片所涉及的資源調度過程,本文為網絡切片的整個生命周期提供了完善的資源調度方案,既為網絡運營商提升了資源利用率,又為終端用戶提供了有效的服務質量(Quality of Service,QoS)保證.
3.2 網絡切片調整機制






3.3 網絡切片回收機制

4 仿真實現與性能評價
4.1 仿真平臺框架
4.2 性能評價




5 結論和展望