揭秘華為云瑤光智慧云腦的成長之路

2020-01-19 王樂樂 IT之家
瀏覽

作為北斗第七星,瑤光自古就可用來判斷四季更迭、引向定時。而作為全新發布的智能云操作系統,瑤光智慧云腦又是如何做到統領云上各類資源、實現租戶需求與資源供應之間最佳匹配的呢?在華為云瑤光實驗室、華為云算法創新實驗室里,我們找到了答案。

#初識資源調度#云OS:我太“南”了

依托虛擬化技術,我們得以將數據中心海量的計算、存儲資源以云服務的形式對外提供。而隨著數據中心規模擴展、邊緣計算帶來的算力延伸,承擔著高效、精準資源調度的云操作系統面臨著三大挑戰:

第一個挑戰是云計算的資源消耗/售賣模式帶來的。云計算的資源申請通常隨機到達、按需計費、用完即釋放,無法依據恒定指標構建目標函數求解;

第二個挑戰是華為云快速增長帶來的。根據Frost & Sullivan對于中國公有云市場的調查研究結果顯示,2019年Q3華為云IaaS市場份額排名上升至第三,成為增速最快的Top廠商。高速增長使得用戶資源請求的分布隨時間變化,而傳統的研究多是針對穩定的請求分布來設計解決方案的;

第三個挑戰是服務器本身架構帶來的。不同服務器體系架構的不同組合方式會導致性能差異,所以這些不同架構設計就像裝箱問題中箱子之間加了很多不同隔板,使得放置資源的同時還要考慮性能約束。

#致敬經典#傳統裝箱模型為何行不通

裝箱問題最早可以追溯到1831年高斯(Gauss)開始研究的布局問題,其本質與裝箱一樣,都是希望將盡可能多的貨物裝進箱中。云端虛擬機的部署是把具有多種資源需求的虛擬機向物理機分配的過程,如下圖,云操作系統時刻收到虛擬機的資源創建請求,它需要決策將資源部署到哪臺物理機上才能保證碎片率最低。

圖1當裝箱算法遇到云上資源調度

從過程中可以發現,相比經典裝箱問題,云上資源調度有了新的約束:

1、實時云環境下,虛擬機是動態、依次部署到物理機上的,事先虛擬機的創刪申請和資源需求信息具有不確定性;

2、過高的物理機資源利用率可能會導致業務負載發生波動,故資源調度時要充分考慮物理機的資源和性能約束,并處理可能出現的性能突發訴求;

3、根據業務不同的在線/離線屬性,調度過程也需考慮同物理機上不同虛擬機之間,因資源搶占可能發生的“擾鄰”現象,并盡可能降低影響。

#成為智慧云腦#瑤光的學習成長路徑

沿著經典裝箱問題思路,瑤光背后的專家們嘗試了如FirstFit、BestFit等運籌學方法,以一臺物理機為例,通過比對“請求資源量”和“可用資源量”的匹配程度,即其向量的余弦夾角值來判斷對可用資源量的利用情況,如下圖所示。

圖2利用余弦夾角方法求解調度

而站在資源池全局的角度看,當發生隨機請求與資源池擴縮容時,目標函數也會隨即改變。此時,瑤光引入了具有強大搜索能力的強化學習算法,通過預模擬來嘗試各種策略,并反復強化最終收益最大的方案。強化學習以數據為基礎,其思路我們可以通過迷宮游戲來理解:

圖3通過強化學習算法模擬求解最優調度

熊貓在尋找出口處竹子的過程中,“上下左右”每一步決策都可能“碰壁”、“通過”或“吃到竹子”,這些都算是不同經驗值的“獎勵”。通過反復的模擬,嘗試在不同位置(即“狀態”)選取不同行動(即“決策”)所分得的獎勵,此時“狀態State”與“獎勵Reward”的關系就是資源池選擇哪臺機器來滿足請求的決策依據。

更進一步,不同體系架構的云服務器、不同租戶間的QoS要求,意味著強化學習算法應對的環境在不停變化,就像上圖不斷復雜變換的迷宮。而強化學習訓練用的歷史數據不具有概括性與對抗性,這時瑤光開始基于歷史數據完成自學習與進化,以應對快速規模發展下的資源調度問題。

圖4基于瑤光調度算法實現自學習調度策略調優

為了驗證方案的可行性,瑤光實驗室基于隨機請求序列(基于華為云現網數據隨機打散生成)對專家經驗與模型數據雙驅動的“瑤光資源調度算法”進行了仿真測試:

表1仿真測試場景一

表2仿真測試場景二

測試結果表明,采用瑤光資源調度算法后平均碎片率優化效果提升30%、同一仿真序列下節省服務器數量約6%、資源池碎片整理觸發周期延長約50%。

#HDC.Cloud#有瑤光、有技術、有未來

華為云設立瑤光實驗室的初衷就是聚焦解決云基礎服務在創新過程中遇到的痛點,計算資源碎片的優化是其中核心的技術專項,而在本次華為開發者大會HDC.Cloud的華為云基礎服務展區,你還能參與到更多構建在瑤光智慧云腦之上多樣計算、智能邊緣等應用,體驗云+AI+5G時代下技術為先、創新為源的未來感!