摘 要:針對現有傳統擁塞控制算法難以適應高度動態變化的無線自組網鏈路環境的問題,提出了一種基于深度強化學習的擁塞控制性能提升方法Enhanced-CC(enhanced congestion control)。通過利用傳統擁塞控制算法對擁塞窗口進行初步探測,在此基礎上,利用深度強化技術學習鏈路實時最佳擁塞窗口區間,在傳統擁塞控制算法計算的擁塞窗口過大或過小時,對擁塞窗口進行調整,從而使發送速率能夠與高度動態變化的鏈路帶寬相匹配,提升傳統擁塞控制算法的傳輸性能。實驗結果表明,Enhanced-CC能夠大幅度提升BBR、CUBIC、Westwood、Reno等傳統擁塞控制算法的性能,同時也優于PCC、PCC Vivace等完全基于學習的擁塞控制算法以及Orca、DeepCC等結合深度強化學習與傳統擁塞控制算法方案的性能。
關鍵詞:無線自組網; 擁塞控制; 深度強化學習
中圖分類號:TP393
文獻標志碼:A
文章編號:1001-3695(2023)07-033-2138-08
doi:10.19734/j.issn.1001-3695.2022.11.0775
Method of improving performance of congestion control in wireless
Ad hoc network based on deep reinforcement learning
Chen Shihe, Xu Yanyan?, Pan Shaoming
(State Key Laboratory of Information Engineering for Surveying, Mapping amp; Remote Sensing, Wuhan University, Wuhan 430079, China)
Abstract:Most existing traditional congestion control algorithms are difficult to adapt to the highly dynamic link environment of wireless Ad hoc network. In order to solve the above problem, this paper proposed a method of improving the performance of congestion control based on deep reinforcement learning, Enhanced-CC. It conducted a preliminary detection of the congestion window by using the traditional congestion control algorithm. On this basis, the method used deep reinforcement technology to learn the real-time optimal congestion window range of the link. When the congestion window calculated by the traditional congestion control algorithm was too large or too small, the method adjusted the congestion window, so that the sending rate could match the highly dynamic link bandwidth, and the method could improve the transmission performance of the traditional congestion control algorithm. The experimental results show that Enhanced-CC can significantly improve the performance of traditional congestion control algorithms such as BBR, CUBIC, Westwood, Reno, and is superior to the performance of fully lear-ning based congestion control algorithms such as PCC and PCC Vivace, and the combination of deep reinforcement learning and traditional congestion control algorithms such as Orca and DeepCC.
Key words:wireless Ad hoc network; congestion control; deep reinforcement learning
0 引言
無線自組網是一種由多個移動節點組成的多跳通信網絡,網絡中的每個節點既是收發數據的主機,也可能作為轉發數據的路由器[1]。不同于傳統的移動通信網絡和有線網絡,無線自組網具有節點移動性高、無線信號易受干擾、誤碼率高、數據多跳傳輸[2]等特點,導致網絡拓撲頻繁變更、鏈路帶寬與時延高度動態變化以及隨機丟包率高[3],容易造成鏈路資源利用不充分或使用過度,甚至引發網絡擁塞。因此,在無線自組網中,如何動態調整擁塞控制策略以適應變化中的網絡鏈路環境是實現高效網絡傳輸的關鍵。
傳統的擁塞控制算法主要分為面向丟包的擁塞控制算法和面向時延的擁塞控制算法兩類,它們都通過維持一個擁塞窗口進而控制數據的發送速率,達到擁塞控制的目的。面向丟包的擁塞控制算法包括Reno[4]、Westwood[5]和CUBIC[6],它們將丟包作為網絡擁塞的信號,并在檢測到丟包后降低擁塞窗口的大小。此類算法在隨機丟包較多的無線網絡中容易出現頻繁降低擁塞窗口,使得鏈路資源利用不充分。Vegas[7]用延遲作為擁塞信號,在檢測到往返時延超過設定值時,就降低擁塞窗口大??;Elastic[8]算法主要根據時延來計算擁塞窗口增量,旨在充分利用網絡鏈路資源,實現高吞吐量。此類算法基于端到端往返時延比較穩定的假設進行建模,但在時延波動劇烈的無線自組網中由于難以準確衡量鏈路擁塞程度,導致可靠傳輸性能下降。BBR(bottleneck bandwidth and RTT)[9]算法結合兩類擁塞控制算法各自的優勢,通過周期性地探測鏈路帶寬和時延,從而調整擁塞窗口的大小,但BBR對鏈路帶寬或鏈路時延變化不敏感[10],在無線自組網環境中擁塞控制策略的調整滯后于高度動態變化的無線網絡鏈路環境,導致網絡傳輸效率下降。上述傳統的擁塞控制算法都是使用固定的規則來對擁塞窗口進行控制,具有良好的收斂性,但在高度動態的鏈路環境中,難以確定最佳擁塞窗口,導致網絡性能下降,因此無法適應高度動態變化的無線自組網鏈路環境。
基于學習的擁塞控制算法能自主從網絡環境中學習新的擁塞控制策略,并根據實時網絡狀態進行擁塞控制,對變化的網絡環境有更好的適應性。PCC[11]和PCC Vivace[12]通過采用凸優化梯度下降算法,設置目標函數來在線學習擁塞控制策略。QTCP[13]通過集成一個基于強化學習的Q-learning框架,使用Kanerva編碼進行Q函數逼近,使發送端能夠在線學習最優擁塞控制策略。Aurora[14]和TCP-Drinc[15]用深度強化學習技術,利用深度神經網絡強大的非線性擬合能力來對復雜鏈路環境下的網絡特征進行提取,從過去的網絡狀態和經驗中學習并搜索使得獎勵更高的行為來調整擁塞窗口大小,以應對更復雜的網絡環境。然而,上述完全基于學習的方法普遍存在著難收斂的問題,而且劇烈變化的無線自組網環境會使其學習速度慢、難收斂等問題更加突出,因此難以直接應用于無線自組網中。
Orca[16]結合了CUBIC算法和深度強化學習方法,深度強化學習智能體在每個固定時間周期內收集鏈路信息,然后計算一個基準擁塞窗口,在下一個時間周期內,CUBIC根據這個基準窗口進行自身控制邏輯的調節。該算法一定程度上緩解了完全基于學習方法帶來的開銷和收斂問題,但該算法獎勵函數所用到的鏈路指標滯后于鏈路狀態的變化,導致其學習效率下降。DeepCC[17]通過深度強化學習方法為傳統的擁塞控制算法限定一個擁塞窗口最大值,從而優化傳統擁塞控制算法,但該算法只在傳統擁塞控制算法擁塞窗口決策過大時對其進行限制,當傳統擁塞控制算法擁塞窗口決策過小時,該算法無法提升傳統擁塞控制算法的性能表現。
在高度動態變化的無線自組網環境中,最佳擁塞窗口大小是隨著鏈路環境變化而變化的。大幅度的網絡波動使得最佳擁塞窗口也面臨著巨大的波動,而一定范圍內的小幅度網絡波動,最佳擁塞窗口并不會出現較大的變化,而是在一個區間內小幅度變化?,F有的基于深度強化學習的擁塞控制算法雖然能夠適應動態環境的變化,但需要頻繁搜索當前最佳擁塞窗口的大小,造成了大量計算資源的浪費,同時,基于深度強化學習的方法還存在著收斂慢的問題。傳統擁塞控制算法雖然計算開銷小,但其擁塞窗口調整規則無法適應動態網絡環境的變化。
針對上述問題,本文結合傳統的經典擁塞控制算法與基于學習的擁塞控制算法的優勢,提出了一種基于深度強化學習的無線自組網擁塞控制性能提升方法Enhanced-CC。通過具有強大學習能力的深度強化學習技術來學習實時傳輸過程中擁塞窗口的最佳區間。當鏈路環境出現巨大變化時,深度強化智能體可以進行快速重新探索,并通過新的最佳擁塞窗口區間對傳統擁塞控制算法進行調整以適應新的網絡環境;當網絡在小范圍內波動時,仍可以使用傳統擁塞控制算法進行擁塞窗口的探索,從而實現了在耗費更少計算資源的情況下,利用深度強化學習方法有效提升各種傳統擁塞控制算法在無線自組網動態變化網絡中的性能。為了減小智能體的動作探索空間,加速深度強化學習算法的收斂速度,本文利用傳統擁塞控制算法快速進行擁塞窗口的探測,在此基礎上,深度強化學習算法通過在線訓練的方式,與動態變化的網絡環境進行持續交互收集經驗數據以學習最佳擁塞窗口區間;為進一步提升深度強化學習算法的學習速度和收斂速度,本文提出了一種基于XGBoost[18]算法的獎勵函數設計,預先對網絡環境中的鏈路信息與擁塞狀態之間對應的關系進行學習,在傳輸過程中實現對鏈路實時擁塞狀態概率的預測,并根據實時的鏈路擁塞狀態概率生成獎勵函數值,高效引導算法模型的收斂方向,加快收斂速度,從而適應高度動態變化的無線自組網環境。仿真實驗表明,在鏈路帶寬、時延高度動態變化下的無線自組網環境中,Enhanced-CC能夠大幅度提升BBR、CUBIC、Westwood、Reno等傳統擁塞控制算法的性能,同時也優于PCC、PCC Vivace等完全基于學習的擁塞控制算法以及Orca、DeepCC等結合深度強化學習與傳統擁塞控制算法方案的性能。
1 Enhanced-CC框架
Enhanced-CC的框架如圖1所示,其主要由傳統擁塞控制模塊、監視器、狀態生成器、基于XGBoost分類器的獎勵生成器、DDPG[19]智能體和發送緩沖區六個部分組成。
傳統擁塞控制模塊根據網絡鏈路返回的ACK(acknow-ledgement)信息,計算并更新擁塞窗口大小以及鏈路狀態信息。監視器模塊負責定期收集底層傳統擁塞控制算法計算的擁塞窗口和其所需的網絡統計信息。每個監視周期結束時,狀態生成器使用監視器收集的信息生成狀態向量S,表明該時間段內的網絡鏈路狀態。基于XGBoost算法的獎勵生成模塊根據當前網絡狀態信息判斷當前網絡出現擁塞的概率。如果當前網絡擁塞概率不大于概率閾值pth,為獎勵函數提供正增益,反之,則為獎勵函數提供負增益。DDPG智能體根據生成的當前狀態向量以及與其相關聯的獎勵,來學習當前網絡狀態下一個監視周期內擁塞窗口的最大值(cwndmax)和最小值(cwndmin),并據此更新當前max filter、min filter的值。當每次接收到ACK時,如果底層傳統擁塞控制算法計算的擁塞窗口在max filter和min filter值范圍內,則使用底層傳統擁塞控制算法計算的擁塞窗口對發送緩沖區大小進行調整;如果底層傳統擁塞控制算法輸出的擁塞窗口過大或者過小,則使用max filter的值或min filter的值對發送緩沖區大小進行調整,從而使數據發送的速率與高度動態變化的鏈路帶寬相匹配,從而提高傳統擁塞控制算法在復雜網絡環境下的性能。
2 Enhanced-CC詳細設計
2.1 監視器
監視器負責在每一個監視周期內從底層讀取數據包統計信息,并向智能體提供表示環境的更新輸入,從而從環境中收集信息。通過觀察監視周期內傳入的ACK報文,不斷生成所需的報文統計信息,并且獨立于底層擁塞控制方案。監視器收集的統計信息都是網絡實時測量的。本文采用的統計數據如表1所示。這些統計數據的計算發生在上一個監視周期結束到本次監視周期結束時間內。
2.2 狀態生成器
狀態生成器是一個信息處理模塊,它管理來自監視器的網絡動態信息,并為智能體生成輸入狀態。每當監視器生成數據包統計信息時,狀態生成器就更新狀態向量。其中,t時刻的鏈路監視信息可以表示為ot=[Thravg,Acknum,RTTavg,cwndcl]。
無線自組網環境下的網絡狀態高度復雜且噪聲大。由于鏈路監視信息中鏈路指標的變化趨勢可以反映鏈路狀態變化,所以狀態生成器將k個歷史相鄰監視周期的鏈路監視信息與當前觀測到的鏈路監視信息連接起來,生成最終狀態。因此,t時刻的最終狀態(即智能體的輸入)為向量st=(ot,ot-1,…,ot-k),其中ot和ot-k-1分別表示在時間t和t-k-1觀察到的統計數據。
2.3 獎勵生成器
深度強化學習智能體通過與網絡環境進行交互獲取實時鏈路狀態信息,并根據鏈路狀態信息計算獎勵值。在深度強化學習算法中,智能體會根據獎勵值來評估所選動作的優劣,學習獲取更多獎勵的動作,以期最大化累積獎勵。因此如何選擇合適的獎勵函數至關重要。
針對急劇變化的無線自組網環境,本文提出了一種基于XGBoost算法的獎勵函數設計,通過離線訓練的方式預先對網絡環境中的鏈路狀態信息與擁塞狀態之間對應的關系進行學習,然后在深度強化學習算法在線訓練過程中,根據實時鏈路狀態信息,預測鏈路擁塞的概率,并據此概率智能調整獎勵函數值的大小,從而快速引導智能體向正確方向收斂。
2.3.1 基于XGBoost的擁塞概率預測設計
如圖2所示為設計的擁塞概率預測模型架構。首先,進行特征的選??;接下來,從NS3網絡仿真環境中收集和標記數據,形成訓練數據集;然后,確定具體的學習算法并逐步訓練模型;最后,將離線訓練好的擁塞概率預測模型加入到深度強化學習智能體的在線訓練中,當發送端收到ACK時,發送端根據ACK信息提取網絡狀態特征X,并使用擁塞概率預測模型預測當前鏈路擁塞的概率p。
首先進行特征的選擇。鏈路擁塞直接體現在鏈路往返時延的增加上,因此本文將RTT(round trip time)指標考慮在內。然而,對于不同的網絡鏈路,RTT的取值存在著較大的差異,本文采用RTT、最近10RTT時間間隔內最小RTT(LatestMinRTT)的比值作為特征,而不是直接采用RTT原始值作為特征。此外,發送速率(v)與實際吞吐量(Thr)之間的比值關系也能夠反映網絡擁塞的情況,當發送速率遠大于吞吐量時,當前鏈路就會出現嚴重的擁塞。往返時延的抖動也反映了網絡的穩定性,其值為前后兩個往返時延的差值,即Jitter=RTTt-RTTt-1,但無線環境下的隨機丟包也可能會造成時延的抖動。因此,需要對該值進行平滑處理以解決隨機丟包所產生的時延抖動。處理后的往返時延抖動估計值為Jitterestimate=αJitterestimate+(1-α)Jitter;α越大,前一時刻的估計值影響越大,α越小,當前時刻往返時延抖動的影響越大。本文中取α為0.125。本文選取的最后一個特征是丟包率(loss),當丟包率大幅升高時,表明網絡已經出現了嚴重的擁塞。因此,定義X=[RTTLatestMinRTT,vThr,Jitterestimate,loss] 。
確定特征后,開始收集訓練數據集D。本文在NS3網絡仿真模擬器中模擬不同帶寬B、不同傳輸時延R、不同丟包率L的網絡場景,并在發送端選用不同的擁塞控制算法(BBR、CUBIC、Reno)進行擁塞控制。在每次接收到ACK反饋數據包時,計算并更新當前[RTTLatestMinRTT,vThr,Jitterestimate,loss]作為特征xi,并設
為特征yi。其中,yi=1表示當前鏈路處于擁塞狀態,反之,則表示處于非擁塞狀態。這是因為在計算機網絡中,網絡利用率定義為U=1-R/RTT。其中R表示網絡空閑時的時延,RTT表示網絡當前的時延,當網絡利用率接近最大值1時,RTT就趨于無窮大,通??刂凭W絡利用率不超過50%。因此選擇R/RTTlt;0.5作為網絡擁塞的標準。最后,再將收集到的〈xi,yi〉加入到訓練數據集D中。
確定訓練數據集后,需要選取合適的學習算法來訓練擁塞概率預測模型。本文的訓練數據集可視為由行、列組成的表格數據,其中行代表著不同樣本,列代表著樣本觀測值的不同特征,而時延、吞吐量和丟包率等特征之間并不存在強相關性。在這種數據集上,基于樹的模型相較于深度學習模型更容易產生良好的預測[20,21] 。這是因為表格數據集中的變量之間往往不存在空間相關性,或者特征之間的相關性復雜且不規則,導致深度神經網絡雖然有十分強大的表征能力,而應用于此類數據時卻因為不能很好地學習目標函數中不規則的部分而受到限制[22]。在kaggle、天池等數據科學競賽中,基于樹的模型(如XGBoost)在多個表格數據集上的表現均被證明優于深度學習模型。因此本文選擇基于樹的模型中應用廣泛的XGBoost作為擁塞概率預測模型的學習算法。 XGBoost是一種廣泛用于回歸和分類問題的梯度提升決策樹算法。其利用集成學習的思想,通過集成多棵CART(classification and regression trees)決策樹的弱學習器來提升預測精度,每個弱學習器將上一個弱學習器的預測殘差作為逼近目標,并加入正則化項來避免過擬合提高算法的魯棒性。其目標函數定義為
其中:∑il(i,yi)為XGBoost模型在訓練樣本上的誤差;i為模型的預測結果;yi表示樣本的真實值;∑kΩ(fk)為正則化項,用來約束CART決策樹的深度,降低樹的復雜程度,以避免過擬合,提高模型的泛化能力。計算單個CART決策樹的復雜程度定義為
其中:T是CART決策樹中的葉子節點數;w2j表示節點權重的平方;γ和λ是系數。XGBoost采用疊加式訓練(additive trai-ning)的方式進一步最小化目標函數。令i…(t-1)i表示第(t-1)次的迭代結果,則第t次迭代的目標函數更新為
為了找到最小化目標函數的ft(xi),XGBoost利用泰勒二級展開來近似它,因此目標函數近似為
2.5 動作
為了進一步減小動作探索空間以加快智能體收斂,需要對擁塞窗口區間和智能體所選動作之間建立映射。 本文使用上一監視周期結束時底層擁塞控制算法計算的cwndcl作為計算cwndmax和cwndmin的基準,并定義動作參數α、β,將cwndmax和cwndmin的值與智能體周期性地從狀態生成器接收到的cwndcl的值關聯起來,計算公式如下所示。
cwndmax=2α×cwndcl+β×cwndcl
cwndmin=2α×cwndcl-β×cwndcl(15)
其中:α∈[-1,1],參考傳統擁塞控制算法的乘性增加、乘性減?。╩ultiplicative increase multiplicative decrease,MIMD)的窗口探索方式,使智能體能夠快速探索當前基準窗口大小。在此基礎上,通過β(β∈[0,0.2])進一步微調,確定出當前最佳擁塞窗口的區間。通過調整α、β來確定最佳擁塞窗口的區間,從而縮小了動作空間范圍,加快了收斂速度。確定下一監視周期的最佳擁塞窗口的區間后,在下一個監視周期內,當底層擁塞控制算法輸出的擁塞窗口在該區間內時,由底層擁塞控制算法進行窗口的調節;當底層擁塞控制算法輸出的擁塞窗口過小或過大時,使用cwndmax和cwndmin對擁塞窗口進行調節。最終保證最大化利用鏈路資源的同時,減少網絡的擁塞。
3 仿真實驗
3.1 實驗設置
本文通過NS3仿真器[25]來模擬真實的無線自組網高度動態變化環境。由于無線自組網中節點的頻繁移動,導致網絡拓撲高度動態變化,對于鏈路環境體現在帶寬、時延的高度動態變化,所以本文通過等設置鏈路時延、鏈路帶寬按照周期性進行方波變化,同時還伴隨著1%的隨機丟包來設置一個動態變化的鏈路環境。具體訓練中使用的網絡參數如表2所示。
智能體的actor網絡和critic網絡均使用全連接架構,包含2個隱藏層,每層有1 000個神經元,激活函數使用tanh。Enhanced-CC智能體訓練的主要參數設置如表3所示。
本文通過使用四種不同的傳統擁塞控制算法作為底層擁塞控制方案來研究Enhanced-CC方法。具體來說,本文分別選擇BBR、CUBIC、Reno和Westwood作為Enhanced-CC方法的底層擁塞控制方案,并將其命名為EBBR、ECubic、EReno、EWestwood,以表示新方案。
3.2 訓練過程
為了訓練智能體,本文使用具有64個核心、256 GB RAM,并配備GEFORCE RTX 3090 GPU的服務器,收集學習過程中每個回合的累積獎勵情況,結果如圖4所示。由圖可知,各算法的累積獎勵值均隨著訓練回合的增加而增加。其中,EBBR、ECubic、EWestwood、EReno均在100回合左右達到收斂狀態,累積獎勵值均穩定在1 000左右。而對于相同訓練配置下,去除最大最小擁塞窗口調節的Clean-Slate方案則需要200回合左右才能達到收斂狀態,且其收斂后的累積獎勵函數值在800~900,低于其他方案收斂后的累積獎勵值。
如圖4所示,Enhanced-CC方案的性能優于Clean-Slate方案,累積獎勵值高出10%。這是因為在Clean-Slate方案中,直到每個監控周期結束,擁塞窗口才會發生變化。然而,在Enhanced-CC中,在每一個監控周期內,底層擁塞控制算法仍然可以主動改變擁塞窗口的值,以探測更多的帶寬或緩解網絡擁塞。這種動態性有助于Enhanced-CC實現比Clean-Slate方案更穩定的性能,并在提高其吞吐量的同時,減少網絡擁塞,使用底層擁塞控制算法進行智能體動作空間的探索,也進一步提高了收斂的速率。
3.3 性能評估
本節利用NS3仿真軟件分別構建鏈路帶寬劇烈波動場景以及鏈路時延劇烈波動場景,以模擬無線自組網中高度動態變化的網絡環境,并測試Enhanced-CC方法在鏈路環境不同劇烈變化程度下對各種傳統算法的提升效果。為充分檢驗本文所提算法在無線自組網下的性能表現,本文還將Enhanced-CC在兩種場景下與16種代表不同設計策略的方案進行了比較。其中,Copa[26]、LEDBAT[27]和Elastic[8]是面向低時延的基于時延的擁塞控制方法,而CUBIC[6]、Westwood[5]、Reno[4]是面向吞吐量的基于丟包的擁塞控制方法。BBRD[28]、BBRPlus[28]、HSR[29]、BBRv2[30]均是BBR針對無線環境的改進算法。另外,PCC[11]、PCC Vivace[12]是基于學習的擁塞控制算法,Orca[16]是結合CUBIC與深度強化學習的混合式擁塞控制算法,DeepCC[17] 是針對傳統擁塞控制算法的性能提升方法,本文同樣選擇BBR、CUBIC、Reno和Westwood作為DeepCC方法的底層擁塞控制方案進行實驗,并將其命名為DBBR、DCubic、DReno、DWestwood。Clean-Slate是與Enhanced-CC相同設置下訓練的基于深度強化學習的擁塞控制算法。
3.3.1 帶寬劇烈波動場景性能對比
鏈路帶寬高度動態變化是無線自組網鏈路環境的顯著特征之一,為對比不同算法在鏈路帶寬劇烈波動場景下的表現,設置實驗網絡拓撲中兩個節點source和destination之間的鏈路帶寬在5~15 Mbps方波變化,具體實驗仿真環境參數如表4所示。
圖5展示了在不同帶寬波動劇烈程度下,對不同底層擁塞控制方案使用Enhanced-CC方法與不使用Enhanced-CC方法的性能對比。在不使用Enhanced-CC方法情況下,BBR在帶寬增長時,以乘性增的方式探測帶寬,對帶寬增長的反映很靈敏;但是當鏈路帶寬下降時,由于其無法快速感知到鏈路狀態的變化,所以不會降低擁塞窗口大小,導致在此期間發送速率高于鏈路實際帶寬,進而造成丟包或者擁塞。因此BBR在帶寬劇烈波動場景下,雖然能夠保持較高的吞吐量,但是也引入了較大的時延。而Reno、CUBIC、Westwood算法在隨機丟包較多、鏈路帶寬高度動態變化的無線自組網中容易發生擁塞誤判而頻繁降速,因此它們的吞吐量較低,相應的時延也較低。在使用Enhanced-CC方法后,所有方案的吞吐量都提高到與BBR相當的水平,但是時延均比BBR降低30%以上。
這是因為Enhanced-CC方法中的網絡擁塞概率預測模型能夠實時感知鏈路擁塞狀態概率,并根據鏈路擁塞狀態概率設置獎勵函數引導智能體調節擁塞控制策略,在底層傳統擁塞控制方案擁塞窗口過大或過小時及時進行調整,最終實現提高傳統擁塞控制方案吞吐量的同時維持較低的延遲。
為了將Enhanced-CC與其他各種擁塞控制算法進行充分對比,圖6展示了鏈路帶寬在躍變周期為10 s的方波變化下Enhacned-CC與其他16種代表不同設計策略方案的性能對比。其中,根據預定義的網絡事件采取預定義擁塞控制策略的傳統擁塞方案設計難以適應鏈路帶寬的高度動態變化,因此容易出現鏈路資源利用的不充分(CUBIC、Westwood、 Reno、Copa和Ledbat)或過度使用(BBR、HSR、BBRPlus、BBRD,BBRv2和Elastic),進而呈現出低吞吐量低時延或者高吞吐量高時延的特征。而基于機器學習凸優化梯度下降思想的PCC和Vivace方案由于未充分考慮網絡變化的影響而難以向正確的方向收斂,從而使得鏈路負載過重(PCC)或者鏈路資源利用不充分(Vivace)。將深度強化學習與傳統擁塞控制算法CUBIC結合的混合式擁塞控制算法Orca雖然通過智能體糾正CUBIC擁塞控制窗口基準的方式達到了較高的吞吐量,但由于其用于獎勵計算的吞吐量和時延極值為歷史極值,導致其對鏈路狀態的感知不準、學習效率低,所以其時延也較高。而在對不同傳統擁塞控制算法開啟DeepCC方案設計后,DeepCC在不損失BBR吞吐量的同時,將其時延減少了28%。但對于CUBIC、Reno以及Westwood算法,由于其在隨機丟包環境下對鏈路資源利用不充分,并未出現擁塞窗口過大的問題,所以DeepCC對其性能無明顯提升。與Enhanced-CC相同訓練設置下的Clean-Slate方案吞吐量比Enhanced-CC低8%左右,而時延卻比Enhanced-CC高,這是因為在Clean-slate方案中,擁塞窗口在每個監控周期結束之前都不會發生變化,智能體是唯一控制擁塞窗口的實體。然而,在Enhanced-CC中,在每個監控周期內,底層擁塞控制方案可以主動改變擁塞窗口的值。與Clean-Slate方案相比,這種動態性為Enhanced-CC帶來了更穩定及更高的性能表現。
3.3.2 時延劇烈波動場景性能對比
由于無線自組網中節點移動頻繁,網絡拓撲高度動態變化,所以無線自組網端到端鏈路時延也呈現劇烈波動的特點。為對比不同算法在鏈路帶寬劇烈波動場景下的表現,設置實驗網絡拓撲中兩個節點source和destination之間的鏈路往返時延在30~90 ms方波變化,具體實驗仿真環境參數如表5所示。
圖7展示了在不同時延波動劇烈程度下,對不同底層擁塞控制方案使用Enhanced-CC方法與不使用Enhanced-CC方法的性能對比。在不使用Enhanced-CC方法情況下,BBR在時延上升后,需要固定時間窗口(10 s)之后才能夠重新探測到鏈路真實物理時延。在此期間,由于對鏈路真實物理時延的估計過小,導致擁塞窗口過小,使得BBR只能以較低的速率傳輸數據,無法有效利用網絡帶寬,所以BBR呈現出低吞吐量低時延的特征。而CUBIC、Reno和Westwood算法在隨機丟包較多的無線網絡環境中使用丟包來檢測擁塞,并在檢測到擁塞后降低擁塞窗口大小,從而導致較低的吞吐量,相應的時延也較低。而在使用Enhanced-CC方法后,所有方案的吞吐量都得到了大幅度的提高。例如,Enhanced-CC在引入較小時延的情況下,將CUBIC吞吐量提高了約3倍,將Westwood、Reno吞吐量提高了約2倍。Enhanced-CC在引入少許時延的情況下,大幅提升了傳統擁塞控制算法在無線自組網中的傳輸效率,使得整體傳輸性能更優。
圖8展示了鏈路時延在躍變周期為10 s的方波變化下Enhanced-CC與其他16種不同方案在時延劇烈變化場景下的性能對比。其中,傳統擁塞控制算法在時延劇烈變化的無線自組網環境中,仍然基于固定的事件采取固定的擁塞控制規則,無法適應網絡環境的劇烈變化,造成較低的鏈路利用率,進而呈現出低吞吐量低時延的特征?;趯W習的PCC和Vivace方案由于未考慮網絡變化的影響而難以向正確的方向收斂,從而使得鏈路負載過重(PCC)或者鏈路資源利用不充分(Vivace)?;旌鲜綋砣刂扑惴∣rca的獎勵函數目的是最大化利用鏈路資源,因此其吞吐量高的同時,時延也較高。而對不同傳統擁塞控制算法開啟DeepCC方案設計后,DeepCC對BBR、CUBIC、Westwood以及Reno算法均無性能上的提升。這是因為在隨機丟包和時延劇烈變化情況下,BBR、CUBIC、Westwood以及Reno算法本身無法充分利用鏈路,所以也未出現擁塞窗口決策過大的問題,DeepCC無法對它們進行干預調整。與Enhanced-CC相同訓練設置下的Clean-Slate方案在時延與Enhanced-CC大致相同的情況下,吞吐量比Enhanced-CC低10%左右,即Enhanced-CC在維持較高吞吐量的同時時延較低。這主要是Enhanced-CC中的智能體不斷學習并補充擁塞控制規則以維持鏈路處于非擁塞狀態,從而在維持較高吞吐量的同時較少因鏈路擁塞而導致時延增大,實現數據高效傳輸。
4 結束語
本文針對現有傳統擁塞控制算法在高度動態變化下的網絡鏈路環境中無法合理利用帶寬等問題,提出了一種基于深度強化學習的擁塞控制性能提升方法Enhanced-CC。利用傳統擁塞控制算法所建立的網絡模型對鏈路環境進行快速探索,達到減小動作搜索空間、加快收斂速度的目的;利用深度強化學習強大的學習能力不斷學習并更新鏈路實時最佳擁塞窗口區間,在傳統擁塞控制算法計算擁塞窗口過大或過小時,對其進行調整,從而提升傳統擁塞控制算法的傳輸效率。針對深度強化學習算法在無線自組網擁塞控制應用中面臨的獎勵函數無法及時準確反映鏈路狀態的問題,本文提出了一種基于XGBoost算法的獎勵生成設計。通過網絡擁塞概率預測模型實時跟蹤鏈路擁塞狀態,并將鏈路實時擁塞狀態概率與智能體獎勵函數相關聯,從而進一步實現快速高效的引導智能體向正確的方向收斂。本文通過仿真實驗表明,在鏈路帶寬、時延高度動態變化下的無線自組網環境中,Enhanced-CC能夠將BBR、CUBIC、Westwood、Reno等傳統擁塞控制算法的吞吐量提升2、3倍以上,并優于PCC、PCC Vivace完全基于學習的擁塞控制方案以及Orca、DeepCC等結合深度強化學習與傳統擁塞控制算法方案。
由于大部分的傳輸任務在數據傳輸時只使用單一的網絡鏈路進行傳輸,導致剩余的網絡鏈路資源空閑。為了充分利用各網絡鏈路資源,利用多個網絡接口建立多條傳輸鏈路的傳輸方式應運而生,它能夠有效提升網絡帶寬,降低服務中斷的風險。然而在無線自組網下存在的多種異構無線鏈路中,每條鏈路在帶寬、時延等物理特性上存在巨大差異,現有的多路徑擁塞控制算法由于缺乏對多樣化網絡鏈路的適應能力,存在接收端緩沖區阻塞、帶寬未能充分利用等問題,所以下一步將考慮對無線自組網異構網絡場景下的多路徑擁塞控制算法進行進一步的研究與改進。
參考文獻:
[1]Yan Mingming, Li Xu, Huang Wenjun. MPNC: improving reliability of data transmission in wireless Ad hoc networks[C]//Proc of the 10th International Conference on Logistics, Informatics and Service Sciences.Singapore:Springer,2020:523-538.
[2]趙江東.基于網絡環境感知的無線自組網路由協議設計與實現[D].成都:電子科技大學,2021.(Zhao Jiangdong. Design and implementation of wireless Ad hoc network routing protocol based on network environment awareness[D].Chengdu:University of Electronic Science and Technology of China,2021.)
[3]程德懌,喬健,朱俊峰.基于數據分組到達時間的無線ad hoc擁塞避免算法[J].計算機應用與軟件,2021,38(9):127-132.(Cheng Deyi, Qiao Jian, Zhu Junfeng. Congestion avoidance algorithm for wireless Ad hoc based on data packet arrival time[J].Computer Applications and Software,2021,38(9):127-132.)
[4]Jacobson V. Congestion avoidance and control[J].ACM SIGCOMM Computer Communication Review,1988,18(4):314-329.
[5]Mascolo S, Bari P D, Torino P D, et al. TCP Westwood: bandwidth estimation for enhanced transport over wireless links[C]//Proc of the 7th Annual International Conference on Mobile Computing and Networking.New York:ACM Press,2001:287-297.
[6]Sangtae H, Injong R, Xu Lisong. CUBIC: a new TCP-friendly high-speed TCP variant[J].ACM SIGOPS Operating Systems Review,2008,42(5):64-74.
[7]Brakmo L S, O'Malley S W, Peterson L L. TCP Vegas: new techniques for congestion detection and avoidance[J].ACM SIGCOMM Computer Communication Review,1994,24(4):24-35.
[8]Alrshah M A, Al-Maqri M A, Othman M. Elastic-TCP: flexible congestion control algorithm to adapt for high-BDP networks[J].IEEE Systems Journal,2019,13(2):1336-1346.
[9]Cardwell N, Cheng Yuchung , Gunn C S, et al. BBR: congestion-based congestion control[J].Communications of the ACM,2017,60(2):58-66.
[10]董瀚澤,郭志川.BBR擁塞控制算法在無線網絡中的性能改進[J].哈爾濱工業大學學報,2019,51(11):63-67.(Dong Hanze, Guo Zhichuan. Performance improvement of BBR congestion control algorithm in wireless network[J].Journal of Harbin Institute of Technology,2019,51(11):63-67.)
[11]Mo Dong, Li Qingxi, Zarchy D, et al. PCC: re-architecting congestion control for consistent high performance[C]//Proc of the 12th USENIX Conference on Networked Systems Design and Implementation.[S.l.]:USENIX Association,2015:395-408.
[12]Mo Dong, Tong Meng, Zarchy D, et al. PCC Vivace: online-learning congestion control[C]//Proc of the 15th USENIX Symposium on Networked Systems Design and Implementation.[S.l.]:USENIX Associa-tion,2018:343-356.
[13]Li Wei, Zhou Fan, Chowdhury K R, et al. QTCP: adaptive congestion control with reinforcement learning[J].IEEE Trans on Network Science and Engineering,2019,6(3):445-458.
[14]Jay N, Rotman N, Godfrey B, et al. A deep reinforcement learning perspective on internet congestion control[C]//Proc of International Conference on Machine Learning.New York:ACM Press,2019:3050-3059.
[15]Xiao Kefan, Mao Shiwen, Tugnait J K. TCP-Drinc: smart congestion control based on deep reinforcement learning[J].IEEE Access,2019,7:11892-11904.
[16]Abbasloo S, Yen C Y, Chao H J. Classic meets modern: a pragmatic learning-based congestion control for the Internet[C]//Proc of An-nual conference of the ACM Special Interest Group on Data Communication on the Applications,Technologies,Architectures,and Protocols for Computer Communication.New York:ACM Press,2020:632-647.
[17]Abbasloo S, Yen C Y, Chao H J. Wanna make your TCP scheme great for cellular networks? Let machines do it for you?。跩].IEEE Journal on Selected Areas in Communications,2020,39(1):265-279.
[18]Chen Tianqi, Guestrin C. XGBoost: a scalable tree boosting system[C]//Proc of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York:ACM Press,2016:785-794.
[19]Lillicrap T P, Hunt J J, Pritzel A, et al. Continuous control with deep reinforcement learning[J/OL].Computer Science,2015,8(6).(2015-09-09)[2023-01-29].https://arxiv.org/pdf/1509.02971.pdf.
[20]Shwartz-Ziv R, Armon A. Tabular data: deep learning is not all you need[J].Information Fusion,2022,81:84-90.
[21]Grinsztajn L, Oyallon E, Varoquaux G. Why do tree-based models still outperform deep learning on tabular data?[J/OL].CoRR,2022.(2022-07-18)[2023-01-29].https://doi.org/10.48550/arXiv.2207.08815.
[22]Borisov V, Leemann T, Seler K, et al. Deep neural networks and tabular data: a survey[J/OL].IEEE Trans on Neural Networks and Learning Systems.(2022-12-23)[2023-01-29].https://doi.org/10.1109/TNNLS.2022.3229161.
[23]Peters J, Schaal S. Natural actor-critic[J].Neurocomputing,2008,71(7-9):1180-1190.
[24]Silver D, Lever G, Heess N, et al. Deterministic policy gradient algorithms[C]//Proc of International Conference on Machine Learning.New York:ACM Press,2014:387-395.
[25]Gawlowicz P, Zubow A. NS3-gym: extending OpenAI Gym for networking research[J/OL].CoRR.(2018-08-09)[2023-01-29].http://arxiv.org/abs/1810.03943.
[26]Arun V, Balakrishnan H. Copa: practical delay-based congestion control for the Internet[C]//Proc of Applied Networking Research Workshop.New York:ACM Press,2018:19.
[27]Rossi D, Testa C, Valenti S, et al. LEDBAT: the new BitTorrent congestion control protocol[C]//Proc of the 19th International Conference on Computer Communications and Networks.Piscataway,NJ:IEEE Press,2010:1-6.
[28]Zhang Songyang, Lei Weimin, Zhang Weimin, et al. An evaluation of bottleneck bandwidth and round trip time and its variants[J].International Journal of Communication Systems,2021,34(9):e4772.
[29]Wang Jing, Zheng Yufan, Ni Yunzhe, et al. An active-passive mea-surement study of TCP performance over LTE on high-speed rails[C]//Proc of the 25th Annual International Conference on Mobile Computing and Networking.New York:ACM Press,2019:1-16.
[30]Cardwell N, Cheng Yuchung, Yeganeh S H, et al. BBRv2: a model-based congestion control[C]//Proc of ICCRG at IETF 104th Mee-ting.2019:1-36.