基於預測的雲資源彈性伸縮框架 MagicScaler,實現“高QoS,低成本”雙豐收

開篇

近日,由阿里雲計算平臺大數據基礎工程技術團隊主導,與計算平臺MaxCompute團隊、華東師範大學數據科學與工程學院、達摩院合作,基於預測的雲計算平臺資源彈性伸縮框架論文《MagicScaler: Uncertainty-aware, Predictive Autoscaling 》被數據庫領域頂會VLDB 2023接收。

MagicScaler論文提出了一種創新的基於預測的雲資源主動彈性伸縮框架 MagicScaler,該框架主要包含一個基於多尺度注意力高斯過程的預測模型和一個考慮需求不確定性的彈性伸縮優化決策器。論文在阿里云云原生大數據計算服務MaxCompute 3個集羣的真實數據集上進行了實驗,綜合成本和QoS兩個層面,MagicScaler要顯著優於其他經典的彈性伸縮算法,實現了“高QoS(Quality of Service),低成本”的雙豐收。

背景

雲計算需求的日益發展,基於用戶需求合理地進行雲資源分配是保障穩定性和控制成本的重要因素。圖1所示是三種易於理解的擴縮容策略,保守(Conservative)策略會提供“保守、虛高”的 ECS 供應量,但會造成較高的資源浪費;被動(Passive)策略是用戶的需求到達後才執行擴縮容決策,會由於資源“冷啓動”問題導致 QoS 違約的風險;爲集成這兩種策略的優點,預測式自動擴縮容(Predictive Autoscaling)策略可以理解爲“提前知道用戶需求”後執行擴縮容決策,這將最有可能作爲實現圖 1 中理想境況的途徑。

圖 1:三種易於理解的 AutoScaling 策略:a) 保守策略:高成本,低 QoS 風險;b) 被動策略:較低成本,高 QoS 風險;c) 理想策略:低成本,低 QoS 風險。

現有的自動擴縮框架主要基於控制理論、強化學習、排隊理論或基於規則生成擴所容決策,這些方法要麼僅使用了較爲簡單的預測算法,如歷史一段時間的平均需求,並未考慮需求可能存在的週期性以及需求的不確定性,使得預測精度不高,且難以應對需求的多變性。部分現有研究僅以啓發式方法處理需求的不確定性,難以得到穩健的擴縮容決策。理想的擴縮容框架需要在預測和擴縮容決策階段都充分考慮需求的不確定性。此外,現有的自動擴縮容框架並未考慮雲資源彈性伸縮場景中的一些業務屬性和真實約束,例如彈性資源在擴縮容階段會經歷的冷啓動、退回成本,雲平臺場景下QoS和成本之間的權衡約束等,因此現有的這些自動擴縮容框架難以直接應用於阿里雲計算平臺的彈性伸縮場景中。

挑戰

雲計算需求的日益發展,基於用戶需求合理地進行雲資源分配是保障穩定性和控制成本的重要因素。圖2展示了阿里云云原生大數據計算服務某個集羣在不同數據粒度下的資源請求情況(數據已作脫敏處理),可以看出雲上用戶需求往往具有高度複雜性、不確定性和粒度敏感的時間依賴性,這給未來需求的準確預測帶來了一定困難,也使得主動彈性伸縮更具挑戰性。一個好的主動彈性伸縮策略需要在考慮需求不確定性的同時,保持雲平臺低運行成本和高QoS之間的合理平衡。

圖2 某集羣不同數據粒度下的資源請求情況

破局

本文提出了一種創新的基於預測的雲資源彈性伸縮框架 MagicScaler。該框架主要包含一個基於多尺度注意力高斯過程的預測模型和一個考慮需求不確定性的彈性擴縮容優化決策器,以實現“高QoS(Quality of Service),低成本”雙豐收的目標。圖3描述了 MagicScaler 的整體框架,包含預測器和調度器兩部分。

圖3 MagicScaler整體框架

(1)預測器:預測器部分主要構建了基於多尺度注意力機制的高斯迴歸預測模型。該預測模型設計有機融合了兩種高效的預測策略:一是多尺度注意力機制,能夠捕捉複雜的多尺度特徵;二是隨機過程迴歸,以量化預測結果不確定性。這使得預測模型可以實現精確的需求預測,結合量化的不確定性爲後續的彈性伸縮打下基礎。圖4描述了預測器的整體框架,預測器的輸入爲 t 時刻回看的歷史需求序列 D_{t} 。通過 MAFE(多尺度特徵提取)組件提取這個時間序列特徵,記爲 \xi_{t+1}。將 \xi_{t+1} 輸入至 GPR(高斯過程迴歸)模型,並以此預測未來 F 步時間的需求量。

圖4 預測器流程

(2)調度器:調度器部分設計了基於預測結果和量化不確定性的彈性擴縮容優化決策器。將複雜業務場景建模爲馬爾可夫決策(MDP)過程,並利用滾動時域優化的方法近似求解最優策略,實現了資源成本與 QoS 違規風險之間的靈活平衡。圖5展示了調度器流程,包括馬爾可夫決策過程(MDP)、優化器和彈性伸縮決策執行器。我們的彈性伸縮器以概率需求預測分佈作爲輸入,將彈性伸縮問題建模爲馬爾可夫決策過程。因爲考慮到MDP優化是一個無限域貝爾曼方程優化問題,我們使用滾動時域優化策略,將貝爾曼方程在無限時域內的求解轉換爲有限時域內的隨機規劃,從而使得能夠找到最佳策略來近似貝爾曼方程的最優解。

圖5 調度器流程

論文在阿里云云原生大數據計算服務MaxCompute 3個集羣的真實數據集上進行了實驗,綜合成本和QoS兩個層面,MagicScaler要顯著優於其他經典的彈性伸縮算法,更多實驗結果請參閱我們的論文原文。

應用

後續將進一步研究如何將MagicScaler技術與MaxCompute現有調度策略結合。

  • 論文標題:MagicScaler: Uncertainty-aware, Predictive Autoscaling
  • 論文作者:潘志誠,王益杭,張穎瑩,楊斌,程雲爻,陳鵬,郭晨娟,文青松,田西奪,竇雲亮,周志強,楊程程,周傲英,楊彬
  • 論文鏈接:https://www.vldb.org/pvldb/vol16/p3808-yang.pdf
點擊立即免費試用雲產品 開啓雲上實踐之旅!

原文鏈接

本文爲阿里雲原創內容,未經允許不得轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章