国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于NFV的QoS多源多播蟻群優(yōu)化算法

2021-11-01 08:53:10黃聞天孫士民張新潮徐愛鑫汪曉凡
現(xiàn)代計算機 2021年26期
關(guān)鍵詞:多源多播代價

黃聞天,孫士民,2,張新潮,徐愛鑫,汪曉凡

(1.天津工業(yè)大學計算機科學與技術(shù)學院,天津 300387;2.天津市自主智能技術(shù)與系統(tǒng)重點實驗室,天津 300387)

0 引言

多源多播網(wǎng)絡(luò)即是通過一組源節(jié)點向一組目的地傳送相同內(nèi)容的一種通信方式。同時,隨著網(wǎng)絡(luò)功能虛擬化(NFV)的快速發(fā)展與應(yīng)用,大量的虛擬網(wǎng)絡(luò)功能節(jié)點(VNF)分布在多播網(wǎng)絡(luò)中,為網(wǎng)絡(luò)應(yīng)用提供不同層級的多樣化服務(wù)。因此,多源多播網(wǎng)絡(luò)與網(wǎng)絡(luò)功能虛擬化(NFV)的結(jié)合迎來了全新的挑戰(zhàn)。NFV網(wǎng)絡(luò)要求在網(wǎng)絡(luò)信號傳輸?shù)侥康墓?jié)點前需要按順序遍歷一些布置了虛擬網(wǎng)絡(luò)功能(VNF)的節(jié)點,通過這些節(jié)點上分布的網(wǎng)絡(luò)功能的按順序結(jié)合完成指定的網(wǎng)絡(luò)功能[1]。因為其將部分運算功能分布在網(wǎng)絡(luò)節(jié)點上,所以NFV網(wǎng)絡(luò)的QoS需求也越來越豐富。而QoS路由算法也能夠合理分配網(wǎng)絡(luò)吞吐量、優(yōu)化網(wǎng)絡(luò)資源配置,結(jié)合所布置功能實現(xiàn)網(wǎng)絡(luò)全局資源利用率優(yōu)化[2],這使得對構(gòu)建含QoS的支持網(wǎng)絡(luò)功能虛擬化多源多播優(yōu)化網(wǎng)絡(luò)的研究成了當務(wù)之急。

本文將虛擬源節(jié)點算法與蟻群算法相結(jié)合,提出了一種基于蟻群優(yōu)化的QoS多源多播路由算法Ant based Multi-Source Multicast Tree Construction(AQoSMMTC),可以有效地構(gòu)建多源多播網(wǎng)絡(luò)并對其進行優(yōu)化。而針對其與NFV相結(jié)合的問題,本文提出一種基于VNF節(jié)點選擇的改進的蟻群算法VNF based Multi-Source Multicast Tree Construction(VQoSMMTC)來對多源組播樹進行求解,在追求路徑代價優(yōu)化的同時對VNF節(jié)點位置進行了選擇。

1 算法思路

1.1 蟻群優(yōu)化算法

蟻群算法[3]是意大利學者M.Dorigo等人提出來的,通過模擬自然界螞蟻群覓食尋徑來求解相似尋優(yōu)問題。主要內(nèi)容為螞蟻在覓食和返巢的過程中擁有選擇最短路徑的能力,其能力來源于螞蟻會在行走的路徑上留下自己的信息素(pheromone)。信息素會隨著時間揮發(fā),其他螞蟻對路徑上的信息素進行識別,并在行動時按照信息素濃度隨機選擇路線。路線選擇的概率與其信息素濃度成正比。較短的路線往返時間更短,往返次數(shù)更多,從而擁有較強的信息素濃度。會對覓食路徑選擇形成一種正反饋并通過這種方式挑選最佳路徑[4]。

1.2 通過蟻群優(yōu)化算法解決含Qo S的多源多播問題

多源多播問題是指對給定的一組目的地和一組源構(gòu)建網(wǎng)絡(luò)拓撲。與單源多播的最小生成樹相比,多源多播問題是旨在構(gòu)造一個最小成本的森林(MCF)[5],即眾多最小生成樹的集合,它確保每個目的節(jié)點通過林中的一條路徑只連接到一個源。這是一個NP完全問題[6]。

在多源多播網(wǎng)絡(luò)中,可以通過蟻群算法與虛擬源節(jié)點法[7]相結(jié)合來解決多源多播問題。首先構(gòu)建一個虛擬源節(jié)點,使得其對所有源節(jié)點的距離為0,所有螞蟻都從此虛擬源節(jié)點釋放,所有螞蟻也都對此虛擬源節(jié)點返回,將源節(jié)點視為普通中繼節(jié)點。此方法的多播目標樹即可視為從虛擬源節(jié)點開始的單源多播最小斯坦納樹。其次待循環(huán)完成后將虛擬源節(jié)點摘除,留下源集合中被使用的節(jié)點就是蟻群優(yōu)化后的多源多播樹。在蟻群算法尋找多播樹的過程中,對螞蟻的每一次尋路都進行一次QoS判定,自動避開不滿足要求的路徑選擇即可完成滿足QoS需求的多播樹的構(gòu)建,如圖1所示。

圖1 通過添加虛擬源的蟻群算法解決多源多播問題

1.3 基于改進蟻群算法的支持NFV多源多播路由算法(VQo SMMTC)

改進的蟻群系統(tǒng)算法在對信息素的設(shè)置上增加了正向信息素和反向信息素。在螞蟻進行正向搜索時遵循正向信息素,每當?shù)竭_所有目標節(jié)點后再從目標節(jié)點釋放螞蟻根據(jù)反向信息素進行反向搜索直到回到虛擬源節(jié)點(反向信息素初始值與第一次正向信息素相同)。當螞蟻完成一次搜索循環(huán)后,檢查是否發(fā)現(xiàn)當前最佳樹(目標節(jié)點到虛擬源節(jié)點距離最短),若發(fā)現(xiàn)則對反向信息素進行全局更新,之后繼續(xù)進行循環(huán)直到到達終止條件。

在支持NFV的多源多播樹的構(gòu)建中,由于每一組流量的傳輸都需要按順序經(jīng)過一些特定的VNF節(jié)點。改進的蟻群算法在反向循環(huán)的過程中添加了VNF節(jié)點的尋找功能。在反向?qū)ぢ返倪^程中按順序?qū)ふ襐NF節(jié)點的布置位置,每尋找一個VNF功能節(jié)點則對下一步能到達的節(jié)點進行該VNF功能布置代價計算,將布置代價計入鏈路代價中,從而對傳輸代價和布置代價一同進行優(yōu)化。使得每一個目的節(jié)點都有完整的VNF傳輸鏈(SFC)[8],并且獲得基于總代價最小的優(yōu)化樹,算法示意如圖2所示。

圖2 基于NFV的改進蟻群算法多源多播樹

2 算法實現(xiàn)

2.1 基于蟻群優(yōu)化的Qo S多源多播路由算法(AQo SMMTC)

2.1.1 蟻群算法螞蟻轉(zhuǎn)移規(guī)則偽代碼

算法1螞蟻轉(zhuǎn)移規(guī)則

需求:無向圖G=(V,E),信息素表(Phero-mone list),開始節(jié)點N,禁忌表,q0,鄰居節(jié)點集合(P(neighber))

將禁忌表中節(jié)點從信息素表中刪除

q=rand(0,1)

if q≤q0

Target=arg max(P(neighber))

else

for neighber∈Phero-mone list

P(N,neighber)=P(neighber)/SUM(P)

if

(P(N,neighber)>R)

Target=min(neighber)

end if

end for

end if

將N加入禁忌表

Next skip=Target

start node=Next skip

輸出:Next skip

End

2.1.2 基于蟻群算法的多源多播樹構(gòu)建偽代碼

算法2基于蟻群算法的多源多播樹構(gòu)建

需求:無向圖G=(V,E),信息素表,禁忌表,t目標節(jié)點集合{D},源節(jié)點集合{S},螞蟻數(shù)量M,循環(huán)次數(shù)It.

將S0加入圖G,Distance(S0,{S})=0

for i=0:It

m=0

for Di∈{D}

for m≤M以出發(fā)節(jié)點為S0執(zhí)行算法1

if Target=Di

Record[path(Di),cost(Di)]

為path(Di)進行局部信息素更新

else back to do

end if

end for

Best_path(Di)=arg min(cost(Di))

end for

tree={path(Di)},record cost(tree)

Best_tree=arg min(cost(tree))

對Best_tree進行全局信息素更新

更新信息素表

end for

輸出:Best_tree

End

2.2 基于改進蟻群算法的支持NFV多源多播路由算法(VQo SMMTC)

2.2.1 改進的蟻群算法螞蟻轉(zhuǎn)移規(guī)則偽代碼

算法3改進的蟻群算法轉(zhuǎn)移規(guī)則

需求:無向圖G=(V,E),信息素概率表,出發(fā)點N,禁忌表,q0,當前需要布置的VNF功能VNFnode(n),QoS標準

Start:將禁忌表中節(jié)點從信息素概率表中刪除

q=rand(0,1)

if q≤q0

Target=arg max(P(neighber))

else

for neighber∈Phero-mone list

P(N,neighber)=P(neighber)/SUM(P)

if(P(N,neighber)>R)

Target=min(neighber)

end if

end for

end if

If Target符合QoS標準且未被部署其他VNF功能

將N加入禁忌表

Next skip=Target

VNFnode(n)=Target

n-1

start node=Next skip

Else

將Target加入禁忌表

start node=N

重新開始循環(huán)

輸出:Next skip

End

2.2.2 基于改進的蟻群算法的多源多播樹構(gòu)建偽代碼

算法4基于NFV的改進蟻群算法多源多播樹構(gòu)建方法

需求:無向圖G=(V,E),正向信息素表,反向信息素表,禁忌表,目標節(jié)點集合{D},源節(jié)點集{S},螞蟻數(shù)量M,最大循環(huán)次數(shù)It.

將S0添加入圖G中,Distance(S0,{S})=0

for i=0:It

m=0

for m≤M從S0開始根據(jù)算法1進行循環(huán)

if Target=Di

記錄[path(Di,Cost(Di)]

對path(Di)進行局部信息素更新

else back to do

end if

end for

for m≤M=從{Di}開始根據(jù)反向信息素表及算法3進行循環(huán)

if Target=S0

記錄[path(Di),Cost(Di)]

對path(Di)進行局部信息素更新

else back to do

end if

end for

Best_path(Di)=arg min(Cost(Di))

tree={path(Di)}]

end for

計算樹的代價Cost(tree)

Best_tree=arg min(Cost(tree))

進行全局信息素更新

更新反向信息素概率表

end for

輸出:最佳樹,VNF節(jié)點位置

end

3 實驗與仿真

本實驗采用Matlab仿真工具對AQoSMMTC算法與VQoSMMTC進行模擬仿真,并且測試性能與分析數(shù)據(jù)與MMForest路由算法[9]、MCF路由算法[5]進行實驗對比。由于上述算法采用的機制、原理各不相同,為確保實驗的準確性、完整性,將仿真實驗設(shè)置為采用同一傳統(tǒng)樹形網(wǎng)絡(luò)拓撲結(jié)構(gòu)、相同的節(jié)點鏈路參數(shù),網(wǎng)絡(luò)節(jié)點分布范圍為10000×10000,節(jié)點數(shù)量為100個,鄰居節(jié)點距離為200,所有實驗所用節(jié)點均從此100個節(jié)點中挑選。

對QoS約束條件設(shè)定為帶寬(bandwidth)=100,時延(delay)=80 ms,丟包率(packet_loss_rate)=0.05。在試驗前對網(wǎng)絡(luò)中所有鄰居節(jié)點間鏈路QoS屬性使用偽隨機算法進行設(shè)置,確保不滿足要求鏈路出現(xiàn)概率小于等于1%。

3.1 不同網(wǎng)絡(luò)規(guī)模下構(gòu)建的多源多播樹總代價

本次實驗對不同網(wǎng)絡(luò)規(guī)模下多源多播樹的總代價進行對比,設(shè)置源數(shù)量為5,網(wǎng)絡(luò)規(guī)模即節(jié)點數(shù)由23到73。

實驗結(jié)果如圖3所示,AQoSMMCT算法專注于最優(yōu)樹的尋找,所以其結(jié)果優(yōu)于其他對比算法。而VQoSMMCT算法則在構(gòu)建多播樹的同時對VNF節(jié)點進行尋找,故其總代價略大于AQoSMMCT算法與MMForest算法基本持平。

圖3 不同網(wǎng)絡(luò)規(guī)模下多播樹的代價

3.2 給定最優(yōu)樹下算法成功率

根據(jù)先前網(wǎng)絡(luò)規(guī)則構(gòu)建一個簡單VNF功能網(wǎng)絡(luò),并添加干擾節(jié)點構(gòu)建一個網(wǎng)絡(luò)規(guī)模為20的測試網(wǎng)絡(luò),該網(wǎng)絡(luò)的最佳多播樹如圖4所示。

圖4 已標出最佳多播樹的測試網(wǎng)絡(luò)

使用結(jié)合RMTC[9]的MMForest算法[6]和VQoSMMTC算法對該網(wǎng)絡(luò)求解。對比所得到的結(jié)果是否于最佳多播樹相等,從而確定算法的成功與否。本次實驗采取不同的最大迭代次數(shù)進行對比,每一組進行100次獨立實驗,成功得到最佳多播樹的次數(shù)即為算法的成功率,如圖5所示。

圖5 不同迭代次數(shù)下算法的成功率

從實驗結(jié)果不難看出,VQoSMMTC算法的成功率明顯優(yōu)于結(jié)合RMTC的MMForest算法,隨著最大迭代次數(shù)的增加,算法的成功率趨于穩(wěn)定。

4 結(jié)語

本文基于蟻群算法和虛擬源節(jié)點算法提出了基于蟻群優(yōu)化的QoS多源多播路由算法。為了解決傳統(tǒng)的多播路由算法與NFV邊緣計算等網(wǎng)絡(luò)功能部署方法相結(jié)合的問題,提出了支持NFV的QoS多源多播路由算法。實驗結(jié)果表明,在含QoS的多源多播樹的構(gòu)建上本文提出的兩種多源多播算法均可成功構(gòu)建符合QoS需求的多源多播樹,并且樹的總代價優(yōu)于許多已有的多源多播樹構(gòu)建算法。并且在對VNF節(jié)點布置的計算上能結(jié)合節(jié)點功能與網(wǎng)絡(luò)狀況構(gòu)建多源多播樹。

猜你喜歡
多源多播代價
胖樹拓撲中高效實用的定制多播路由算法
ETC拓展應(yīng)用場景下的多源異構(gòu)交易系統(tǒng)
用于超大Infiniband網(wǎng)絡(luò)的負載均衡多播路由
InfiniBand中面向有限多播表條目數(shù)的多播路由算法
基于GNSS硬件在環(huán)的多源融合定位高逼真仿真方法
愛的代價
海峽姐妹(2017年12期)2018-01-31 02:12:22
代價
一種利用點特征和互信息的多源遙感影像配準方法
遙感信息(2015年3期)2015-12-13 07:26:54
成熟的代價
中學生(2015年12期)2015-03-01 03:43:53
空間位置信息的多源POI數(shù)據(jù)融合
突泉县| 西林县| 山阴县| 定日县| 靖西县| 湄潭县| 宜州市| 铁岭市| 裕民县| 玛多县| 固原市| 东源县| 镇宁| 原阳县| 深州市| 宁乡县| 纳雍县| 吉木乃县| 永丰县| 庆阳市| 丹江口市| 安塞县| 航空| 临夏市| 安宁市| 横山县| 台江县| 陇西县| 洞口县| 禹州市| 昌乐县| 射阳县| 云龙县| 衡水市| 红安县| 孝义市| 错那县| 崇文区| 抚松县| 广水市| 玉山县|