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

?

基于BPNN端到端時(shí)延預(yù)測(cè)的多路傳輸調(diào)度

2022-02-15 07:00蘇旭東衷璐潔
關(guān)鍵詞:吞吐量數(shù)據(jù)包時(shí)延

蘇旭東,衷璐潔

(首都師范大學(xué) 信息工程學(xué)院,北京 100048)

0 引 言

MPTCP(MultiPath TCP)是一種基于多接口的傳輸控制協(xié)議,允許在多條鏈路同時(shí)傳輸數(shù)據(jù),旨在提高吞吐量的同時(shí)更充分地利用網(wǎng)絡(luò)資源。在移動(dòng)網(wǎng)絡(luò)環(huán)境下,帶寬、延遲、丟包率等網(wǎng)絡(luò)參數(shù)動(dòng)態(tài)變化,終端的移動(dòng)性會(huì)引發(fā)網(wǎng)絡(luò)鏈路間的頻繁切換,造成數(shù)據(jù)包不能按序到達(dá)接收端,引起數(shù)據(jù)包亂序問(wèn)題。亂序數(shù)據(jù)包在接收端緩沖區(qū)滯留等待,嚴(yán)重時(shí)會(huì)導(dǎo)致接收端緩存阻塞,造成網(wǎng)絡(luò)延遲,降低網(wǎng)絡(luò)吞吐量。在該問(wèn)題背景下,如何針對(duì)移動(dòng)異構(gòu)網(wǎng)絡(luò)特點(diǎn),減少數(shù)據(jù)包亂序發(fā)生可能,實(shí)現(xiàn)高效移動(dòng)多路傳輸調(diào)度具有重要意義。對(duì)此,本文提出一種基于BP神經(jīng)網(wǎng)絡(luò)(back propagation neural network,BPNN)端到端(傳輸)時(shí)延預(yù)測(cè)的移動(dòng)多路傳輸調(diào)度方法,綜合考慮鏈路丟包率、RTT、吞吐量等性能參數(shù),通過(guò)BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練與學(xué)習(xí),提取輸入性能參數(shù)與端到端時(shí)延間的有效規(guī)則,在更準(zhǔn)確預(yù)測(cè)端到端時(shí)延的基礎(chǔ)上,對(duì)路徑擁塞狀況進(jìn)行計(jì)算評(píng)估,并基于路徑綜合評(píng)估結(jié)果實(shí)施數(shù)據(jù)包調(diào)度,以使數(shù)據(jù)包盡可能按序到達(dá)接收端,進(jìn)而有效避免緩沖區(qū)阻塞,實(shí)現(xiàn)負(fù)載均衡,提高多路傳輸網(wǎng)絡(luò)吞吐量。

1 相關(guān)工作

MPTCP數(shù)據(jù)調(diào)度:Ke等[1]利用自定義的排序算法對(duì)路徑狀態(tài)信息進(jìn)行排序,之后基于排序結(jié)果實(shí)現(xiàn)數(shù)據(jù)包的傳輸。黃輝等[2]提出一種將RTT與丟包率相結(jié)合,運(yùn)用綜合效用函數(shù)作為評(píng)估指標(biāo)的數(shù)據(jù)調(diào)度機(jī)制。Luo等[3]提出一種基于強(qiáng)化學(xué)習(xí)DQN的數(shù)據(jù)調(diào)度算法,通過(guò)強(qiáng)化模型完成路徑的選擇判斷,并借助路徑獎(jiǎng)懲值計(jì)算實(shí)現(xiàn)路徑選擇的更新。

基于端到端時(shí)延的調(diào)度:Xue等[4]通過(guò)計(jì)算在接收端不發(fā)生亂序的前提下應(yīng)為每條路徑分配的數(shù)據(jù)包個(gè)數(shù),為各路徑分配DSN連續(xù)的數(shù)據(jù)包。王振朝等[5]利用路徑帶寬、往返時(shí)延和擁塞窗口預(yù)測(cè)數(shù)據(jù)包到達(dá)時(shí)間,并以此為基礎(chǔ)完成數(shù)據(jù)包的分發(fā)。Dong等[6]根據(jù)子流是否丟包對(duì)端到端時(shí)延采用不同的計(jì)算方法進(jìn)行估算。Froemmgen等[7]通過(guò)主動(dòng)探測(cè)未使用的子流并根據(jù)傳統(tǒng)TCP時(shí)間戳選項(xiàng)得到的端到端時(shí)延來(lái)調(diào)度數(shù)據(jù)包。

數(shù)據(jù)包亂序減少:Han等[8]通過(guò)預(yù)測(cè)數(shù)據(jù)包到達(dá)時(shí)間,將數(shù)據(jù)包調(diào)度到最早到達(dá)時(shí)間的子流上,以保證數(shù)據(jù)包到達(dá)的順序。Shi等[9]選擇慢路徑發(fā)送序列號(hào)較大的數(shù)據(jù)包。Kim等[10]通過(guò)估算無(wú)序數(shù)據(jù)包數(shù)量及傳輸所需的緩沖區(qū)大小來(lái)減少數(shù)據(jù)包亂序的發(fā)生可能。Ling等[11]對(duì)路徑阻塞時(shí)延進(jìn)行評(píng)估,選擇不易造成阻塞的子流集進(jìn)行數(shù)據(jù)傳輸。

2 基于BP神經(jīng)網(wǎng)絡(luò)端到端時(shí)延預(yù)測(cè)的多路傳輸調(diào)度

基于BP神經(jīng)網(wǎng)絡(luò)端到端時(shí)延預(yù)測(cè)的多路傳輸調(diào)度(multipath scheduling based on BP neural network EET prediction,MSBPEET)通過(guò)綜合考慮丟包率、吞吐量、RTT等路徑性能參數(shù),構(gòu)建BP神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)包在各路徑上的端到端時(shí)延實(shí)施預(yù)測(cè),隨后選擇時(shí)延小且擁塞狀況良好的路徑進(jìn)行傳輸,以使數(shù)據(jù)包在盡可能短的時(shí)間內(nèi)按順序到達(dá)接收端。方法總體框架如圖1所示,包括:(Ⅰ)RTT預(yù)測(cè);(Ⅱ)基于BP神經(jīng)網(wǎng)絡(luò)的端到端時(shí)延預(yù)測(cè);(Ⅲ)子流擁塞狀況評(píng)估;(Ⅳ)網(wǎng)絡(luò)狀態(tài)綜合評(píng)估及有效路徑集排序調(diào)度4個(gè)部分。其中:RTT預(yù)測(cè)部分將RTT及RTT高頻變化分別建模為常量信號(hào)和噪聲,然后結(jié)合卡爾曼濾波,對(duì)當(dāng)前RTT測(cè)量值進(jìn)行評(píng)估和糾正;基于BP神經(jīng)網(wǎng)絡(luò)的端到端時(shí)延預(yù)測(cè)部分主要通過(guò)BP神經(jīng)網(wǎng)絡(luò)的構(gòu)建、訓(xùn)練和學(xué)習(xí)完成對(duì)端到端時(shí)延的更準(zhǔn)確預(yù)測(cè);子流擁塞狀況評(píng)估部分主要完成對(duì)各個(gè)子流的擁塞狀況評(píng)估;網(wǎng)絡(luò)狀態(tài)綜合評(píng)估及有效路徑集排序調(diào)度部分主要負(fù)責(zé)在對(duì)路徑完成綜合評(píng)估后,選擇最優(yōu)路徑進(jìn)行數(shù)據(jù)包調(diào)度。

圖1 基于BP神經(jīng)網(wǎng)絡(luò)端到端時(shí)延預(yù)測(cè)的多路傳輸調(diào)度

2.1 RTT預(yù)測(cè)

RTT是路徑質(zhì)量評(píng)估的重要參數(shù)。在本文中,RTT作為BP神經(jīng)網(wǎng)絡(luò)的輸入,其預(yù)測(cè)準(zhǔn)確性將直接影響端到端時(shí)延預(yù)測(cè)的準(zhǔn)確性。在路徑參數(shù)高度動(dòng)態(tài)變化的移動(dòng)無(wú)線網(wǎng)絡(luò)環(huán)境下,為進(jìn)一步提高RTT預(yù)測(cè)的準(zhǔn)確性,本文采用卡爾曼濾波方法,利用前一時(shí)刻的RTT與當(dāng)前時(shí)刻RTT的測(cè)量值來(lái)更新對(duì)RTT的預(yù)測(cè)估計(jì),進(jìn)而獲得當(dāng)前時(shí)刻RTT更準(zhǔn)確的估計(jì)值。

首先將RTT及RTT高頻變化分別建模為常量信號(hào)及噪聲,如式(1)和式(2)所示

RTTk=RTTk-1+wk

(1)

RTT′k=RTTk+vk

(2)

其中,RTTk和RTTk-1分別表示當(dāng)前時(shí)刻k和上一時(shí)刻k-1的RTT;wk表示過(guò)程噪聲,服從高斯分布;RTT′k表示當(dāng)前時(shí)刻RTT的測(cè)量值;vk是測(cè)量噪聲,服從高斯分布。RTT卡爾曼濾波預(yù)測(cè)過(guò)程如下:

(1)初始化測(cè)量噪聲R、 過(guò)程噪聲Q和誤差協(xié)方差P;

(2)對(duì)任一MPTCP子流j,若子流j收到ACK或發(fā)生超時(shí),獲取子流j當(dāng)前時(shí)刻RTT測(cè)量值RTTk及上一時(shí)刻最優(yōu)RTT估計(jì)值RTT(k-1|k-1)。 初次預(yù)測(cè)時(shí),將子流j上一時(shí)刻的RTT測(cè)量值RTTk-1視作上一時(shí)刻的最優(yōu)RTT估計(jì)值,然后轉(zhuǎn)步驟(3)~步驟(7)。

時(shí)間更新階段:

(3)計(jì)算當(dāng)前時(shí)刻RTT的預(yù)測(cè)值,記作RTT(k|k-1), 如式(3)所示

RTT(k|k-1)=RTT(k-1|k-1)

(3)

(4)計(jì)算當(dāng)前時(shí)刻誤差協(xié)方差的預(yù)測(cè)值,記作P(k|k-1), 如式(4)所示

P(k|k-1)=P(k-1|k-1)+Q

(4)

其中,P(k-1|k-1) 為上一時(shí)刻誤差估計(jì)協(xié)方差;Q為過(guò)程噪聲,服從高斯分布。

評(píng)估更新階段:

(5)根據(jù)當(dāng)前時(shí)刻誤差估計(jì)協(xié)方差更新卡爾曼增益Kk, 如式(5)所示

Kk=P(k|k-1)(P(k|k-1)+R)-1

(5)

其中,R為測(cè)量噪聲,服從高斯分布。

(6)根據(jù)卡爾曼增益Kk和當(dāng)前時(shí)刻RTT預(yù)測(cè)值RTT(k|k-1) 及當(dāng)前時(shí)刻RTT測(cè)量值RTTk計(jì)算當(dāng)前時(shí)刻最優(yōu)RTT估計(jì)值,如式(6)所示

RTT(k|k)=RTT(k|k-1)+Kk(RTTk-RTT(k|k-1)

(6)

(7)根據(jù)當(dāng)前時(shí)刻誤差估計(jì)協(xié)方差P(k|k-1) 和卡爾曼增益Kk更新誤差估計(jì)協(xié)方差P(k|k), 如式(7)所示

P(k|k)=(1-Kk)P(k|k-1)

(7)

(8)最終輸出經(jīng)卡爾曼濾波處理后的RTT(k|k), 即為子流j當(dāng)前時(shí)刻的最優(yōu)RTT估計(jì)值,將其作為端到端時(shí)延預(yù)測(cè)BP神經(jīng)網(wǎng)絡(luò)的輸入之一。

2.2 基于BP神經(jīng)網(wǎng)絡(luò)的端到端時(shí)延預(yù)測(cè)

端到端時(shí)延預(yù)測(cè)的準(zhǔn)確性對(duì)減少數(shù)據(jù)包亂序發(fā)生具有重要的指導(dǎo)意義。影響鏈路端到端時(shí)延的主要因素包括鏈路丟包率、吞吐量、RTT等,為實(shí)現(xiàn)端到端時(shí)延的更準(zhǔn)確預(yù)測(cè),本文提出構(gòu)建服務(wù)于端到端時(shí)延預(yù)測(cè)的BP神經(jīng)網(wǎng)絡(luò)模型,以RTT、丟包率、吞吐量等端到端時(shí)延特征參數(shù)為輸入,端到端時(shí)延為期望輸出,對(duì)設(shè)計(jì)的多層BP神經(jīng)網(wǎng)絡(luò)實(shí)施訓(xùn)練,使其通過(guò)訓(xùn)練和學(xué)習(xí),提高端到端時(shí)延預(yù)測(cè)的準(zhǔn)確性。

基于BP神經(jīng)網(wǎng)絡(luò)的端到端時(shí)延預(yù)測(cè)主要分為BP神經(jīng)網(wǎng)絡(luò)端到端時(shí)延預(yù)測(cè)模型構(gòu)建和端到端時(shí)延預(yù)測(cè)兩部分。其中模型構(gòu)建部分主要負(fù)責(zé)構(gòu)建基于BP神經(jīng)網(wǎng)絡(luò)的端到端時(shí)延預(yù)測(cè)模型,通過(guò)實(shí)驗(yàn)收集的數(shù)據(jù)樣本集對(duì)設(shè)計(jì)的多層BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,并實(shí)施優(yōu)化,提高端到端時(shí)延預(yù)測(cè)的準(zhǔn)確性。

模型構(gòu)建部分主要由樣本數(shù)據(jù)獲取、BP神經(jīng)網(wǎng)絡(luò)構(gòu)建與訓(xùn)練和訓(xùn)練優(yōu)化3個(gè)部分組成。圖2給出了這3個(gè)部分的組成示意。當(dāng)應(yīng)用層有數(shù)據(jù)傳輸需求時(shí),端到端時(shí)延預(yù)測(cè)部分將在BP神經(jīng)網(wǎng)絡(luò)端到端時(shí)延預(yù)測(cè)模型的基礎(chǔ)上,以鏈路丟包率、吞吐量、RTT等參數(shù)為輸入,獲得鏈路端到端時(shí)延的預(yù)測(cè)輸出。

圖2 基于BP神經(jīng)網(wǎng)絡(luò)的端到端時(shí)延預(yù)測(cè)模型

2.2.1 樣本數(shù)據(jù)獲取

(1)計(jì)算、獲取丟包率Loss、 吞吐量Th及RTT。 其中RTT由RTT預(yù)測(cè)部分獲取,丟包率Loss、 吞吐量Th的計(jì)算方法如式(8)和式(9)所示

(8)

(9)

其中,Cwndpre表示擁塞窗口收縮之前的值,Cwnd表示當(dāng)前時(shí)刻的擁塞窗口值。

(2)計(jì)算端到端傳輸時(shí)延EET, 計(jì)算方法如式(10)所示[12]

EET=Tr-Ts-Te

(10)

在式(10)中,Tr表示接收端發(fā)送SACK的時(shí)間;Ts表示發(fā)送端發(fā)送數(shù)據(jù)包的時(shí)間;Te表示接收端從接收到數(shù)據(jù)包到發(fā)送SACK的間隔時(shí)間。

(3)對(duì)訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)進(jìn)行劃分。為避免過(guò)擬合問(wèn)題,將經(jīng)由(1)獲取到的樣本集劃分為訓(xùn)練集和測(cè)試集,并設(shè)置訓(xùn)練集占比85%,驗(yàn)證集占比15%??紤]到不同維度間的樣本數(shù)據(jù)差距及同維度樣本數(shù)據(jù)間的相差范圍,在訓(xùn)練前采用Min-max方法[13]對(duì)數(shù)據(jù)進(jìn)行歸一化處理,將數(shù)據(jù)映射至區(qū)間[-1,1],以減少數(shù)據(jù)波動(dòng)對(duì)神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)間及收斂效果的影響。

2.2.2 BP神經(jīng)網(wǎng)絡(luò)構(gòu)建與訓(xùn)練

(1)設(shè)置權(quán)重、閾值、學(xué)習(xí)速率、訓(xùn)練最大迭次數(shù)等相關(guān)參數(shù)。初始化權(quán)重和閾值在[-1,1]之間。對(duì)于學(xué)習(xí)速率,從較大學(xué)習(xí)速率開(kāi)始訓(xùn)練,然后逐漸減小速率,直至損失值不再發(fā)散。訓(xùn)練最大迭代次數(shù)設(shè)置為50 000。在多次試算的基礎(chǔ)上,兼顧網(wǎng)絡(luò)穩(wěn)定性及訓(xùn)練時(shí)長(zhǎng)考慮,具體參數(shù)設(shè)置見(jiàn)表1。

表1 參數(shù)設(shè)置

(2)輸入、輸出層神經(jīng)元個(gè)數(shù)選擇。輸入層神經(jīng)元分別為Th、RTT、Loss,輸出層神經(jīng)元為EET。相應(yīng)地,輸入層神經(jīng)元個(gè)數(shù)I設(shè)為3,輸出層神經(jīng)元個(gè)數(shù)J設(shè)為1。

(3)隱含層層數(shù)和節(jié)點(diǎn)數(shù)設(shè)置。通過(guò)獲取的樣本集,對(duì)設(shè)置不同隱含層數(shù)和節(jié)點(diǎn)數(shù)的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練測(cè)試,根據(jù)不同神經(jīng)元個(gè)數(shù)訓(xùn)練的均方誤差來(lái)確定隱含層層數(shù)和節(jié)點(diǎn)數(shù)。隱含層節(jié)點(diǎn)個(gè)數(shù)K參考式(11)及測(cè)試結(jié)果綜合選定

(11)

在式(11)中,J為輸出層節(jié)點(diǎn)個(gè)數(shù),I為輸入層節(jié)點(diǎn)個(gè)數(shù),a為1~10間的常數(shù)。

(4)隨機(jī)選取第m個(gè)輸入樣本及其對(duì)應(yīng)的期望輸出,將輸入樣本作為正向傳播輸入,其中第m個(gè)輸入樣本如式(12)所示,其對(duì)應(yīng)的期望輸出如式(13)所示

xi(m)=(Th(m),Loss(m),RTT(m))

(12)

H(m)=EET(m)

(13)

(5)判斷訓(xùn)練樣本是否用盡,若否,轉(zhuǎn)步驟(6)~步驟(7);否則轉(zhuǎn)步驟(8)。

(6)前向計(jì)算各p隱含層及輸出層神經(jīng)元的輸入和輸出。

1)輸入層神經(jīng)元Th、RTT、Loss計(jì)算隱含層輸出值Dk(m), 計(jì)算方法如式(14)~式(16)所示,其中k表示隱含層節(jié)點(diǎn);i表示輸入層節(jié)點(diǎn);I為輸入層節(jié)點(diǎn)數(shù);xi(m) 表示輸入層輸入;oi(m) 表示輸入層輸出;wik表示輸入層到隱含層的神經(jīng)元權(quán)值;dk(m) 表示隱含層輸入;Bk表示輸入層到隱含層的閾值;f為輸入層和隱含層激活函數(shù),為正切S形函數(shù)(tansig)

oi(m)=f(xi(m))

(14)

(15)

Dk(m)=f(dk(m))

(16)

2)將隱含層神經(jīng)元的輸出值傳遞給輸出層

(17)

Y(m)=g(y(m))

(18)

在式(17)和式(18)中,k表示隱含層節(jié)點(diǎn);K為隱含層節(jié)點(diǎn)數(shù);wk表示隱含層到輸出層的神經(jīng)元權(quán)值;B表示隱含層到輸出層的閾值;y(m) 為輸出層輸入;Y(m) 為輸出層輸出。g為輸出層激活函數(shù),為線性函數(shù)。

(7)誤差反向傳播,調(diào)整連接權(quán)值和閾值。計(jì)算神經(jīng)網(wǎng)絡(luò)輸出Y(m) 與期望值H(m) 之間的誤差,如式(19)所示

(19)

之后運(yùn)用梯度下降法,通過(guò)反向傳播不斷調(diào)整各層神經(jīng)元的權(quán)值和閾值,使誤差函數(shù)沿著負(fù)梯度方向下降,輸出值不斷接近實(shí)際值。

(8)計(jì)算網(wǎng)絡(luò)全局誤差,如式(20)所示

(20)

其中,M代表樣本數(shù),H(m),Y(m) 分別代表第m個(gè)樣本的神經(jīng)網(wǎng)絡(luò)輸出與期望值。

(9)判斷網(wǎng)絡(luò)全局誤差是否滿足要求,若滿足,預(yù)測(cè)過(guò)程結(jié)束;否則查看是否達(dá)到設(shè)定的迭代次數(shù)上限,若已達(dá)到,預(yù)測(cè)過(guò)程結(jié)束,否則轉(zhuǎn)步驟(4)~步驟(7)。

2.2.3 訓(xùn)練優(yōu)化

針對(duì)權(quán)值在學(xué)習(xí)過(guò)程中發(fā)生震蕩、收斂速度慢等問(wèn)題,使用動(dòng)量BP和學(xué)習(xí)速率可變的BP方法,不斷調(diào)整各層神經(jīng)元的權(quán)值和閾值,以減小誤差,提高BP神經(jīng)網(wǎng)絡(luò)的收斂速度。

(1)在權(quán)值更新時(shí),引入動(dòng)量因子a(0

w(t)=w(t-1)+Δw(t)+a[w(t-1)-w(t-2)]

(21)

在式(21)中,w(t) 代表當(dāng)前時(shí)刻t的權(quán)值;w(t-1) 代表上一時(shí)刻權(quán)值; Δw(t) 代表t時(shí)刻權(quán)值更新量;w(t-1)-w(t-2) 為上一時(shí)刻權(quán)值更新量。

(2)根據(jù)誤差的增減情況對(duì)學(xué)習(xí)速率進(jìn)行調(diào)整:當(dāng)誤差減小時(shí),增加學(xué)習(xí)速率;當(dāng)誤差增大時(shí),減小學(xué)習(xí)速率,并撤銷上一步修正過(guò)程,調(diào)整方法如式(22)所示

(22)

其中,η(t) 表示當(dāng)前時(shí)刻t的學(xué)習(xí)速率;η(t-1) 表示上一時(shí)刻的學(xué)習(xí)速率;e(t) 為當(dāng)前時(shí)刻誤差;e(t-1) 為上一時(shí)刻誤差;rateup和ratedown分別代表學(xué)習(xí)上升速率和下降速率。

2.2.4 端到端時(shí)延預(yù)測(cè)

利用已訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)對(duì)端到端時(shí)延進(jìn)行離線預(yù)測(cè)。當(dāng)存在數(shù)據(jù)包發(fā)送需求時(shí),輸入各鏈路丟包率、吞吐量、RTT,獲取端到端時(shí)延預(yù)測(cè)輸出結(jié)果。算法1給出了該部分工作的算法描述。

算法1: EET_Prediction

輸入: 丟包率Loss、 吞吐量Th、RTT

輸出: 各子流歸一化后的端到端時(shí)延EET′j

(1) for 任一連接子流jdo

(2) if 子流j收到ACK或發(fā)生超時(shí) then

(3)EETj←BP_EET_Presult(Lossj,THj,RTTj);

(4) end if

(5)EETmax←Findmax();

(6)EETmin←Findmin();

(7) end for

(8) for 任一連接的子流jdo

(9)EET′j←(EETj-EETmin)/(EETmax-EETmin);

(10) end for

在算法1中,行(1)~行(4)通過(guò)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)各子流的端到端時(shí)延,其中BP_EET_PResult用于實(shí)現(xiàn)在BP神經(jīng)網(wǎng)絡(luò)中對(duì)子流j的端到端時(shí)延預(yù)測(cè),其算法描述如算法2所示;之后將預(yù)測(cè)結(jié)果存入EETj中;行(5)~行(6)分別調(diào)用Findmax和Findmin求取各子流端到端時(shí)延的最大值和最小值;行(8)~行(10)完成對(duì)各子流的端到端時(shí)延值歸一化。

算法2: BP_EET_Presult

輸入: 子流j的丟包率Lossj、 吞吐量Thj、RTTj

輸出: 子流j的端到端時(shí)延EETj

(1) for任一連接子流jdo

(2)xi=(Lossj,Thj,RTTj);

(4)Dk←f(dk);

(6)Y←f(y);

(7)EETj←Y;

(8) end for

在算法2中,行(2)獲取輸入數(shù)據(jù),即子流j的丟包率Lossj、 吞吐量Thj和RTTj; 行(3)~行(4)完成隱含層輸入輸出的計(jì)算;行(5)~行(6)負(fù)責(zé)將隱含層神經(jīng)元的輸出值傳遞給輸出層,并計(jì)算獲得輸出層的輸出,即子流j的端到端時(shí)延EETj。

2.3 子流擁塞狀況評(píng)估

為更有效避免擁塞,減少亂序的發(fā)生,在前述工作的基礎(chǔ)上,我們進(jìn)一步提出對(duì)子流擁塞狀況進(jìn)行評(píng)估。定義子流路徑的擁塞程度評(píng)估值δj, 用于刻畫第j條子流路徑的擁塞情況,其計(jì)算方法如式(23)所示

(23)

在式(23)中,Unackj表示第j條子流路徑已發(fā)送但尚未確認(rèn)的數(shù)據(jù)包數(shù)量;Cwndj為當(dāng)前子流路徑的擁塞窗口大小。

2.4 網(wǎng)絡(luò)狀態(tài)綜合評(píng)估及有效路徑集排序調(diào)度

定義鏈路j的網(wǎng)絡(luò)狀態(tài)評(píng)估值σj如式(24)所示

σj=αEET′j+βδ′j

(24)

其中,EET′j、δ′j分別表示歸一化處理后的端到端時(shí)延及子流擁塞程度評(píng)估值;α、β為參數(shù)權(quán)重,其選取和調(diào)整視實(shí)際網(wǎng)絡(luò)狀態(tài)而定,α+β=1。 鏈路的σj值越小代表網(wǎng)絡(luò)狀態(tài)越好。

在實(shí)施數(shù)據(jù)調(diào)度時(shí),選擇有發(fā)送窗口的路徑形成有效路徑集,P={P1,P2,…Pn}, 計(jì)算該路徑集中各路徑Pj的網(wǎng)絡(luò)狀態(tài)評(píng)估值,當(dāng)上層應(yīng)用有數(shù)據(jù)發(fā)送需求時(shí),選擇優(yōu)先級(jí)最高,即網(wǎng)絡(luò)狀態(tài)評(píng)估值最小的路徑進(jìn)行傳輸,直至該路徑的擁塞窗口被填滿。若仍有數(shù)據(jù)需發(fā)送,則重新獲取路徑參數(shù)對(duì)有效路徑集進(jìn)行更新后再實(shí)施上述過(guò)程。

算法3給出了網(wǎng)絡(luò)狀態(tài)評(píng)估及有效路徑集排序的算法描述。在該算法中,行(1)~行(3)中的Path_Collecting負(fù)責(zé)收集有效路徑,形成有效路徑集Spath; 行(4)~行(6) 對(duì)Spath中的各路徑計(jì)算網(wǎng)絡(luò)狀態(tài)評(píng)估值;行(7)通過(guò)PathSortingandSelect完成根據(jù)所求得的各路徑網(wǎng)絡(luò)狀態(tài)評(píng)估值進(jìn)行排序后,挑選出優(yōu)先級(jí)最高也即網(wǎng)絡(luò)狀態(tài)評(píng)估值最小的路徑pselect, 并將其用于后續(xù)的數(shù)據(jù)包調(diào)度。

算法3: OptimalPath_Select

輸入:EET′,δ′,α,β

輸出:pselect

(1)for 任一子流jdo

(2)Path_Collecting(Spath);

(3)end for

(4)for eachpjinSpathdo

(5)σj←αEET′j+βδ′j;

(6)end for

(7)pselect←PathSortingandSelect();

3 實(shí)驗(yàn)結(jié)果與分析

3.1 仿真環(huán)境及參數(shù)設(shè)定

實(shí)驗(yàn)機(jī)器配置為Intel(R) Core(TM) i7-4790 CPU,主頻3.6 GHz,內(nèi)存8 GB,操作系統(tǒng)Ubuntu16.04,實(shí)驗(yàn)平臺(tái)為NS-3。實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)淙鐖D3所示,使用雙接口手機(jī)終端,Wi-Fi和LTE雙路徑并行傳輸。

圖3 實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)?/p>

具體網(wǎng)絡(luò)參數(shù)設(shè)置見(jiàn)表2。

表2 實(shí)驗(yàn)參數(shù)設(shè)置

隱含層神經(jīng)元個(gè)數(shù)對(duì)BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差存在較大影響,增加隱含層神經(jīng)元個(gè)數(shù)可有效降低BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差,但同時(shí)也會(huì)增加計(jì)算量。在實(shí)驗(yàn)過(guò)程中,設(shè)定的隱含層神經(jīng)元個(gè)數(shù)超過(guò)16時(shí),訓(xùn)練結(jié)果趨于穩(wěn)定;而當(dāng)隱含層神經(jīng)元個(gè)數(shù)超過(guò)18時(shí),訓(xùn)練誤差增大。因此,綜合考慮訓(xùn)練效果及計(jì)算效率,最終隱含層神經(jīng)元個(gè)數(shù)設(shè)置為16。

3.2 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練與學(xué)習(xí)情況

該部分實(shí)驗(yàn)所使用的樣本數(shù)據(jù)來(lái)自仿真模擬器,樣本數(shù)據(jù)中的85%用作訓(xùn)練集實(shí)施BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練,其余部分用作測(cè)試集完成對(duì)神經(jīng)網(wǎng)絡(luò)的測(cè)試。

(1)訓(xùn)練誤差數(shù)據(jù)

圖4給出了訓(xùn)練階段的輸出誤差情況,總體而言訓(xùn)練集樣本的相對(duì)誤差絕對(duì)值小于等于5‰,僅有6個(gè)樣本的相對(duì)誤差絕對(duì)值在4‰~5‰,一個(gè)樣本在3‰~4‰之間,其余樣本均在3‰以下。這表明神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)輸出值與實(shí)際值較為接近,所構(gòu)建的BP神經(jīng)網(wǎng)絡(luò)具有較好的端到端時(shí)延預(yù)測(cè)學(xué)習(xí)能力。

圖4 訓(xùn)練相對(duì)誤差

圖5 測(cè)試相對(duì)誤差

(2)測(cè)試誤差數(shù)據(jù)

測(cè)試集樣本經(jīng)由神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的相對(duì)誤差數(shù)據(jù)如圖5所示。所有測(cè)試集樣本的相對(duì)誤差絕對(duì)值不超過(guò)4‰,該相對(duì)誤差絕對(duì)值相較訓(xùn)練相對(duì)誤差絕對(duì)值更低,其中4個(gè)樣本的相對(duì)誤差絕對(duì)值在3‰~4‰之間,3個(gè)樣本在2‰~3‰之間,剩余樣本都在2‰以下。表明該神經(jīng)網(wǎng)絡(luò)可有效完成端到端時(shí)延預(yù)測(cè)的相關(guān)學(xué)習(xí)。

3.3 多路傳輸調(diào)度性能

本文以輪詢調(diào)度和最小RTT調(diào)度為比較對(duì)象,進(jìn)行多路傳輸調(diào)度性能分析與比較。

(1)吞吐量

圖6給出了輪詢調(diào)度、最小RTT調(diào)度及本文MSBPEET方法的吞吐量數(shù)據(jù)。其中,MSBPEET在整個(gè)傳輸期間都表現(xiàn)出了相較于另兩種調(diào)度方法更高的吞吐量,這主要是因?yàn)镸SBPEET對(duì)路徑的端到端時(shí)延和擁塞狀況進(jìn)行了綜合考慮,在調(diào)度決策時(shí)可更準(zhǔn)確地選擇合適路徑完成數(shù)據(jù)包發(fā)送,使數(shù)據(jù)包能盡可能按序到達(dá)接收端,減少了接收端重排序時(shí)間,提升了吞吐量。表3進(jìn)一步給出了MSBPEET相較于另兩種調(diào)度方法的吞吐量提升比數(shù)據(jù)。其中,MSBPEET相比輪詢調(diào)度吞吐量提升16%,相比最小RTT調(diào)度提升了10%。

圖6 吞吐量

(2)失序數(shù)據(jù)包數(shù)量

圖7給出了輪詢調(diào)度、最小RTT及MSBPEET這3種方法失序包數(shù)隨時(shí)間變化的數(shù)據(jù)。在仿真時(shí)間段內(nèi),輪詢調(diào)

表3 吞吐量提升比

圖7 失序包數(shù)

度接收端的失序包數(shù)量最多,最小RTT調(diào)度次之,這主要是因?yàn)檩喸冋{(diào)度將所有可用路徑同等對(duì)待,輪流在各路徑上發(fā)送數(shù)據(jù),從而導(dǎo)致序列號(hào)靠前的數(shù)據(jù)包在路徑質(zhì)量較差的路徑上發(fā)送而引發(fā)失序。而最小RTT調(diào)度總是選擇RTT最小的子流路徑進(jìn)行數(shù)據(jù)傳輸,這樣極易出現(xiàn)數(shù)據(jù)集中涌向低時(shí)延路徑而導(dǎo)致網(wǎng)絡(luò)擁塞現(xiàn)象加劇,進(jìn)而引發(fā)丟包和數(shù)據(jù)包亂序等問(wèn)題。本文MSBPEET方法,由于實(shí)施了更準(zhǔn)確的端到端時(shí)延預(yù)測(cè)和路徑質(zhì)量的綜合評(píng)估,極大地減少了數(shù)據(jù)包失序的發(fā)生。

4 結(jié)束語(yǔ)

本文針對(duì)移動(dòng)異構(gòu)網(wǎng)絡(luò)環(huán)境網(wǎng)絡(luò)高度動(dòng)態(tài)變化、鏈路屬性差異較大,多路傳輸極易發(fā)生數(shù)據(jù)包亂序等問(wèn)題,提出一種基于BP神經(jīng)網(wǎng)絡(luò)端到端時(shí)延預(yù)測(cè)的多路傳輸調(diào)度方法,通過(guò)構(gòu)建和訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),對(duì)端到端傳輸時(shí)延實(shí)施更準(zhǔn)確預(yù)測(cè),然后優(yōu)先選擇擁塞程度評(píng)估值低、優(yōu)先級(jí)高的子流路徑進(jìn)行數(shù)據(jù)傳輸,令數(shù)據(jù)包極可能按序到達(dá)接收端,減少數(shù)據(jù)包亂序發(fā)生的可能,在有效避免下一時(shí)刻擁塞的同時(shí)提高吞吐量。

猜你喜歡
吞吐量數(shù)據(jù)包時(shí)延
二維隱蔽時(shí)間信道構(gòu)建的研究*
民用飛機(jī)飛行模擬機(jī)數(shù)據(jù)包試飛任務(wù)優(yōu)化結(jié)合方法研究
5G承載網(wǎng)部署滿足uRLLC業(yè)務(wù)時(shí)延要求的研究
基于GCC-nearest時(shí)延估計(jì)的室內(nèi)聲源定位
C#串口高效可靠的接收方案設(shè)計(jì)
2017年3月長(zhǎng)三角地區(qū)主要港口吞吐量
2016年10月長(zhǎng)三角地區(qū)主要港口吞吐量
2016年11月長(zhǎng)三角地區(qū)主要港口吞吐量
簡(jiǎn)化的基于時(shí)延線性擬合的寬帶測(cè)向算法
2014年1月長(zhǎng)三角地區(qū)主要港口吞吐量
绩溪县| 维西| 涞水县| 铁岭县| 桃园县| 容城县| 化州市| 峨边| 宜黄县| 镇宁| 东安县| 阿城市| 海丰县| 梁平县| 额尔古纳市| 汨罗市| 高要市| 宁远县| 虞城县| 东明县| 穆棱市| 临城县| 巴青县| 琼海市| 襄樊市| 大安市| 九龙城区| 广南县| 凤阳县| 河北区| 溆浦县| 甘孜| 望奎县| 吉首市| 化隆| 神农架林区| 天祝| 隆德县| 嘉峪关市| 榆林市| 安龙县|