郭 勝,史久根,孫 立,謝熠君
(合肥工業(yè)大學(xué) 計(jì)算機(jī)與信息學(xué)院,安徽 合肥 230601)
網(wǎng)絡(luò)功能虛擬化(network function virtual,NFV)技術(shù)的特點(diǎn)在于實(shí)現(xiàn)硬件與軟件的分離,通過網(wǎng)絡(luò)功能的虛擬化,將虛擬網(wǎng)絡(luò)功能(virtual network function,VNF)運(yùn)行在通用硬件之上,不需要專用硬件,減少成本支出[1]。虛擬網(wǎng)絡(luò)功能可以放置在虛擬機(jī)(virtual machine,VM)節(jié)點(diǎn)提供特定的網(wǎng)絡(luò)功能[2]。通過VM遷移,VNF可以部署在網(wǎng)絡(luò)中任意一個(gè)商用服務(wù)器中,同時(shí)這種新的模式也帶來了一些挑戰(zhàn)。首先,數(shù)據(jù)包需要經(jīng)過一組VNF,即服務(wù)功能鏈[3](service function chain,SFC),網(wǎng)絡(luò)運(yùn)營商會(huì)考慮如何將VNF部署在候選服務(wù)器中以減少端到端延時(shí)。例如,Zhang等人[4]以最大化平均資源利用率和最小化請(qǐng)求平均響應(yīng)延時(shí)為目標(biāo),提出了綜合考慮VNF服務(wù)鏈放置及服務(wù)請(qǐng)求調(diào)度的問題。其次,要提高資源利用率,VNF布局根據(jù)流量變化動(dòng)態(tài)調(diào)整VNF實(shí)例的數(shù)量。例如,Eramo等人[5]提出VNF遷移策略,使得網(wǎng)絡(luò)運(yùn)營商得知VNF最佳的遷移的時(shí)間和地點(diǎn),以節(jié)約資源。最后,現(xiàn)有的VNF實(shí)例可能需要合并到另一臺(tái)服務(wù)器以釋放和關(guān)閉一些服務(wù)器來節(jié)省資源?,F(xiàn)有研究致力于研究應(yīng)對(duì)上述挑戰(zhàn)并提供高效的VNF放置方法。例如,Li等人[6]考慮不同VNF,在同一時(shí)隙對(duì)硬件計(jì)算量的需求不同,故將時(shí)變負(fù)載相關(guān)度最小的VNF放置在同一節(jié)點(diǎn),達(dá)到計(jì)算資源互補(bǔ),并采用多租戶策略共享VNF,從而減少物理機(jī)的使用量來減少資源消耗。
然而現(xiàn)有的VNF放置方法大都沒有將VNF同位間的性能干擾問題考慮在內(nèi)。雖然虛擬化技術(shù)在VM之間提供了一定程度的性能隔離[7],但VNF在一個(gè)共享的硬件基礎(chǔ)設(shè)施上運(yùn)行時(shí)仍存在明顯的性能干擾[8]。當(dāng)流量監(jiān)視器與入侵檢測(cè)系統(tǒng)同時(shí)運(yùn)行時(shí),流量監(jiān)控器的吞吐量下降了38.47%[9]。但是,為了最大化資源利用率和降低功耗,網(wǎng)絡(luò)運(yùn)營商傾向于將VNF實(shí)例放在同一物理上的服務(wù)器盡可能多,導(dǎo)致資源匱乏競(jìng)爭(zhēng)和嚴(yán)重的性能干擾。同時(shí),在數(shù)據(jù)流增大的時(shí)候干擾也隨之增強(qiáng)。由于數(shù)據(jù)流的增大,VNF處理任務(wù)增加,所需的資源也隨之增加,導(dǎo)致基本硬件資源的競(jìng)爭(zhēng)更加激烈。
針對(duì)上述問題,該文根據(jù)不同類型的虛擬網(wǎng)絡(luò)功能的工作特性,通過在虛擬機(jī)中運(yùn)行工作特性相似的應(yīng)用以及文獻(xiàn)[9]的分析,得出不同的虛擬網(wǎng)絡(luò)功能對(duì)CPU、Memory、Cache等資源的依賴程度,設(shè)計(jì)一個(gè)CAPA算法解出VNF之間的最佳組合,使得整體干擾度最小,并進(jìn)行放置。其次,根據(jù)不同VNF對(duì)數(shù)據(jù)流量的處理特性,使用TAA算法進(jìn)行服務(wù)請(qǐng)求的調(diào)度,從而進(jìn)一步減小虛擬網(wǎng)絡(luò)功能的干擾程度。仿真結(jié)果表明,該方案緩解了VNF間的干擾,提升了網(wǎng)絡(luò)吞吐量。
該模型需要解決的問題是,根據(jù)不同虛擬網(wǎng)絡(luò)功能間干擾程度不同,對(duì)每個(gè)VNF進(jìn)行組合,要設(shè)法使其雙方的干擾度都盡可能小,并對(duì)服務(wù)鏈請(qǐng)求進(jìn)行合理的調(diào)度,使得整體網(wǎng)絡(luò)中的虛擬網(wǎng)絡(luò)功能受到的干擾最小。
同位間虛擬網(wǎng)絡(luò)功能干擾是指,同一個(gè)物理中VNF會(huì)產(chǎn)生一定的性能干擾,使得彼此間性能下降。由于VNF對(duì)各種硬件資源的需求不盡相同,若多個(gè)同種資源需求密集型VNF放置在同一服務(wù)節(jié)點(diǎn),會(huì)引起服務(wù)節(jié)點(diǎn)底層的某一資源過度占用,從而使得服務(wù)節(jié)點(diǎn)整體處理性能下降。在圖1中(a)表示當(dāng)VNF1與VNF2獨(dú)立運(yùn)行在服務(wù)器時(shí)的處理能力,(b)表示新增的VNF3分別放置在先前的服務(wù)器中,使得三個(gè)VNF處理能力都有不同程度的下降。由于各VNF,對(duì)不同的資源需求的比重不盡相同,可以通過資源互補(bǔ)的形式進(jìn)行合理組合。如圖2所示,左邊部分表示三種VNF對(duì)不同資源的需求(每個(gè)顏色的柱型代表一種資源),右上側(cè)VNF1+VNF2表示VNF1與VNF2進(jìn)行組合,右下側(cè)VNF1+VNF3表示VNF1與VNF3匹配,故合理的組合可以達(dá)到較優(yōu)的效果。
圖1 VNF間性能干擾示例
圖2 VNF匹配方案示例
VNF會(huì)對(duì)數(shù)據(jù)包進(jìn)行分析,根據(jù)特殊的業(yè)務(wù)需求對(duì)數(shù)據(jù)包添加包頭,或者對(duì)數(shù)據(jù)包進(jìn)行優(yōu)化壓縮,使得數(shù)據(jù)包的字節(jié)數(shù)及數(shù)據(jù)流的大小都被改變[10]。目前VNF的總數(shù)很多,與路由器的數(shù)量相當(dāng)[11],其中很大一部分的VNF有改變數(shù)據(jù)流大小的性質(zhì)。如圖3所示,網(wǎng)絡(luò)功能F1可將數(shù)據(jù)流修改為原來的兩倍,F(xiàn)2則將數(shù)據(jù)流修改為原來的一半,所以數(shù)據(jù)流先經(jīng)過F2時(shí),可減緩F1的處理負(fù)擔(dān),而VNF的流經(jīng)順序是部分可調(diào)的[12-13]。
圖3 VNF修改數(shù)據(jù)流示例
數(shù)據(jù)流的減小和增大直接影響VNF工作時(shí)對(duì)資源的競(jìng)爭(zhēng)程度。因此合理的調(diào)度方案可以進(jìn)一步減小干擾。
圖G(E,V)表示交換機(jī)網(wǎng)絡(luò)模型,節(jié)點(diǎn)v∈V都有一個(gè)物理機(jī),設(shè)定網(wǎng)絡(luò)中的物理機(jī)是統(tǒng)一的,每個(gè)物理機(jī)有資源R(u)(r1,r2,…,rn),ri表示各項(xiàng)分資源。(u,v)∈E表示連接節(jié)點(diǎn)u與v的鏈路傳播時(shí)延為De(u,v)。網(wǎng)絡(luò)為具有全局拓?fù)湟晥D的SDN網(wǎng)絡(luò)[14],設(shè)定網(wǎng)絡(luò)中的交換機(jī),連接高容量光鏈路,因此每條鏈路的帶寬容量不做約束[15]。
定義(干擾度):假設(shè)兩個(gè)向量a(x1,x2,…,xn)和b(y1,y2,…,yn)之間的夾角為θ,a、b向量的長度分別是‖a‖和‖b‖,θ所對(duì)的邊的邊長為‖a-b‖。根據(jù)余弦定理:
‖a-b‖2=‖a‖2+‖b‖2-
(1)
a·b=‖a‖·‖b‖cosθ
(2)
根據(jù)上述公式可以得到:
(3)
cosθ就是余弦相似度,兩個(gè)向量之間的夾角越小,其夾角余弦越大(越相似)。因此可用余弦相似度來度量?jī)蓚€(gè)VNF對(duì)資源的需求相似度。向量a(x1,x2,…,xn)對(duì)應(yīng)VNF對(duì)各種資源的占有率X(X1,X2,…,Xn),由于不同VNF對(duì)每種資源的依賴程度不一,故定義λ(λ1,λ2,…,λn),λi表示VNF對(duì)某一種資源依賴程度的權(quán)值。VNF間的干擾度定義如下:
(4)
其物理概念為同一服務(wù)節(jié)點(diǎn)中的一個(gè)VNF的資源的占有率與另一個(gè)VNF對(duì)資源的實(shí)際需求率的一個(gè)契合程度。網(wǎng)絡(luò)吞吐量與網(wǎng)絡(luò)中VNF間的干擾程度呈反比例關(guān)系,定義反比例系數(shù)β,吞吐量P(m)與干擾度存在下述關(guān)系:
P(m)=βcosXY
(5)
決策變量的定義:用F表示所有流的集合,用Z表示網(wǎng)絡(luò)中VNF個(gè)數(shù)。任意一條流f∈F由三元組(srcf,dstf,Mf)表示其屬性,其中srcf表示流f的源節(jié)點(diǎn),dstf表示流f的目的主機(jī),Mf表示流f需要經(jīng)過的VNF集合。ratio(m)表示VNFm的流改變因子。用符號(hào)→來定義VNF的依賴關(guān)系,若m→n則n依賴于m,即業(yè)務(wù)流需先經(jīng)過m再經(jīng)過n。
首先定義VNF處理順序的傳遞性,例如m→n,n→k,那么m→k。用二進(jìn)制變量d(m,n)來描述這種關(guān)系:
(6)
(7)
(8)
流f在網(wǎng)絡(luò)中經(jīng)過的是一條多跳路徑,用i表示跳數(shù),若共有N跳,那么1≤i≤N。用f(u,i)表示第i跳所在的位置:
(9)
同一節(jié)點(diǎn)允許部署一條流的多個(gè)VNF實(shí)體,對(duì)于流f來說有以下情況:
?u,i≠j:f(u,i)=1&f(u,j)=1
(10)
約束條件:tin(f,u)和tout(f,u)分別表示流f進(jìn)入節(jié)點(diǎn)u和流出節(jié)點(diǎn)u的流量數(shù)據(jù)率。對(duì)于流f來說,如果它在節(jié)點(diǎn)u經(jīng)過了VNF的處理,那么tin(f,u)和tout(f,u)滿足如下關(guān)系:
(11)
對(duì)于網(wǎng)絡(luò)中的物理節(jié)點(diǎn)來說,所有服務(wù)請(qǐng)求的VNF集合實(shí)例化到該點(diǎn)上所需的資源總和必須不超過該物理節(jié)點(diǎn)u所能提供的節(jié)點(diǎn)容量,R(u)與式(4)中的Xi以(Yi)對(duì)應(yīng),約束如下:
(12)
構(gòu)成一條路徑的所有中間鏈路De(u,v)之和要小于所設(shè)定的時(shí)延容限MDe。約束如下:
(13)
如果VNFn依賴于VNFm,那么流f將先經(jīng)過VNFm,即有以下約束:
f(v,k)×i]×d(m,n)>0
(14)
用下式表示鏈路中的流守恒:
tout(f,u)=tin(f,u+1)
(15)
最后文中目標(biāo)是最大化網(wǎng)絡(luò)吞吐量,T表示參數(shù)因子,T與tin(f,u)呈反比。
(16)
該文所要完成的目標(biāo),在式(11)~式(15)的約束下求解是一個(gè)NP-難問題。因?yàn)樵谒o定的節(jié)點(diǎn)容量約束下,不考慮資源種類和各VNF對(duì)不同資源的需求權(quán)重時(shí),問題將轉(zhuǎn)換成裝箱問題,裝箱問題是常見的NP-難問題[16]。完成該目標(biāo)需要兩個(gè)算法實(shí)現(xiàn),首先通過自主設(shè)計(jì)的基于貪心的CAPA算法得到VNF間的最佳組合,并進(jìn)行放置。然后通過TAA算法進(jìn)行流服務(wù)請(qǐng)求調(diào)度,使得數(shù)據(jù)流經(jīng)過各個(gè)節(jié)點(diǎn)的累加值最小,進(jìn)一步減小VNF間性能干擾。所以通過該文提出的兩步調(diào)整策略可完成目標(biāo)。
算法1:MIMP算法。
輸入:虛擬網(wǎng)絡(luò)功能集合L,網(wǎng)絡(luò)拓?fù)銰(E,V),拓?fù)渲行墓?jié)點(diǎn)c;
輸出:組合放置集合L'。
1.構(gòu)建優(yōu)先矩陣ψ
2.鏡像復(fù)制
3.延時(shí)接受算法匹配
4.重復(fù)項(xiàng)刪除
5.干擾度求和排序
6.if原∑P(m)>重組∑P(m) do
7.拆分重組Return to step 5
8.else 構(gòu)建組合集ξ
9.Dijkstra算法選點(diǎn)
10.組合集映射到節(jié)點(diǎn)集
11.得到組合放置集合L'
12.結(jié)束
算法1:
(1)輸入數(shù)據(jù)處理:首先輸入所有VNF資源需求集合L,網(wǎng)絡(luò)拓?fù)銰(E,V)和給定的拓?fù)渲行墓?jié)點(diǎn)c,通過式(4)進(jìn)行干擾度計(jì)算,生成VNF間的干擾度矩陣W。然后將矩陣的每一行元素按照干擾程度大小進(jìn)行升序排列得到優(yōu)先列表矩陣ψ,越靠前則最優(yōu)。復(fù)制列表矩陣,一份做原優(yōu)先列表矩陣,另一份為鏡像ψ'。鏡像處理使得原先無法進(jìn)行匹配的單列元素可以進(jìn)行匹配處理。
(3)節(jié)點(diǎn)映射:由于模型的設(shè)定,物理機(jī)類型統(tǒng)一,故將VNF組合向網(wǎng)絡(luò)拓?fù)渲行目繑n,方便后續(xù)的服務(wù)請(qǐng)求調(diào)度,故以延時(shí)De為權(quán)值,使用Dijkstra算法計(jì)算給定節(jié)點(diǎn)c到網(wǎng)絡(luò)拓?fù)渲衅渌?jié)點(diǎn)延時(shí)的大小,得到權(quán)值集合τ。將得到的組合集合ξ中的元素映射到權(quán)值較小的集合τ中的節(jié)點(diǎn)元素,最終輸出最佳組合放置集合L'。
算法2:TAA算法。
輸入:服務(wù)請(qǐng)求的虛擬網(wǎng)絡(luò)功能集合Ω,網(wǎng)絡(luò)拓?fù)銰(E,V),組合放置集合L'
輸出:服務(wù)請(qǐng)求調(diào)度集合S
1.while Ω≠? do
2.讀取所需VNF信息構(gòu)建初步順序
3.if 無依賴關(guān)系的VNF個(gè)數(shù)≠0 do
4.if NVF ratio(m)<1 do
5. 序列頭部升序排列 end if
6.if NVFratio(m)>1 do
7. 序列尾部升序排列 end if
8. end if return VNF order
9.得到必經(jīng)點(diǎn)及順序約束
10.Dijkstra算法
11.if ∑De(u,v) 12.else丟棄此請(qǐng)求 13.輸出最終服務(wù)請(qǐng)求調(diào)度集合S 14.結(jié)束 算法2: (1)順序建立:請(qǐng)求集合Ω不為空,對(duì)每條服務(wù)請(qǐng)求中的VNF的流修改因子ratio(m)進(jìn)行讀取,判斷服務(wù)請(qǐng)求中的VNF是否存在依賴關(guān)系的VNF,確立具有依賴關(guān)系的VNF的流經(jīng)順序。然后判斷服務(wù)請(qǐng)求中的VNF是否存在沒有依賴關(guān)系的VNF,若有,且VNF的流修改因子小于1,則將其在調(diào)度列表中頭部進(jìn)行升序排列,若VNF的流修改因子大于1,則將其在調(diào)度列表中尾部進(jìn)行升序排列,從而確立了此條服務(wù)請(qǐng)求中VNF的所有流經(jīng)順序。 (2)路徑選擇:對(duì)于每條服務(wù)請(qǐng)求讀取其源節(jié)點(diǎn)以及目的節(jié)點(diǎn),并將其值分別賦予k1,k2根據(jù)服務(wù)請(qǐng)求所需的VNF所在的物理節(jié)點(diǎn),建立必經(jīng)點(diǎn)的路徑約束,再根據(jù)上述處理提供的VNF流經(jīng)順序,建立順序約束。最后通過雙約束的Dijkstra算法以鏈路延時(shí)為權(quán)值,進(jìn)行路徑選擇,若總傳播時(shí)延超過給定的時(shí)延閾值則丟棄此條服務(wù)請(qǐng)求,若滿足約束則加入到最優(yōu)路徑集,最終為請(qǐng)求集合中的每條服務(wù)規(guī)劃出一條路徑,得到服務(wù)請(qǐng)求調(diào)度集合S。 用ω表示VNF的個(gè)數(shù),在算法1中構(gòu)建干擾度矩陣所需循環(huán)次數(shù)為O(ω2),構(gòu)建優(yōu)先列表矩陣所需循環(huán)次數(shù)為O(ω2),匹配過程中最大循環(huán)次數(shù)為O(ω2),重組調(diào)整過程中的最大循環(huán)次數(shù)O(ω2-2ω)。Dijkstra算法時(shí)間復(fù)雜度為O(v2),v表示物理節(jié)點(diǎn)個(gè)數(shù),故算法1的整體復(fù)雜度為O(v2+ω2)。 在算法2中VNF的順序處理的復(fù)雜度取決于服務(wù)鏈的長度,以及無順序約束的VNF個(gè)數(shù),定義平均服務(wù)鏈長度為ε最終順序建立的平均復(fù)雜度為O((ε/2)2)。Dijkstra算法的時(shí)間復(fù)雜度為O(n2),其中n表示節(jié)點(diǎn)跳數(shù),由于約束條件的存在,算法中使用的Dijkstra算法的復(fù)雜度為O(ε2),故其整體復(fù)雜度為O(ε2+n2)。 CAPA算法所要解決的是一個(gè)NP-難問題,故對(duì)此進(jìn)行近似比分析。將物理機(jī)假設(shè)為單位容量為C的箱子,VNF假設(shè)為大小為s的物品,設(shè)si<1,i=1,2,…,n。設(shè)OPT(I)為最優(yōu)解所用箱子數(shù)目的一個(gè)上界,CAPA(I)為CAPA算法的解。由算法描述中CAPA算法的拆分重組規(guī)則可知,所有箱子中至多有一個(gè)非空箱子,所裝的物體體積小于1/2。 現(xiàn)在設(shè)εi為第i個(gè)箱子中的空余容量,δi為物品占用第i個(gè)箱子的容量εi+δi=C。那么有: 對(duì)于第k個(gè)箱子有兩種情況: (1)εk<δk; (2)εk>δk。 對(duì)于情況2,有:εk-1<δk,εk<δk-1,所以: εk-1+εk<δk-1+δk。 最優(yōu)解的一個(gè)上界為所有箱子恰好裝入全部物體,即: 故CAPA算法近似比為: 硬件環(huán)境為Inter Core i5-7200U CPU 2.71 GHz RAM 4 GB的Windos10家庭版操作系統(tǒng);該文選擇的仿真平臺(tái)是matlab2017a。實(shí)驗(yàn)采用的網(wǎng)絡(luò)拓?fù)錇檎鎸?shí)的網(wǎng)絡(luò)拓?fù)銲nternet2(Internet OS3E)[17]。實(shí)驗(yàn)設(shè)定VNF個(gè)數(shù)Z=32,實(shí)驗(yàn)考慮多種不同資源R(u)(r1,r2,…,rn),每個(gè)VNF對(duì)多種不同資源都有不同的權(quán)λ(λ1,λ2,…,λn),每個(gè)VNF都有一個(gè)固有的流修改因子ratio(m)。 4.2.1 CAPA算法的性能分析 圖4表示不同算法情況下,網(wǎng)絡(luò)中分別部署4,8,16,32個(gè)VNF時(shí),網(wǎng)絡(luò)的整體標(biāo)準(zhǔn)化吞吐量變化情況(利用式(5)計(jì)算,并做標(biāo)準(zhǔn)化處理,標(biāo)準(zhǔn)化處理最終為兩個(gè)結(jié)果的比值)。從實(shí)驗(yàn)結(jié)果圖中發(fā)現(xiàn),在VNF數(shù)量較少的情況下,CAPA算法與First-fit算法[18]差異不是特別明顯。這是因?yàn)楫?dāng)VNF數(shù)量較少時(shí),組合的方式很少,當(dāng)VNF數(shù)量增加使差異不斷增加是因?yàn)镕irst-fit算法在尋找組合對(duì)象時(shí)只考慮選擇對(duì)象對(duì)自己的干擾程度,沒有考慮自身對(duì)選擇對(duì)象的干擾程度,使得單方面最優(yōu),達(dá)不到雙方最優(yōu)。圖中random表示不考慮干擾因素以隨機(jī)的方式組合,其代表的柱型起伏不定的原因是由于VNF數(shù)量少時(shí)偶然性因素較大。 圖4 不同VNF個(gè)數(shù)下的網(wǎng)絡(luò)標(biāo)準(zhǔn)化吞吐量情況 4.2.2 TAA算法的性能分析 圖5表示在Internet OS3E網(wǎng)絡(luò)中,設(shè)定服務(wù)鏈總長度為10,當(dāng)平均無依賴關(guān)系的VNF占服務(wù)請(qǐng)求鏈的百分比增加時(shí),兩種算法情況的對(duì)比??v坐標(biāo)的標(biāo)準(zhǔn)化處網(wǎng)絡(luò)吞吐量,可由式(16)經(jīng)過標(biāo)準(zhǔn)化處理得到。從圖中可以看出,當(dāng)服務(wù)鏈請(qǐng)求中的無依賴關(guān)系的VNF占總體服務(wù)鏈請(qǐng)求所需的VNF比重越小,TAA算法性能會(huì)越接近于Dijkstra算法[19],這是因?yàn)楫?dāng)具有先后依賴關(guān)系的VNF占服務(wù)鏈請(qǐng)求所需的VNF比重越大,TAA算法所能調(diào)整的范圍就會(huì)越小,在服務(wù)鏈請(qǐng)求中的VNF全部相互依賴的情況下,TAA接近普通算法。在實(shí)際情況中服務(wù)鏈請(qǐng)求中的VNF是有相當(dāng)一部分可以調(diào)整的。 圖5 無依賴關(guān)系的VNF比例與性能間關(guān)系 4.2.3 標(biāo)準(zhǔn)化傳播時(shí)延分析 圖6表示在不同的無依賴關(guān)系的VNF比例下,兩種VNF放置方法與網(wǎng)絡(luò)標(biāo)準(zhǔn)化傳播時(shí)延的關(guān)系,其中服務(wù)鏈總長度設(shè)定為10,用TAA算法進(jìn)行調(diào)度。圖中可以看到隨著流經(jīng)順序可調(diào)的VNF比例的增加,兩種放置方法對(duì)應(yīng)的網(wǎng)絡(luò)中標(biāo)準(zhǔn)化傳播延時(shí)都在減小,這是因?yàn)榉?wù)請(qǐng)求調(diào)度的順序約束減少了。而中心化放置方式對(duì)應(yīng)的網(wǎng)絡(luò)標(biāo)準(zhǔn)化傳播時(shí)延,始終較小的原因是由于隨機(jī)放置,會(huì)使得某些VNF被放置在網(wǎng)絡(luò)邊緣,流服務(wù)請(qǐng)求必須達(dá)到網(wǎng)絡(luò)邊緣獲取相應(yīng)的處理,仿真結(jié)果中隨機(jī)放置情況下TAA算法所得平均端到端延時(shí)為0.55 ms。而中心化放置使得VNF集中于網(wǎng)絡(luò)拓?fù)渲行母浇?wù)請(qǐng)求在網(wǎng)絡(luò)拓?fù)渲行母浇憧色@取所需的處理,實(shí)驗(yàn)分析表明CAPA算法中將VNF放置在網(wǎng)絡(luò)拓?fù)渲行母浇?,能夠在一定程度上減小服務(wù)請(qǐng)求調(diào)度過程中的網(wǎng)絡(luò)傳播時(shí)延。 圖6 標(biāo)準(zhǔn)化傳輸時(shí)延無依賴關(guān)系VNF比例間關(guān)系 4.2.4 算法整體性能分析 圖7中,考慮干擾方案表示在Internet2(Internet OS3E)網(wǎng)絡(luò)中,將VNF通過算法1進(jìn)行組合放置在網(wǎng)絡(luò)拓?fù)渲?,設(shè)定服務(wù)鏈總長度為10,服務(wù)鏈請(qǐng)求中具有依賴關(guān)系VNF的比例為60%,并使用TAA算法進(jìn)行服務(wù)請(qǐng)求調(diào)度。未考慮干擾方案表示在Internet2(Internet OS3E)網(wǎng)絡(luò)中,通過First-fit算法進(jìn)行組合放置,并使用Dijkstra算法進(jìn)行請(qǐng)求調(diào)度。從實(shí)驗(yàn)生成圖中可以看出,當(dāng)數(shù)據(jù)流不斷增加時(shí),兩種方案下的標(biāo)準(zhǔn)化網(wǎng)絡(luò)吞吐量都有所下降,但是考慮干擾方案下的網(wǎng)絡(luò)吞吐量始終比未考慮干擾方案下的標(biāo)準(zhǔn)化網(wǎng)絡(luò)吞吐量?jī)?yōu)。 圖7 標(biāo)準(zhǔn)化處理能力隨數(shù)據(jù)流大小變化示意圖 提出了一種考慮VNF間性能干擾的組合放置問題,并根據(jù)VNF的修改數(shù)據(jù)流大小的特性設(shè)計(jì)了服務(wù)鏈請(qǐng)求調(diào)度算法,從而減小了VNF間性能干擾,提高了網(wǎng)絡(luò)吞吐量。理論分析以及仿真結(jié)果表明,該策略較忽視干擾因素的一般策略可將網(wǎng)絡(luò)吞吐量提升1.3倍。今后將研究在干擾情況下的動(dòng)態(tài)部署VNF以及如何權(quán)衡成本開銷與網(wǎng)絡(luò)性能間的關(guān)系問題,并將在真實(shí)環(huán)境中進(jìn)行實(shí)驗(yàn)以提高結(jié)果的準(zhǔn)確性。3.2 算法復(fù)雜度分析
3.3 算法近似比分析
4 仿真實(shí)驗(yàn)結(jié)果及分析
4.1 仿真實(shí)驗(yàn)環(huán)境參數(shù)
4.2 性能分析
5 結(jié)束語