傳統(tǒng)上,針對特定的工作負載優(yōu)化調(diào)度算法幾乎是不可能的。據(jù)麻省理工學(xué)院(MIT)官網(wǎng)稱,MIT研究人員開發(fā)的一個新系統(tǒng)自動“學(xué)習(xí)”如何在數(shù)千臺服務(wù)器上調(diào)度數(shù)據(jù)處理操作,幫助數(shù)據(jù)中心更高效地運行。
MIT的研究人員利用“強化學(xué)習(xí)”(RL:一種反復(fù)試驗的機器學(xué)習(xí)技術(shù))來根據(jù)特定服務(wù)器集群中的特定工作負載調(diào)整調(diào)度決策的系統(tǒng)。他們構(gòu)建了新的RL技術(shù),可以在復(fù)雜的工作負載下進行培訓(xùn)。在培訓(xùn)中,系統(tǒng)嘗試了許多可能的方法來跨服務(wù)器分配傳入的工作負載,最終在利用計算資源和快速處理速度方面找到了最佳折衷。不需要人工干預(yù),只需要簡單的指導(dǎo)。
與最優(yōu)秀的手寫調(diào)度算法相比,該系統(tǒng)完成任務(wù)的速度快20%到30%,在高流量的時候快近一倍。該系統(tǒng)可以使數(shù)據(jù)中心以更快的速度處理相同的工作負載,使用更少的資源。
RL的調(diào)度
通常,數(shù)據(jù)處理作業(yè)進入以“節(jié)點”和“邊”圖表示的數(shù)據(jù)中心。每個節(jié)點代表一些需要完成的計算任務(wù),其中節(jié)點越大,所需的計算能力就越大。連接節(jié)點的邊將連接的任務(wù)鏈接在一起。調(diào)度算法根據(jù)不同的策略為服務(wù)器分配節(jié)點。
但是傳統(tǒng)的RL系統(tǒng)不習(xí)慣處理這樣的動態(tài)圖。為了構(gòu)建基于RL的調(diào)度程序,研究人員必須開發(fā)一個模型,該模型可以處理圖形結(jié)構(gòu)作業(yè),并可擴展到大量作業(yè)和服務(wù)器。
他們系統(tǒng)的“代理”是一種調(diào)度算法,它利用圖神經(jīng)網(wǎng)絡(luò),通常用于處理圖結(jié)構(gòu)數(shù)據(jù)。為了提出一個適合于調(diào)度的圖神經(jīng)網(wǎng)絡(luò),他們實現(xiàn)了一個自定義組件,該組件聚合圖中不同路徑上的信息——比如快速估計完成圖中給定部分所需的計算量。這對于作業(yè)調(diào)度非常重要,因為“子”(下)節(jié)點在其“父”(上)節(jié)點完成之前不能開始執(zhí)行,因此預(yù)測圖中不同路徑上的未來工作是做出良好調(diào)度決策的關(guān)鍵。
為了訓(xùn)練RL系統(tǒng),研究人員模擬了許多不同的圖序列,這些圖序列模擬進入數(shù)據(jù)中心的工作負載。然后“代理”決定如何沿著圖將每個節(jié)點分配給每個服務(wù)器。對于每一個決策,組件都根據(jù)它在特定任務(wù)上的表現(xiàn)來計算獎勵——比如最小化處理單個任務(wù)的平均時間。代理人會不斷改進自己的決定,直到獲得盡可能高的回報。
建立基準(zhǔn)工作負載
然而,有一個問題是,一些工作負載序列比其他工作負載序列更難處理,因為它們有更大的任務(wù)或更復(fù)雜的結(jié)構(gòu)。這些過程總是需要更長的時間來處理,因此,獎勵信號總是比簡單的信號要低。但這并不一定意味著系統(tǒng)性能很差:它可以很好地處理具有挑戰(zhàn)性的工作負載,但仍然比簡單的工作負載慢。困難的可變性使得模型很難決定哪些行為是好的,哪些是不好的。
為了解決這個問題,研究人員采用了一種叫做“基線化”的技術(shù)。該技術(shù)采用具有大量變量的場景的平均值,并將這些平均值用作比較未來結(jié)果的基線。在訓(xùn)練期間,他們?yōu)槊總€輸入序列計算基線。然后,他們讓調(diào)度程序針對每個工作負載序列進行多次培訓(xùn)。接下來,系統(tǒng)對針對相同輸入工作負載做出的所有決策進行平均性能評估。這個平均值是基線,然后模型可以將其未來的決策與之進行比較,以確定其決策是好是壞。他們將這種新技術(shù)稱為“依賴于輸入的基線化”。
研究人員說,這種創(chuàng)新適用于許多不同的計算機系統(tǒng)。他說:“這是在輸入過程影響環(huán)境的環(huán)境中進行強化學(xué)習(xí)的一般方法,希望每個培訓(xùn)活動都考慮輸入過程的一個樣本。”“幾乎所有的計算機系統(tǒng)都要處理不斷變化的環(huán)境。”
目前,他們的模型是通過模擬來訓(xùn)練的,這些模擬試圖實時重現(xiàn)傳入的在線流量。接下來,研究人員希望通過實時通信訓(xùn)練該模型,這可能會導(dǎo)致服務(wù)器崩潰。因此,他們目前正在開發(fā)一種“安全網(wǎng)”,當(dāng)系統(tǒng)即將崩潰時,它將停止工作。