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

?

基于深度強(qiáng)化學(xué)習(xí)的MPTCP 動(dòng)態(tài)編碼調(diào)度系統(tǒng)①

2022-09-28 03:30廖彬彬張廣興刁祖龍謝高崗
高技術(shù)通訊 2022年7期
關(guān)鍵詞:異構(gòu)編碼器數(shù)據(jù)包

廖彬彬 張廣興 刁祖龍 謝高崗

(?中國(guó)科學(xué)院計(jì)算技術(shù)研究所 北京100190)

(??中國(guó)科學(xué)院大學(xué) 北京100190)

(???中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心 北京100190)

0 引言

多路徑傳輸控制協(xié)議[1](multi-path transport control protocol,MPTCP)自2013 年由互聯(lián)網(wǎng)工程任務(wù)組(Internet Engineering Task Force,IETF)標(biāo)準(zhǔn)化以來,已經(jīng)受到了工業(yè)界和學(xué)術(shù)界的廣泛關(guān)注和研究。由于其固有的多鏈路帶寬聚合能力和單鏈路故障恢復(fù)能力,MPTCP 已經(jīng)被應(yīng)用于加速眾多的數(shù)據(jù)交互場(chǎng)景(如文件傳輸、Web 瀏覽和視頻推流等)。尤其在移動(dòng)互聯(lián)網(wǎng)的背景下,內(nèi)核裝載MPTCP 的移動(dòng)設(shè)備可以同時(shí)利用WiFi和蜂窩無線網(wǎng)絡(luò)來提高移動(dòng)應(yīng)用程序的網(wǎng)絡(luò)服務(wù)健壯性和傳輸質(zhì)量保障[2]。

影響MPTCP 整體性能的一個(gè)重要因素是其數(shù)據(jù)包調(diào)度程序的設(shè)計(jì)和實(shí)現(xiàn),它需要根據(jù)特定的策略在有效的傳輸控制協(xié)議(transport control protocol,TCP)子流上分配合適的數(shù)據(jù)包數(shù)量。已有的研究表明,錯(cuò)誤的數(shù)據(jù)包調(diào)度決策將會(huì)導(dǎo)致MPTCP 嚴(yán)重的性能問題[3-4]。尤其在多變的無線網(wǎng)絡(luò)環(huán)境中,由于TCP 子流的狀態(tài)特別容易遭受網(wǎng)絡(luò)擁塞和數(shù)據(jù)包隨機(jī)丟失的影響[5],MPTCP 連接上的多條TCP子流之間的性能差異變得十分巨大。而這種網(wǎng)絡(luò)的異構(gòu)性主要表現(xiàn)為分發(fā)到較快子流上的數(shù)據(jù)包必須等待較慢子流上的數(shù)據(jù)包,這便造成了發(fā)送端數(shù)據(jù)的隊(duì)頭阻塞現(xiàn)象(head-of-line blocking,HoL)和接收端的數(shù)據(jù)包的亂序隊(duì)列問題(out-of-order queue size,OQS)。因此,如何最小化接收端的數(shù)據(jù)包OQS 成為提升MPTCP 整體性能的關(guān)鍵[6-7]。

實(shí)際上,當(dāng)MPTCP 所有的子流都相對(duì)正?;虍悩?gòu)性不太明顯時(shí),設(shè)計(jì)一個(gè)合理的數(shù)據(jù)包調(diào)度器便能夠?qū)崿F(xiàn)多子流的正常傳輸,并緩解MPTCP 的隊(duì)頭阻塞與亂序問題。然而,如果存在某些TCP 子流在網(wǎng)絡(luò)質(zhì)量上具有很高的多樣性時(shí)(如劇烈的丟包損耗、網(wǎng)絡(luò)擁塞或延遲抖動(dòng)等),僅依靠調(diào)度器是無法適應(yīng)這種異構(gòu)網(wǎng)絡(luò)的劇烈變化,并實(shí)現(xiàn)數(shù)據(jù)包的快速恢復(fù)的。而使用網(wǎng)絡(luò)編碼的方法可以根據(jù)TCP子流的網(wǎng)絡(luò)狀態(tài)實(shí)現(xiàn)超時(shí)或丟包的0-RTT 快速恢復(fù)[8]。因此,在進(jìn)行數(shù)據(jù)包調(diào)度之前增加一個(gè)網(wǎng)絡(luò)編碼的過程[9-10],可以使得MPTCP 不僅能夠在相對(duì)穩(wěn)定的網(wǎng)絡(luò)環(huán)境中獲得可觀的性能提升,而且還能快速地適應(yīng)網(wǎng)絡(luò)的劇烈變化。

然而,基于網(wǎng)絡(luò)編碼的數(shù)據(jù)包調(diào)度系統(tǒng)將主要面臨如下兩個(gè)挑戰(zhàn)。首先數(shù)據(jù)包的編碼率需要隨著MPTCP 所有TCP 子流網(wǎng)絡(luò)狀態(tài)的相對(duì)變化而改變,例如,當(dāng)所有的子流都比較穩(wěn)定時(shí)使用較低的編碼率,而當(dāng)部分子流出現(xiàn)明顯的擁塞或丟包時(shí)則需要提升數(shù)據(jù)包的編碼率。其次,數(shù)據(jù)包調(diào)度器也需要通過衡量所有TCP 子流的相對(duì)差異來確定分配編碼后的數(shù)據(jù)包到每條子流的數(shù)量。也就是說,無論是網(wǎng)絡(luò)編碼器還是數(shù)據(jù)包調(diào)度器都需要根據(jù)所有TCP 子流的網(wǎng)絡(luò)狀態(tài)來決定其采取的動(dòng)作。然而,決定TCP 子流狀態(tài)的因素眾多(如丟包率、擁塞窗口、時(shí)延抖動(dòng)等),這將導(dǎo)致MPTCP 多TCP 子流組成的狀態(tài)空間十分巨大。而且這些因素隨著時(shí)間的變化可能是線性的也可能是非線性的,甚至可能不符合任何數(shù)學(xué)分布規(guī)律。因此基于數(shù)學(xué)建模的方法來人工擬合一個(gè)函數(shù)模型以匹配MPTCP 的子流狀態(tài)到其對(duì)應(yīng)的全局最優(yōu)編碼和調(diào)度動(dòng)作幾乎是不可能的。

近年來,由于不用假設(shè)狀態(tài)空間的分布情況,使用深度神經(jīng)網(wǎng)絡(luò)作為函數(shù)的估計(jì)器來擬合高維度狀態(tài)空間到連續(xù)動(dòng)作空間的匹配關(guān)系已經(jīng)變得十分常見[11-12]。尤其在眾多復(fù)雜多變的計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境中(如數(shù)據(jù)包分類[13]、自適應(yīng)比特率流[14]和數(shù)據(jù)中心流調(diào)度[15]等),基于深度神經(jīng)網(wǎng)絡(luò)的強(qiáng)化學(xué)習(xí)方法(deep reinforcement learning,DRL)已經(jīng)取得了令人驚訝的效果。受到這些實(shí)例的啟發(fā),本文嘗試訓(xùn)練一個(gè)深度增強(qiáng)的MPTCP 動(dòng)態(tài)編碼調(diào)度系統(tǒng)動(dòng)態(tài)多路徑編碼調(diào)度器(dynamic multi-path encoding scheduler,DMES),來自適應(yīng)MPTCP 多子流異構(gòu)網(wǎng)絡(luò)環(huán)境下的狀態(tài)變化,并將MPTCP 的多子流實(shí)時(shí)狀態(tài)輸入轉(zhuǎn)化為當(dāng)前狀態(tài)下的數(shù)據(jù)包編碼比率和分配比率,從而最大化接收端的OQS 定義的反饋函數(shù)。最后通過梯度下降的方法訓(xùn)練DMES 的深度神經(jīng)網(wǎng)絡(luò)直到收斂。實(shí)驗(yàn)結(jié)果表明,在劇烈異構(gòu)的動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境中,DMES 將接收端的OQS 降低到24.6%以上,并且能夠在平均有效吞吐量提升18.3%的同時(shí)將MPTCP 的應(yīng)用延遲降低12.2%左右。

本文共分為5 節(jié),其中第1 節(jié)為引言部分,對(duì)本文研究背景和主要研究?jī)?nèi)容進(jìn)行介紹;第2 節(jié)為相關(guān)工作,主要介紹已有的MPTCP 數(shù)據(jù)包調(diào)度方法、網(wǎng)絡(luò)編碼技術(shù)以及深度強(qiáng)化學(xué)習(xí)方法;第3 節(jié)首先分析已有方法的不足之處,然后提出基于深度強(qiáng)化學(xué)習(xí)的MPTCP 動(dòng)態(tài)網(wǎng)絡(luò)編碼調(diào)度系統(tǒng);第4 節(jié)介紹了實(shí)驗(yàn)布置及說明,并給出了對(duì)應(yīng)的實(shí)驗(yàn)結(jié)果;第5節(jié)對(duì)本文主要成果和未來工作進(jìn)行總結(jié)和說明。

1 相關(guān)工作

1.1 MPTCP 數(shù)據(jù)包調(diào)度器

在現(xiàn)有的多路徑傳輸系統(tǒng)中,網(wǎng)絡(luò)的異構(gòu)性是其數(shù)據(jù)包調(diào)度程序設(shè)計(jì)的難點(diǎn)。因?yàn)樵谛阅懿町愝^大的多條路徑之間傳輸數(shù)據(jù)將不可避免地導(dǎo)致OQS 問題。而這種OQS 亂序排隊(duì)將直接導(dǎo)致整個(gè)MPTCP 連接的時(shí)延上升和吞吐量下降[2,4]。作為MPTCP 的默認(rèn)調(diào)度器,MinRTT 僅考慮多條路徑間的往返時(shí)間(round-trip time,RTT)異構(gòu)性,并向RTT 最小的子流中發(fā)送更多的數(shù)據(jù)包。而當(dāng)前的BLEST[16]、STMS[6]和ECF[17]調(diào)度器不僅考慮RTT的差異,同時(shí)將不同路徑間的擁塞窗口、吞吐量、inflight 緩存以及發(fā)送隊(duì)列等TCP 層的屬性差異放到一個(gè)數(shù)學(xué)模型中,以向質(zhì)量更好的TCP 子流中預(yù)先分配定量計(jì)算的數(shù)據(jù)包數(shù)量,從而緩解網(wǎng)絡(luò)異構(gòu)性導(dǎo)致的亂序問題。

但是已有的研究表明,這類數(shù)學(xué)的方法為了簡(jiǎn)化建模的過程,通常假設(shè)了特定的網(wǎng)絡(luò)環(huán)境,如MPTCP 只建立2 條子流、不存在主機(jī)或網(wǎng)絡(luò)緩存的限制、子流的丟包率忽略不計(jì)等,以大幅縮小TCP子流的狀態(tài)空間,使得調(diào)度器只需要簡(jiǎn)單地使用TCP 層的幾個(gè)屬性就能擬合函數(shù)來計(jì)算每條子流需要分配的數(shù)據(jù)包數(shù)量[7,18],但這也導(dǎo)致了基于數(shù)學(xué)建模的方法往往只能在有限類型的網(wǎng)絡(luò)環(huán)境中優(yōu)化特定的MPTCP 性能指標(biāo),卻無法自適應(yīng)更加復(fù)雜的網(wǎng)絡(luò)環(huán)境。

1.2 MPTCP 網(wǎng)絡(luò)編碼

在高丟包或高擁塞的動(dòng)態(tài)網(wǎng)絡(luò)中[19],由于TCP子流頻繁的數(shù)據(jù)包重傳和重排序,將導(dǎo)致劇烈的網(wǎng)絡(luò)異構(gòu)性。這使得僅優(yōu)化數(shù)據(jù)包調(diào)度器已經(jīng)無法實(shí)現(xiàn)MPTCP 的帶寬聚合和故障恢復(fù)能力[20]。有一些解決方案嘗試通過優(yōu)化MPTCP 的擁塞控制算法,以彌補(bǔ)由于擁塞丟包而導(dǎo)致的性能下降[21-22]。但是,高丟包和高延遲的網(wǎng)絡(luò)環(huán)境很多時(shí)候并不是由于網(wǎng)絡(luò)擁塞導(dǎo)致的。尤其在無線網(wǎng)絡(luò)中,信號(hào)衰減、噪聲干擾、鏈路切換等情況將導(dǎo)致大量的無線隨機(jī)丟包[2,20]。在無線網(wǎng)絡(luò)上引入網(wǎng)絡(luò)編碼,已被證實(shí)能夠極大地降低丟包概率和減少重傳,從而提高TCP子流的吞吐量[8-10]。

為了實(shí)現(xiàn)多路徑的容錯(cuò)傳輸,MPLOT[23]采用固定比率的編碼方案來減少數(shù)據(jù)包的恢復(fù)延遲,以提高無線自組織網(wǎng)絡(luò)的質(zhì)量。但是當(dāng)多條路徑的質(zhì)量急劇變化時(shí),固定速率編碼的性能將變得不佳[9]。因?yàn)榫幋a的過程需要時(shí)間代價(jià),而編碼的冗余程度也需要消耗額外的網(wǎng)絡(luò)帶寬。不同的網(wǎng)絡(luò)環(huán)境顯然需要不同的編碼率,例如在網(wǎng)絡(luò)完全沒有丟包時(shí)可以不使用編碼,而在所有的路徑都存在嚴(yán)重的丟包時(shí)使用全冗余編碼能夠極大地保障網(wǎng)絡(luò)的可用性。FMPTCP[10]率先提出了使用噴泉碼來實(shí)現(xiàn)多路徑TCP 的動(dòng)態(tài)編碼機(jī)制,而MPTCP-dFEC[9]則基于前向糾錯(cuò)碼(FEC)實(shí)現(xiàn)MPTCP 數(shù)據(jù)傳輸?shù)膭?dòng)態(tài)前向糾錯(cuò)。但與之前的數(shù)據(jù)包調(diào)度器設(shè)計(jì)類似,這兩種編碼機(jī)制都僅基于TCP 子流的幾個(gè)屬性來建立一個(gè)啟發(fā)式的數(shù)學(xué)模型以適應(yīng)一些特定的網(wǎng)絡(luò)場(chǎng)景。更準(zhǔn)確地說,FMCTP 僅使用擁塞窗口、丟包率和RTT 來調(diào)整碼率,而MPTCP-dFEC 則使用丟包率和RTT 來調(diào)整FEC 的編碼率。相較于噴泉碼,FEC 編解碼的復(fù)雜度更低,而且數(shù)據(jù)恢復(fù)能力也相差無幾。因此FEC 更常用于延遲敏感的網(wǎng)絡(luò)編碼調(diào)度中。

1.3 深度增強(qiáng)神經(jīng)網(wǎng)絡(luò)

增強(qiáng)學(xué)習(xí)的變種有很多,其中主要包括Q-learning[24]、Sarsa[25]、Deep Q network(DQN)[11]、以及Actor-Critic[26]等。在任意的時(shí)間步驟t,一個(gè)標(biāo)準(zhǔn)的增強(qiáng)學(xué)習(xí)系統(tǒng)需要訓(xùn)練Agent 智能體與未知的環(huán)境之間進(jìn)行交互,智能體根據(jù)環(huán)境當(dāng)前的狀態(tài)st執(zhí)行動(dòng)作at,以最大化自定義的反饋函數(shù)rt。對(duì)于狀態(tài)空間較小的問題,Q-learning 和Sarsa 可以通過映射表的方式,將每個(gè)狀態(tài)st采用動(dòng)作at時(shí)得到的反饋rt的值存儲(chǔ)到Q值表中,在訓(xùn)練的過程中不斷更新Q值表以最大化rt直到收斂。考慮到很多問題的復(fù)雜性,使用簡(jiǎn)單的Q表已經(jīng)無法存儲(chǔ)巨大的狀態(tài)空間。因此使用深度神經(jīng)網(wǎng)絡(luò)作為函數(shù)估計(jì)器映射狀態(tài)空間st和動(dòng)作空間at的Q值被引入到DQN 中。

但是,DQN 只能處理離散和低維的動(dòng)作空間,而很多任務(wù)的動(dòng)作空間,如MPTCP 數(shù)據(jù)包的編碼率和分配率,都是連續(xù)的值??紤]到Policy Gradient(PG[27])的方法常被用到處理連續(xù)的控制動(dòng)作,因此基于Actor-Critic 的深度確定性策略梯度下降(deep deterministic policy gradient,DDPG[12])算法通過整合DQN 和PG,被廣泛應(yīng)用于處理高維狀態(tài)空間下的連續(xù)動(dòng)作控制??紤]到MPTCP 的多子流網(wǎng)絡(luò)狀態(tài)空間的復(fù)雜性和編碼調(diào)度動(dòng)作的連續(xù)性,為了建立適應(yīng)各種異構(gòu)環(huán)境下的動(dòng)態(tài)編碼調(diào)度模型,只有使用DDPG 的Actor-Critic 深度神經(jīng)網(wǎng)絡(luò)才能夠?qū)⑺锌赡艿腡CP 子流狀態(tài)st估計(jì)到其對(duì)應(yīng)的數(shù)據(jù)包編碼率和分配率at的函數(shù)模型,并最大化MPTCP 整體性能定義的反饋函數(shù)rt。

2 MPTCP 動(dòng)態(tài)網(wǎng)絡(luò)編碼調(diào)度系統(tǒng)

2.1 MPTCP 編碼與調(diào)度分析

由于MPTCP 的編碼器與調(diào)度器用于解決不同的傳輸問題,因此現(xiàn)有MPTCP 系統(tǒng)中的編碼和調(diào)度模塊是分開實(shí)現(xiàn)的。但是數(shù)據(jù)包在經(jīng)過編碼后一定會(huì)經(jīng)過調(diào)度器模塊的分配,因此編碼器和調(diào)度器又是強(qiáng)耦合在一起的。如圖1 所示,在設(shè)計(jì)DMES 動(dòng)態(tài)網(wǎng)絡(luò)編碼調(diào)度系統(tǒng)之前,本文首先基于多路徑協(xié)同滑動(dòng)調(diào)度器(slide together multi-path scheduler,STMS[6])使用帶TC 模塊[28]的無線接入設(shè)備構(gòu)建了一個(gè)網(wǎng)絡(luò)可控的MPTCP 實(shí)驗(yàn)平臺(tái),并對(duì)已有的編碼器、調(diào)度器以及兩者的組合進(jìn)行測(cè)試分析,以評(píng)估當(dāng)前技術(shù)在動(dòng)態(tài)異構(gòu)網(wǎng)絡(luò)環(huán)境下的性能瓶頸。為了模擬動(dòng)態(tài)復(fù)雜的網(wǎng)絡(luò)環(huán)境,每條MPTCP 連接將建立n=3條TCP 子流,并根據(jù)表1 中每個(gè)Case 在RTT、丟包率和可用帶寬的值域范圍內(nèi),使用TC 模塊隨機(jī)地設(shè)置這3 條TCP 子流的網(wǎng)絡(luò)質(zhì)量。而且通過對(duì)每個(gè)Case 進(jìn)行10 組多路徑傳輸實(shí)驗(yàn),分析MPTCP已有的編碼器 MPTCP-dFEC (dFEC)、FMPTCP(FMP),目前性能最佳的調(diào)度器ECF 以及它們的組合在各種網(wǎng)絡(luò)環(huán)境設(shè)置下的平均OQS 情況。

圖1 實(shí)驗(yàn)臺(tái)拓?fù)鋱D

表1 子流數(shù)不變時(shí)的網(wǎng)絡(luò)質(zhì)量參數(shù)

由圖2 可以看出,相比于現(xiàn)有的編碼器,調(diào)度器ECF 能夠更好地解決Case 1、2 和3 中RTT 和可用帶寬異構(gòu)性導(dǎo)致的OQS。而編碼器dFEC 和FMP能夠更好地解決Case 4、5 和6 中高丟包網(wǎng)絡(luò)導(dǎo)致的異構(gòu)性。FMP 在高丟包的Case 6 中表現(xiàn)得比dFEC 更好,但是在丟包相對(duì)較小的Case 2 中,dFEC卻有更好的性能,這是因?yàn)閲娙a的高丟包恢復(fù)能力是以編解碼開銷為代價(jià)的。對(duì)于Case 5 中既高延遲抖動(dòng)又高丟包率的環(huán)境,編碼器組合調(diào)度器的性能有一定的提升,但是僅比單獨(dú)使用編碼器時(shí)的平均OQS 降低3%左右。這是因?yàn)楝F(xiàn)有的編碼器和調(diào)度器都只是根據(jù)一部分的TCP 狀態(tài)屬性各自建立線性數(shù)學(xué)模型,并不能適應(yīng)非線性變化的多路徑網(wǎng)絡(luò)環(huán)境。而這種簡(jiǎn)單的組合更不能很好地適應(yīng)動(dòng)態(tài)復(fù)雜的網(wǎng)絡(luò)環(huán)境。

圖2 不同方法在異構(gòu)網(wǎng)絡(luò)環(huán)境下的平均OQS

2.2 DMES 網(wǎng)絡(luò)編碼調(diào)度系統(tǒng)設(shè)計(jì)

基于數(shù)學(xué)建模的方法估計(jì)MPTCP 的數(shù)據(jù)包編碼率和分配率是積累了人類有限的測(cè)量經(jīng)驗(yàn)在特定網(wǎng)絡(luò)環(huán)境下的應(yīng)用,因此缺乏對(duì)各種網(wǎng)絡(luò)異構(gòu)性的泛化能力和自適應(yīng)性。它們不僅只選取部分的TCP狀態(tài)屬性作為輸入,而且還會(huì)假設(shè)MPTCP 不會(huì)同時(shí)動(dòng)態(tài)維持太多的TCP 子流。但在真實(shí)場(chǎng)景中,MPTCP 建立的TCP 子流數(shù)目卻是動(dòng)態(tài)變化的,子流的狀態(tài)空間也由很多屬性參數(shù)共同決定,而且參數(shù)之間還存在各種聯(lián)系。因此使用深度增強(qiáng)神經(jīng)網(wǎng)絡(luò)(DNN)作為函數(shù)模型的估計(jì)器,能夠在不需要假設(shè)MPTCP 網(wǎng)絡(luò)環(huán)境的前提下,將TCP 子流的全部屬性組成狀態(tài)空間輸入到DNN 中,以訓(xùn)練出一個(gè)將所有可能出現(xiàn)的“狀態(tài)到動(dòng)作”的匹配關(guān)系都考慮進(jìn)去的泛化模型。

因此在本節(jié)中,DMES 首先使用TCP 層的屬性參數(shù)設(shè)計(jì)MPTCP 的狀態(tài)空間,并通過Transformmer神經(jīng)網(wǎng)絡(luò)解決這些參數(shù)之間的相關(guān)性和TCP 子流數(shù)目的動(dòng)態(tài)性,以輸出一個(gè)定長(zhǎng)矩陣作為DNN 的輸入。而DMES 作用在TCP 子流上的動(dòng)作空間則默認(rèn)使用MPTCP 數(shù)據(jù)包的編碼率與分配率。然后根據(jù)MPTCP 的設(shè)計(jì)原理,引入一個(gè)新的flag-bit 位來返回DMES 系統(tǒng)的反饋值。最后根據(jù)這些定義詳細(xì)地說明DMES 的流程。

2.2.1 MPTCP 狀態(tài)空間設(shè)計(jì)

狀態(tài)空間:每個(gè)時(shí)刻DMES 系統(tǒng)輸入的狀態(tài)空間,實(shí)際上是MPTCP 當(dāng)前網(wǎng)絡(luò)環(huán)境的一次快照。對(duì)于任意的時(shí)刻t,系統(tǒng)智能體需要輸入的狀態(tài)空間可以表示為st=(st1,st2,…sti…stn),sti(1 ≤i≤n) 是第i條子流TCP 層的全部屬性參數(shù),可以用一個(gè)元組表示為sti=(dti,cti,bti,lti,wti,kti),其中,dti表示TCP 子流i的往返時(shí)延(RTT)、cti表示TCP 子流i的擁塞窗口(congestion window,CWND)、bti表示TCP 子流i的數(shù)據(jù)包交付速率(packet delivery rate,PDR)、lti表示TCP 子流i的數(shù)據(jù)包丟失率(PLR)、wti表示TCP 子流i的接收窗口(RWND)、kti表示TCP 子流i的MPTCP 連接級(jí)別的數(shù)據(jù)包確認(rèn)數(shù)量(Data ACKed)。

使用MPTCP 的子流加入選項(xiàng)(MP_JOIN option)和子流關(guān)閉選項(xiàng)(RST option),MPTCP 的客戶端和服務(wù)器間能夠動(dòng)態(tài)地維持n條存活的TCP 子流。而每個(gè)時(shí)刻的狀態(tài)st由MPTCP 當(dāng)前存活的TCP 子流構(gòu)成,這將會(huì)導(dǎo)致狀態(tài)st的長(zhǎng)度是隨機(jī)變化的。但矛盾的是神經(jīng)網(wǎng)絡(luò)的輸入層卻是固定長(zhǎng)度的??紤]到基于多頭注意力模型的Transformer 神經(jīng)網(wǎng)絡(luò)[29]可以將變長(zhǎng)的輸入轉(zhuǎn)換為定長(zhǎng)的Matrix,同時(shí)還能將輸入屬性間的相關(guān)性附加到輸出的Matrix 中。因此可以將變長(zhǎng)的狀態(tài)空間st經(jīng)過Transformer 神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換為定長(zhǎng)的Matrix 后喂給DMES的神經(jīng)網(wǎng)絡(luò)輸入層。這不僅能夠解決狀態(tài)空間的動(dòng)態(tài)性問題,而且還能解決屬性間的相關(guān)性對(duì)神經(jīng)網(wǎng)絡(luò)模型復(fù)雜度的影響。

2.2.2 動(dòng)作空間與反饋函數(shù)設(shè)計(jì)

動(dòng)作空間:在任意的時(shí)刻,DMES 根據(jù)TCP 子流的網(wǎng)絡(luò)狀態(tài)空間對(duì)即將發(fā)送的數(shù)據(jù)包首先需要進(jìn)行編碼動(dòng)作然后進(jìn)行調(diào)度動(dòng)作?,F(xiàn)有的編碼算法中,基于異或的前向糾錯(cuò)碼(FEC)不僅復(fù)雜度低而且數(shù)據(jù)恢復(fù)能力強(qiáng),因此被廣泛應(yīng)用于TCP-IR[8]、QUIC[30]和MPQUIC[31]等網(wǎng)絡(luò)協(xié)議的數(shù)據(jù)包編碼恢復(fù)中。2.1 節(jié)中的對(duì)照實(shí)驗(yàn)也表明,在大多數(shù)情況下,動(dòng)態(tài)FEC 能夠在MPTCP 中取得更好的性能。如圖3 所示,對(duì)于任意一個(gè)動(dòng)態(tài)的FEC 編碼模塊(m,k),其中k表示應(yīng)用層的源數(shù)據(jù)包數(shù)量,而m是編碼后的總數(shù)據(jù)包數(shù)量,m-k則是冗余的奇偶校驗(yàn)數(shù)據(jù)包數(shù)量。這些奇偶校驗(yàn)數(shù)據(jù)包使得MPTCP 的接收端只需要接收任意k個(gè)編碼數(shù)據(jù)包,就能恢復(fù)應(yīng)用層的k個(gè)源數(shù)據(jù)包。因此,在任意的時(shí)刻t根據(jù)所有TCP 子流組成的狀態(tài)空間st,數(shù)據(jù)包的編碼率可以表示為et=(m-k)/k。而對(duì)于編碼后的m個(gè)數(shù)據(jù)包,MPTCP 的調(diào)度器需要確定分配到每條TCP 子流i上的數(shù)據(jù)包數(shù)量為xti。如果MPTCP 總共維持了n條子流,則分配到子流i的比率表示為pti=xti/m,而且pt1+pt2+…pti…+ptn=1。由于編碼和調(diào)度強(qiáng)耦合在一起,因此用一個(gè)集合將DMES的動(dòng)作空間表示為at=(et,pt1,pt2,…,pti,…,ptn)。

圖3 基于異或的FEC 的編碼率

反饋函數(shù):根據(jù)MPTCP 的設(shè)計(jì)原則,應(yīng)用層的延遲和有效吞吐量是當(dāng)前MPTCP 連接的主要QoS指標(biāo)。越來越多的研究表明,影響QoS 的根本原因是MPTCP 接收端的OQS 大小,以及其衍生出來的發(fā)送端的HoL 問題。因此,在設(shè)計(jì)DMES 的反饋函數(shù)rt時(shí)需要最小化接收端的OQS。由于DMES 運(yùn)行在MPTCP 的發(fā)送端隊(duì)列與TCP 子流之間,這使得接收端的OQS 大小需要隨著連接級(jí)別的Data ACK數(shù)據(jù)包從接收端返回到發(fā)送端。如圖4所示,在每個(gè)Data ACK 數(shù)據(jù)包的數(shù)據(jù)序列信號(hào)字段(data sequence signal option,DSS)新增一個(gè)Q-bit 信號(hào)位[7]來返回接收端OQS。為了使得OQS 越小越好,DMES 的反饋函數(shù)定義為rt=1/OQS。

圖4 DATA ACK 的Q-bit 標(biāo)志位

2.2.3 DMES 系統(tǒng)設(shè)計(jì)

根據(jù)上述定義,可以發(fā)現(xiàn)MPTCP 動(dòng)態(tài)編碼調(diào)度系統(tǒng)的狀態(tài)空間st與動(dòng)作空間at都是高維度且連續(xù)變化的。因此如圖5 所示,本文使用基于Actor-Critic 的DDPG 深度神經(jīng)網(wǎng)絡(luò)來估計(jì)st、at以及rt之間的函數(shù)關(guān)系模型。DDPG 共維持了4 個(gè)深度神經(jīng)網(wǎng)絡(luò)(DNNs)作為函數(shù)模型的估計(jì)器。其中,2個(gè)DNNs 是Actor 深度神經(jīng)網(wǎng)絡(luò)和Critic 深度神經(jīng)網(wǎng)絡(luò),分別用θμ和θQ表示其神經(jīng)網(wǎng)絡(luò)的參數(shù)。Actor網(wǎng)絡(luò)也被稱為策略函數(shù)網(wǎng)絡(luò),用來估計(jì)當(dāng)前觀測(cè)到的狀態(tài)st與需要采取的最佳動(dòng)作at間的函數(shù)關(guān)系為at=μ(st;θμ)。Critic 網(wǎng)絡(luò)也被稱為值函數(shù)網(wǎng)絡(luò),用來估計(jì)對(duì)于任意的“狀態(tài)-動(dòng)作”對(duì)(st,at)的反饋函數(shù)的值為rt=Q(st,at;θQ)。如圖5 所示,深度強(qiáng)化學(xué)習(xí)通過min-batches 的方式從“回放緩存”[32]中找到某個(gè)時(shí)刻t到下一時(shí)刻t+1 的狀態(tài)轉(zhuǎn)換元組(st,at,st+1,at+1),并根據(jù)偏導(dǎo)數(shù)式(1)和式(2),以SGD(θμ)和SGD(θQ)的隨機(jī)梯度下降方式訓(xùn)練Actor 和Critic 表示的神經(jīng)網(wǎng)絡(luò):

圖5 基于深度強(qiáng)化學(xué)習(xí)的MPTCP 編碼調(diào)度系統(tǒng)

而另外2 個(gè)神經(jīng)網(wǎng)絡(luò)為目標(biāo)Actor 網(wǎng)絡(luò)θ μ’和目標(biāo)Critic 網(wǎng)絡(luò)θQ’,主要用來輸出每個(gè)時(shí)刻用來計(jì)算損失函數(shù)的目標(biāo)值yi:

這2 個(gè)目標(biāo)網(wǎng)絡(luò)的參數(shù)θ μ’和θQ’則是使用跟蹤參數(shù)τ<<1從θ μ和θQ緩慢更新而來:

最終的DMES 訓(xùn)練算法如算法1 所示,將主要由式(1)、(2)、(4)、(5)更新完成。在算法訓(xùn)練開始時(shí),需要隨機(jī)初始化Actor-Critic 網(wǎng)絡(luò)的θ μ和θQ值。目標(biāo)神經(jīng)網(wǎng)絡(luò)的參數(shù)θ μ’和θQ’也從初始化的參數(shù)復(fù)制而來。為了對(duì)狀態(tài)轉(zhuǎn)換進(jìn)行最小采樣(mini-batches)采樣,因此初始化“重放緩存”為R。為了實(shí)現(xiàn)對(duì)連續(xù)的動(dòng)作空間的探索過程,需要為每個(gè)動(dòng)作的探索初始化一個(gè)噪聲參數(shù)N[12]。最后將MPTCP 的子流初始狀態(tài)空間s’放入R中。初始化完成之后,DMES 將進(jìn)入一個(gè)無限循環(huán)直到收斂。對(duì)于每個(gè)Data ACK 的返回時(shí)刻t,DMES 的智能體將“探索噪聲N”和Actor 神經(jīng)網(wǎng)絡(luò)的輸出組成狀態(tài)st的匹配動(dòng)作,即at=μ(st;θ μ) +Nt。然后,at中的碼率et和比率pt將會(huì)被應(yīng)用到MPTCP 發(fā)送端的編碼器和調(diào)度器上。而在t時(shí)刻應(yīng)用at導(dǎo)致的反饋值rt(即OQS),將在t+1 時(shí)刻由Data ACK 返回,并與狀態(tài)st+1組成(st,at,rt,st+1)存儲(chǔ)到回放緩存R中。而Actor-Critic 神經(jīng)網(wǎng)絡(luò)的更新,則是通過從R中mini-batchesN個(gè)狀態(tài)轉(zhuǎn)換元組(st,at,rt,st+1),并使用式(1)和(2)進(jìn)行隨機(jī)梯度下降更新參數(shù)θ μ和θQ。而目標(biāo)Actor-Critic 神經(jīng)網(wǎng)絡(luò)θ μ’和θQ’的更新則是通過式(4)和(5)完成。

3 實(shí)驗(yàn)評(píng)估

3.1 實(shí)驗(yàn)布置及說明

為了讓MPTCP 的對(duì)端都支持動(dòng)態(tài)的FEC 編碼,需要在MPTCP 的握手報(bào)文中新增FEC_CABLE選項(xiàng)進(jìn)行對(duì)端的FEC-enabled協(xié)商。由于MPTCP是內(nèi)核空間的程序,而基于Tensorflow[33]的Actor-Critc 深度神經(jīng)網(wǎng)絡(luò)是用戶空間的程序,因此DMES使用系統(tǒng)調(diào)用函數(shù)getsockopt()從內(nèi)核空間中周期性地獲取MPTCP 的TCP 子流狀態(tài)空間st,并通過系統(tǒng)調(diào)用函數(shù)setsockopt()來執(zhí)行Actor-Critic 神經(jīng)網(wǎng)絡(luò)在不同的狀態(tài)st下輸出的MPTCP 動(dòng)作空間at,以最小化rt中MPTCP 接收端的OQS 隊(duì)列。

在訓(xùn)練DMES 時(shí),需要使用6 層疊加的多頭注意力(multi-head attention)模型組成Transformer 神經(jīng)網(wǎng)絡(luò),每個(gè)注意力模型的輸入是一個(gè)512 維的矩陣。與此同時(shí),Actor 神經(jīng)網(wǎng)絡(luò)和Critic 神經(jīng)網(wǎng)絡(luò)由2 個(gè)全連接的48 ×48 的神經(jīng)網(wǎng)絡(luò)隱藏層和神經(jīng)網(wǎng)絡(luò)輸出層組成,并使用rectified linear 函數(shù)作為隱藏層的激勵(lì)函數(shù),以及hyperbolic tangent 函數(shù)作為輸出層的激勵(lì)函數(shù)[34]。根據(jù)Adam 方法[35],將更新Actor 網(wǎng)絡(luò)和Critic 網(wǎng)絡(luò)的學(xué)習(xí)率分別設(shè)置為10-4和10-5。為了模擬動(dòng)態(tài)復(fù)雜的網(wǎng)絡(luò)環(huán)境,本節(jié)繼續(xù)使用第2.1 節(jié)中的可控實(shí)驗(yàn)床,具體的參數(shù)設(shè)置如表2 所示,且每種Case 進(jìn)行20 組多路徑傳輸實(shí)驗(yàn)。

表2 子流數(shù)變化時(shí)的網(wǎng)絡(luò)質(zhì)量參數(shù)

3.2 性能分析

(1)亂序隊(duì)列

如圖6 所示,本小節(jié)首先分析了各種異構(gòu)網(wǎng)絡(luò)環(huán)境下的MPTCP 亂序隊(duì)列分布情況。實(shí)驗(yàn)結(jié)果表明,相比于其他的方法DMES 在所有的Case 中的OQS 都是最小的。且在多子流高丟包的環(huán)境中,將MPTCP 的平均OQS 最高降低20%以上。因?yàn)樯疃壬窠?jīng)網(wǎng)絡(luò)將編碼器和調(diào)度器完美融合到一起,不僅能夠基于調(diào)度的方式自適應(yīng)輕微網(wǎng)絡(luò)異構(gòu)性而且能夠通過編碼恢復(fù)的方式極大地降低劇烈網(wǎng)絡(luò)異構(gòu)性導(dǎo)致的接收端亂序隊(duì)列數(shù)量。

圖6 不同方法在動(dòng)態(tài)異構(gòu)網(wǎng)絡(luò)下的OQS 分布情況

為了更加清楚地描述實(shí)驗(yàn)結(jié)果,本小節(jié)分析了在不同的丟包率和TCP 子流數(shù)量下的MPTCP 接收端的平均OQS 情況。如圖7(a)所示,與其他的設(shè)計(jì)方法相比,在15%~20%的高丟包環(huán)境中,DMES最高能夠?qū)⑵骄鵒QS 降低17.4% 左右,若此時(shí)MPTCP 同時(shí)建立了8 條TCP 子流,如圖7(b)所示,DMES 將平均OQS 降低到24.6%以上。

圖7 不同方法在不同丟包和子流下的平均OQS

(2)應(yīng)用延遲

由于接收端的亂序直接導(dǎo)致了數(shù)據(jù)包的延遲交付。因此傳輸實(shí)驗(yàn)中測(cè)量了MPTCP 連接級(jí)別的平均應(yīng)用延遲。如圖8 所示,在子流數(shù)目較少且丟包不高的Case 1 中進(jìn)行多路徑傳輸實(shí)驗(yàn)時(shí),由于ECF+dFEC 和DMES 幾乎沒有編碼開銷而且能夠通過調(diào)度器適應(yīng)網(wǎng)絡(luò)的異構(gòu)性,因此它們的應(yīng)用延遲明顯低于存在編碼開銷的dFEC 和FMP。當(dāng)在Case 3和Case 4 中的丟包率達(dá)到10%~15%時(shí),相比于ECF 調(diào)度器,DMES 卻能夠自適應(yīng)地編碼,因此將應(yīng)用延遲降低大約6.3%左右。最后在子流的數(shù)量為6~8 條且丟包率達(dá)到15%~ 20% 的Case 6 中,DMES 能夠?qū)⑵骄鶓?yīng)用延遲最高降低12.2%以上。

圖8 不同方法在動(dòng)態(tài)異構(gòu)網(wǎng)絡(luò)下的平均應(yīng)用延遲

(3)有效吞吐量

MPTCP 連接的吞吐量是TCP 子流共同作用的結(jié)果。但由亂序到達(dá)的報(bào)文必須按序交付給應(yīng)用層,使得MPTCP 的有效吞吐量并不是TCP 子流吞吐量的簡(jiǎn)單疊加。因此,通過測(cè)量應(yīng)用程序的實(shí)時(shí)吞吐量作為MPTCP 的有效吞吐量。如圖9 所示,在丟包率較低的Case 1 和Case 2 中,相較于ECF 調(diào)度器,DMES 的有效吞吐量提升了7.4%左右。而在丟包率較高的Case 6 中,相比于ECF、FMP 和dFEC 的設(shè)計(jì)方法,DMES 的有效吞吐量提升能夠分別達(dá)到18.3%、14.7%和15.2%左右。與此同時(shí),當(dāng)子流的數(shù)目較多時(shí)MPTCP 的網(wǎng)絡(luò)雖然變得更加復(fù)雜,但DMES 的有效吞吐量提升卻更加明顯。

圖9 不同方法在動(dòng)態(tài)異構(gòu)網(wǎng)絡(luò)下的平均有效吞吐量

4 結(jié)論

本文通過分析現(xiàn)有的編碼器、調(diào)度器以及兩者的組合在動(dòng)態(tài)多變的異構(gòu)網(wǎng)絡(luò)環(huán)境中的表現(xiàn)情況,發(fā)現(xiàn)了編碼器組合調(diào)度器在劇烈的異構(gòu)網(wǎng)絡(luò)中的性能提升空間。并通過使用深度強(qiáng)化神經(jīng)網(wǎng)絡(luò)作為函數(shù)模型的估計(jì)器,利用Transformer 神經(jīng)網(wǎng)絡(luò)處理MPTCP 連接動(dòng)態(tài)TCP 子流的全部屬性,以匹配出編碼器和調(diào)度器當(dāng)前最佳的編碼動(dòng)作和調(diào)度動(dòng)作,從而最大化MPTCP 整體傳輸性能。實(shí)驗(yàn)結(jié)果表明,本文提出的方法能夠?qū)崿F(xiàn)編碼器和調(diào)度器能力的完美融合,從而更加適應(yīng)動(dòng)態(tài)復(fù)雜的多路徑網(wǎng)絡(luò)環(huán)境。

未來工作將嘗試基于深度強(qiáng)化學(xué)習(xí)的多路徑動(dòng)態(tài)編碼調(diào)度思想應(yīng)用到用戶態(tài)的多路徑傳輸協(xié)議中,以減少內(nèi)核態(tài)與用戶態(tài)的交互開銷,同時(shí)采用更多真實(shí)環(huán)境下的多路徑數(shù)據(jù)傳輸實(shí)驗(yàn)以增加系統(tǒng)的穩(wěn)定性。

猜你喜歡
異構(gòu)編碼器數(shù)據(jù)包
ETC拓展應(yīng)用場(chǎng)景下的多源異構(gòu)交易系統(tǒng)
融合CNN和Transformer編碼器的變聲語(yǔ)音鑒別與還原
試論同課異構(gòu)之“同”與“異”
二維隱蔽時(shí)間信道構(gòu)建的研究*
轉(zhuǎn)爐系統(tǒng)常用編碼器選型及調(diào)試
民用飛機(jī)飛行模擬機(jī)數(shù)據(jù)包試飛任務(wù)優(yōu)化結(jié)合方法研究
舞臺(tái)機(jī)械技術(shù)與設(shè)備系列談(二)
——編碼器
多源異構(gòu)數(shù)據(jù)整合系統(tǒng)在醫(yī)療大數(shù)據(jù)中的研究
吳?。憾嘣悩?gòu)的數(shù)字敦煌
C#串口高效可靠的接收方案設(shè)計(jì)