閱讀AuTO利用深度強化學習自動優化數據中心流量工程(一)


Sigcomm'18

AuTO: Scaling Deep Reinforcement Learning for Datacenter-Scale Automatic Traffic Optimization

問題

主要問題:流量算法的配置周期長,人工配置難且繁復。人工配置的時間成本大,人為錯誤導致的性能降低。

要計算MLFQ的閾值參數是很麻煩的事情,先前有人構建了一個數學模型來優化這個閾值,在幾個星期或者幾個月更新一次閾值,更新周期過長。

可以使用DRL(Deep Reinforcement Learning)的方法根據環境自動配置(決策)算法參數,減少人工配置的時間成本,減少人為錯誤導致的性能降低。

基於主流框架TensorFlow或是pytorch等框架的的DRL難以掌控TO(traffic optimization)的小流(速度過快)

使用DRL優化時遇見的問題:DRL配置TO時,由於小流通過速度大於配置下發的速度,所以來不及下發配置。

解決方法

優化的算法:采用 Multi-Level Feedback Queueing(MLFQ)來管理流。第一級別的隊列為小流,所有流初始化為小流。當流的大小超過閾值時,判定為大流,在隊列中被降級到第二隊列。可以有k個隊列,按照流的不同級別分在不同的隊列當中。

決策參數:基於比特數和閾值來對每個流做出決策,判定流屬於第幾級別的隊列。

評價參數:當一次流處理完成時,計算一個比率,比率為本次的吞吐量與前一次的吞吐量之比。 吞吐量Sizef(流長)與FCT(Flow completion time)之比。

使用DRL優化:使用強化學習優化閾值。根據結果反饋調整閾值的設定。

狀態和獎勵返回是隨機的馬爾科夫過程

模型選擇

公式一

公式一的改進:公式二

算法主要使用公式二

公式二的相關解釋

算法

論文從強化學習的算法PG講到DPG再講到DDPG,最后使用了DDPG。

經過查詢資料,DDPG使用了深度神經網絡,並且針對的是決策值為連續的情況,而參數值的變化又是連續的,所以使用DDPG較為合適且有效。

當一次流處理完成時,計算一個比率,比率為本次的吞吐量與前一次的吞吐量之比。 吞吐量Sizef(流長)與FCT(Flow completion time)之比。

框架構建

模型組成:

  • 邊緣系統
  • 中心系統

邊緣系統

有一個MLFQ,首級隊列為小流,當流超過閾值,判定為大流,在隊列中被降級。

邊緣系統分為增強模塊探測模塊

  • 探測模塊:獲取流的狀態信息(包括所有流的大小和處理完成的時間)
  • 增強模塊:獲取中心系統的action,執行操作。

中心系統

其中的DRL有兩個agent:

  • sRLA(short Reinforcement Learning Agent): 優化小流閾值
  • lRLA(long Reinforcement Learning Agent):優化大流,速率、路由、優先級


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM