秦久人,許長(zhǎng)橋,楊樹(shù)杰,高 楷,張宏科
(1.北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100876;2.北京交通大學(xué)電子信息工程學(xué)院,北京 100044)
近年來(lái),無(wú)人駕駛、虛擬現(xiàn)實(shí)、視頻監(jiān)控等應(yīng)用的快速發(fā)展[1],對(duì)異構(gòu)、動(dòng)態(tài)網(wǎng)絡(luò)下的傳輸提出了更高的帶寬、時(shí)延以及穩(wěn)定性需求. 多路徑傳輸控制協(xié)議(Multipath Transmission Control Protocol,MPTCP)[2]能夠利用通信終端的多個(gè)網(wǎng)絡(luò)接口建立多條子流進(jìn)行并行傳輸,且子流間互為備份,可有效提高傳輸效率與穩(wěn)定性,從而被越來(lái)越廣泛的應(yīng)用到天地一體化網(wǎng)絡(luò)[3]、工業(yè)互聯(lián)網(wǎng)[4]與車聯(lián)網(wǎng)[5]等多種網(wǎng)絡(luò)中.
圖1描述了異構(gòu)、動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下典型的多路傳輸場(chǎng)景. 然而,標(biāo)準(zhǔn)MPTCP 缺乏對(duì)網(wǎng)絡(luò)環(huán)境的認(rèn)知,在實(shí)際應(yīng)用中仍存在諸多問(wèn)題. 其一,多條子流雖然依照不同網(wǎng)絡(luò)接口的IP 地址獨(dú)立路由,但目的終端相同,在靠近用戶的邊緣地區(qū),多條子流經(jīng)常共享同一路由節(jié)點(diǎn),該節(jié)點(diǎn)被稱為共享瓶頸,擁有共享瓶頸的子流成為耦合子流[6]. MPTCP 對(duì)子流耦合狀況感知的缺乏導(dǎo)致耦合子流的吞吐量經(jīng)常出現(xiàn)劇烈抖動(dòng),嚴(yán)重影響傳輸質(zhì)量. 其二,網(wǎng)絡(luò)的異構(gòu)性以及部分節(jié)點(diǎn)的移動(dòng)性,導(dǎo)致不同子流所在的鏈路質(zhì)量在空間與時(shí)間上都存在較大的差異性.MPTCP 默認(rèn)采用LIA 擁塞控制算法[7],每次成功傳輸后增大擁塞控制窗口,出現(xiàn)擁塞信號(hào)時(shí)減小擁塞控制窗口,擁塞控制策略單一,缺少對(duì)網(wǎng)絡(luò)傳輸狀態(tài)的感知與定義,使得部分子流因負(fù)載過(guò)高而擁塞,其余部分子流的帶寬被浪費(fèi),導(dǎo)致傳輸效率大幅降低[8].
圖1 異構(gòu)、動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下典型的多路傳輸場(chǎng)景
為了解決上述問(wèn)題,本文在自身一系列先前研究的基礎(chǔ)上[9~12],提出了一種基于耦合感知與深度Q網(wǎng)絡(luò)的多路傳輸控制機(jī)制(WaveLet and Deep Q Network based multipath transmission control mechanism,WL-DQN).WLDQN 創(chuàng)新性地利用小波去噪[13]技術(shù)進(jìn)行子流耦合特征識(shí)別,并基于深度增強(qiáng)學(xué)習(xí)[14]理論,設(shè)計(jì)了多路擁塞控制方案. 本文主要貢獻(xiàn)概括如下.
(1)構(gòu)建了離線訓(xùn)練與在線學(xué)習(xí)雙層協(xié)作并行的WL-DQN 多路傳輸控制系統(tǒng). 通過(guò)離線訓(xùn)練獲得較好初始評(píng)估網(wǎng)絡(luò),保證傳輸控制的基本性能. 通過(guò)在線學(xué)習(xí)更好地適應(yīng)實(shí)時(shí)網(wǎng)絡(luò)環(huán)境.
(2)提出了基于小波去噪的子流耦合識(shí)別方法. 通過(guò)對(duì)子流單程傳輸時(shí)延進(jìn)行小波去噪,有效消除其中非共享路段排隊(duì)時(shí)延以及噪聲的影響. 同時(shí),利用子流互相關(guān)系數(shù),對(duì)鏈路質(zhì)量的空間差異進(jìn)行量化,并據(jù)此定義路徑耦合特征元組.
(3)設(shè)計(jì)了基于深度Q 網(wǎng)絡(luò)(Deep Q Network,DQN)的多路擁塞控制算法. 面向傳輸時(shí)隙,定義路徑擁塞特征元組,描述鏈路質(zhì)量的時(shí)間差異性,并通過(guò)耦合特征與擁塞特聯(lián)合構(gòu)建系統(tǒng)狀態(tài)空間. 最終,結(jié)合深度增強(qiáng)學(xué)習(xí)理論對(duì)多路擁塞控制過(guò)程進(jìn)行建模,設(shè)計(jì)多路DQN擁塞控制算法.
(4)仿真結(jié)果表明,在單終端與多終端場(chǎng)景下,本文WL-DQN機(jī)制在吞吐量、時(shí)延、重傳等方面的性能都要優(yōu)于MPTCP標(biāo)準(zhǔn)算法以及具有代表性的相似解決方案.
為了提高異構(gòu)、動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的傳輸性能,許多研究人員對(duì)相關(guān)機(jī)理進(jìn)行了深入研究. 文獻(xiàn)[15]搭建了一種軟件定義的車聯(lián)網(wǎng)絡(luò)原型,利用實(shí)際硬件實(shí)現(xiàn)控制器功能,完成了車輛拓?fù)漕A(yù)測(cè)與最佳傳輸路徑選取. 文獻(xiàn)[16]利用歐氏范數(shù)對(duì)車聯(lián)網(wǎng)傳輸?shù)目煽啃院脱舆t進(jìn)行聯(lián)合分析,并通過(guò)蒙特卡洛模擬對(duì)可靠性與延遲之間的相互關(guān)系進(jìn)行說(shuō)明,最后提出一種網(wǎng)絡(luò)切片方案,提高傳輸?shù)目煽颗c延遲性能. 文獻(xiàn)[17]利用時(shí)變連續(xù)圖模型表征天地一體化網(wǎng)絡(luò)的拓?fù)洹㈡溌?、緩存等多維資源特征,設(shè)計(jì)具有時(shí)延保障的時(shí)間確定路由協(xié)議,提高網(wǎng)絡(luò)資源利用率,保障網(wǎng)絡(luò)端到端傳輸時(shí)延. 文獻(xiàn)[18]利用n-shift 加密原理設(shè)計(jì)了一種新的混沌保密通信方案,來(lái)提高工業(yè)互聯(lián)網(wǎng)中數(shù)據(jù)傳輸?shù)陌踩? 文獻(xiàn)[19]將軟件定義網(wǎng)絡(luò)與邊緣計(jì)算進(jìn)行結(jié)合,綜合考慮時(shí)間期限、復(fù)雜均衡和能耗等因素,選擇最優(yōu)路徑進(jìn)行數(shù)據(jù)傳輸,以保證不同智能設(shè)備的傳輸需求.
針對(duì)異構(gòu)、動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境特點(diǎn),一些研究人員對(duì)多路徑傳輸協(xié)議進(jìn)行了改進(jìn)[20]. 文獻(xiàn)[21]利用負(fù)載均衡理論與前向糾錯(cuò)編碼對(duì)MPTCP 進(jìn)行優(yōu)化,來(lái)滿足視頻業(yè)務(wù)傳輸?shù)臅r(shí)延需求,保障傳輸?shù)目煽啃? 文獻(xiàn)[22]結(jié)合軟件定義網(wǎng)絡(luò)技術(shù),針對(duì)密集小單元場(chǎng)景下MPTCP的子路徑切換與管理問(wèn)題,提高了車輛到基礎(chǔ)設(shè)施(V2I)連接的穩(wěn)定性. 近年來(lái),隨著人工智能技術(shù)發(fā)展,一些MPTCP 智能控制算法被提出. 文獻(xiàn)[23]對(duì)車輛的社會(huì)屬性和物理屬性進(jìn)行分析,提出了基于卷積神經(jīng)網(wǎng)絡(luò)的內(nèi)容共享發(fā)現(xiàn)算法,提高了消息傳遞效率,降低了傳輸平均傳輸時(shí)延. 文獻(xiàn)[24]基于Q 學(xué)習(xí)(Q-learning)理論對(duì)MPTCP 的多路擁塞控制進(jìn)行建模,并訓(xùn)練出適應(yīng)網(wǎng)絡(luò)環(huán)境的擁塞控制規(guī)則. 文獻(xiàn)[25]實(shí)現(xiàn)了一種基于深度強(qiáng)化學(xué)習(xí)的多路擁塞控制框架,對(duì)終端上所有MPTCP流進(jìn)行聯(lián)合控制,最大化總體傳輸效用. 然而,文獻(xiàn)[24]與[25]都并未對(duì)子流耦合狀況進(jìn)行識(shí)別,且在設(shè)計(jì)學(xué)習(xí)算法時(shí),并未考慮丟包因素對(duì)傳輸質(zhì)量的影響.
因此,本文面向異構(gòu)動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境,主動(dòng)感知子流耦合狀態(tài),同時(shí)綜合考慮影響網(wǎng)絡(luò)傳輸質(zhì)量的吞吐量、時(shí)延、丟包等因素,提出了子流耦合感知多路深度增強(qiáng)學(xué)習(xí)擁塞控制算法.
圖2 描述了WL-DQN 系統(tǒng)框架. 虛線將系統(tǒng)分為離線訓(xùn)練與在線學(xué)習(xí)雙層;點(diǎn)劃線矩形框界定了發(fā)送方與接收方.WL-DQN 工作于發(fā)送方,通過(guò)訓(xùn)練器輔助決策,對(duì)各子流擁塞窗口進(jìn)行控制. 如圖例所示,實(shí)心箭頭描述了數(shù)據(jù)流,展示了數(shù)據(jù)從服務(wù)器流向用戶的過(guò)程;空心箭頭描述了控制流,展示了WL-DQN 內(nèi)部控制信息及參數(shù)的傳遞過(guò)程;虛線箭頭描述了信息流,展示了反饋信息的獲取過(guò)程;圓角矩形界定了WL-DQN的功能模塊. 表1 給出了本文所涉及的主要參數(shù)及其含義.
圖2 WL-DQN系統(tǒng)結(jié)構(gòu)
表1 參數(shù)
WL-DQN 系統(tǒng)主要工作流程概括如下:(1)初始化目標(biāo)網(wǎng)絡(luò)、評(píng)估網(wǎng)絡(luò)與樣本空間中的先驗(yàn)樣本;(2)自樣本空間隨機(jī)選擇樣本,對(duì)評(píng)估網(wǎng)絡(luò)進(jìn)行更新;(3)周期性利用評(píng)估網(wǎng)絡(luò)參數(shù)對(duì)目標(biāo)網(wǎng)絡(luò)進(jìn)行更新;(4)步驟2 和3 在本地進(jìn)行,屬于離線訓(xùn)練,在線學(xué)習(xí)過(guò)程執(zhí)行在數(shù)據(jù)發(fā)送終端上,周期性依據(jù)離線訓(xùn)練傳遞的神經(jīng)網(wǎng)絡(luò)參數(shù)更新Q 值函數(shù);(5)發(fā)送方通過(guò)小波去噪與子流互相關(guān)系數(shù)確定子流耦合特征元組,通過(guò)反饋信息獲得子流擁塞特征元組,聯(lián)合兩者獲得系統(tǒng)狀態(tài);(6)發(fā)送方通過(guò)線上值函數(shù)確定動(dòng)作;(7)發(fā)送方執(zhí)行動(dòng)作后,根據(jù)反饋信息獲得回報(bào);(8)發(fā)送方收集控制日志作為補(bǔ)充樣本,存儲(chǔ)至樣本空間;(9)重復(fù)步驟2~8,直到完成傳輸.
WL-DQN 的離線訓(xùn)練由就近的本地網(wǎng)絡(luò)控制中心完成,依據(jù)樣本空間進(jìn)行預(yù)訓(xùn)練,生成更為精確的擬合值函數(shù);在線學(xué)習(xí)由移動(dòng)終端完成,周期性依據(jù)離線訓(xùn)練結(jié)果更新Q 值函數(shù),并將擁塞控制產(chǎn)生的日志作為補(bǔ)充樣本,與先驗(yàn)樣本共同構(gòu)成樣本空間,為離線訓(xùn)練提供最新的實(shí)測(cè)數(shù)據(jù). 通過(guò)雙層協(xié)作并行,在降低移動(dòng)終端的計(jì)算資源消耗的基礎(chǔ)上,提高多路擁塞控制精度,適配動(dòng)態(tài)變化的網(wǎng)絡(luò)環(huán)境. 下文對(duì)WL-DQN系統(tǒng)算法設(shè)計(jì)進(jìn)行了介紹.
MPTCP 的多條子流依據(jù)不同的套接字進(jìn)行獨(dú)立路由. 但鏈路中間節(jié)點(diǎn)由于地理位置等因素的限制,子流間存在共享瓶頸的概率較高. 這些子流間存在耦合關(guān)系,吞吐量與時(shí)延變化具有同步特點(diǎn).MPTCP缺乏對(duì)于耦合路徑的感知,導(dǎo)致傳輸控制效率低下,系統(tǒng)吞吐量抖動(dòng)劇烈,影響傳輸效果. 因此,本章設(shè)計(jì)了一種基于小波去噪的子流耦合識(shí)別方法.
在MPTCP 傳輸中,子流往返傳輸時(shí)延通常由以下成分組成:
其中,τα,τβ,τγ,τσ,φ分別表示發(fā)送時(shí)延、傳播時(shí)延、排隊(duì)時(shí)延、處理時(shí)延、隨機(jī)噪聲. 由于共享路段通常成為傳輸瓶頸,各條子流經(jīng)瓶頸路段路由轉(zhuǎn)發(fā)時(shí),具有相同的排隊(duì)時(shí)延. 此排隊(duì)時(shí)延在rtt中占比較高,波動(dòng)明顯.故可通過(guò)濾除rtt 中的其余時(shí)延,對(duì)瓶頸路段處排隊(duì)時(shí)延的相關(guān)性進(jìn)行分析,并以此作為子流耦合判斷的指標(biāo).
由式(1)可知,rtt 測(cè)量值中存在非耦合路段排隊(duì)時(shí)延、其他時(shí)延以及隨機(jī)噪聲. 為減少其影響,本文采用文獻(xiàn)[6]提出的單程傳輸時(shí)延,并利用小波去噪方法,獲得耦合路段的排隊(duì)時(shí)延. WL-DQN 定義發(fā)送方連續(xù)兩次收到ACK 的時(shí)間間隔為時(shí)隙t,將其作為參數(shù)計(jì)算與擁塞控制的基本時(shí)間單元. 設(shè)多路傳輸連接的子流集合L={1,2,…,l}.?l∈L,單程傳輸時(shí)延
其中,bl(t)為瓶頸路段排隊(duì)時(shí)延,hl(t)為其余時(shí)延及噪聲.ol(t)可通過(guò)文獻(xiàn)[6]中的方法獲得測(cè)量序列:ol(t)={ol1,ol2,…,olt}. 為濾除其中的hl(t),對(duì)ol(t)進(jìn)行小波展開(kāi)如下:
其中,ψm,n(t)=2-m/2ψ(2-mt-n)為標(biāo)準(zhǔn)小波正交基.Omn為小波系數(shù),其計(jì)算公式如下:
Bmn與Hmn可分別通過(guò)式(6)和式(7)計(jì)算如下:
利用標(biāo)準(zhǔn)小波基對(duì)bl(t)進(jìn)行非線性逼近,其近似函數(shù)bl′(t)可表示為
其中,dY()為閾值函數(shù),Y為臨界閾值,本文選用柔性閾值,定義如下:
通過(guò)小波去噪,?l∈L,可得到瓶頸近似排隊(duì)時(shí)延bl′(t).
在上述小波去噪的基礎(chǔ)上,為了判斷子流間的耦合程度,?i,j∈L,設(shè)其小波去噪后的瓶頸路段近似排隊(duì)時(shí)延分別為bi′(t)={bi1′,bi2′,…,bit′},bj′(t)={bj1′,bj2′,…,bjt′}. 據(jù)此定義子流互相關(guān)系數(shù)δij如下:
子流互相關(guān)系數(shù)δij=0 表示子流i和j的單程時(shí)延獨(dú)立變化沒(méi)有共享瓶頸;δij=1表示子流i和j的單程時(shí)延變化完全相同,傳輸路徑完全重合.
基于子流互相關(guān)系數(shù),對(duì)多路傳輸中的子流按耦合程度進(jìn)行分組,并定義子流耦合特征元組Fi,描述子流耦合情況.?i∈L,F(xiàn)i=(cp,num). 其中cp 為耦合標(biāo)志參數(shù),cp=0 表示子流獨(dú)立傳輸,不存在共享瓶頸;cp=1表示子流與其它子流存在共享瓶頸;num 表示與之耦合的子流數(shù)目. 因此,多路傳輸連接的耦合特征元組可表示為F=(F1,F(xiàn)2,…,F(xiàn)l). 算法1 展示了F的獲得方法.
算法1 傳輸耦合特征元組獲取輸入:子流總數(shù)l,bi′(t),bj′(t)輸出:耦合特征元組F 1) ?i∈L,F(xiàn)i=(0,0);2) FOR(i=1;i
上述算法通過(guò)遍歷計(jì)算任意子流與其余子流的互相關(guān)系數(shù),并將互相關(guān)系數(shù)大于閾值的兩條子流定義為耦合子流. 定義子流耦合特征元組Fi,通過(guò)參數(shù)cp記錄子流是否耦合,通過(guò)參數(shù)num記錄子流的耦合程度,有效描述了每條子流的耦合狀態(tài). 在子流耦合特征元組Fi的基礎(chǔ)上,定義路徑耦合特征元組F=(F1,F(xiàn)2,…,F(xiàn)l)描述當(dāng)前傳輸連接的耦合狀態(tài).F從空間角度對(duì)子流狀態(tài)進(jìn)行了描述,并將作為參數(shù)與后續(xù)擁塞特征元組C聯(lián)合確定多路DQN擁塞控制系統(tǒng)的狀態(tài).
深度Q 網(wǎng)絡(luò)(DQN)是一種基于值函數(shù)的增強(qiáng)學(xué)習(xí)算法[25]. 定義值函數(shù)Q(s,a)評(píng)估智能體A在狀態(tài)s下選擇動(dòng)作a后,直到最終狀態(tài)所有回報(bào)r總和的期望. 依據(jù)Q(s,a)估計(jì)值,智能體A 能夠執(zhí)行符合選擇策略的動(dòng)作. 不同于Q 學(xué)習(xí)(Q-learning)算法利用表格記錄Q(s,a),DQN 通過(guò)神經(jīng)網(wǎng)絡(luò)(Neural Network,NN)來(lái)對(duì)Q(s,a)進(jìn)行擬合. 通過(guò)從樣本空間中隨機(jī)選擇樣本,對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練得到參數(shù)w. 本節(jié)基于深度Q學(xué)習(xí)理論對(duì)多路傳輸控制進(jìn)行建模,并設(shè)計(jì)多路DQN擁塞控制算法.
MPTCP 的默認(rèn)擁塞控制算法LIA[7],為每條子流維護(hù)單獨(dú)的擁塞控制窗口,在擁塞避免階段,當(dāng)子流l每次收到ACK或擁塞信號(hào)(3次累積確認(rèn)或超時(shí))時(shí),會(huì)依照下列方法對(duì)子流擁塞窗口(Congestion Window)進(jìn)行調(diào)整,變量用cwnd表示:
◆收 到ACK 時(shí),cwndl←cwndl+ min(θ/cwndtotal,1/cwndl);
◆收到擁塞控制信號(hào)時(shí),cwndl←cwndl/2.
其中,cwndtotal=cwndl,θ為均衡因子,保證MPTCP子流
對(duì)TCP流的公平性,其計(jì)算方法如式(13)所示:
基于深度Q 學(xué)習(xí)理論,對(duì)上述擁塞控制過(guò)程進(jìn)行建模. 對(duì)多路DQN擁塞控制主要參數(shù)定義如下.
(1)狀態(tài)s
基于深度Q學(xué)習(xí)理論,狀態(tài)是對(duì)當(dāng)前系統(tǒng)一種定量的描述. 在每個(gè)時(shí)隙t中,綜合考慮每條子流的擁塞狀態(tài)與耦合狀態(tài),定義狀態(tài)st=(C,F(xiàn)). 其中F為傳輸連接耦合特征元組,獲取方法如算法1 所示.C=(C1,C2,…,Cl)為傳輸連接擁塞特征元組.?l∈L,子流擁塞特征元組Cl可通過(guò)式(14)獲得:
其中,rttl為子流傳輸往返時(shí)延,可通過(guò)MPTCP 頭部時(shí)間戳選項(xiàng)獲得. 對(duì)于任意子流l,在時(shí)隙t中,設(shè)MPTCP發(fā)送數(shù)據(jù)包時(shí)的系統(tǒng)時(shí)間戳選項(xiàng)為time1,收到攜帶該時(shí)間戳ACK的系統(tǒng)時(shí)間為time2,故可得rttl如下:
式(14)中,thl為子流吞吐量,WL-DQN 定義發(fā)送方連續(xù)兩次收到ACK 的時(shí)間間隔為時(shí)隙. 在每個(gè)時(shí)隙中,對(duì)于任意子流l,發(fā)送的數(shù)據(jù)包數(shù)量由擁塞控制窗口cwndl的大小決定. 當(dāng)收到對(duì)應(yīng)的ACK 時(shí),這些數(shù)據(jù)包的傳輸被判定為完成. 故據(jù)吞吐量定義(單位時(shí)間內(nèi)完成傳輸?shù)臄?shù)據(jù)量),可通過(guò)下式對(duì)其進(jìn)行估算:
pl為子流丟包率,在WL-DQN 中,可通過(guò)pl=1/τl進(jìn)行估算.τl表示兩次超時(shí)重傳的時(shí)間間隔. 若傳輸開(kāi)始至今仍未發(fā)生超時(shí)重傳,則令τl=∞;若傳輸開(kāi)始至今僅發(fā)生一次超時(shí)重傳,則令τl為傳輸開(kāi)始至今所經(jīng)歷的時(shí)間.sthl與srttl分別為子流l的平滑吞吐量與平滑往返傳輸時(shí)延. 兩者可以通過(guò)式(17)進(jìn)行計(jì)算:
(2)動(dòng)作a
動(dòng)作是智能體對(duì)自身做出的改變. 在WL-DQN 中,定義動(dòng)作為每條擁塞窗口的調(diào)整. 如上文介紹的LIA算法,現(xiàn)有MPTCP 及TCP 主要采用加性增長(zhǎng)乘性減少(Additive Increase Multiplicative Decrease,AIMD)的擁塞控制模式. 為了保持對(duì)AIMD 算法的公平性,WLDQN 定義動(dòng)作a={Λ,Γ}. 其中Λ={Λ1,Λ2,…,Λl}為多路擁塞控制的加性因子,Γ={Γ1,Γ2,…,Γl}為多路擁塞控制的乘性因子. 對(duì)于子流l,在執(zhí)行動(dòng)作a時(shí),可據(jù)式(18)對(duì)擁塞窗口進(jìn)行更新:
(3)回報(bào)r
回報(bào)是對(duì)智能體在某種狀態(tài)下,采取某種動(dòng)作的評(píng)價(jià). 回報(bào)是智能體動(dòng)作選擇的主要參考指標(biāo). 智能體通常以最大化、最小化或?qū)崿F(xiàn)特定回報(bào)為目標(biāo),進(jìn)行動(dòng)作選擇. WL-DQN 采用文獻(xiàn)[26]中提出的效用評(píng)估模型,綜合評(píng)估影響多路擁塞控制質(zhì)量的吞吐量、時(shí)延、丟包等因素,對(duì)回報(bào)r定義如下:
其中,μ和ν為權(quán)重因子,用以平衡吞吐量、時(shí)延、丟包三者在回報(bào)評(píng)定中的比重.
(4)策略π
策略是智能體在某種狀態(tài)下選擇動(dòng)作的規(guī)則.由回報(bào)r的定義可知,WL-DQN 的回報(bào)為正向激勵(lì),擁塞控制的最終目標(biāo)是累積收益最大化,故本文采用ε-greedy 策略. 以ε 的概率隨機(jī)選擇動(dòng)作,防止算法受限于局部最優(yōu),同時(shí)以1-ε的概率選取擁有最大累積回報(bào)值的動(dòng)作,從而優(yōu)化多路擁塞控制效果.
通過(guò)上述對(duì)深度增強(qiáng)學(xué)習(xí)模型中的關(guān)鍵參數(shù)進(jìn)行多路擁塞控制定義,WL-DQN 將多路擁塞控制轉(zhuǎn)化為一個(gè)深度增強(qiáng)學(xué)習(xí)的過(guò)程.
基于前文的多路增強(qiáng)學(xué)習(xí)參數(shù)定義,本小節(jié)對(duì)多路DQN擁塞控制算法進(jìn)行具體介紹.
對(duì)于樣本空間D中任意樣本(si,ai,ri,si′),狀態(tài)si的值函數(shù)為
其中,γ為折扣因子,為狀態(tài)轉(zhuǎn)移概率,據(jù)此可知,在狀態(tài)si下,執(zhí)行動(dòng)作ai的Q值函數(shù)為
DQN 利用神經(jīng)網(wǎng)絡(luò)對(duì)Q值函進(jìn)行擬合. 將初始狀態(tài)si與動(dòng)作ai帶入權(quán)重參數(shù)為w的評(píng)估網(wǎng)絡(luò)中可得評(píng)估值:
將更新?tīng)顟B(tài)si′帶入權(quán)重參數(shù)為w′的目標(biāo)函數(shù),計(jì)算更新動(dòng)作ai′:
據(jù)式(21)可得神經(jīng)網(wǎng)絡(luò)的目標(biāo)值為
之后,計(jì)算DQN損失函數(shù)L(w):
依據(jù)隨機(jī)梯度下降法,對(duì)評(píng)估網(wǎng)絡(luò)權(quán)重參數(shù)w進(jìn)行更新. 計(jì)算損失函數(shù)L(w)的梯度為
利用梯度函數(shù),以步長(zhǎng)λ對(duì)權(quán)重參數(shù)進(jìn)行更新:
每隔T次訓(xùn)練,更新w′ ←w. 經(jīng)過(guò)M次訓(xùn)練后得到最新權(quán)重w. 以此參數(shù)更新多路傳輸控制Q值函數(shù). 之后,在多路傳輸控制中,繼續(xù)收集新的樣本存入補(bǔ)充樣本. 訓(xùn)練器可通過(guò)補(bǔ)充樣本繼續(xù)周期性更新線上Q值函數(shù).
圖3 描述了多路DQN 擁塞控制算法的執(zhí)行過(guò)程.算法的初始化階段包括:(1)初始化評(píng)價(jià)網(wǎng)絡(luò)權(quán)重參數(shù)w,并令目標(biāo)網(wǎng)絡(luò)權(quán)重w′=w;(2)明確樣本空間D;(3)定義目標(biāo)網(wǎng)絡(luò)更新周期T和離線訓(xùn)練周期M.
通過(guò)離線訓(xùn)練與在線控制雙層協(xié)作并行,多路DQN 擁塞控制算法能夠擁有較好的初始控制效果,并不斷利用新的補(bǔ)充樣本,提高控制精度.
為了論證上述算法的可行性,對(duì)其計(jì)算復(fù)雜度和信息復(fù)雜度進(jìn)行分析如下.
深度增強(qiáng)學(xué)習(xí)算法的計(jì)算復(fù)雜度由狀態(tài)空間S和動(dòng)作空間A共同決定,可表示為O(S×A). 本文定義狀態(tài)s=(C,F(xiàn)),其中,C=(C1,C2,…,Cl),F(xiàn)=(F1,F(xiàn)2,…,F(xiàn)l). 據(jù)此可知狀態(tài)s的維數(shù)與子流數(shù)量l具有線性關(guān)系. 同時(shí),本文定義動(dòng)作a={Λ,Γ},其中Λ={Λ1,Λ2,…,Λl},Γ={Γ1,Γ2,…,Γl}. 據(jù)此可知?jiǎng)幼鱝的維數(shù)與子流數(shù)量l同樣具有線性關(guān)系. 故算法的計(jì)算復(fù)雜度為O(l2). 在算法實(shí)施過(guò)程中,智能算法的訓(xùn)練由本地網(wǎng)絡(luò)控制中心完成,無(wú)須占用移動(dòng)終端的計(jì)算資源. 移動(dòng)終端只須負(fù)責(zé)控制算法的執(zhí)行與控制日志的回傳.
深度增強(qiáng)學(xué)習(xí)算法的信息復(fù)雜度主要由訓(xùn)練算法的收斂速度決定. 本文在仿真分析中,給出了所提智能學(xué)習(xí)算法與類似方案的收斂速度對(duì)比圖. 實(shí)驗(yàn)結(jié)果顯示,本文算法的收斂速度要優(yōu)于對(duì)比方案.
為了驗(yàn)證所提WL-DQN 算法的有效性,本文依托NS-3[27]仿真實(shí)驗(yàn)環(huán)境,搭建復(fù)雜異構(gòu)實(shí)驗(yàn)環(huán)境. 測(cè)試WL-DQN 與相似智能算法DRL-CC[25]在該場(chǎng)景下的算法收斂速度. 并設(shè)計(jì)單終端、多終端、鏈路切換與動(dòng)態(tài)流量等場(chǎng)景,對(duì)比WL-DQN、MPTCP 標(biāo)準(zhǔn)擁塞控制算法LIA[7]和DRL-CC 在吞吐量、時(shí)延、數(shù)據(jù)包重傳等方面的性能.
為驗(yàn)證WL-DQN 在復(fù)雜動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境中的性能,本文設(shè)計(jì)3 種場(chǎng)景.(1)單終端場(chǎng)景. 如圖4 所示,服務(wù)器與用戶之間通過(guò)3 種最常見(jiàn)的無(wú)線連接方式(WiMAX,WiFi,Cellular)建立了3 條子流. 3 條子流向用戶并行發(fā)送數(shù)據(jù),且其中2條子流擁有共享瓶頸.(2)多終端場(chǎng)景. 在單終端場(chǎng)景的基礎(chǔ)上,依次加入1~6 個(gè)競(jìng)爭(zhēng)用戶,檢測(cè)傳輸資源受限的情況下WL-DQN 的性能.(3)動(dòng)態(tài)網(wǎng)絡(luò)場(chǎng)景. 模擬真實(shí)網(wǎng)絡(luò)環(huán)境中的子流中斷、子流增加與動(dòng)態(tài)數(shù)據(jù)源場(chǎng)景,測(cè)試WL-DQN 在動(dòng)態(tài)網(wǎng)絡(luò)場(chǎng)景下的性能.
圖4 單終端場(chǎng)景仿真拓?fù)?/p>
實(shí)驗(yàn)其余參數(shù)設(shè)置如表2所示.
表2 仿真系統(tǒng)參數(shù)
(1)算法收斂性能分析
為了測(cè)試WL-DQN 算法的信息復(fù)雜度,即通過(guò)樣本訓(xùn)練時(shí)算法的收斂性能,本文利用相同的樣本空間對(duì)WL-DQN 與相似智能算法DRL-CC 進(jìn)行訓(xùn)練,并定義歸一化回報(bào)=(預(yù)期回報(bào)-實(shí)際回報(bào))/預(yù)期回報(bào),用以評(píng)價(jià)算法的收斂性能. 圖5展示了WL-DAN 與DRL-CC 的收斂情況. 由圖可知,隨著訓(xùn)練時(shí)間的增加,2種方案的歸一化回報(bào)開(kāi)始增加明顯,在20 min 左右趨于穩(wěn)定.WL-DQN 在訓(xùn)練時(shí)間為30 min 時(shí),歸一化回報(bào)穩(wěn)定約0.95. 而DRL-CC 在訓(xùn)練時(shí)間為30 min 時(shí),歸一化回報(bào)約為0.9. 因此,相較于類似的智能解決方案,WL-DQN具有較好的收斂性能.
圖5 算法收斂性比較
(2)單終端場(chǎng)景
在圖4 所示的在單終端場(chǎng)景中,只有單一用戶接入服務(wù)器. 為了探索不同解決方案的傳輸控制效率,服務(wù)器向用戶持續(xù)發(fā)送數(shù)據(jù)300 s. 通過(guò)收集3 種方案的吞吐量與時(shí)延信息,對(duì)3 種方案的性能進(jìn)行比較.
圖6 給出了3 種方案的平均吞吐量對(duì)比情況. 由圖6 可知,WL-DQN 在3 條子流上都擁有更高的平均吞吐量. 其中,在WiMAX 子流上,WL-DQN,DRL-CC,LIA平均吞吐量分別約為17 Mbps,13 Mbps,10.5 Mbps.WL-DQN 較DRL-CC 和LIA 性能分別提高約30%和61%. 在Wi-Fi 子流上,WL-DQN,DRL-CC,LIA 平均吞吐量分別約為25 Mbps,20 Mbps,17 Mbps.WL-DQN 較DRL-CC 和LIA 性能分別提高約25%和47%. 在Cellular 子流上,WL-DQN,DRL-CC,LIA 平均吞吐量分別約為55 Mbps,45 Mbps,38 Mbps. WL-DQN 較DRL-CC 和LIA 性能分別提高約22%和44%. WL-DQN 能夠?qū)β窂今詈蠣顟B(tài),以及吞吐量、時(shí)延、丟包的變化進(jìn)行識(shí)別,從而做出更為精確的擁塞控制,故能大幅提高系統(tǒng)吞吐量.
圖6 平均吞吐量對(duì)比
圖7 給出了3 種方案的平均時(shí)延對(duì)比情況. 由圖7可知,WL-DQN 在3 條子流上的平均時(shí)延同樣擁有優(yōu)勢(shì). 在WiMAX 子流上,WL-DQN,DRL-CC,LIA 平均時(shí)延分別約為32.5 ms,34 ms,37 ms.WL-DQN 較DRL-CC和LIA平均時(shí)延分別降低約4.4%和12%. 在Wi-Fi子流上,WL-DQN,DRL-CC,LIA 平均時(shí)延分別約為45 ms 和47 ms,49 ms.WL-DQN 較DRL-CC 和LIA 平均時(shí)延分別降 低 約4.2% 和8.2%. 在Cellular 子 流 上,WL-DQN,DRL-CC,LIA 平均時(shí)延分別約為70 ms,73 ms,76 ms.WL-DQN 較DRL-CC 和LIA 平均時(shí)延分別降低約4.1%和7.8%. WL-DQN 對(duì)路徑耦合狀態(tài)的判斷以及路徑吞吐量、時(shí)延、丟包的感知,可有效避免數(shù)據(jù)包因擁塞導(dǎo)致的重傳,從而減少傳輸時(shí)延. 然而,WL-DQN 較高的吞吐量會(huì)向各子流發(fā)送更多的數(shù)據(jù),增加對(duì)應(yīng)子流的排隊(duì)時(shí)延. 通過(guò)實(shí)驗(yàn)結(jié)果可知,2種因素互相作用,最終WL-DQN能小幅降低傳輸時(shí)延.
圖7 平均時(shí)延對(duì)比
(3)多終端場(chǎng)景
為了驗(yàn)證WL-DQN 在競(jìng)爭(zhēng)環(huán)境下的性能,本文設(shè)計(jì)了多終端場(chǎng)景. 圖8展示了多終端場(chǎng)景的仿真拓?fù)?在該場(chǎng)景中,分別向網(wǎng)絡(luò)中增加1~6 名競(jìng)爭(zhēng)用戶,與目標(biāo)用戶共享3 條鏈路. 服務(wù)仍然向用戶持續(xù)發(fā)送數(shù)據(jù)300 s. 比較3 種方案在不同競(jìng)爭(zhēng)用戶情況下的傳輸性能.
圖8 多終端場(chǎng)景仿真拓?fù)?/p>
圖9 給出了3 種方案在不同數(shù)量競(jìng)爭(zhēng)用戶的情況下平均吞吐量的數(shù)值. 隨著競(jìng)爭(zhēng)用戶的增多,由于帶寬資源有限,用戶獲得的平均吞吐量下降. 但WL-DQN的性能仍優(yōu)于其余2 種方案. 圖10 給出了WL-DQN 相較于其余2 種方案,在不同數(shù)量競(jìng)爭(zhēng)用戶的情況下,平均吞吐量提高的百分比. 隨著競(jìng)爭(zhēng)用戶數(shù)量的增加,相較于DRL-CC 和LIA,WL-DQN 的平均吞吐量提高存在上升趨勢(shì). 在WiMAX子流上,WL-DQN較DRL-CC平均吞吐量提高百分比范圍為23%~36%,較LIA 平均吞吐量提高百分比范圍為52%~63%. 在Wi-Fi 子流上,WLDQN 較DRL-CC 平均吞吐量提高百分比范圍為26%~36%,較LIA 平均吞吐量提高百分比范圍為49%~60%.在Cellular 子流上,WL-DQN 較DRL-CC 平均吞吐量提高百分比范圍為22%~30%,較LIA 平均吞吐量提高百分比范圍為42%~51%. 這是由于隨著競(jìng)爭(zhēng)用戶的增多,WL-DQN 離線訓(xùn)練、在線學(xué)習(xí)的雙層協(xié)作控制優(yōu)勢(shì)更加明顯,可有效針對(duì)網(wǎng)絡(luò)變化,做出有效的窗口調(diào)整動(dòng)作.
圖9 多終端場(chǎng)景下平均吞吐量對(duì)比
圖10 多終端場(chǎng)景下平均時(shí)延對(duì)比
圖11 給出了3 種方案在不同數(shù)量競(jìng)爭(zhēng)用戶的情況下,平均時(shí)延的數(shù)值. 由圖11 可知,隨著競(jìng)爭(zhēng)用戶的增多,更多的數(shù)據(jù)被傳遞到網(wǎng)絡(luò)中,導(dǎo)致各路段排隊(duì)時(shí)延與擁塞風(fēng)險(xiǎn)增加,平均時(shí)延變長(zhǎng). 但在不同競(jìng)爭(zhēng)用戶的場(chǎng)景中,WL-DQN 的平均時(shí)延仍低于其余2 種方案. 圖12 給出了WL-DQN 相較于其余2 種方案,在不同數(shù)量競(jìng)爭(zhēng)用戶的情況下,平均時(shí)延降低的百分比.由圖12 可知,隨著競(jìng)爭(zhēng)用戶數(shù)量的增加,相較于DRLCC 和LIA,WL-DQN 的平均時(shí)延降低整體上呈上升趨勢(shì). 在WiMAX子流上,WL-DQN較DRL-CC平均時(shí)延降低百分比范圍為4%~9%,較LIA 平均時(shí)延降低百分比范圍為11%~15%. 在Wi-Fi子流上,WL-DQN較DRL-CC平均時(shí)延降低百分比范圍為4.5%~8.5%,較LIA平均時(shí)延降低百分比范圍為8%~16%. 在Cellular 子流上,WLDQN較DRL-CC平均時(shí)延降低百分比范圍為4%~7%,較LIA平均時(shí)延降低百分比范圍為7%~12%. 與吞吐量情況類似,在存多個(gè)競(jìng)爭(zhēng)用戶的情況下,WL-DQN的智能控制方法,能有效感知網(wǎng)絡(luò)狀態(tài),主動(dòng)規(guī)避擁塞的發(fā)生.
圖11 多終端場(chǎng)景下平均時(shí)延比較
圖12 多終端場(chǎng)景下平均時(shí)延降低百分比
圖13給出了多終端場(chǎng)景下,3種方案的平均重傳概率. 重傳概率可通過(guò)重傳數(shù)據(jù)包的數(shù)量與傳輸數(shù)據(jù)包總量相除得到. 在異構(gòu)動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境中,重傳主要由2種因素導(dǎo)致:(1)節(jié)點(diǎn)移動(dòng)性導(dǎo)致的鏈路錯(cuò)誤,造成數(shù)據(jù)包丟失;(2)擁塞導(dǎo)致的傳輸超時(shí). 因素(1)導(dǎo)致的重傳是網(wǎng)絡(luò)節(jié)點(diǎn)的固有特性,很難避免. 本文主要減少由因素(2)導(dǎo)致的重傳. 由圖13 可知,隨著競(jìng)爭(zhēng)用戶數(shù)量的增加,網(wǎng)絡(luò)擁塞風(fēng)險(xiǎn)提高,3 種方案的平均重傳概率均呈上升趨勢(shì). 但WL-DQN 重傳概率一直低于其余2 種方案. 這是由于WL-DQN 在子流耦合識(shí)別與網(wǎng)絡(luò)感知方面的優(yōu)勢(shì),導(dǎo)致其擁塞避免能力增加.
圖13 多終端場(chǎng)景下平均重傳概率比較
(4)動(dòng)態(tài)網(wǎng)絡(luò)場(chǎng)景
本小節(jié)對(duì)動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境進(jìn)行模擬,在圖4基礎(chǔ)拓?fù)涞幕A(chǔ)上,設(shè)計(jì)了子流中斷、子流增加與動(dòng)態(tài)數(shù)據(jù)源3種應(yīng)用場(chǎng)景,并比較了WL-DQN與其余2種方案在不同應(yīng)用場(chǎng)景下的性能.
在子流中斷場(chǎng)景中,當(dāng)t=0 s時(shí),鏈路1,2與3連接.服務(wù)器利用不同的鏈路分別建立子流1,2,3,并通過(guò)3條子流向用戶發(fā)送數(shù)據(jù). 當(dāng)t=50 s 時(shí),鏈路1(WiMAX路徑)中斷,子流1 因此中斷,服務(wù)器通過(guò)子流2,3 向用戶發(fā)送數(shù)據(jù). 圖14 展示了該場(chǎng)景下3 種方案的系統(tǒng)平均吞吐量變化. 由圖14可知,在子流1中斷后,3種方案的系統(tǒng)平均吞吐量都出現(xiàn)了明顯的下降,而后又小幅上升,最終恢復(fù)穩(wěn)定. 這是由于在子流1 突然中斷時(shí),除了損失該子路徑的帶寬之外,接收端會(huì)出現(xiàn)大量失序數(shù)據(jù)包,影響其余子流的傳輸效率. 而這種影響會(huì)隨著失序數(shù)據(jù)包的超時(shí)丟棄與重傳慢慢恢復(fù). 由圖可知,在子流1 中斷前WL-DQN 的系統(tǒng)平均吞吐量約為90 Mbps,DRL-CC 與LIA 的系統(tǒng)平均吞吐量分別約為72 Mbps 與61 Mbps. 在子流1 中斷后,WL-DQN 的系統(tǒng)平均吞吐量約為71 Mbps,DRL-CC 與LIA 的系統(tǒng)平均吞吐量分別約為60 Mbps 與50 Mbps. WL-DQN 的系統(tǒng)平均吞吐量始終高于對(duì)比方案.
圖14 子流中斷場(chǎng)景下系統(tǒng)平均吞吐量比較
在子流增加場(chǎng)景中,當(dāng)t=0 s 時(shí),鏈路1 與2 連接,鏈路3 中斷. 服務(wù)器通過(guò)鏈路1 與2 建立子流1 與2,并通過(guò)這2 條子流向用戶發(fā)送數(shù)據(jù). 當(dāng)t=50 s 時(shí),鏈路3(Cellular 路徑)連接,服務(wù)器建立子流3,并通過(guò)3 條子流向用戶發(fā)送數(shù)據(jù). 圖15 展示了該場(chǎng)景下3 種方案的系統(tǒng)平均吞吐量變化. 由圖15可知,在子流3建立后,3種方案的系統(tǒng)平均吞吐量都有較大幅度的上漲,但WL-DQN 的上漲速率更快,并且上漲的幅度更大. 在子流3建立前,WL-DQN 的系統(tǒng)平均吞吐量約為40 Mbps,DRL-CC 與LIA 的系統(tǒng)平均吞吐量分別約為31 Mbps與27 Mbps. 在子流3建立后,WL-DQN 的系統(tǒng)平均吞吐量約為90 Mbps,DRL-CC 與LIA 的系統(tǒng)平均吞吐量分別約為70 Mbps 與57 Mbps.WL-DQN 的系統(tǒng)平均吞吐量提高了約50 Mbps,而RL-CC 與LIA 的系統(tǒng)平均吞吐量分別提高約39 Mbps 與30 Mbps. 這是由于WL-DQN通過(guò)訓(xùn)練,在新子流建立之初,采取更激進(jìn)的擁塞窗口增長(zhǎng)策略,從而能夠更快速地利用新增子流的帶寬.
圖15 子流增加場(chǎng)景下系統(tǒng)平均吞吐量比較
圖16 展示了動(dòng)態(tài)數(shù)據(jù)源場(chǎng)景下的系統(tǒng)吞吐量情況. 在該場(chǎng)景下,本文使數(shù)據(jù)源在40~50 Mbps 區(qū)間內(nèi)生成隨機(jī)比特率的數(shù)據(jù)流. 此時(shí),3 種方案所提供的聚合帶寬均能滿傳輸需求,性能差別主要體現(xiàn)在應(yīng)對(duì)動(dòng)態(tài)網(wǎng)絡(luò)拓?fù)鋾r(shí)的穩(wěn)定性. 由圖16 可知,相較于其余2 種方案,WL-DQN 能夠?qū)⑾到y(tǒng)吞吐量維持在較為穩(wěn)定的范圍內(nèi). 這是由于WL-DQN 通過(guò)綜合分析路徑的耦合與擁塞特征,對(duì)子流的傳輸能力具有更為細(xì)致的認(rèn)知,并通過(guò)離線訓(xùn)練與在線學(xué)習(xí)相結(jié)合,更好地應(yīng)對(duì)數(shù)據(jù)源流量的變化,維持系統(tǒng)吞吐量的穩(wěn)定.
圖16 動(dòng)態(tài)數(shù)據(jù)源場(chǎng)景下系統(tǒng)吞吐量比較
本文對(duì)異構(gòu)動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下的多路擁塞控制策略進(jìn)行研究. 基于小波去噪與子流互相關(guān)性分析,提取子流的耦合特征. 在此基礎(chǔ)上,依據(jù)深度增強(qiáng)學(xué)習(xí)理論,對(duì)多路擁塞控制進(jìn)行建模,并構(gòu)建離線訓(xùn)練與在線學(xué)習(xí)協(xié)作并行的擁塞控制系統(tǒng),設(shè)計(jì)多路DQN 擁塞控制算法,有效提高傳輸控制精度. 仿真結(jié)果表明,本文所提WL-DQN 在多種場(chǎng)景下,與其他方案相比,能大幅提高系統(tǒng)吞吐量,小幅降低傳輸時(shí)延,有效降低數(shù)據(jù)包重傳概率.
此外,本文也存在若干問(wèn)題需要進(jìn)一步探索.
(1)網(wǎng)絡(luò)狀態(tài)的最優(yōu)定義問(wèn)題. 本文針對(duì)動(dòng)態(tài)異構(gòu)網(wǎng)絡(luò)環(huán)境,通過(guò)提取子流的耦合特征與擁塞特征對(duì)網(wǎng)絡(luò)狀態(tài)進(jìn)行定義. 未來(lái)將進(jìn)一步探索影響多路傳輸?shù)膹?fù)雜網(wǎng)絡(luò)因素,通過(guò)尋找網(wǎng)絡(luò)狀態(tài)的最優(yōu)定義,提高深度增強(qiáng)學(xué)習(xí)算法的工作效率.
(2)訓(xùn)練代價(jià)與控制效果的博弈問(wèn)題. 本文設(shè)計(jì)了離線訓(xùn)練與在線學(xué)習(xí)雙層協(xié)作的工作模式. 該種方式雖然能夠減小線上傳輸控制的決策成本,卻需要本地計(jì)算資源的輔助. 未來(lái)將對(duì)訓(xùn)練代價(jià)與控制效果的博弈問(wèn)題進(jìn)行深入分析,探索最優(yōu)的深度增強(qiáng)學(xué)習(xí)解決方案.