public by sigcomm2018 NETAI
原:DeepConf: Automating Data Center Network Topologies
Management with Machine Learning
譯:Conf:基於機器學習的數據中心拓撲自動化管理
作者:Saim Salman, Christopher Streiffer, Huan Chen, Theophilus Benson, and Asim Kadav.
from:Brown University,Duke University,UESTC,Brown University,NEC Labs
摘要:
- 近幾年,爲了改進數據中心網絡的性能和效率已經開發了許多技術。雖然這些技術提供高精確度,但是這些技術通常使用工作負載和硬件這些特殊領域的屬性來進行啓發式設計。
- 在這版本的文章中,我們討論了許多數據中心網絡技術,例如路由,拓撲擴展節能,爲不同的目標分享相似的設計和架構。我們通過使用深度學習爲開發網絡拓撲的中間表示,提出一種能夠解決數據中心中大量問題的架構。我們稱之爲DeepConf,通過使用我們提出的中間表示法去學習任務,簡化了配置和深度學習的訓練代理過程。爲了闡述我們算法的優勢,在處理數據中心拓撲擴展的問題上,我們對DeepConf-agent進行實施和評估。根據初步結果表明,我們的設計與目前最好的算法相比,是具有優勢的。
關鍵字
數據中心網絡,深度強化學習,拓撲管理
介紹
- 在互聯網系統中,數據中心網絡是重要組成部分。它的性能直接影響從網頁瀏覽、視頻觀看到物聯網等各種各樣的服務。例如數據中心的低性能可以導致價值4百萬美元的收入損失。由於數據中心網絡的重要,所以網絡已經探索新技術來提升和管理數據中心網絡,例如設計更好的路由或者流量工程算法,用有限的靈活鏈路豐富固定拓撲,刪除來自拓撲的損壞和未充分利用的鏈路。
- 無論什麼樣的算法,這些定向拓撲技術包括三個共同點:1)每一個都可以格式化成爲線性優化問題或者整數線性優化問題;2)由於解決這些優化問題是不切實際的,所以只能採用貪婪啓發式算法尋求近似解;3)這些啓發式算法大多不能進行泛化,因爲他們與高層的應用模式和技術有着複雜的約束。特別是,決定最佳線路,最佳位置增加擴展鏈路,或者在多樣化和快速發展的條件下刪除鏈路(損壞,爲充分利用的鏈路)留下最佳的鏈路集是具有挑戰的(NP難問題)。現有的特殊領域的啓發式算法性能不太理想,並且侷限於特殊領域。因此作爲一個小的團體,每次發生小的變化時,我們都需要重新設計算法。相似問題,卻有兩套啓發式解決方案。
- 在本版本文章中,我們的願景是用一個更通用的基於機器學習(ML)的模型取代拓撲管理領域特定的基於規則的啓發式,該模型能夠快速學習一類問題的最優解決方案,同時適應應用程序模式的變化,動態網絡和底層網絡細節。不像最近的嘗試使用機器學習學習點解決方案,例如簇調度或者路由。在本篇文章中,我們呈現了一個通用的框架,DeepConf,它簡化了通過使用機器學習算法設計處理廣泛的DCN拓撲問題的過程,以及消除了與有效培訓新模型相關的挑戰。
- 挑戰:
- 解決對大量監督數據的深度學習需求和這些所需數據集不可用之間的矛盾
- 設計通用,高準確度的基於深度學習的並且能夠有效地概括爲學習廣泛的數據中心問題,從拓撲管理和路由到節能的模型,(不容易)
- 可以通過平行的卷積層使用網絡數據生成中間特徵(例如,傳輸矩陣)是DeepConf的重要所在,並且允許我們生成網絡中間狀態,能夠增強數據中心問題的廣泛性。甚者, 儘管對於機器學習標註生產數據是難以獲得的,實證研究表明現代數據中心流量是高度可預測,適合使用網絡模擬器和歷史數據進行離線學習。
- DeepConf通過深度學習技術---根據經驗並沒有任何關於網絡工作的假設
- DeepConf架構包括四部分:
- 使用中間表示形式的預定義的RL模型;
- 用於配置此模型以解決不同問題的特定設計;
- 優化的模擬器(能夠高效的學習);
- 用於捕獲網絡數據和重新配置網絡的SDN平臺
- 貢獻如下:
- 提出一個新穎的基於SDN平臺的深度學習架構,爲廣泛的DCN任務開發和訓練深度機器學習模型
- 爲DCN設計了一種新穎的輸入特徵提取方法,用於在這種網絡狀態的中間表示中開發出不同的機器學習模型
- 實現了一種處理拓撲擴展問題的DeepConf-agent,並在有代表性的拓撲和蹤跡下進行了評估,結果顯示我們的方法與最有算法性能相當。
相關工作
- 動機:機器學習和rl算法在計算機遊戲和機器人中取得成功
- 相近的工作:
- 比因特網服務商提供網絡具有更大的規模和更高的速度,比其更具有擴展性(路由-拓撲擴展)
- 現有的CDNS是關注於集羣調度問題,而我們的是拓撲管理和配置,形成模塊化管理,適用公共的機器學習;
背景
- 數據中心---挑戰和解決方案
挑戰:拓撲計算和路由算法,虛擬機佈置和節能技術----數據中心支持具有時變帶寬需求的各種工作負載和應用程序- 擴充體系結構:熱點數量有限,無需使用非擁塞拓撲,並且支持少量鏈路擴展
- 流量工程:路由--將擁擠的鏈路換到非擁擠鏈路,沒有改變拓撲
- 節能:低檢測週期和選擇性關掉鏈路,但是需要在有需要該鏈路時提前打開該鏈路
具有相同設計---三部分:聚集網絡流量矩陣;運行ILP算法預測使用情況;在網絡子集上執行特定的操作(擴展靈活鏈路,關掉鏈路,移動流量)
- 強化學習---背景
- 強化學習算法根據反饋值進行訓練
- 強化學習過程
- A3C算法
願景
-
通過利用DeepRL實現數據中心管理和操作自動化。
-
高層:多個DeepRL代理,每個代理都訓練特定任務集,例如流量工程、節能或者拓撲擴展
-
每個代理是SDN中的應用程序
-
SDN有爲應用收集網絡狀態的接口和執行操作的機制
-
-
DeepRl高層中有三部分:
-
網絡模擬器:離線訓練
-
DeepConf抽象層:用於促進DeepRL代理與網絡之間通信的
-
DeepConf-agents:DeepRl代理,壓縮數據功能
-
- 應用學習
- 挑戰:
- 訓練數據不足
- 缺乏模型和損失函數,無法精確地對問題進行建模並推廣到未預料的情況
- 應對:通過使用模擬器生成數據進行模型訓練
- 挑戰:
- DeepConf抽象層
- 特殊域模擬器:原始SDN基本上使用mininet仿真,但是規模小,所以可以使用增量模擬
- 目標:
- 在拓撲,流量矩陣和一些列操作設置(例如鏈路故障)之間進行推廣,
- 精確且有效
- 低開銷: 最小化時間或最大化TCAM利用率。
設計
- 數據中心網絡管理技術定義爲深度學習任務,並且結構化
- 描述DeepConf-agents
- 四部分組成:狀態空間(通用)、行爲空間、學習模型(通用)和反饋函數
- state space:
- 最近t秒內的流量矩陣情況
- 特定狀態空間:用來捕獲在網絡中影響動作的狀態因素
- 學習模型:
- 卷積神經網絡
- 網絡訓練
- 模擬器與DeepConf-agent交互
- 步驟:
- 在訓練步數t,DeepConf-agent獲得來自模擬器的狀態St
- DeepConf-agent通過狀態信息做決策,並且返回動作給仿真器
- 如果拓撲有所改變,則仿真器重新計算活躍的路徑
- 模擬器執行該流x秒
- 模擬器返回當前時刻反饋值和下一時刻的狀態給DeepConf-agent
- 重複過程
- 初始化:隨機根據概率選擇動作,高概率,高選擇
- 學習優化:
- loss函數:
- 優化器:Adam
- 步驟:
使用case:拓撲擴展
- 定義:數據中心由一個分組交換機的分層拓撲結構和一個總交換機組成,連接着所有機架交換機。總交換機只能連接有限的鏈路,拓撲規則定義如下:
- 模型必須選擇K條鏈路,在模擬中按照給定步驟激活
- 模型根據鏈路利用率和流持續時間獲得獎勵
- 每個鏈路持續x秒後按獎勵收集
- 所有流都使用等成本多路徑路由(ECMP)進行路由
- 狀態空間:稀疏矩陣表示網絡拓撲
- 動作空間:最優的路徑選擇中選擇最高值的鏈路去添加到網絡拓撲中
- 反饋:最大化鏈路利用率和最小化平均鏈路完成傳輸時間:reward function:
評估
- 評估DeepConf在典型的拓撲中實際的工作負載情況
- 實驗配置
- 數據中心拓撲
- k=4的胖樹結構
- VL2
- 捕捉數據:完成傳輸時間(第一個包到最後一個包)
- 添加一個帶有4個鏈路的交換機去拓撲上述兩種拓撲結構
- 和最優解進行比較
- 數據中心拓撲
- 模型學習
- 自動調整決策
- 完成時間與最優解相近
- 自動調整決策