• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

    2022-02-15 07:00:28蘇旭東衷璐潔
    關(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ù)包亂序問題。亂序數(shù)據(jù)包在接收端緩沖區(qū)滯留等待,嚴(yán)重時(shí)會(huì)導(dǎo)致接收端緩存阻塞,造成網(wǎng)絡(luò)延遲,降低網(wǎng)絡(luò)吞吐量。在該問題背景下,如何針對(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ù),通過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)度算法,通過強(qiáng)化模型完成路徑的選擇判斷,并借助路徑獎(jiǎng)懲值計(jì)算實(shí)現(xiàn)路徑選擇的更新。

    基于端到端時(shí)延的調(diào)度:Xue等[4]通過計(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]通過主動(dòng)探測(cè)未使用的子流并根據(jù)傳統(tǒng)TCP時(shí)間戳選項(xiàng)得到的端到端時(shí)延來調(diào)度數(shù)據(jù)包。

    數(shù)據(jù)包亂序減少:Han等[8]通過預(yù)測(cè)數(shù)據(jù)包到達(dá)時(shí)間,將數(shù)據(jù)包調(diào)度到最早到達(dá)時(shí)間的子流上,以保證數(shù)據(jù)包到達(dá)的順序。Shi等[9]選擇慢路徑發(fā)送序列號(hào)較大的數(shù)據(jù)包。Kim等[10]通過估算無序數(shù)據(jù)包數(shù)量及傳輸所需的緩沖區(qū)大小來減少數(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)通過綜合考慮丟包率、吞吐量、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è)部分主要通過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ǎng)絡(luò)環(huán)境下,為進(jìn)一步提高RTT預(yù)測(cè)的準(zhǔn)確性,本文采用卡爾曼濾波方法,利用前一時(shí)刻的RTT與當(dāng)前時(shí)刻RTT的測(cè)量值來更新對(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表示過程噪聲,服從高斯分布;RTT′k表示當(dāng)前時(shí)刻RTT的測(cè)量值;vk是測(cè)量噪聲,服從高斯分布。RTT卡爾曼濾波預(yù)測(cè)過程如下:

    (1)初始化測(cè)量噪聲R、 過程噪聲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為過程噪聲,服從高斯分布。

    評(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)練,使其通過訓(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è)模型,通過實(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)行劃分。為避免過擬合問題,將經(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í)速率開始訓(xùn)練,然后逐漸減小速率,直至損失值不再發(fā)散。訓(xùn)練最大迭代次數(shù)設(shè)置為50 000。在多次試算的基礎(chǔ)上,兼顧網(wǎng)絡(luò)穩(wěn)定性及訓(xùn)練時(shí)長(zhǎng)考慮,具體參數(shù)設(shè)置見表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è)置。通過獲取的樣本集,對(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)練的均方誤差來確定隱含層層數(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)用梯度下降法,通過反向傳播不斷調(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è)過程結(jié)束;否則查看是否達(dá)到設(shè)定的迭代次數(shù)上限,若已達(dá)到,預(yù)測(cè)過程結(jié)束,否則轉(zhuǎn)步驟(4)~步驟(7)。

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

    針對(duì)權(quán)值在學(xué)習(xí)過程中發(fā)生震蕩、收斂速度慢等問題,使用動(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í)速率,并撤銷上一步修正過程,調(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)通過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í)施上述過程。

    算法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)通過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è)置見表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)過程中,設(shè)定的隱含層神經(jīng)元個(gè)數(shù)超過16時(shí),訓(xùn)練結(jié)果趨于穩(wěn)定;而當(dāng)隱含層神經(jīng)元個(gè)數(shù)超過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ù)來自仿真模擬器,樣本數(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ì)值不超過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ù)包亂序等問題。本文MSBPEET方法,由于實(shí)施了更準(zhǔn)確的端到端時(shí)延預(yù)測(cè)和路徑質(zhì)量的綜合評(píng)估,極大地減少了數(shù)據(jù)包失序的發(fā)生。

    4 結(jié)束語

    本文針對(duì)移動(dòng)異構(gòu)網(wǎng)絡(luò)環(huán)境網(wǎng)絡(luò)高度動(dòng)態(tài)變化、鏈路屬性差異較大,多路傳輸極易發(fā)生數(shù)據(jù)包亂序等問題,提出一種基于BP神經(jīng)網(wǎng)絡(luò)端到端時(shí)延預(yù)測(cè)的多路傳輸調(diào)度方法,通過構(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í)延
    基于GCC-nearest時(shí)延估計(jì)的室內(nèi)聲源定位
    電子制作(2019年23期)2019-02-23 13:21:12
    基于改進(jìn)二次相關(guān)算法的TDOA時(shí)延估計(jì)
    SmartSniff
    2016年10月長(zhǎng)三角地區(qū)主要港口吞吐量
    集裝箱化(2016年11期)2017-03-29 16:15:48
    2016年11月長(zhǎng)三角地區(qū)主要港口吞吐量
    集裝箱化(2016年12期)2017-03-20 08:32:27
    FRFT在水聲信道時(shí)延頻移聯(lián)合估計(jì)中的應(yīng)用
    基于分段CEEMD降噪的時(shí)延估計(jì)研究
    基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
    2014年1月長(zhǎng)三角地區(qū)主要港口吞吐量
    集裝箱化(2014年2期)2014-03-15 19:00:33
    視覺注意的數(shù)據(jù)包優(yōu)先級(jí)排序策略研究
    乌审旗| 金塔县| 祁阳县| 汉阴县| 龙山县| 高台县| 禄丰县| 麟游县| 固原市| 保定市| 无极县| 丹阳市| 股票| 定西市| 枝江市| 铜鼓县| 朝阳县| 运城市| 天津市| 银川市| 玛曲县| 永丰县| 平乡县| 柘城县| 盘山县| 富蕴县| 梁河县| 年辖:市辖区| 靖边县| 东方市| 凤城市| 屯昌县| 盈江县| 出国| 株洲市| 吐鲁番市| 嘉定区| 怀集县| 新闻| 尼勒克县| 定南县|