談談2018華為精英挑戰賽
背景介紹雲平臺為了滿足不同租戶的需求,提供了一種可隨時自助獲取、可彈性伸縮的雲伺服器,即彈性雲伺服器(Elastic Cloud Server,ECS)。為容納更多的租戶請求、並儘可能提高資源利用率、降低成本,自動化、智慧化的資源排程管理系統非常關鍵。由於租戶對ECS例項(虛擬機器,VM)請求的行為具有一定規律,可以通過對歷史ECS例項請求的分析,預測到未來一段時間的ECS例項請求,然後對預測的請求分配資源(如圖1所示),這樣可以找到一個接近最優的分配策略,實現資源最大化利用,同時也能參考預測的結果制定雲資料中心的建設計劃。
賽題更加詳細的資訊請參考2018華為軟體精英挑戰賽官網(
1)第一個步驟需要先對資料進行預處理,比如去除節假日期間的異常請求值等等,然後應用機器學習的方法使用歷史資料訓練預測模型,最後使用訓練出來的預測模型進行預測,不知道是測試用例原因還是我們使用的模型的原因,這一步驟做出來效果並不是太好,所以這部分暫時就先不放出來了,以免誤導大家。
2)第二個步驟是尋找最優放置虛擬機器方式,在上一步預測出來各種虛擬機器數量之後,實際資源使用情況就已經確定了(一共多少CPU,多少記憶體),每個伺服器的資源又是確定的,所以最終的資源使用率就只跟伺服器數量有關,於是問題便轉化為了:如何放置虛擬機器可以使得使用的伺服器數量最少?因為每次放置都要考慮虛擬機器的CPU和記憶體兩個維度,所以放置問題可以看作一個二維裝箱問題
參考文獻