這群螞蟻找不到北了,華為:我來調度一下

2020-12-06 新智元

【新智元導讀】5G+AI時代的來臨,數據量呈爆炸式增長,深度學習模型也越來越大,算力和負載更加多樣化,傳統模式的調度器已經不能滿足需求。為了支持更多的場景,華為研發了統一調度器,突破性的大規模分布式技術和調度算法,可以實現高達90%的資源利用率,百萬核MPI 3分鐘極速啟動。

在自然界,存在各種各樣神奇的分工和資源分配形式。

以蟻群為例,看似雜亂無章,成百上千的螞蟻,卻因為某種自發的機制而走向一種極具規律性,每隻螞蟻各司其職,最大限度地發揮了群體的優勢。

但有時,螞蟻這種群體行為也會造成一些麻煩。前一陣,LeCun轉發了一條推特,幾隻螞蟻找不到家了,結果整個蟻群都陷入了死循環,一直在轉圈。

而同樣的道理,計算機集群有時也會面臨這種問題,某個節點出了差錯,整個集群就無法高效運轉,這時就需要一個調度系統。

在計算機中,調度就是一種將任務分配給資源的方法。無論是在單機系統還是分布式集群當中,調度器都是非常核心的組件。

目前市面上的調度器主要有三種類型:集中式調度器、兩級調度器、狀態共享調度器。

而這三種模式的調度器都不能適配多種場景,第一種模式相對調度邏輯複雜,但是可以獲得比較好的調度結果,第二種有調度效率的限制,不適合大數據場景;第三種會出現大作業飢餓現象,不適合HPC場景。

為了支持多種場景,華為結合了前兩種模式研發了統一調度器,並做了優化。

要深入了解統一調度器的優勢,我們首先要回顧一下傳統模式的調度器。

堪比蟻群進化,集群調度系統已歷三世

單機系統的調度器功能相對簡單,比如批處理任務、分配內存、定時執行等。

到了分布式系統,任務就變的複雜了。原來我們只需要關注單個的CPU,進程間或者內核通信都比較簡單,但是如果有成千上萬臺機器,就要考慮機器之間的通訊,遇到延遲或者通訊阻塞該怎麼解決。

調度器尤其是大規模分布式系統的調度器,要考慮的遠不止這些。

集中式調度器,只有一個單一的調度「總指揮」,在HPC高性能計算方面應用比較廣泛。所有的任務和資源調度都在一個實例中完成,所以,集群的規模不能太大。Google的Borg就是一種典型的集中式調度器。

一個 Borg 集群由一個邏輯中央控制器 BorgMaster 和若干代理節點 Borglet 組成,屬於集中式調度器。「Borg架構跟黑社會似的,一個老大,多個小弟」。

從Borg的架構可以看出來,集中式調度器適合吞吐量較大、運行時間較長的任務,因為資源和任務在同一個實例中進行管理,各個節點的狀態容易同步,並發好控制。

但集中式的調度器,調度邏輯全部在中央調度,邏輯較為複雜,使用起來不夠靈活,不能針對任務做專門優化,新的調度策略嵌入到集中式調度器中二次開發的工作難度較大。

為了解決集中式調度器的調度策略不易調整的問題,兩級調度器是一個很好的解決方案,它採用的是一種兩級管理機制:

中央調度器:中央調度器可以縱覽全局,集群中所有機器的可用資源都由它來管理。

框架調度器:各個計算框架在接收到所需資源後,可以根據自身計算任務的特性,使用自身的調度算法,來分配從中央得到的各種資源,Mesos就是一種典型的兩級調度器。

兩級調度器最大的優勢在於可以針對不同的作業設計不同的調度算法。在這種兩級調度器架構中,只有中央調度器能夠觀察到所有集群資源的狀態,下面的框架並沒有一個全局的視野,只能關注自己的一畝三分地。

比如,集群中有很多任務,下發到其中一個節點的任務失敗了,是繼續在這個節點等待,還是換到其他節點上重新跑,所有的節點都在滿負荷運作,而這個任務需要很大的內存,這個節點不知道誰可以幫它,只能原地無腦等待。

另外,Mesos的調度器將資源分配給一個框架後,只能等該框架返回資源使用狀態後,才能繼續分配這個框架的資源,因此會影響系統的並發性能。

為了解決兩級調度器的全局視野和並發問題,Google開發了下一代資源調度系統Omega。

Omega是一種基於共享狀態的調度器,該調度器將兩級調度器中的集中式資源調度模塊簡化成了一些持久化的共享數據(狀態)和針對這些數據的驗證代碼,這份數據被稱為「單元狀態」,由「中央調度器」來維護。

有了這些「共享數據」,就能實時了解整個集群的資源使用情況。每個子調度器都有了集群的狀態副本,可以看到集群的全部負載信息,當子調度器的資源狀態改變時,可以修改「單元狀態」信息並同步給其他子調度器。

共享狀態架構採用了效率優先的策略,當多個應用程式申請同一份資源時,Omega會把資源給優先級最高的,其他資源限制全部下放到各個子調度器, 弱化了中央調度器的功能。

此外,Omega採用了基於多版本的並發訪問控制方式(也稱為「樂觀鎖」),大大提升了Omega的並發性。

這些調度器設計都有自己的優勢和劣勢。

如果應用的規模較小,採用集中式調度器可以更好地掌控全局狀態;如果應用規模較大,或者需要定製化開發自己的調度算法,可以考慮兩級調度器的設計,但是兩級調度器邏輯控制較為複雜。

那有沒有一種調度器,能一站式解決這些問題?

算力和負載「百家爭鳴」,誰來做「蟻群」的大家長?

現在的算力變的多種多樣,各種CPU、GPU以及NPU等,但是如何利用這些多樣化的算力,並將算力轉化為高性能的分布式應用,面臨諸多挑戰。

比如,多樣性算力如何和應用最佳匹配,分布式應用的並行化性能如何提升,應用性能如何隨著系統規模增長而逼近線性增長,融合應用開發帶來的學習成本高以及跨系統協同等問題。

集群數量增加時系統線性度下降管理複雜度提升

針對這些挑戰,華為向業界發布了分布式多樣性計算軟體套件:集群加速庫、統一調度器高效釋放多樣性算力潛力,分布式並行應用開發框架助力分布式應用價值創造。

當分布式系統的規模到達一定程度,調度器的可擴展性就會成為瓶頸。為了提供高可擴展性, 調度器不僅要應對管理數萬臺機器的挑戰,也要能夠處理動態增減節點這樣的問題。

華為全自研的用於AI、大數據、HPC 混合負載的統一調度器應運而生。

統一調度器可以同時管理2萬個節點,允許30萬並行作業,實現了大規模的分布式集群調度,規模不再是調度器的限制。

傳統的調度器調度算法開發難度大,針對特定任務的調節很不方便,如果不能實現高效的資源調度,那它就失去了本來的價值。而利用統一調度器,可以實現百萬核MPI 3分鐘啟動,每秒5千個任務的智能調度,在真實工作場景中,每小時可完成4M運行作業量。

統一調度器在整體架構上實現了調度和執行的分離,調度算法是插件化的,所以在調度階段,調度算法和執行框架都是可配置的,這樣就可以基於場景的特點編排出適應場景的資源調度器。

具體如何實現呢?

首先統一調度器模塊劃分也更細小,有接入模塊、核心作業管理模塊、調度模塊、執行模塊。各個模塊之間事件驅動,內部全並行和異步化,既提升了效率,又降低了複雜度。

其次統一調度器不是簡單的把調度劃分為兩層,各層之間無法協調,導致調度效率的低下。調度本質是資源和需求的匹配,匹配可以有多個階段,每個階段都有不同的調度側重點,並且可以設置不同的調度策略。

針對不同的資源池,採用並行化的模式。所以調度階段之間可以很好的協調,也可以提高效率。調度階段和策略都可以用戶自己配置,或者結合機器學習來做到模式場景的自適應。

所以,統一調度器可以融合多種負載,HPC可以有適配HPC的調度策略和執行框架,AI和大數據也有自己的,但是這些策略和框架都同時存在於一個統一調度器中,能相互協同,使得大規模集群的資源利用率提升到90%。

AI跨界給HPC賦能,統一調度器也要「出圈」了

作為一個底層的調度工具,統一調度器讓開發人員從繁雜的調度算法中解脫出來,更加專注於業務的創新,超大規模的集群調度,釋放出了前所未有的潛力,以前不敢想、不敢幹的深度模型也可以上馬一試了。

傳統的HPC任務大多是計算密集型的,而新的工作負載(如AI)是數據密集型,負載的多樣性對於計算資源的合理分配對開發人員來說也是一個新命題,不同的用戶對HPC、AI等工作負載有著不同的需求。

超算的用戶對HPC了解的比較多,但是缺乏對AI計算的了解,如果有融合計算的需求,往往要與硬體廠家或者外包服務提供商一起定製化開發,而統一調度器消除了這一步驟,無論你是AI用戶,還是HPC用戶,又或者是大數據分析人員,都能利用統一調度器實現計算資源的智能調度。

現在,高性能計算也希望從海量數據中挖掘更多價值,深度學習的崛起及大規模預訓練模型可以幫助優化很多以前無法解決的問題。

人工智慧可以幫助高性能計算任務跳出傳統的圈子,比如AI可以更好地預測和理解上下文,使用推理來填補數據空白。

HPC和AI的高效協同工作,不光能提升硬體資源的利用率,未來,還將催生更多的智能計算解決方案。

這個調度器,值得期待!

參考連結:

https://www.yinxiang.com/everhub/note/be221530-b343-436d-a48d-2ab62085e346

https://zhuanlan.zhihu.com/p/33823266

https://draveness.me/system-design-scheduler/

https://matt33.com/2018/09/01/yarn-architecture-learn/#%E4%B8%A4%E7%BA%A7%E8%B0%83%E5%BA%A6%E5%99%A8

相關焦點

  • 一路向漠河尋北,如果你也找不到北,就隨我來吧!
    在這裡可以尋找中國最北的人家、最北的哨所、最北的郵局、最北的標語,最北醫院、最北學校、最北一家、最北吊橋、最北界河、最北廁所、最北觀光塔等中國獨一無二的地理標誌。每當夏至前後,一天24小時幾乎都是白晝,午夜向北眺望,天空泛白,西邊晚霞未逝,東方朝雲又起,像傍晚,又像黎明。來北極村遊玩一般會選在冬季或夏季。
  • 風往北吹……我找不到北啊
    風往北吹,,,,我找不到北啊拍戲的幕後表演,原來我們看到的都是假的!二師兄都學會遊泳了,你還有什麼理由不努力呢!▼要不是當時家裡農活多,大叔已是亞洲舞王了姑娘和二哈配合的是真的好我就羨慕這樣低調的婚禮為了引起這個妹子的注意,兄弟你也是夠拼的睡在我上鋪的兄弟。
  • 重慶,一個讓人找不到北的地方
    她的兩個小孩子一個五六歲,一個三四歲,搶著玩手機,那個小男孩顯然不願意遵守媽媽定的輪著玩的規則,靠大聲哭泣來賺取同情,於是媽媽就和男孩子一起玩,大一點的小女孩噘著嘴在一旁看著。本來想和她了解一下重慶這座城市,只好作罷了,不是每一個本地人都了解自己的家鄉,用手機大概攻略了一下,旅程開始了。
  • 小宇宙:大型「找不到北」慘案現場!
    首先,我們來玩一個小遊戲,請從下圖中找出真正的白宇老師!講真,這真的不是複製粘貼的嗎?!原來,昨天晚上,一枚高仿白宇發了一條微博,號召粉絲們加入「白宇高仿群」,而這個群的主要任務就是「讓頭像/名字仿的像正主白宇哥哥」,最終目的是「高仿天團」C位出道。
  • 別把我誇得找不到北
    我這個人雖然沒有一點壞心眼兒,但是說出話來往往總是有點損,前兩天寫了一篇嘲諷一位博導教唆學生喝酒的稿子,對,就是稿子。因為我從來不認為自己會寫文章,不過就是把方塊漢字在電腦上敲來敲去,把自己心裡想說的話敲出來,這實在不叫什麼文章,叫什麼我自己也說不清。突然有一天我想起來,還在上小學一、二年級的時候,老師就讓我們寫大批判稿還有小評論稿,批判的內容可廣了,評論的是非可多了。
  • 富途圖文|螞蟻,你好像只短暫地愛了我一下……
    今晚朋友圈被螞蟻AH雙雙暫緩上市刷爆了。正興致勃勃刷淘寶、想趕在3號最後一波優惠時段的血拼的小編,手裡的購物車突然就不香了。本來想趁著螞蟻上市賺點回回血,沒想到最終還是憑實力欠了花唄一屁股債。打新群裡早已一片哀嚎……中籤的幸運兒扎心:螞蟻,你仿佛只短暫地愛我一下……但相比起來,最慘的還是,杭州那群組隊買樓的朋友們……自媒體興奮了,無數10w+標題和內容已就位,這個月KPI和生產力已拉滿!
  • 易中天玩直播披露隱居生活「有時我也會找不到北」
    記者宋磊 通訊員李洋 1日晚,久未在公眾場合露面的學者易中天在微信群直播首秀,就《易中天中華史》系列叢書接受網友提問,分享寫作中的苦與樂。當晚8點,直播開始,易中天身著黑色T恤出現在畫面中,他風趣地說:「現在驗明正身,如假包換。」直播全程以音頻進行,時長90分鐘。
  • 普通投資者最大的困難:在眾多的預測中找不到北
    普通投資者最大的困難:在眾多的預測中找不到北因為我們絕大部分普通投資者,都沒有專業的會計以及理財知識。他能預測到螞蟻財富上市的問題嗎?他們希望這些專業人士的點評能讓他省時省力的更好的把握市場的動向。因為這很多所謂的專業股票大師,他們往往都是證券公司聘請的專業人士。而為了維護正常公司的利益,很專業人士都偏向於「吹捧牛市來臨」。而很多自媒體的所謂的大咖,為了形成自己獨有的風格,甚至為了迎合讀者的需求。他們有的傾向熊市,有的專業造「股神」。第三,很多股評專家,為了不經常打臉。在股評文章中常常充滿了模擬兩可的語言。
  • 聽說你找不著北?教你怎麼找方向!
    聽說你找不著北?教你怎麼找方向! 經常聽到有人焦頭爛額時會說:「哎呀呀呀,我真是找不著北了
  • 在尼泊爾加德滿都突然找不到北(圖)
    不過這次,我似乎遇到了些麻煩,幾乎每次出門,我都會或多或少地因為突然找不到北而多繞些圈子、走上一陣冤枉路,而那些誤打誤撞中發現的餐廳、店鋪,當在心中做下記號,下次打算光顧時,卻總撞邪了一般找不到,而坐公共汽車,更是天方夜譚,因為這裡壓根就沒有。
  • 幽默一笑:我弄死你們就像弄死這群螞蟻一樣簡單
    1、今天我和班上的一個同學打架的時候正好被班主任看見了,他把我倆帶到操場,指著地上讓我們看。原來是一群螞蟻在搬運食物,老師肯定是想讓我們明白團結的力量,我倆剛想握手言和,老師一腳踩下去說:我弄死你們就像弄死這群螞蟻一樣簡單。
  • 旅客不是上帝 別讓「上帝」找不到北!
    究竟是什麼讓我們的某些「上帝」越來越找不到北了?  作為服務行業,讓旅客滿意是航空公司的職責所在,也是在激烈競爭的航空市場生存和發展的硬道理。但是這種滿意服務不是無原則沒有底線的。旅客在享受航空服務產品的同時,也應遵循法律法規和道德規範。但是在現實中,航班延誤我們有時會聽到旅客這樣的聲音:「管他什麼原因延誤,就是要鬧,不鬧就拿不到補償金!」
  • 「找不到北」的女乘客,遭到順風車司機打:你是火星人嗎?
    「找不到北」的女乘客,遭到順風車司機打,表哥:不能忍! 開篇先設一個疑問句,路痴是一種什麼樣的體驗?很多情侶之間的矛盾是因為女朋友找不到路,定位不清楚,當男朋友接她來晚的時候,什麼錯都歸置在男朋友身上,那個時候可真是有苦難言。
  • 千萬別一個人去漠河,我怕你找不到「北」
    但是我一樣憧憬你的到來,帶著熱情滿懷期待。謝謝你找到我,來到我的身邊陪著我。跨越了半個中國來見你,這裡有中國「北方第一哨」北極哨所,中國唯一觀測北極光的最佳地點。這裡是號稱「中國最北」的北極村,這裡有北方最原始的美麗雪景。
  • 一隻螞蟻坐動車去到千裡之外,它會與當地的蟻群合群嗎?為什麼?
    這是個很有意思的問題,因為螞蟻爬上動車也不是不可能的,而國內的動車從北方到南方大都要行駛千裡之遠。那麼,一隻螞蟻從北方坐上動車到達千裡之外的南方,它會和當地的螞蟻認識併合群嗎?答案是否定的。如果這隻螞蟻到達南方後不乘動車回來,那麼,它99%的會死,為什麼這麼說呢?
  • 在這裡玩,任何一個方向都是南,真的找不到北了
    中國人喜歡北,是由悠久的歷史文化決定的。而找北也因為中國民間俗語中的典故讓人們尤為樂忠。中國北極點在哪?最北端的漠河北極村,北緯52°33′30″,是我國最靠近北極圈的地方。農曆夏至和冬至時,在這裡會有極晝或極夜現象,也就是一年中最長的白天和最長的黑夜。
  • 在古地圖裡你可能找不到北
    傻傻分不清楚古代地圖以形象感和美感很強的示意圖居多,講究意境,與山水畫有著千絲萬縷的聯繫,沒有把實用性和藝術性明顯地區分開來。臺北故宮館收藏的《江西省輿圖》。乍看之下,這幅古地圖像是山水畫:湖水的波紋、山邊的雲霧都描繪得非常細膩。博物院在賞析中寫道:「使用山水畫中的金碧山水畫法,使用泥金勾染山石輪廓、坡腳、宮室、樓閣等建築物。
  • 熱血傳奇:明星代言大盤點,網友找不到北,到底誰是真傳奇?
    明星代言:層出不窮,臺詞已成俏皮話其實一開始我是拒絕的,後來我試玩了一下,哇!爆率真的很高!最關鍵是還送VIP,裝備全部都是buling buling的。忙的時候可以離線掛機,不忙的時候可以帶著成家班去攻沙,好熱血,蠻好玩的。
  • 這群十幾歲的海南少女 讓螞蟻金服的高管們都瘋狂了!
    每天就琢磨孩子的表情和行為,一個皺眉、一個發呆,她都要找孩子談心,幫她疏導心裡的鬱結。然而,鎖閉已久的心門不易打開。兩個月後,陳瑤還是決定要走。吳小麗把女孩們集合起來,開了個小會。初見黃巧祥,肖山和吳小麗腦海裡,一下浮現一張照片。「那還是我倆談戀愛那會兒」吳小麗說,照片上是一個非洲的難民小孩,一隻皺巴巴的小手,放在一張大手上。
  • 為什麼在月亮上用指南針會找不到北?
    不過,讓人感到奇怪的是,在地球上神通廣大的指南針在月亮上卻一點用也沒有,那這是怎麼回事呢?首先,我們先來了解一下指南針在地球上能指示方向的原理。在指南針上,有一根裝在軸上可以自由移動的磁針,它在地球上因為受到地球磁場的磁力作用,所以一端會指向北極,另一端則會指向南極。