閱讀204 返回首頁    go 阿裏雲 go 技術社區[雲棲]


驚!阿裏雙11數據中心來了一位頂級“刺客”?

早上好!阿裏妹來考大家一道數學題:有10萬件大小不同的商品,要平均放到1萬個箱子裏,應該如何分配?

對於聰明的你來說,這還是一個可解的問題。但是!如果問題更難一點:這10萬件商品會隨時變大變小,而且還有“礦泉水不能壓在薯片上”等一大堆限製條件,如何在幾秒鍾內給出最均衡的裝箱方案?

0507d8624678309877d2c3409386c4f2886e6668

阿裏巴巴的工程師每天都會麵對這類問題。無數個應用對服務器的需求每時每刻都在變化,還有新的應用不斷加入,如何才能把這些應用均衡的分配到數萬台不同規格的機器上。

為了解放人類工程師並能夠更好的分配計算資源,11月6日,阿裏巴巴計算資源AI分配官“達靈”正式上任,準備迎接天貓雙11的挑戰。

1d7324977c364daece8d01041d71666709eb8120

實習期間,達靈將數據中心資源分配率拉升到了90%以上,在部分業務中節省了一半服務器,並且可以2秒鍾鎖定異常機器,命中率94%。

9e8742631d0f9e57e53e22c8cdb1ca17588245e4 

減少機械重複工作 為阿裏節省一半機器

打開手機淘寶,首頁可以看到“有好貨”、“猜你喜歡”等這樣的常用功能模塊。以前,要人工為每一個模塊分配服務器數量以及監督運行情況。對於工程師來說,挑戰巨大。

“伴隨雙11規模的逐年暴漲,這樣的工作已經不適合人來做了。” 阿裏巴巴資深搜索研發專家鄭南說。為此,阿裏巴巴搜索團隊對“達靈”進行了大量訓練和工程化,在實習期“達靈”就完全替代了人工,在推薦平台智能調度方麵將資源分配率提高了一倍,這相當於節省了一半的機器。

59fccc75cc56d99248b460e167437933f03775b4

 “這套算法能夠快速給出最優的部署方案,並且根據訪問量不斷搬運應用和數據,確保沒有一台機器偷懶”。鄭南說,我們要做的就是不斷用數據喂養她,提供表格數據大小、訪問量以及目前的部署方案等信息,省下的就是喝著茶看她的表演。“她甚至可以在線上克隆一個真實的服務,自己進行壓力測試,以判斷方案是否最優。”

隻需2秒鍾,隔離異常機器準確率94%

阿裏巴巴遍布全球的數據中心如果有一台機器發生異常,未被及時處理,會帶來什麼損失?天貓雙11期間,可能會是近百萬用戶下單失敗。

為了避免這種情況,每年雙11都會有大量的工程師緊盯著集群的健康情況。如果發現有不正常的機器,馬上進行手工隔離,甚至直接下線,業內俗稱“殺機器”。

9f30f0260b0cf8511d5e6ce7946123c962b08281

但從出現異常、被發現到處理完成,整個過程有時會長達數分鍾。阿裏巴巴調度係統資深專家丁宇說,“之前我們已經做到了人能夠做的極限。去年,我們開始探索用人工智能技術尋求突破,把時間、負載、服務狀態等不確定因素通過數據算法關聯,最終找到了問題的解法”。

今年丁宇團隊和“達靈”合作,對“達靈”進行深度改裝,實現了對異常機器更精準、快速的探測。算法每天會采集29億條機器運營狀態,在之前的測試中,日均處理異常機器1000次左右,在大促期間調度準確率達到94%,時間隻需要2秒鍾。一發現異常機器,立刻精準出手,絕不含煳,可謂頂級“刺客”。

從倉庫到數據中心  天貓雙11 AI滿地跑  

 “其實達靈的前身真的是倉庫管理員,就是為了解決包裹裝箱的難題”,阿裏巴巴iDST機器學習算法負責人朱勝火博士透露。

一年前,iDST和菜鳥網絡的算法工程師共同研發了一套算法,能夠在顧客下單的瞬間,對商品的屬性、數量、重量、體積,甚至擺放的位置都綜合進行計算,可迅速地與箱子的長寬高和承重量進行匹配,並且計算出需要的幾個箱子,商品在箱子裏麵如何擺放最節省包裝。整個計算過程,不足1秒。

AI介入後,菜鳥網絡的倉庫較過去減少5%以上的包裝材料。這是什麼概念呢?以2015年天貓雙11當天產生的約4.67億包裹數來算,如果用上這個技術,一天能節省2300萬個箱子。技術解讀詳情可看:世界級難題:把不同物品裝進箱子,如何使箱子表麵積最小?

朱勝火介紹,基於同樣的理念,我們將這套算法帶到了數據中心,研發出了達靈。達靈的工作首先是在集群監控數據之上,建立起很多個深度學習、在線學習的模型,由此對集群內每一台機器、每一個應用,當前和未來的狀態都了然於胸。在此基礎上,達靈通過應用強化學習、組合優化等技術,可以在複雜環境中自行學習判斷,作出一係列比如錯峰排布、碎片規整等聰明的決策,從而全局最優化集群的資源分配率以及穩定性。


原文發布時間為:2017-11-7

本文來自雲棲社區合作夥伴“阿裏技術”,了解相關信息可以關注“阿裏技術”微信公眾號

最後更新:2017-11-07 14:34:07

  上一篇:go  《Linux From Scratch》第二部分:準備構建 第四章:最後的準備- 4.1. 簡介
  下一篇:go  《Linux From Scratch》第二部分:準備構建 第三章:軟件包與補丁- 3.3. 需要的補丁