麻省理工學院的研究人員開發的新型系統可以自動“學習”如何在數千臺服務器上調度數據處理操作,而這通常是由不精確的人工設計算法完成的任務。這樣做可以幫助當今耗電的數據中心更加高效地運行。
數據中心可以包含數以萬計的服務器,這些服務器不斷運行來自開發人員和用戶的數據處理任務。群集調度算法可實時跨服務器分配傳入任務,以有效利用所有可用的計算資源并快速完成工作。
但是,傳統上,人們會根據一些基本準則(“策略”)和各種折衷來微調那些調度算法。例如,他們可以對算法進行編碼,以快速完成某些作業,或者在作業之間平均分配資源。但是工作負載(意味著組合任務的組)各種各樣。因此,人類幾乎不可能針對特定的工作負載優化其調度算法,因此,他們常常無法發揮其真正的效率潛力。
麻省理工學院的研究人員將所有手動編碼轉移到了機器上。在SIGCOMM上發表的一篇論文中,他們描述了一種利用“強化學習”(RL)(一種反復試驗的機器學習技術)來針對特定服務器群集中特定工作負載量身定制調度決策的系統。
為此,他們建立了新穎的RL技術,可以對復雜的工作量進行訓練。在培訓中,系統嘗試了多種可能的方式來跨服務器分配傳入的工作負載,最終在利用計算資源和快速處理速度方面找到了最佳折衷方案。除了“減少工作完成時間”這樣的簡單指令,不需要人工干預。
與最佳的手寫調度算法相比,研究人員的系統完成工作的速度提高了大約20%到30%,而在交通繁忙時則完成速度提高了一倍。但是,大多數情況下,系統會學習如何有效壓縮工作負載而幾乎沒有浪費。結果表明,該系統可以使數據中心使用更少的資源,以更高的速度處理相同的工作負載。
電氣工程和計算機科學系的博士生Hongzi Mao說:“如果您有使用機器進行反復試驗的方法,他們可以嘗試以不同的方式安排作業,并自動找出哪種策略比其他方法更好。” (EECS)。“這可以自動提高系統性能。利用率的任何微小提高,即使提高1%,都可以節省數百萬美元,并為數據中心節省大量能源。”
EECS教授和計算機科學與人工智能實驗室(CSAIL)的研究員穆罕默德·阿里扎德(Mohammad Alizadeh)補充說:“制定調度決策沒有萬能的選擇。” “在現有系統中,這些是您必須預先決定的硬編碼參數。相反,我們的系統將根據數據中心和工作負載學習調整其調度策略特征。”
通常,數據處理作業進入數據中心,以“節點”和“邊緣”的圖形表示。每個節點代表一些需要完成的計算任務,其中節點越大,所需的計算能力越強。連接節點的邊緣將連接的任務鏈接在一起。調度算法根據各種策略將節點分配給服務器。
但是傳統的RL系統并不習慣于處理這樣的動態圖。這些系統使用軟件“代理”進行決策并接收反饋信號作為獎勵。從本質上講,它會嘗試在給定的上下文中學習任何理想行為,從而最大化其對任何給定動作的回報。例如,它們可以幫助機器人學習如何執行與通過與環境交互來拾取物體等任務,但這涉及通過更容易設置的像素網格處理視頻或圖像。
為了構建他們的基于RL的調度程序Decima,研究人員必須開發一種模型,該模型可以處理圖形結構的作業,并可以擴展到大量作業和服務器。他們系統的“代理”是一種調度算法,該算法利用了圖神經網絡,通常用于處理圖結構數據。為了提出適合計劃的圖神經網絡,他們實現了一個自定義組件,該組件聚集了跨圖路徑的信息-例如快速估計完成圖的給定部分需要多少計算。這對于作業調度很重要,因為“子”(下)節點要等到其“父”(上)節點完成后才能開始執行,因此,預測圖表中沿不同路徑的未來工作對于制定良好的調度決策至關重要。
-
算法
+關注
關注
23文章
4622瀏覽量
93063 -
服務器
+關注
關注
12文章
9237瀏覽量
85666 -
數據中心
+關注
關注
16文章
4813瀏覽量
72224
發布評論請先 登錄
相關推薦
評論