圖1 當(dāng)裝箱算法遇到云上資源調(diào)度
從過程中可以發(fā)現(xiàn),相比經(jīng)典裝箱問題,云上資源調(diào)度有了新的約束:
1、實時云環(huán)境下,虛擬機是動態(tài)、依次部署到物理機上的,事先虛擬機的創(chuàng)刪申請和資源需求信息具有不確定性;
2、過高的物理機資源利用率可能會導(dǎo)致業(yè)務(wù)負載發(fā)生波動,故資源調(diào)度時要充分考慮物理機的資源和性能約束,并處理可能出現(xiàn)的性能突發(fā)訴求;
3、根據(jù)業(yè)務(wù)不同的在線/離線屬性,調(diào)度過程也需考慮同物理機上不同虛擬機之間,因資源搶占可能發(fā)生的“擾鄰”現(xiàn)象,并盡可能降低影響。
#成為智慧云腦# 瑤光的學(xué)習(xí)成長路徑
沿著經(jīng)典裝箱問題思路,瑤光背后的專家們嘗試了如FirstFit、BestFit等運籌學(xué)方法,以一臺物理機為例,通過比對“請求資源量”和“可用資源量”的匹配程度,即其向量的余弦夾角值來判斷對可用資源量的利用情況,如下圖所示。
圖2 利用余弦夾角方法求解調(diào)度
而站在資源池全局的角度看,當(dāng)發(fā)生隨機請求與資源池擴縮容時,目標(biāo)函數(shù)也會隨即改變。此時,瑤光引入了具有強大搜索能力的強化學(xué)習(xí)算法,通過預(yù)模擬來嘗試各種策略,并反復(fù)強化最終收益最大的方案。強化學(xué)習(xí)以數(shù)據(jù)為基礎(chǔ),其思路我們可以通過迷宮游戲來理解:
圖3 通過強化學(xué)習(xí)算法模擬求解最優(yōu)調(diào)度
熊貓在尋找出口處竹子的過程中,“上下左右”每一步?jīng)Q策都可能“碰壁”、“通過”或“吃到竹子”,這些都算是不同經(jīng)驗值的“獎勵”。通過反復(fù)的模擬,嘗試在不同位置(即“狀態(tài)”)選取不同行動(即“決策”)所分得的獎勵,此時“狀態(tài)State”與“獎勵Reward”的關(guān)系就是資源池選擇哪臺機器來滿足請求的決策依據(jù)。
更進一步,不同體系架構(gòu)的云服務(wù)器、不同租戶間的QoS要求,意味著強化學(xué)習(xí)算法應(yīng)對的環(huán)境在不停變化,就像上圖不斷復(fù)雜變換的迷宮。而強化學(xué)習(xí)訓(xùn)練用的歷史數(shù)據(jù)不具有概括性與對抗性,這時瑤光開始基于歷史數(shù)據(jù)完成自學(xué)習(xí)與進化,以應(yīng)對快速規(guī)模發(fā)展下的資源調(diào)度問題。
圖4 基于瑤光調(diào)度算法實現(xiàn)自學(xué)習(xí)調(diào)度策略調(diào)優(yōu)
為了驗證方案的可行性,瑤光實驗室基于隨機請求序列(基于華為云現(xiàn)網(wǎng)數(shù)據(jù)隨機打散生成)對專家經(jīng)驗與模型數(shù)據(jù)雙驅(qū)動的“瑤光資源調(diào)度算法”進行了仿真測試:
表1 仿真測試場景一
表2 仿真測試場景二
測試結(jié)果表明,采用瑤光資源調(diào)度算法后平均碎片率優(yōu)化效果提升30%、同一仿真序列下節(jié)省服務(wù)器數(shù)量約6%、資源池碎片整理觸發(fā)周期延長約50%。
#HDC.Cloud# 有瑤光、有技術(shù)、有未來
華為云設(shè)立瑤光實驗室的初衷就是聚焦解決云基礎(chǔ)服務(wù)在創(chuàng)新過程中遇到的痛點,計算資源碎片的優(yōu)化是其中核心的技術(shù)專項,而在本次華為開發(fā)者大會HDC.Cloud的華為云基礎(chǔ)服務(wù)展區(qū),你還能參與到更多構(gòu)建在瑤光智慧云腦之上多樣計算、智能邊緣等應(yīng)用,體驗云+AI+5G時代下技術(shù)為先、創(chuàng)新為源的未來感!