朱 杰, 黃 寧, 程 亮
(1. 北京航空航天大學(xué)可靠性與系統(tǒng)工程學(xué)院, 北京 100191; 2. 北京航空航天大學(xué)云南創(chuàng)新研究院, 云南 昆明 650233; 3. 華為技術(shù)有限公司數(shù)據(jù)通信產(chǎn)品線, 北京 100191)
云化虛擬化網(wǎng)絡(luò)(network function virtualization, NFV)業(yè)務(wù)是通過對(duì)軟硬件節(jié)點(diǎn)提供服務(wù)組合而達(dá)到對(duì)外提供使用的某種綜合能力,業(yè)務(wù)可用度是業(yè)務(wù)能夠提供使用的能力;對(duì)NFV網(wǎng)絡(luò)業(yè)務(wù)可用度進(jìn)行參數(shù)敏感性分析從而找到關(guān)鍵參數(shù)是當(dāng)前網(wǎng)絡(luò)運(yùn)營商為了提高業(yè)務(wù)可用度亟需解決的一個(gè)問題。NFV業(yè)務(wù)可用度的影響因素眾多,某些因素的小幅度變化很可能導(dǎo)致業(yè)務(wù)的可用度發(fā)生較大的變化,極具不確定性。所以,以高業(yè)務(wù)可用度為目標(biāo)對(duì)網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行優(yōu)化的前提就是要找到影響業(yè)務(wù)可用度的因素?,F(xiàn)有研究表明,網(wǎng)絡(luò)中的設(shè)計(jì)參數(shù)眾多,既有異類的參數(shù)也有相同類別不同構(gòu)件的參數(shù)。異類的參數(shù)是指網(wǎng)絡(luò)中不同屬性的參數(shù),如某一類節(jié)點(diǎn)的平均故障間隔時(shí)間、故障檢測時(shí)間、故障檢測概率等等;同類別的參數(shù)是指網(wǎng)絡(luò)中不同位置的具體構(gòu)件的某個(gè)相同屬性的參數(shù),如D1的平均故障間隔時(shí)間(D1-α)、D2的平均故障間隔時(shí)間(D2-α)、…、D的平均故障間隔時(shí)間(D-α)均為同一類別的參數(shù)。在基于網(wǎng)絡(luò)演化模型的業(yè)務(wù)可用度仿真輸入中,只可以對(duì)相互獨(dú)立的異類的參數(shù)進(jìn)行設(shè)置,同類別參數(shù)由于其耦合關(guān)系,在仿真過程中取值相同。所以,通過仿真的輸入與輸出僅能對(duì)異類參數(shù)進(jìn)行分析;而同類別的參數(shù)就必須根據(jù)網(wǎng)絡(luò)演化過程中業(yè)務(wù)具體的路由變化過程進(jìn)行分析。
敏感性分析就是通過不斷改變模型的參數(shù)輸入組合方式,對(duì)模型輸出結(jié)果分析得到參數(shù)的敏感性排序,找到對(duì)模型輸出結(jié)果影響最大的關(guān)鍵參數(shù)。當(dāng)前的敏感性分析方法主要分為局部敏感性分析方法和全局敏感性分析方法。局部敏感性分析是控制模型中其他參數(shù)的取值不變,僅通過不斷改變所研究的參數(shù),分析該參數(shù)的敏感性。Carpio等和Rui等分別采用基于RBD和基于Petri網(wǎng)的NFV業(yè)務(wù)可用度的參數(shù)局部敏感性分析方法分析了虛擬網(wǎng)絡(luò)功能(virtual network function, VNF)的遷移時(shí)間的敏感性,該方法將網(wǎng)絡(luò)中構(gòu)件的MTBF 和MTTR看作定值,通過不斷改變遷移時(shí)間的取值得到其敏感性,得到的參數(shù)的敏感性僅能在其余參數(shù)保持不變的情況下成立,其分析結(jié)果在所有參數(shù)的整個(gè)取值空間內(nèi)并不準(zhǔn)確。全局敏感性分析方法可以同時(shí)分析多個(gè)參數(shù)共同變化時(shí)對(duì)模型輸出結(jié)果的影響,并對(duì)各參數(shù)進(jìn)行敏感性排序,但是其前提是假設(shè)模型中的參數(shù)相互獨(dú)立而且所需樣本量多。Steiner等提出了基于最小二乘支持向量回歸的全局敏感性分析方法,該方法其原理是事先假設(shè)模型的基本數(shù)學(xué)形式,使用原模型的輸入和輸出數(shù)據(jù)進(jìn)行擬合構(gòu)建出數(shù)學(xué)代理模型,利用代理模型分析各個(gè)參數(shù)的敏感性。其他常用的全局敏感性分析方法如篩選方法、響應(yīng)曲面法、傅里葉振幅敏感性檢驗(yàn)法、互信息指數(shù)法等也都假設(shè)參數(shù)獨(dú)立采用了構(gòu)建代理模型的思想,在構(gòu)建代理模型的過程中往往需要大量的仿真樣本。NFV網(wǎng)絡(luò)設(shè)備類型多參數(shù)種類多,而且業(yè)務(wù)之間因?yàn)楣蚕砭W(wǎng)絡(luò)資源而相互耦合,既無法事先假設(shè)代理模型的基本形式,也無法通過大量的仿真樣本擬合出數(shù)學(xué)代理模型。主效應(yīng)圖在局部敏感性分析的方法上進(jìn)行全局性改進(jìn),可以分析參數(shù)在多個(gè)局部內(nèi)與模型輸出結(jié)果的關(guān)系,通過改變單個(gè)設(shè)計(jì)參數(shù)的水平,用每個(gè)水平與其他參數(shù)的所有可能的組合對(duì)結(jié)果影響的平均值進(jìn)行擬合畫圖,該方法可以不用構(gòu)建代理模型,通過比較不同參數(shù)主效應(yīng)圖驗(yàn)證參數(shù)對(duì)模型輸出結(jié)果的影響是否明顯,但是該方法得到的結(jié)果只是多個(gè)局部的平均值,不能對(duì)相互耦合的同類設(shè)備的同類參數(shù)進(jìn)行敏感性分析,而且所需要的仿真樣本數(shù)與參數(shù)數(shù)量呈指數(shù)增長關(guān)系。因此,已有的全局敏感性分析方法也不能支持NFV網(wǎng)絡(luò)業(yè)務(wù)可用度多參數(shù)的敏感性分析。
針對(duì)以上背景,本文提出一種基于網(wǎng)絡(luò)演化模型的多因素敏感性分析方法,直接通過網(wǎng)絡(luò)演化模型的輸入輸出對(duì)影響網(wǎng)絡(luò)業(yè)務(wù)可靠性的各種異類參數(shù)進(jìn)行敏感性分析,找出影響最大、最敏感的主要參數(shù)類別;進(jìn)一步提出基于動(dòng)態(tài)業(yè)務(wù)介數(shù)的方法,分析同類別不同設(shè)備的參數(shù)的敏感性,找到關(guān)鍵的同類不同設(shè)備參數(shù)。本研究既可以克服局部敏感型分析方法結(jié)果在全局范圍內(nèi)不準(zhǔn)確的缺點(diǎn),也可以通過盡量少的仿真樣本量保證找到的關(guān)鍵設(shè)備參數(shù)的正確性。既可以支持具有參數(shù)相互耦合特點(diǎn)模型的敏感性分析,拓展敏感性分析方法,還能對(duì)不同設(shè)備類型不同種類參數(shù)的敏感性進(jìn)行分析,找出業(yè)務(wù)可用度的敏感性參數(shù),支持以高業(yè)務(wù)可靠性為目標(biāo)的網(wǎng)絡(luò)業(yè)務(wù)優(yōu)化,具有重要的實(shí)際應(yīng)用價(jià)值。
NFV網(wǎng)絡(luò)中采用了網(wǎng)絡(luò)功能虛擬化技術(shù)和云計(jì)算技術(shù)使得傳統(tǒng)網(wǎng)絡(luò)的單一軟硬件系統(tǒng)變?yōu)槎鄠€(gè)網(wǎng)元共享的軟硬件平臺(tái),網(wǎng)絡(luò)系統(tǒng)的故障類型與故障發(fā)生后的動(dòng)態(tài)變化更加復(fù)雜。隨著網(wǎng)絡(luò)業(yè)務(wù)路由的智能動(dòng)態(tài)調(diào)整,業(yè)務(wù)可靠性會(huì)受到整網(wǎng)構(gòu)件的設(shè)計(jì)參數(shù)(如平均故障間隔時(shí)間、故障維修時(shí)間、故障檢測率等等)的影響,當(dāng)網(wǎng)絡(luò)中多業(yè)務(wù)同時(shí)運(yùn)行時(shí),業(yè)務(wù)重路由以及遷移倒換導(dǎo)致業(yè)務(wù)對(duì)網(wǎng)絡(luò)資源的競爭也會(huì)對(duì)網(wǎng)絡(luò)業(yè)務(wù)的可用度造成影響。與此同時(shí),網(wǎng)絡(luò)中任何一個(gè)參數(shù)的調(diào)整均會(huì)導(dǎo)致整網(wǎng)的業(yè)務(wù)可用度發(fā)生改變。網(wǎng)絡(luò)中影響業(yè)務(wù)可靠性的因素眾多,并且由于業(yè)務(wù)路徑的耦合作用使得不同構(gòu)件的參數(shù)之間也存在相互耦合關(guān)系,用現(xiàn)有的網(wǎng)絡(luò)演化模型對(duì)業(yè)務(wù)用度進(jìn)行分析的過程中,忽略任何一個(gè)參數(shù)都有可能對(duì)其造成嚴(yán)重的影響。因此,針對(duì)網(wǎng)絡(luò)中參數(shù)耦合的特點(diǎn),對(duì)影響NFV網(wǎng)絡(luò)業(yè)務(wù)可用度參數(shù)的敏感性進(jìn)行分析,分析方法主要從相互獨(dú)立的異類參數(shù)和相互耦合的同類參數(shù)兩個(gè)方面進(jìn)行,最終找到關(guān)鍵參數(shù)。本文所用到的網(wǎng)絡(luò)構(gòu)件及相關(guān)參數(shù)的表示符號(hào)如表 1所示,用“設(shè)備符號(hào)-參數(shù)符號(hào)”表示某一類設(shè)備的某個(gè)參數(shù)。
表1 本文用到的設(shè)備、參數(shù)及其表示符號(hào)
對(duì)NFV網(wǎng)絡(luò)中影響業(yè)務(wù)可用度參數(shù)的敏感性進(jìn)行分析,首先需要找到網(wǎng)絡(luò)中有哪些參數(shù)可能會(huì)對(duì)業(yè)務(wù)可用度造成影響,并利用這些參數(shù)通過對(duì)網(wǎng)絡(luò)的建模與仿真計(jì)算出業(yè)務(wù)可用度。根據(jù)VNF可用度設(shè)計(jì)的要求,影響業(yè)務(wù)可用度的設(shè)計(jì)參數(shù)分為3層:VNF層為了實(shí)現(xiàn)故障快速倒換需要合理設(shè)計(jì)倒換時(shí)間和故障檢測時(shí)間;虛擬化層為了及時(shí)發(fā)現(xiàn)故障需要合理設(shè)計(jì)故障自動(dòng)檢測時(shí)間、平均故障間隔時(shí)間和故障自動(dòng)恢復(fù)時(shí)間;硬件層為了保證功能需要設(shè)計(jì)合理的平均故障間隔時(shí)間、故障檢測及上報(bào)時(shí)間。根據(jù)華為《NFV網(wǎng)絡(luò)可用度需求報(bào)告》,影響業(yè)務(wù)可用度的虛擬化設(shè)備(軟件)設(shè)計(jì)參數(shù)主要如圖1所示。
圖1 NFV網(wǎng)絡(luò)部分構(gòu)件設(shè)計(jì)參數(shù)Fig.1 Design parameters of NFV network components
本文主要基于網(wǎng)絡(luò)演化模型對(duì)NFV網(wǎng)絡(luò)業(yè)務(wù)可用度進(jìn)行建模與仿真,網(wǎng)絡(luò)演化模型是通過建立網(wǎng)絡(luò)系統(tǒng)以及故障發(fā)生時(shí)的系統(tǒng)應(yīng)對(duì)來表征網(wǎng)絡(luò)系統(tǒng)的動(dòng)態(tài)演化過程的模型,包括3部分內(nèi)容:網(wǎng)絡(luò)演化對(duì)象、網(wǎng)絡(luò)演化條件和網(wǎng)絡(luò)演化規(guī)則。
網(wǎng)絡(luò)演化對(duì)象是為需要評(píng)估可用度的NFV網(wǎng)絡(luò)建立的模型,包括兩部分內(nèi)容:基礎(chǔ)設(shè)施層(節(jié)點(diǎn)信息、鏈路信息)和業(yè)務(wù)層(業(yè)務(wù)信息、VNF信息和服務(wù)部署信息)。
網(wǎng)絡(luò)演化條件表達(dá)了誘發(fā)NFV網(wǎng)絡(luò)無法提供對(duì)業(yè)務(wù)支持的條件,根據(jù)目前華為的初步需求,演化條件包括:演化對(duì)象中任意一個(gè)節(jié)點(diǎn)出現(xiàn)故障(動(dòng)態(tài)變化)、 演化對(duì)象中任意一個(gè)節(jié)點(diǎn)故障修復(fù)等。
網(wǎng)絡(luò)演化規(guī)則回答出現(xiàn)不同類型故障時(shí)網(wǎng)絡(luò)系統(tǒng)是如何運(yùn)轉(zhuǎn)的,主要包括:交換機(jī)狀態(tài)發(fā)生變化、Server節(jié)點(diǎn)狀態(tài)變化、Vswitch節(jié)點(diǎn)狀態(tài)變化、VM節(jié)點(diǎn)狀態(tài)發(fā)生變化。
找到網(wǎng)絡(luò)中可能會(huì)對(duì)業(yè)務(wù)可用度造成影響的參數(shù)后,進(jìn)一步將參數(shù)進(jìn)行不同的取值組合設(shè)計(jì)大量的仿真試驗(yàn),再根據(jù)仿真的結(jié)果來分析計(jì)算各類參數(shù)的敏感性指標(biāo)。其重點(diǎn)就是如何設(shè)計(jì)大量的仿真試驗(yàn),即各參數(shù)的取值應(yīng)該如何設(shè)置才能用最少的仿真試驗(yàn)得到準(zhǔn)確的敏感性分析結(jié)果。最優(yōu)拉丁方設(shè)計(jì)是常用的實(shí)驗(yàn)設(shè)計(jì)方法,是在拉丁方設(shè)計(jì)的基礎(chǔ)上,改進(jìn)其均勻性,使得參數(shù)和響應(yīng)的擬合更加精確,具有更好的空間填充性和均衡性,其能用盡可能少的試驗(yàn)設(shè)計(jì)點(diǎn)表示盡可能多的信息。最優(yōu)拉丁方設(shè)計(jì)方法是常用的敏感性分析試驗(yàn)設(shè)計(jì)方法,其主要分為兩步。
(1) 采樣:對(duì)每個(gè)輸入隨機(jī)變量進(jìn)行取值空間內(nèi)的隨機(jī)采樣,確保采樣點(diǎn)能夠均勻覆蓋在整個(gè)區(qū)間內(nèi)。
最優(yōu)拉丁方采樣是在個(gè)參數(shù)的模型中,將每個(gè)參數(shù)的設(shè)計(jì)空間均勻地等分為個(gè)小區(qū)間,在每個(gè)小區(qū)間內(nèi)隨機(jī)選取一個(gè)點(diǎn),共組成個(gè)點(diǎn),保證一個(gè)參數(shù)的每個(gè)水平只被研究一次,構(gòu)成一個(gè)具有維空間,樣本數(shù)為的拉丁方設(shè)計(jì),記為×LHD,如下矩陣所示。
(2) 排列:改變每個(gè)隨機(jī)變量采樣值的排列順序,確保相互獨(dú)立的隨機(jī)變量采樣值之間的相關(guān)性最小。
將第一步采樣中得到的×維矩陣記為,中的各列可能隨機(jī)引起了一定的統(tǒng)計(jì)相關(guān),這會(huì)影響模擬結(jié)果。為了減少這種相關(guān)性,Florian 提出基于斯伯爾曼系數(shù)描述矩陣中各列間的統(tǒng)計(jì)相關(guān),定義為
(1)
式中:斯伯爾曼系數(shù)()∈[-1,1];為兩樣本的序差;為樣本數(shù)。
假設(shè)初始樣本矩陣中每個(gè)元素值的序號(hào)位置描述為×的矩陣,再用序相關(guān)矩陣來描述矩陣每列間的統(tǒng)計(jì)相關(guān),其中(,=1,2,…,) 是矩陣的第列和第列之間的斯伯爾曼系數(shù),可知是對(duì)稱矩陣,且矩陣各列都不相關(guān)時(shí),矩陣為單位矩陣。僅考慮正定矩陣時(shí)的情況,用Cholesky分解把矩陣表述成
=
(2)
式中:是下三角矩陣。再進(jìn)行如下變換:
=
(3)
式中:=。
再用序相關(guān)矩陣來描述每列之間的統(tǒng)計(jì)相關(guān)。此時(shí),矩陣比矩陣更加接近于單位矩陣。根據(jù)對(duì)矩陣重新排序,得到輸入矩陣即為排列后的輸入矩陣。
根據(jù)敏感性分析要求,選擇合理的參數(shù),并在各個(gè)參數(shù)的取值范圍內(nèi)利用最優(yōu)拉丁方實(shí)驗(yàn)設(shè)計(jì)方法設(shè)計(jì)兩組容量分別為的輸入樣本矩陣。若要設(shè)置更多的樣本矩陣,其實(shí)就是分析更多的情況,等價(jià)于增加樣本量的值。的取值越大,矩陣能夠覆蓋的情況越多,分析的結(jié)果也越準(zhǔn)確。因此,對(duì)于的確定,應(yīng)該在計(jì)算能力與計(jì)算時(shí)間接受的范圍內(nèi),將設(shè)得盡可能大。如果確定的輸入變量參數(shù)共有個(gè),每個(gè)參數(shù)都有自己的初始設(shè)計(jì)空間,首先在各個(gè)空間內(nèi)采用最優(yōu)拉丁方采樣2次,并進(jìn)行排序,可得到下列兩個(gè)樣本矩陣:
有了足夠的輸入與業(yè)務(wù)可用度輸出樣本后,采用合理的方法對(duì)結(jié)果進(jìn)行分析,得到參數(shù)的敏感性指標(biāo)是敏感性分析的關(guān)鍵。本文主要采用基于蒙特卡羅積分的Sobol指數(shù)法,其基本思想是分析輸入對(duì)輸出方差的影響。假設(shè)一組輸入變量的值,利用該輸入變量求得輸出和輸出的條件方差,輸出的非條件方差與條件方差的差異就反映了該輸入變量對(duì)模型輸出結(jié)果的影響。該方法的主要分析過程如下:
把,中的第列互換,其他項(xiàng)不變,得到新的樣本矩陣,如下:
交換矩陣和中的一列,對(duì)于矩陣中的某一行來說也是僅僅改變了一個(gè)參數(shù)值,但是對(duì)于整個(gè)矩陣來說,是在種情況下改變該參數(shù)的值,當(dāng)?shù)娜≈祲虼髸r(shí),就可以表示該參數(shù)在所有情況下對(duì)結(jié)果的影響。將各組參數(shù)樣本帶入到網(wǎng)絡(luò)演化模型中,可算得對(duì)應(yīng)的業(yè)務(wù)可用度仿真結(jié)果,輸出相應(yīng)的方差和參數(shù)敏感性指標(biāo)分別為
(4)
(5)
(6)
(7)
全效應(yīng)指數(shù)描述了對(duì)輸出的影響,其值在0 到1 之間。若一個(gè)變量的全效應(yīng)指數(shù)很小,表明該變量不僅自身的變動(dòng)對(duì)輸出的影響小,而且該變量與其他變量之間的交互效應(yīng)也很小。因此,考慮對(duì)全效應(yīng)指數(shù)小的變量取固定值,可以使模型的輸入變量減少,達(dá)到簡化模型的目的。用上述方法計(jì)算所要分析的變量參數(shù)的全效應(yīng)指數(shù),全效應(yīng)指數(shù)越大,則該參數(shù)變量對(duì)模型輸出結(jié)果的影響越大。
前一節(jié)中Sobol指數(shù)法可以找到關(guān)鍵參數(shù)類別,但是該參數(shù)為一類設(shè)備參數(shù),如云化虛擬化網(wǎng)絡(luò)中的TOR的節(jié)點(diǎn)故障間隔時(shí)間,但是網(wǎng)絡(luò)中TOR的數(shù)量遠(yuǎn)不止一個(gè),當(dāng)網(wǎng)絡(luò)中有多業(yè)務(wù)存在時(shí),由于業(yè)務(wù)動(dòng)態(tài)路由導(dǎo)致的業(yè)務(wù)耦合,使得網(wǎng)絡(luò)中所有的TOR并不等效。所以云化虛擬化網(wǎng)絡(luò)中不同位置的TOR對(duì)業(yè)務(wù)可靠性造成的影響不同。為了分析在多業(yè)務(wù)耦合下的不同設(shè)備的某一屬性參數(shù)(同類參數(shù))的敏感性,我們提出了節(jié)點(diǎn)動(dòng)態(tài)業(yè)務(wù)度的概念。
在NFV網(wǎng)絡(luò)中,由于業(yè)務(wù)重路由的影響,節(jié)點(diǎn)和鏈路中承載的業(yè)務(wù)時(shí)刻在發(fā)生變化,難以直接分析出某個(gè)具體的設(shè)備參數(shù)的敏感性。但是在網(wǎng)絡(luò)運(yùn)行過程中,某節(jié)點(diǎn)承載的業(yè)務(wù)越多,則當(dāng)該節(jié)點(diǎn)發(fā)生故障時(shí)就會(huì)造成更多業(yè)務(wù)的故障,從而對(duì)整網(wǎng)的業(yè)務(wù)可靠性造成更大的影響。因此,我們提出了動(dòng)態(tài)業(yè)務(wù)介數(shù)的概念,通過動(dòng)態(tài)業(yè)務(wù)介數(shù)這個(gè)指標(biāo)來分析節(jié)點(diǎn)的敏感性。
節(jié)點(diǎn)動(dòng)態(tài)業(yè)務(wù)介數(shù):指在網(wǎng)絡(luò)工作的整個(gè)區(qū)間內(nèi),節(jié)點(diǎn)承載過的業(yè)務(wù)的累積量。若同一業(yè)務(wù)在不同的工作路徑下都經(jīng)過某一條節(jié)點(diǎn),則該節(jié)點(diǎn)的動(dòng)態(tài)業(yè)務(wù)介數(shù)增加1。下面以一個(gè)具體的過程進(jìn)行說明,如圖2所示。
圖2 云化網(wǎng)絡(luò)演化過程Fig.2 Evolution of NFV
0時(shí)刻:網(wǎng)絡(luò)中無節(jié)點(diǎn)故障,業(yè)務(wù)部署在節(jié)點(diǎn)1—3—18—4—1上;
時(shí)刻:網(wǎng)絡(luò)中APP1主進(jìn)程節(jié)點(diǎn)18故障,業(yè)務(wù)切換到備用進(jìn)程節(jié)點(diǎn)24上,同時(shí)主進(jìn)程節(jié)點(diǎn)降為備進(jìn)程節(jié)點(diǎn),備進(jìn)程節(jié)點(diǎn)升為主進(jìn)程節(jié)點(diǎn),此時(shí)業(yè)務(wù)的路徑為:1—7—24—8—2。
時(shí)刻:網(wǎng)絡(luò)中APP1主、備進(jìn)程均故障,業(yè)務(wù)遷移到備用資源池NCE中,此時(shí)業(yè)務(wù)的工作路徑為:1—12—30—12—2。直至工作任務(wù)結(jié)束。
在這整個(gè)過程中,按照動(dòng)態(tài)業(yè)務(wù)介數(shù)的定義可以知道:節(jié)點(diǎn)1的動(dòng)態(tài)業(yè)務(wù)介數(shù)為3;節(jié)點(diǎn)2的動(dòng)態(tài)業(yè)務(wù)介數(shù)為2;節(jié)點(diǎn)3、18、4、7、24、8、12、30的業(yè)務(wù)動(dòng)態(tài)介數(shù)為1。
由于節(jié)點(diǎn)動(dòng)態(tài)業(yè)務(wù)介數(shù)的仿真也需要考慮不同的設(shè)計(jì)參數(shù)組合情況,因此在計(jì)算節(jié)點(diǎn)的動(dòng)態(tài)業(yè)務(wù)介數(shù)時(shí),需要運(yùn)用第2.2節(jié)中的仿真實(shí)驗(yàn)設(shè)計(jì)方法設(shè)計(jì)多組試驗(yàn)。在每一組實(shí)驗(yàn)中,僅需在網(wǎng)絡(luò)演化模型的程序里增加一個(gè)動(dòng)態(tài)業(yè)務(wù)介數(shù)的統(tǒng)計(jì)值變量,節(jié)點(diǎn)上初始部署的業(yè)務(wù)數(shù)量為節(jié)點(diǎn)動(dòng)態(tài)業(yè)務(wù)介數(shù)的初始值;當(dāng)節(jié)點(diǎn)發(fā)生故障,業(yè)務(wù)進(jìn)行遷移或者倒換后,業(yè)務(wù)新的路由上所有節(jié)點(diǎn)的動(dòng)態(tài)業(yè)務(wù)介數(shù)增加1。
采用上述方法得到了異類和同類參數(shù)的敏感性指標(biāo)后,如何才將二者結(jié)合起來對(duì)整網(wǎng)的所有參數(shù)進(jìn)行敏感性排序?本文提出了一種新的敏感性指標(biāo),若通過敏感性分析,得到的各類參數(shù)的全效應(yīng)指數(shù)以及各個(gè)節(jié)點(diǎn)的動(dòng)態(tài)業(yè)務(wù)介數(shù)分別如表2所示。網(wǎng)絡(luò)中某一個(gè)具體設(shè)備的某個(gè)參數(shù)的敏感度,不僅與該類參數(shù)的全效應(yīng)指數(shù)相關(guān),更與該設(shè)備上部署的業(yè)務(wù)數(shù)量密切相關(guān)。所以,為了描述網(wǎng)絡(luò)中具體設(shè)備的具體參數(shù)的敏感度,我們將全效應(yīng)指數(shù)與節(jié)點(diǎn)動(dòng)態(tài)業(yè)務(wù)介數(shù)結(jié)合起來,用該類參數(shù)的全效應(yīng)指數(shù)與某一個(gè)構(gòu)件的動(dòng)態(tài)業(yè)務(wù)介數(shù)所占比例的乘積作為該構(gòu)件上具體參數(shù)的敏感度。則網(wǎng)絡(luò)中所有參數(shù)的敏感度計(jì)算方法如表2所示,各參數(shù)的敏感度進(jìn)行大小排序,即可得到整網(wǎng)中的參數(shù)。
表2 具體構(gòu)件的參數(shù)敏感度計(jì)算方法
根據(jù)NFV網(wǎng)絡(luò)架構(gòu)特點(diǎn),本文構(gòu)建了一個(gè)典型的NFV網(wǎng)絡(luò)案例如圖3所示。該案例中共有各種類型的節(jié)點(diǎn)28個(gè),鏈路28條,網(wǎng)絡(luò)拓?fù)錇闃錉?。在該網(wǎng)絡(luò)上部署了兩個(gè)業(yè)務(wù),業(yè)務(wù)的工作路徑可在圖3中看到。網(wǎng)絡(luò)中各節(jié)點(diǎn)的故障及修復(fù)參數(shù)信息如表3所示。本文的仿真平臺(tái)采用 Intel Corei7-3520 2.90 GHz CPU。
圖3 云網(wǎng)絡(luò)分析案例Fig.3 Case of the NFV
表3 fail_info欄數(shù)據(jù)內(nèi)容
(1) 網(wǎng)絡(luò)建模與仿真
根據(jù)上述案例,本文以整網(wǎng)業(yè)務(wù)平均可用度作為分析目標(biāo),根據(jù)表2確定的輸入?yún)?shù)類別并根據(jù)文獻(xiàn)[15]中NFV網(wǎng)絡(luò)可靠性要求對(duì)每一類參數(shù)確定一個(gè)試驗(yàn)取值范圍如表4所示。
利用表4中的參數(shù)對(duì)NFV網(wǎng)絡(luò)進(jìn)行建模與仿真的具體方法參考文獻(xiàn)[2],本文不再贅述。
表4 輸入?yún)?shù)的試驗(yàn)取值空間
續(xù)表4
(2) 設(shè)計(jì)仿真實(shí)驗(yàn)
利用第1.2節(jié)中介紹的最優(yōu)拉丁方實(shí)驗(yàn)設(shè)計(jì)方法設(shè)計(jì)兩組容量為20的輸入矩陣(本文先擬定容量為20,之后再改變樣本容量,觀察參數(shù)排序是否穩(wěn)定)。其中一組輸入矩陣如所示。矩陣中每一行代表一個(gè)輸入樣本,每一列代表同一參數(shù)在不同樣本中的不同取值,用同樣的方法得到另外一組輸入矩陣。
=
將上述設(shè)計(jì)的輸入樣本矩陣和中的每一行輸入到網(wǎng)絡(luò)演化模型進(jìn)行仿真,得到這一個(gè)輸入樣本矩陣的20組業(yè)務(wù)可靠度仿真結(jié)果如表5所示。由于網(wǎng)絡(luò)演化模型仿真時(shí)采用了蒙特卡羅抽樣,得到的網(wǎng)絡(luò)平均業(yè)務(wù)可用度具有一定的隨機(jī)誤差,所以本文分析將相同的參數(shù)輸入仿真100次,設(shè)置的仿真時(shí)長為200年,將100次整網(wǎng)平均業(yè)務(wù)可用度的均值作為這個(gè)輸入的模型輸出結(jié)果。這樣做的目的是減少敏感性分析過程中由于模型本身的隨機(jī)誤差對(duì)結(jié)果造成的影響。
表5 將A、B輸入到模型中得到業(yè)務(wù)可靠度值
(3) 異類參數(shù)敏感性指標(biāo)計(jì)算
根據(jù)表5的仿真結(jié)果,可以分析出DCGW節(jié)點(diǎn)平均故障間隔時(shí)間的全效應(yīng)指數(shù),計(jì)算過程如下:
通過和中的輸入樣本和表5中得到的仿真結(jié)果,利用第13節(jié)中介紹的敏感性指標(biāo)計(jì)算方法計(jì)算各類輸入?yún)?shù)的全效應(yīng),選出關(guān)鍵參數(shù)類別。得到的各類輸入?yún)?shù)的全效應(yīng)及排序如表6所示。
表6 第一次異類敏感性分析得到的各類參數(shù)敏感性排序
由表6可以得到,Vswitch節(jié)點(diǎn)平均故障間隔時(shí)間、Vswitch節(jié)點(diǎn)自動(dòng)維修概率、Vswitch節(jié)點(diǎn)平均人工維修時(shí)間這3類參數(shù)的全效應(yīng)指數(shù)明顯跟其余參數(shù)的全效應(yīng)指數(shù)不在一個(gè)量級(jí),所以這3類參數(shù)為關(guān)鍵參數(shù)類別。上述分析均在樣本容量為20的情況下進(jìn)行,為了保證樣本容量的取值滿足敏感性分析的要求,本文繼續(xù)在樣本容量為40、60、80的情況下分析,仿真試驗(yàn)樣本均采用第1.2節(jié)的實(shí)驗(yàn)設(shè)計(jì)方法進(jìn)行設(shè)計(jì)。通過全效應(yīng)指數(shù)的計(jì)算,得到的全效應(yīng)結(jié)果如表7所示。
從表7中可以看到,雖然所有參數(shù)的全效應(yīng)指數(shù)大小略有差異,但是3個(gè)關(guān)鍵參數(shù)類別的全效應(yīng)指數(shù)與其余類別參數(shù)的全效應(yīng)指數(shù)始終不在一個(gè)量級(jí);而其余類別參數(shù)的排序稍微有所不同,造成這種現(xiàn)象的原因是其余參數(shù)類別的全效應(yīng)指數(shù)較小,與3個(gè)關(guān)鍵參數(shù)類別不在同一量級(jí),其結(jié)果更容易受到蒙特卡羅過程的影響,造成排序的不同,但是隨機(jī)誤差對(duì)關(guān)鍵參數(shù)類別的影響較小,所以關(guān)鍵參數(shù)類別的排序穩(wěn)定,結(jié)果可靠。
表7 不同樣本容量下的異類參數(shù)敏感性排序情況
(4) 同類參數(shù)敏感性指標(biāo)計(jì)算
上一步找到的關(guān)鍵參數(shù)類別為:Vswitch節(jié)點(diǎn)平均故障間隔時(shí)間、Vswitch節(jié)點(diǎn)自動(dòng)維修概率、Vswitch節(jié)點(diǎn)平均人工維修時(shí)間。由于關(guān)鍵參數(shù)類別與非關(guān)鍵參數(shù)類別的全效應(yīng)指數(shù)不在同一個(gè)量級(jí),因此同類參數(shù)的敏感性僅針對(duì)關(guān)鍵的參數(shù)類別進(jìn)行。研究參數(shù)采用第1.2節(jié)中的試驗(yàn)設(shè)計(jì)方法設(shè)計(jì)20組樣本,在每一個(gè)相同的樣本下進(jìn)行10次仿真,對(duì)10次仿真的每個(gè)節(jié)點(diǎn)的動(dòng)態(tài)業(yè)務(wù)介數(shù)取均值作為該樣本下的節(jié)點(diǎn)動(dòng)態(tài)業(yè)務(wù)介數(shù)仿真結(jié)果;最后再將20個(gè)樣本得到的每個(gè)節(jié)點(diǎn)的動(dòng)態(tài)業(yè)務(wù)介數(shù)取均值作為節(jié)點(diǎn)的最終動(dòng)態(tài)業(yè)務(wù)介數(shù)。通過仿真,得到網(wǎng)絡(luò)中Vs1、Vs2、Vs3的動(dòng)態(tài)業(yè)務(wù)介數(shù)如表8所示。
表8 不同仿真時(shí)間下的節(jié)點(diǎn)動(dòng)態(tài)業(yè)務(wù)介數(shù)
由表8分析得到:隨著仿真時(shí)間的增加,節(jié)點(diǎn)的動(dòng)態(tài)業(yè)務(wù)介數(shù)也隨之增加,但是Vs1 和Vs2的動(dòng)態(tài)業(yè)務(wù)介數(shù)一直大于Vs3的動(dòng)態(tài)業(yè)務(wù)介數(shù)。
(5) 網(wǎng)絡(luò)參數(shù)敏感性排序
由于NFV網(wǎng)絡(luò)中的節(jié)點(diǎn)異質(zhì),所以某一種節(jié)點(diǎn)的某一種屬性的參數(shù)可以稱為一類參數(shù)(如Vswitch節(jié)點(diǎn)平均故障間隔時(shí)間,它包括Vs1平均故障間隔時(shí)間、Vs2平均故障間隔時(shí)間、Vs3平均故障間隔時(shí)間3個(gè)參數(shù))。在相互獨(dú)立的參數(shù)類別的敏感性分析中,發(fā)現(xiàn)關(guān)鍵參數(shù)類別的全效應(yīng)指數(shù)與非關(guān)鍵參數(shù)的全效應(yīng)指數(shù)不在一個(gè)量級(jí),所以關(guān)鍵參數(shù)只會(huì)在關(guān)鍵參數(shù)類中,因此可以僅進(jìn)一步針對(duì)關(guān)鍵參數(shù)類別進(jìn)行分析,找到關(guān)鍵參數(shù)。采用第1.5節(jié)中的具體網(wǎng)絡(luò)構(gòu)件參數(shù)的敏感度計(jì)算方法,得到網(wǎng)絡(luò)參數(shù)的敏感度和敏感度排序如表9所示。
表9 具體構(gòu)件的參數(shù)敏感度排序
根據(jù)表9得到的同類不同構(gòu)件的參數(shù)的敏感度及排序,得到該案例中Top4的關(guān)鍵參數(shù)為Vs1設(shè)備自動(dòng)維修概率、Vs1設(shè)備平均故障間隔時(shí)間、Vs2設(shè)備自動(dòng)維修概率、Vs2設(shè)備的平均故障間隔時(shí)間。
現(xiàn)有的敏感性分析方法只能對(duì)相互獨(dú)立的參數(shù)進(jìn)行分析,所以在本文中我們先采用主效應(yīng)圖的方法對(duì)相互獨(dú)立的參數(shù)類別進(jìn)行分析,驗(yàn)證找到的關(guān)鍵參數(shù)類別是否準(zhǔn)確;進(jìn)一步從NFV網(wǎng)絡(luò)的運(yùn)行規(guī)則分析本文找到的具體的關(guān)鍵參數(shù)的合理性;最后對(duì)比兩種方法,說明本文所提方法在分析結(jié)果和仿真效率上的優(yōu)勢。主效應(yīng)圖是通過對(duì)異類參數(shù)的局部敏感性取均值來衡量不同類別參數(shù)的敏感性,因此該方法并不能直接找到全局范圍內(nèi)的關(guān)鍵參數(shù)類別,但是可以用該方法從多個(gè)局部衡量本文找到的關(guān)鍵參數(shù)類別是否對(duì)模型結(jié)果有較大的影響。
以分析Vswitch節(jié)點(diǎn)的平均故障間隔時(shí)間的主效應(yīng)圖為例,該類參數(shù)的取值范圍為1~5年,因此從1年開始,以0.04年為間隔進(jìn)行取值。其他參數(shù)類別取值采用第2.2節(jié)中的試驗(yàn)設(shè)計(jì)方法設(shè)計(jì)20組樣本。Vswitch節(jié)點(diǎn)的平均故障間隔時(shí)間在每一個(gè)取值下,均需要結(jié)合表5中的20組樣本進(jìn)行仿真,得到的可用度均值作為Vswitch節(jié)點(diǎn)的平均故障間隔時(shí)間在該取值水平下的可用度值。通過仿真分析,得到部分參數(shù)類別的主效應(yīng)圖如圖4所示。
圖4 部分參數(shù)類的主效應(yīng)圖Fig.4 Main effect diagram of part of the parameter classes
由圖4可知,Vswitch節(jié)點(diǎn)的平均故障間隔時(shí)間與業(yè)務(wù)可用度呈現(xiàn)出指數(shù)關(guān)系,隨著該類參數(shù)值的增加,業(yè)務(wù)可用度逐漸收斂于一個(gè)固定的值;Vswitch節(jié)點(diǎn)自動(dòng)維修概率與業(yè)務(wù)可用度呈現(xiàn)出線性遞增關(guān)系,當(dāng)該類參數(shù)值增加到最大值1時(shí),業(yè)務(wù)可用度也達(dá)到最大值;Vswitch節(jié)點(diǎn)平均人工維修時(shí)間與業(yè)務(wù)可用度呈現(xiàn)出線性遞減關(guān)系,當(dāng)該類參數(shù)值增加到最大值10時(shí),業(yè)務(wù)可用度也達(dá)到最小值。DCGW節(jié)點(diǎn)平均故障間隔時(shí)間與業(yè)務(wù)可用度呈現(xiàn)出指數(shù)關(guān)系; DCGW節(jié)點(diǎn)故障檢測率、DCGW節(jié)點(diǎn)平均人工維修時(shí)間與業(yè)務(wù)可用度呈現(xiàn)出線性關(guān)系,但是隨著非關(guān)鍵參數(shù)類的變化,業(yè)務(wù)可用度基本保持不變。
從主效應(yīng)圖可以看出,分析的關(guān)鍵參數(shù)類別與業(yè)務(wù)可用度呈單調(diào)關(guān)系,為了定量衡量不同類別參數(shù)對(duì)業(yè)務(wù)可用度的影響大小,進(jìn)一步擬合出整網(wǎng)業(yè)務(wù)平均可用度的斜率,將整網(wǎng)業(yè)務(wù)平均可用度在參數(shù)取值范圍內(nèi)的平均斜率作為敏感性分析指標(biāo),在求平均斜率的過程中,將參數(shù)類的取值進(jìn)行歸一化處理。通過比較不同參數(shù)類別的平均斜率的絕對(duì)值,得到平均斜率排序結(jié)果如表10所示,可以找到平均斜率絕對(duì)值最大的3個(gè)參數(shù)類別為:Vswitch節(jié)點(diǎn)平均故障間隔時(shí)間、Vswitch節(jié)點(diǎn)自動(dòng)維修概率、Vswitch節(jié)點(diǎn)平均人工維修時(shí)間。通過主效應(yīng)圖的平均斜率與全效應(yīng)指數(shù)的排序?qū)Ρ瓤芍?兩種方法找到的關(guān)鍵參數(shù)類別相同。因此,本文找到的關(guān)鍵參數(shù)能夠?qū)I(yè)務(wù)可用度造成更大的影響,可以驗(yàn)證本文找到的關(guān)鍵參數(shù)類的合理性。
而在本文案例中,由于Vswitch節(jié)點(diǎn)的平均故障間隔時(shí)間較小,而且當(dāng)其發(fā)生故障后業(yè)務(wù)無法進(jìn)行遷移和倒換,只能等待其修復(fù)。因此,Vswitch節(jié)點(diǎn)的故障修復(fù)參數(shù)會(huì)對(duì)網(wǎng)絡(luò)中的業(yè)務(wù)可靠性造成較大的影響,即在不同的NFV中,Vswitch節(jié)點(diǎn)最為關(guān)鍵,該類節(jié)點(diǎn)的相關(guān)故障修復(fù)參數(shù)也更關(guān)鍵。Vs1和Vs2上初始部署有業(yè)務(wù),只有當(dāng)S1或者S2發(fā)生故障時(shí)業(yè)務(wù)才有可能會(huì)遷移到Vs3上。因此,Vs3上承載的業(yè)務(wù)少于Vs1和Vs2,Vs1和Vs2的故障參數(shù)會(huì)對(duì)業(yè)務(wù)可用度造成更大的影響。故在該案例中,對(duì)業(yè)務(wù)可靠性影響最大的關(guān)鍵參數(shù)為Vs1設(shè)備自動(dòng)維修概率、Vs1設(shè)備平均故障間隔時(shí)間、Vs2設(shè)備自動(dòng)維修概率、Vs2設(shè)備的平均故障間隔時(shí)間,該結(jié)果與上述描述并不矛盾,進(jìn)一步證明了本文找到的關(guān)鍵參數(shù)的合理性。通過對(duì)案例的分析可以發(fā)現(xiàn),雖然隨著不同案例中業(yè)務(wù)部署的不同,網(wǎng)絡(luò)中關(guān)鍵的具體設(shè)備參數(shù)會(huì)存在差異,但是關(guān)鍵的參數(shù)類別與網(wǎng)絡(luò)演化的規(guī)則也密切相關(guān)。
表10 主效應(yīng)圖的平均斜率與全效應(yīng)指數(shù)的參數(shù)排序?qū)Ρ?/p>
對(duì)比本文方法與主效應(yīng)圖方法分別找到的關(guān)鍵參數(shù)可以發(fā)現(xiàn),在分析結(jié)果上,主效應(yīng)圖的方法只能對(duì)相互獨(dú)立的參數(shù)類別(一類設(shè)備的參數(shù))進(jìn)行敏感性分析,而本文方法可以找到相互耦合的參數(shù)(一個(gè)設(shè)備的參數(shù))中的關(guān)鍵參數(shù),而且保證了結(jié)果的準(zhǔn)確性;在分析效率上,主效應(yīng)圖需要的仿真樣本數(shù)為20×25×100,而本文方法所需要的仿真樣本數(shù)為20×(25+2+1),遠(yuǎn)小于主效應(yīng)圖的方法。
現(xiàn)有的敏感性分析方法僅能對(duì)局部參數(shù)或者構(gòu)建數(shù)學(xué)代理模型對(duì)相互獨(dú)立的全局參數(shù)進(jìn)行敏感性分析,而復(fù)雜系統(tǒng)模型參數(shù)眾多且參數(shù)之間相互影響耦合,已有的敏感性分析方法無法找到具有參數(shù)耦合特點(diǎn)模型的關(guān)鍵參數(shù)。所以,本文提出一種基于網(wǎng)絡(luò)演化模型的多類參數(shù)敏感性分析方法,對(duì)網(wǎng)絡(luò)業(yè)務(wù)可靠性的各類影響參數(shù)的敏感性進(jìn)行分析,找出影響最大、最敏感的主要參數(shù)類別。進(jìn)一步提出了基于動(dòng)態(tài)業(yè)務(wù)介數(shù)的方法,對(duì)不同位置的設(shè)備的參數(shù)的敏感性進(jìn)行解耦,找到關(guān)鍵的具體設(shè)備參數(shù)。通過對(duì)比分析可以發(fā)現(xiàn)主效應(yīng)圖只能對(duì)不同類別的獨(dú)立參數(shù)進(jìn)行排序,找到的關(guān)鍵參數(shù)也只是在參數(shù)的局部取值成立,而本文所提方法可以在網(wǎng)絡(luò)中所有設(shè)備的參數(shù)都相互耦合的情況下對(duì)相互耦合(仿真過程中的取值相同)的同一類參數(shù)進(jìn)行敏感性排序,最終找到整網(wǎng)中所有構(gòu)件的所有參數(shù)中在全局范圍內(nèi)的關(guān)鍵參數(shù),而且所需要的仿真樣本量也遠(yuǎn)小于已有的敏感性分析方法。