常夢磊,羅述翔,李幸睿,李魯群
(上海師范大學 信息與機電工程學院,上海 201418)
車載網絡、遠程醫療、工業控制等領域需要低時延、高可靠性的網絡傳輸。網絡時延包括傳輸時延、傳播時延、處理時延和排隊時延。傳播時延與傳輸介質物理特性有關,該部分時延很難減少。所以降低網絡時延的方法,主要從處理時延、傳輸時延和排隊時延方面考慮。
目前,降低網絡時延的方法主要是優化排隊策略和優化擁塞控制。如劉正飛等[1]使用自動隊列管理算法(active queue management,AQM)管理數據等待隊列長度,提高了網絡鏈路利用率,但可能導致重要數據無法及時到達的問題。秦唯特[2]使用數據中心網絡算法(data center TCP,DCTCP)和顯式擁塞指示標記方法(explicit congestion notification,ECN)優化排隊隊列過長問題,但存在吞吐量抖動的問題。劉巖[3]采用隨機流量預測算法(random early detection,RED)解決擁塞問題,但會出現網絡鏈路參數調整不及時、擁塞控制有延遲的問題。鄧仕軍[4]提出了基于Q-learning算法的擁塞控制算法,但算法易出現因為樣本不均衡導致的過擬合現象。
清華大學在2019年提出了基于快速用戶數據報協議(user datagram protocol,UDP)互聯網連接協議(quick UDP internet connections protocol,QUIC)的最后期限感知的傳輸協議[5](deadline-aware transport protocol,DTP),該協議繼承了QUIC協議的多流支持并且具有數據塊傳輸、Deadline、優先級等多個特性,明確指出在DTP中實現低時延需要滿足數據包的Deadline。本文在DTP協議基礎上提出了ERDQN算法,該算法充分考慮了數據發送端數據塊的優先級和Deadline,優化了排隊策略,降低了排隊時延。利用強化學習網絡,自主學習調整傳輸參數,降低了傳輸時延。實驗表明本文提出的ERDQN算法相比于傳統擁塞控制算法收斂速度更快,排隊時延和傳輸時延更低,QoE更高。
傳統的擁塞控制算法采用排隊等待策略是先進先出策略(first input first output,FIFO),該策略的弊端是當數據塊中包含不同的數據類型(即包含具有不同的Deadline),無法滿足每種數據類型的Deadline。例如發送數據塊是視頻,詳細信息見圖1。

圖1 數據塊發送過程Fig.1 Data block sending process
視頻數據塊包括音頻(Audio)、圖像(Video)、控制(Coutrol)信號3種數據類型。其中Deadline的關系是
Cddl (1) 式中Cddl、Addl、Vddl分別是Control信號、Audio信號、Video信號的Deadline。如果鏈路中發生擁塞,容易造成控制信號數據等待時間過長超出Deadline問題,進而導致數據重傳,增加了網絡負載。 傳統的Reno算法,發送速率在慢啟動階段緩慢增加,當出現超時重傳或者丟包現象時,將慢啟動閾值(ssthresh)值設置為當前擁塞窗口(cwnd)的一半,重新傳輸丟失的數據包,并設置cwnd的值為ssthresh加上3個報文段(MSS)的長度,計算公式為 W=S+3×M (2) 式中:W為擁塞窗口大小,S為慢啟動閾值,M為報文段長度。網絡傳輸鏈路中出現丟包或者超時現象時,發送數據窗口減半,傳輸速率出現不規則波動,導致網絡鏈路平均傳輸速率降低。 針對以上問題,本文提出了ERDQN算法,該算法相比于傳統的擁塞控制算法在排隊策略中考慮了數據塊的Deadline和優先級,以及利用強化學習網絡自主學習調整網絡傳輸參數,實現了低時延、高可靠性的網絡傳輸。 本文提出的ERDQN算法根據當前時刻的網絡狀態預估下一個時刻網絡狀態,自動調整網絡傳輸的相關參數,從而降低了網絡傳輸的時延,保證數據高速穩定的傳輸。 ERDQN算法中的基于經驗回放的DQN[6-7]網絡包括兩大模塊(見圖2),分別是Net模塊[8]和Memory模塊[9],Net模塊的作用是計算和預估網絡參數調整帶來的收益值,Memory模塊的作用是存儲Net模塊的訓練記憶和記憶的優先級。 圖2 Experience replay DQN流程Fig.2 Flow of experience replay DQN Net模塊包括MainNet和TargetNet兩個神經網絡,網絡由全連接層、DropOut層、全連接層構成。隱藏層的單元數是30,DropOut層的權重設置為0.5。兩個神經網絡結構相同但是參數更新頻率卻不相同,其中MainNet是用于預測當前網絡狀態值,參數是實時更新的,當其參數更新100次后,將當前網絡參數傳遞給TargetNet網絡,TargetNet是用來預測目標網絡狀態值。在經過兩大模塊的運算,輸出網絡鏈路的預估狀態。在重采樣學習中,Memory模塊根據優先級抽取學習記憶以供Net重復訓練。 ERDQN算法針對傳統的FIFO排隊策略不能夠滿足不同數據類型的Deadline問題,在優化后的排隊策略中考慮了數據類型的Deadline和優先級。首先計算當前數據塊存活的時間,計算公式是 Tb=bcur-bcre (3) 式中:Tb為數據塊的存活時間,bcur為當前時間,bcre為數據塊創建時間。計算數據塊緊急程度的公式為 u=-1×Tb×D (4) 式中:u為數據塊緊急程度,Tb為數據塊存活時間,D為數據塊的截止日期。再根據不同數據類型的優先級,決定進入排隊等待隊列的順序。如在游戲視頻傳輸過程中,包含以下3種數據類型,每種不同的數據類型包括不同的Deadline和優先級,具體見表1。 表1 數據類型及相關屬性Tab.1 Data types and related attributes 優先級代表不同的增益,h為0.5,m為0.3,l為0.1,通過下式計算出進入排隊等待隊列的順序。 O=u×p (5) 式中:O為進入等待隊列順序的衡量值,u為緊急程度,p為優先級。O的數值越大,越早進入數據等待隊列。在強化學習網絡中,為了避免過擬合現象,改進了Memory模塊采樣的過程,在采樣時按一定比例抽取,即抽取每個優先級一定比例樣本。訓練記憶的優先級的劃分依據F,F是Qeval與Qtarget之間的距離,其計算公式為 F=|Qtarget-Qeval| (6) 式中:Qeval為當前網絡狀態值,Qtarget為目標網絡狀態值。F轉換成優先級的具體的公式為 R=(F+ε)η (7) 式中:R為訓練記憶的優先級,ε為一個很小的常數,該參數的設置是為了避免記憶的優先級出現零,而η是控制高低誤差之間的差異,其取值范圍是[0,1]。η可以控制優先級在具體的計算中的權重。式(8)用來計算不同優先級記憶被采樣的概率 (8) 式中Pi為訓練記憶樣本i被采樣的概率,Rk為訓練記憶樣本k的優先級。Net網絡重采樣學習時,首先選擇采樣數據的優先級,再將優先級與根節點、左子樹、右子樹相互比較,選擇相應優先級區間,重復上述過程直至葉子節點。不同優先級的采樣的比例為 H=HRi×Pi+…+HRk×Pk (9) 式中H為采樣樣本數量,HRi為樣本優先級Ri的樣本總量。該抽樣方法既保證樣本的學習效率,又避免了因為樣本不均衡可能出現的過擬合現象。 本實驗中使用的數據集和仿真環境來源于AItrans智能網絡挑戰賽,數據集包括數據塊(B)和日志。每一個B是時間長度為20 s的數據,其內容是日常使用中部分的blocks數據(bi),B中包括Video類型和Audio類型,其屬性包括時間戳(Ts)、幀大小(Fs)和是否為關鍵幀(Y),詳細信息見表2。 表2 Video和Audio的trace格式Tab.2 Trace format of Video and Audio 在數據集中,B數據中的Video類型和Audio類型擁有不同的優先級。相對于視頻來說,Audio的優先級高于Video的優先級,這樣的設計可以更好地滿足使用者的需求。 實驗的仿真環境是由清華大學構建的DTP模擬器(DTP-Emulator),該系統使用DTP作為傳輸協議,模擬了在不同網絡類型下數據傳輸的過程。在DTP-Emulator中可以使用自行設計的數據傳輸調度算法,并可以輸出數據傳輸過程中的排隊時延、傳輸時延等相關日志數據。官方給出了相關的質量系數評價模型 (1-α)×(1-Md) (10) 式中:QQoE為相關模型的質量系數,P為指數據塊的優先級,Md代表數據塊是否超過Deadline,α為數據塊在Deadline內到達接收端的增益值。 Reno算法是最常用的擁塞控制的算法,在擁塞控制方面有著良好的效果,所以本實驗在DTP-Emulator仿真環境中測試在仿真數據集和傳輸數據集中Reno算法、DQN算法和本文設計的ERDQN算法的性能,并輸出相關的傳輸日志。 實驗結果見表3、4,本文提出的ERDQN算法在排隊時延(Qt)、最大排隊延遲(Qmt)、平均傳輸速率(Vt)、QoE(QQoE)方面明顯優于Reno算法和DQN算法。實驗結果說明在不同的數據集中本文提出的ERDQN算法可以更好地滿足數據塊的優先級、Deadline的需求,能夠實現低時延、高可靠性的傳輸目標。 表3 仿真數據集結果Tab.3 Results on simulation dataset 表4 傳輸數據集結果Tab.4 Results on transmission dataset 實際網絡傳輸過程中ERDQN算法、DQN算法和Reno算法的時延(L)隨著時間(T)變化曲線見圖3,L包括排隊時延和傳播時延,它反映了擁塞控制算法在網絡傳輸中的實際效果。 圖3 L隨時間的變化Fig.3 Variation of L with time 在實際傳輸過程中,ERDQN算法的平均時延 針對傳統擁塞控制算法中不能滿足不同數據類型數據的Deadline,網絡傳輸不穩定且平均傳輸速率低的問題,本文提出了ERDQN算法,優化排隊策略,滿足了數據塊的Deadline和優先級,降低了排隊時延;且對網絡參數調整過程不斷學習,找到適宜當前網絡傳輸的最優參數,降低了傳輸時延。實驗證明本文所提出的ERDQN算法相比于Reno算法和DQN算法,具有時延低、平均傳輸速率高、QoE高等優點,且本文提出的算法收斂速度快,傳輸更加穩定,能夠滿足車載互聯網、遠程醫療、工業控制等領域的低時延、高可靠性的傳輸要求。1.2 網絡傳輸過程中不穩定且傳輸速率低
2 ERDQN算法
2.1 ERDQN算法架構

2.2 ERDQN算法描述

3 實 驗
3.1 數據集及實驗環境

3.2 實驗結果分析



4 結 論