一場與網(wǎng)絡(luò)系統(tǒng)的邂逅(一場與網(wǎng)絡(luò)系統(tǒng)的邂逅作文)

一場與網(wǎng)絡(luò)系統(tǒng)的邂逅(一場與網(wǎng)絡(luò)系統(tǒng)的邂逅作文)

編者按

計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)領(lǐng)域頂級會議NSDI 2017于三月末在美國波士頓召開。會議結(jié)束之后,我們邀請了微軟亞洲研究院的聯(lián)合培養(yǎng)博士生肖文聰與我們分享了他的此次參會的心得體會。你還可能看過他此前分享的SoCC的參會體驗(yàn)。


會議簡介

NSDI的全稱是Networked Systems Design and Implementation,是USENIX旗下的旗艦會議之一,也是計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)領(lǐng)域久負(fù)盛名的頂級會議。與網(wǎng)絡(luò)領(lǐng)域的另一頂會Sigcomm相比,NSDI更加側(cè)重于網(wǎng)絡(luò)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),眾所周知的大數(shù)據(jù)系統(tǒng)Spark就發(fā)表在2012年的NSDI大會上。

NSDI特別重視文章質(zhì)量,會議采用嚴(yán)格的雙盲評審,每篇文章都要經(jīng)過兩輪總計(jì)六到八個(gè)審稿人審閱,之后還需要經(jīng)過程序委員會的討論篩選。最后,今年的NSDI在投稿的兩百多篇文章中收錄了學(xué)術(shù)論文40篇,錄取率為18%。

本屆NSDI在美國波士頓舉行,大會總共持續(xù)三天,分為13個(gè)session,從數(shù)據(jù)中心到無線網(wǎng)絡(luò),從安全隱私到異常檢測,從存儲系統(tǒng)到分布式計(jì)算,既有經(jīng)典的網(wǎng)絡(luò)問題負(fù)載均衡(Load balance)和調(diào)度(Scheduling),也有視頻檢測系統(tǒng)和分布式機(jī)器學(xué)習(xí)系統(tǒng)等新場景下的新問題,可以說是涵蓋了網(wǎng)絡(luò)系統(tǒng)研究的方方面面。每個(gè)session僅有三四篇文章,每篇文章都需要在大會上作近半小時(shí)的口頭報(bào)告并接受提問。除了Oral環(huán)節(jié)外,第二天的晚上還設(shè)有一個(gè)單獨(dú)的Poster session,總共錄取了量少質(zhì)優(yōu)的22篇poster,展示了來自年輕PhD學(xué)生的很多新思路和新想法。

一場與網(wǎng)絡(luò)系統(tǒng)的邂逅(一場與網(wǎng)絡(luò)系統(tǒng)的邂逅作文)

搭訕,演講,被搭訕

早在我第一次去開會的時(shí)候,我的導(dǎo)師、微軟亞洲研究院副院長周禮棟博士和我在研究院的指導(dǎo)老師(mentor)伍鳴就告訴我,開會最重要的是什么:交流!然而很多事情都是知易行難。我不禁回想起兩年前我第一次參與國際學(xué)術(shù)會議的時(shí)候的尷尬,當(dāng)時(shí)由于對自己英語口語和口音的不自信,即便是面對歡迎晚宴上坐在身旁的研究員,我也不知道該如何開口。我現(xiàn)在還記得,在我完成那年的暑期實(shí)習(xí)并從美國總部微軟雷德蒙研究院離職的那天,我的指導(dǎo)老師還分享給我不少經(jīng)驗(yàn),其中之一就是關(guān)于語言交流的問題。因?yàn)橛⒄Z并不是我們的母語,我們在與別人的交流中存在著理解上的偏差是很經(jīng)常出現(xiàn)的,不斷訓(xùn)練自己提升語言能力當(dāng)然重要,但更重要的是要永遠(yuǎn)保持耐心,去傾聽、理解、詢問,為達(dá)到一致的理解(context)去不斷嘗試溝通和表達(dá)自己。仔細(xì)回想,算上大四那年,我已經(jīng)在微軟亞洲研究院的系統(tǒng)組實(shí)習(xí)快4年了,幾乎每個(gè)研究員都在科研上給予過我?guī)椭?,而組里輕松而扎實(shí)的學(xué)術(shù)氛圍,堅(jiān)持科研與產(chǎn)品相結(jié)合的實(shí)踐方法更是深深影響了我。我何其榮幸能得到這么多人孜孜不倦的教誨,點(diǎn)點(diǎn)滴滴只能牢記于心,不斷踐行。這次的大會上,我在茶歇期間成功搭訕了好幾位優(yōu)秀學(xué)者并與Poster 環(huán)節(jié)超過一半的人都進(jìn)行了交流,相比于上次,也算是小有進(jìn)步。

一場與網(wǎng)絡(luò)系統(tǒng)的邂逅(一場與網(wǎng)絡(luò)系統(tǒng)的邂逅作文)

系統(tǒng)組參會人員合照

實(shí)際上開會聊天是很高效的交流手段,而吃飯時(shí)間更是極好的溝通的機(jī)會。如果遇到一些年長的研究員,他們經(jīng)常會分享一些高層次的對于研究方向和領(lǐng)域發(fā)展的思考,甚至是一些人生經(jīng)驗(yàn)。如果遇到跟自己相關(guān)領(lǐng)域的論文的作者,那么就很容易能聊到論文新方法下的一些細(xì)節(jié)問題,其實(shí)透過作者讀論文往往是最快的方法!眾所周知,很多國際頂級學(xué)術(shù)會議涉及領(lǐng)域的范圍很廣,就拿NSDI來說,網(wǎng)絡(luò)系統(tǒng)領(lǐng)域的研究跨度很大,而近幾年交叉領(lǐng)域的新工作也比較多,聊天時(shí)經(jīng)常會遇到自己可能還沒接觸到的研究面,這時(shí)候與同行的交流經(jīng)常能腦洞大開,相互激發(fā)新想法。這次的NSDI恰好是在學(xué)術(shù)重鎮(zhèn)波士頓舉行,波士頓周圍匯聚了很多著名的高校,包括著名的麻省理工學(xué)院(MIT)和哈佛大學(xué)。這帶來的一個(gè)好處就是參會的人不只有網(wǎng)絡(luò)系統(tǒng)相關(guān)的研究員和論文作者,更有不少來自這些高校的PhD們,他們使參會人員更加多元化。俗話說的好,他山之石可以攻玉,很多前瞻性的文章和新穎的方法就是在這樣的跨界交流中提煉的。

這是我第二次參加國際學(xué)術(shù)會議,而不同于以往,這次我需要在大會上就自己的工作做近半小時(shí)的口頭報(bào)告。這里要非常感謝我在微軟亞洲研究院系統(tǒng)組的同事們,從PPT到演講內(nèi)容他們都幫我進(jìn)行了細(xì)致的修改,還安排了三次的排練并教會我很多演講上的技巧。

盡管是早有準(zhǔn)備,但我在前往波士頓的飛機(jī)上卻還是愈發(fā)的緊張和焦慮。然而就在當(dāng)我剛到會場進(jìn)行注冊的時(shí)候,我遇到了去年暑期在雷德蒙研究院實(shí)習(xí)時(shí)認(rèn)識的研究員Amar,他的一句“溫控 ”(在英語使用者看來我的名字Wencong是應(yīng)該這么發(fā)音) 和爽朗的笑聲把我的思緒從陰冷的波士頓帶回了美麗的西雅圖的夏天,到那個(gè)大家都非常努力非常有愛的99號樓,一切的緊張和壓抑瞬間得到了緩解。當(dāng)我站上演講臺之后,與其說有那么點(diǎn)緊張更不如說是一種興奮,看著下面目光灼灼的“同學(xué)們”,我覺得自己更像一個(gè)傳播知識的老師,責(zé)任重大。

在完成了演講之后的茶歇,一位不認(rèn)識的研究員突然跑過來,我看了一下名牌才發(fā)現(xiàn),竟是大名鼎鼎的PowerGraph和GraphX的作者Joseph!他稱贊了我們的工作,并分享了他的一些相關(guān)的思考,包括系統(tǒng)設(shè)計(jì)層面以及機(jī)器學(xué)習(xí)等。我非常開心自己的工作得到了肯定,通過自己的一些微小的工作,能讓大家在分布式系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)上看到一個(gè)新的方法,有一些新的啟發(fā),我很自豪也很滿足。

焦點(diǎn)透視

下面我將從獲獎?wù)撐摹⑽④?/strong>Azure的重磅工作、數(shù)據(jù)中心研究、以及機(jī)器學(xué)習(xí)相關(guān)系統(tǒng)4個(gè)方面介紹一些NSDI上的論文。

  • 獲獎?wù)撐?/strong>

本屆NSDI共頒發(fā)了兩個(gè)獎項(xiàng),Community Award(社區(qū)貢獻(xiàn)獎)和Best Paper Award(最佳論文獎)。其中Community Award被Dropbox斬獲,而來自Korea Advanced Institute of Science and Technology (KAIST) 的mOS則在眾多歐美名校的頂級網(wǎng)絡(luò)系統(tǒng)工作中脫穎而出,摘得了唯一的Best Paper Award!

Dropbox在論文The Design, Implementation, and Deployment of a System to Transparently Compress Hundreds of Petabytes of Image Files for a File-Storage Service中介紹了他們的圖像數(shù)據(jù)壓縮系統(tǒng)Lapton【1】,已經(jīng)部署在Dropbox這樣一個(gè)世界范圍的云存儲系統(tǒng)中,可以無損壓縮JPEG圖像文件到原來大小的77%。截至到2017年1月,已經(jīng)壓縮高達(dá)數(shù)百個(gè)PB的數(shù)據(jù),節(jié)省了46PB的存儲空間。這個(gè)系統(tǒng)已經(jīng)在Github進(jìn)行了開源。

KAIST的mOS則主要解決帶有狀態(tài)的網(wǎng)絡(luò)數(shù)據(jù)流層面的MiddleBox的編程可重用性問題。MiddleBox是指網(wǎng)絡(luò)中部署的帶有除了包轉(zhuǎn)發(fā)以外功能的系統(tǒng),比如說防火墻就是一個(gè)常見的MiddleBox應(yīng)用,用于過濾未經(jīng)許可的網(wǎng)絡(luò)流量。電信系統(tǒng)中對于蜂窩數(shù)據(jù)流量的計(jì)算和實(shí)時(shí)監(jiān)控也是另外一個(gè)典型的MiddleBox應(yīng)用。實(shí)現(xiàn)MiddleBox應(yīng)用通常需要對于每個(gè)連接的數(shù)據(jù)包和狀態(tài)進(jìn)行監(jiān)控和處理,從而需要自己實(shí)現(xiàn)很多相應(yīng)的包轉(zhuǎn)發(fā)等功能,KAIST的研究員提出了一套高層次編程接口,使得用戶只需要專注于實(shí)現(xiàn)MiddleBox的應(yīng)用,隱藏了底層數(shù)據(jù)流處理的邏輯,避免了復(fù)雜而易錯(cuò)的數(shù)據(jù)流管理部分的重復(fù)性編程。而在底層,mOS通過一個(gè)高效而靈活的事件系統(tǒng),支持百萬量級并發(fā)流事件的處理。mOS系統(tǒng)已經(jīng)在Github上開源,相信會給MiddleBox的研究和產(chǎn)品帶來諸多的便利。

  • 微軟Azure的重磅工作

微軟在這樣一個(gè)網(wǎng)絡(luò)系統(tǒng)領(lǐng)域的盛會中繼續(xù)保持著自己的重量級地位,參與了總共40篇文章中的9篇文章的工作,為工業(yè)界之最,表現(xiàn)搶眼。而微軟的研究員也在本屆NSDI的多個(gè)session中擔(dān)任主席。在近幾年的網(wǎng)絡(luò)系統(tǒng)研究中,一方面微軟研究院不僅自己發(fā)表研究文章,并且還聯(lián)合其他多個(gè)科研機(jī)構(gòu)以及其學(xué)生合作發(fā)表了多篇研究文章,另一方面微軟的產(chǎn)品部門Azure也不斷發(fā)表文章介紹了他們在實(shí)際生產(chǎn)環(huán)境中的先進(jìn)工作和經(jīng)驗(yàn)。

Azure云服務(wù)是世界上最大的公有云服務(wù)之一,微軟Azure的數(shù)據(jù)中心散布在世界各地,包含高達(dá)百萬量級的機(jī)器數(shù)目。Azure把虛擬機(jī)賣給客戶,需要給虛擬機(jī)的網(wǎng)絡(luò)提供防火墻、負(fù)載均衡等網(wǎng)絡(luò)功能,鑒于此,微軟的Azure team在數(shù)據(jù)中心設(shè)計(jì)中大規(guī)模實(shí)踐SDN。

在本屆NSDI的SDN and Network Design session,微軟Azure數(shù)據(jù)中心負(fù)責(zé)Host SDN team的Daniel Firestone介紹了他們長達(dá)8年的Host SDN的項(xiàng)目經(jīng)驗(yàn),披露了核心系統(tǒng)——Virtual Filtering Platform (VFP) 【3】這樣一個(gè)端系統(tǒng)上的可編程端虛擬交換機(jī)的設(shè)計(jì)和實(shí)現(xiàn)細(xì)節(jié)。VFP已經(jīng)部署在超過一百萬臺的Azure服務(wù)器上,穩(wěn)定的支持IaaS和PaaS的服務(wù)長達(dá)4年的時(shí)間。

第一階段的VFP項(xiàng)目著重在可編程性上,允許不同用戶能獨(dú)立的編寫網(wǎng)絡(luò)策略而不相互影響,并且支持網(wǎng)絡(luò)連接層面的狀態(tài)化信息,還能夠編寫靈活的網(wǎng)絡(luò)策略。

第二階段的VFP項(xiàng)目則著重關(guān)注在可維護(hù)性和性能兩個(gè)層面,一方面提供熱部署的功能,另一方面在基于FPGA 實(shí)現(xiàn)的SmartNIC的支持下,通過Unified Flow Table設(shè)計(jì)和Hardware Offloads,使得VFP在保持最開始的靈活軟件定義的特性下,能夠高效的支持40Gbps和50Gbps的高速數(shù)據(jù)中心網(wǎng)絡(luò)。進(jìn)一步的,SmartNIC對每個(gè)服務(wù)器上運(yùn)行著的虛擬機(jī)抽象出一塊虛擬網(wǎng)卡,虛擬機(jī)通過SR-IOV技術(shù)即可直接訪問這塊虛擬網(wǎng)卡,使得虛擬機(jī)收發(fā)網(wǎng)絡(luò)數(shù)據(jù)包都不需要CPU計(jì)算單元的參與,做到了CPU-bypass,既節(jié)省了CPU資源又降低了網(wǎng)絡(luò)延遲,并且更具經(jīng)濟(jì)性。

一場與網(wǎng)絡(luò)系統(tǒng)的邂逅(一場與網(wǎng)絡(luò)系統(tǒng)的邂逅作文)

在如今的Azure數(shù)據(jù)中心中,正如下圖所示,每一臺服務(wù)器上都插上了一塊FPGA,部署在本機(jī)網(wǎng)卡與外部網(wǎng)路之間,并通過PCIe連接到服務(wù)器上,F(xiàn)PGA 之間通過 LTL (Lightweight Transport Layer) 通信,在微秒級別的時(shí)間內(nèi)就可以到達(dá)數(shù)據(jù)中心內(nèi)任何的FPGA,真正做到了低延遲高帶寬。這樣一種部署的方式和軟硬件協(xié)同設(shè)計(jì)的方法讓FPGA從CPU中接手網(wǎng)絡(luò)功能并進(jìn)一步加速了SDN,使得Host SDN得以在如今的高帶寬數(shù)據(jù)中心網(wǎng)絡(luò)中部署。軟件定義網(wǎng)絡(luò)以這樣一種全新的方式與硬件相融合,兼具靈活性與高效性。

一場與網(wǎng)絡(luò)系統(tǒng)的邂逅(一場與網(wǎng)絡(luò)系統(tǒng)的邂逅作文)

  • 持續(xù)火爆的數(shù)據(jù)中心研究

數(shù)據(jù)中心的研究一直是NSDI上的焦點(diǎn),很多的工作都圍繞著數(shù)據(jù)中心的網(wǎng)絡(luò)來展開。

負(fù)載均衡(Load balance)和擁塞控制(Congestion control)一直是數(shù)據(jù)中心網(wǎng)絡(luò)中的經(jīng)典問題。在14年的Sigcomm上,思科發(fā)表了CONGA,在如今看來仍然是state-of-art的congestion-aware load balance機(jī)制,在今年的NSDI上,他們又卷土重來,在文章Let it flow【4】中提出了一個(gè)非常簡單的負(fù)載均衡方法,延續(xù)了他們在CONGA里面的思路:與其在每個(gè)數(shù)據(jù)包上做負(fù)載均衡,不如考慮在Flowlet的粒度上做。這里的Flowlet可以認(rèn)為是以時(shí)間維度來切分的批量網(wǎng)絡(luò)包。其簡潔的新負(fù)載均衡算法,一言以蔽之,即只要隨機(jī)的安排Flowlet到可用的網(wǎng)絡(luò)路徑上即可均衡流量。這種看似隨機(jī)的做法其實(shí)卻能非常好的感知網(wǎng)絡(luò)擁堵,從而做到負(fù)載均衡。這一做法的深層次原因在于:在擁塞嚴(yán)重的路徑上,F(xiàn)lowlet的大小會降低,而在通暢的路徑上,F(xiàn)lowlet的大小會增長。這一機(jī)制(下圖綠色) 比現(xiàn)有的很多流量均衡方法都有顯著優(yōu)勢,而比起復(fù)雜的機(jī)制CONGA(下圖紅色),也只有10~20%的差別。

一場與網(wǎng)絡(luò)系統(tǒng)的邂逅(一場與網(wǎng)絡(luò)系統(tǒng)的邂逅作文)

在另一個(gè)工作Flowtune【5】中,MIT的研究員則關(guān)注網(wǎng)絡(luò)帶寬分配的收斂速度問題。在數(shù)據(jù)中心網(wǎng)絡(luò)中,網(wǎng)絡(luò)管理者會事先基于不同的策略定義優(yōu)化的目標(biāo),把網(wǎng)絡(luò)的帶寬迅速的分給當(dāng)前的數(shù)據(jù)流。這個(gè)優(yōu)化目標(biāo)是事先定義好的,比如說可以是流之間公平性(Fairness)或者流完成時(shí)間(FCT)。傳統(tǒng)的網(wǎng)絡(luò)帶寬分配這方面工作基本都是基于數(shù)據(jù)包(packet)這個(gè)粒度,收斂到目標(biāo)狀態(tài)所需要的時(shí)間相對較長。這篇文章提出按照Flowlet的粒度來分配網(wǎng)絡(luò)帶寬,每一個(gè)Flowlet都由一個(gè)中心化的控制器來決定發(fā)送速率。這里面關(guān)鍵的問題是如何快速計(jì)算出收斂到的最優(yōu)速率,針對這一挑戰(zhàn),他們提出了一個(gè)新的Newton-Exact-Diagonal方法來解決這個(gè)問題,并且設(shè)計(jì)實(shí)現(xiàn)了一個(gè)在CPU上的多核并行可擴(kuò)展的系統(tǒng)。

  • 機(jī)器學(xué)習(xí)和網(wǎng)絡(luò)系統(tǒng)

隨著機(jī)器學(xué)習(xí)和人工智能系統(tǒng)的迅速發(fā)展,以及這些技術(shù)在生產(chǎn)環(huán)境中的大規(guī)模應(yīng)用,很多網(wǎng)絡(luò)系統(tǒng)的工作開始研究如何針對性的優(yōu)化這些新應(yīng)用。這屆的NSDI大會上涌現(xiàn)出了不少跟機(jī)器學(xué)習(xí)相關(guān)的文章,研究員們并不只停留于設(shè)計(jì)實(shí)現(xiàn)網(wǎng)絡(luò)系統(tǒng)來為機(jī)器學(xué)習(xí)算法應(yīng)用服務(wù),還有更多的學(xué)者將機(jī)器學(xué)習(xí)方法應(yīng)用到網(wǎng)絡(luò)系統(tǒng)的實(shí)際問題之中,而這個(gè)角度的工作相對來說是比較少的,十分令人欣喜。

Curator【6】是華盛頓大學(xué)和Nutanix合作的系統(tǒng),它是一個(gè)部署在后端的MapReduce-style的框架,用于處理存儲系統(tǒng)中的后臺任務(wù),比如說磁盤碎片整理,冷熱數(shù)據(jù)搬運(yùn),備份數(shù)據(jù)等。論文介紹了他們多年來在分布式存儲系統(tǒng)設(shè)計(jì)上的經(jīng)驗(yàn)。值得一提的是,他們提出了用強(qiáng)化學(xué)習(xí)的方法來去確定SSD和HDD中分別存儲的數(shù)據(jù)量,并稱相較于經(jīng)驗(yàn)性的閾值策略方法會降低20%的延遲。

無獨(dú)有偶,這種動態(tài)閾值的思想在這屆NSDI大會中關(guān)于內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)相關(guān)的工作AdaptSize【7】也得到了體現(xiàn)。CDN是一種節(jié)點(diǎn)散落在不同地理位置的大規(guī)模分布式系統(tǒng)。舉例來說,很多網(wǎng)絡(luò)應(yīng)用中需要的資源,例如視頻和圖片等這樣的靜態(tài)資源,就可以預(yù)先緩存在就近的節(jié)點(diǎn)上。當(dāng)用戶請求數(shù)據(jù)時(shí),CDN系統(tǒng)根據(jù)網(wǎng)絡(luò)狀態(tài)的實(shí)際情況重定向用戶請求到就近節(jié)點(diǎn)上,以方便用戶的訪問。這樣既減輕核心服務(wù)器的負(fù)載壓力,又降低了獲取資源的延遲,提高了用戶體驗(yàn)。在CDN上,一般會區(qū)分冷熱數(shù)據(jù),把用戶經(jīng)常訪問的熱數(shù)據(jù) (Hot object) 放在內(nèi)存這樣的低訪問延遲的存儲模塊中,而剩下的放在磁盤中,這樣內(nèi)存中的熱數(shù)據(jù)就構(gòu)成一個(gè)緩存。這里最關(guān)鍵的問題就是,什么樣的數(shù)據(jù)需要放進(jìn)內(nèi)存,現(xiàn)有的做法無非是把全部都放進(jìn)去然后根據(jù)訪問頻率把低頻的踢出,或者是基于一個(gè)閾值把小數(shù)據(jù)放進(jìn)去,畢竟小數(shù)據(jù)更加劃算。這篇文章采用一個(gè)馬爾可夫模型,根據(jù)請求的模式 (Request pattern) 自動調(diào)節(jié)相應(yīng)閾值決定緩存的文件大小,進(jìn)而獲得更好的緩存命中率。這個(gè)論文的結(jié)果非常的令人振奮,相比于現(xiàn)有的其他方法有20個(gè)百分點(diǎn)的提升!

一場與網(wǎng)絡(luò)系統(tǒng)的邂逅(一場與網(wǎng)絡(luò)系統(tǒng)的邂逅作文)

不只是CDN,這種方法很容易應(yīng)用到其他的相似場景,即上層有復(fù)雜而多變的數(shù)據(jù)訪問模式(Access pattern)的帶有緩存的系統(tǒng)。

更進(jìn)一步的說,在系統(tǒng)中引入機(jī)器學(xué)習(xí)方法來代替固定的閾值,我認(rèn)為是一個(gè)相對通用的方法,并且這種方法有可能在很多情況下都會有好處。系統(tǒng)或者網(wǎng)絡(luò)本身也許能學(xué)習(xí)感知到上層不同應(yīng)用不同的數(shù)據(jù)訪問模式,從而自適應(yīng)其特性,調(diào)整到更加合適的配置之下。然而這又為系統(tǒng)本身增加了復(fù)雜性和不確定性,畢竟穩(wěn)定性、簡單可靠、乃至可復(fù)現(xiàn)是基礎(chǔ)設(shè)施平臺一直以來的追求。所以說,這并不是放諸四海皆準(zhǔn)的靈丹妙藥,但是也是一個(gè)很有趣的新思路。

CherryPick【8】是來自耶魯和微軟等四個(gè)機(jī)構(gòu)的多方合作項(xiàng)目,其研究關(guān)注在云系統(tǒng)的調(diào)度層面,一個(gè)云端服務(wù)可以應(yīng)用不同的系統(tǒng)配置。然而,為了達(dá)到相同的性能,不同的配置可能會導(dǎo)致高達(dá)12倍乃至更多的成本耗費(fèi)上的差別,這一點(diǎn)在重復(fù)性作業(yè) (recurring job) 上顯得尤為突出。自動的在低搜索空間下為云端服務(wù)找到最優(yōu)配置所帶來的經(jīng)濟(jì)性自然是不言而喻。文章使用了一個(gè)簡單的貝葉斯優(yōu)化 (Bayesian Optimization) 來幫助優(yōu)化搜索過程,決策搜索哪個(gè)配置下的運(yùn)行性能,以及什么時(shí)候停止搜索以找到最優(yōu)的系統(tǒng)配置。我覺得這個(gè)工作建模的系統(tǒng)指標(biāo)項(xiàng)還是相對來說比較簡單的,僅考慮任務(wù)占用的VM、CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等靜態(tài)系統(tǒng)指標(biāo),并不考慮數(shù)據(jù)、系統(tǒng)當(dāng)前總資源占用、任務(wù)間的相互干擾之類的當(dāng)前整個(gè)系統(tǒng)狀態(tài)相關(guān)的問題。其使用簡單模型針對這一特定問題固然有其好處,但是不一定適合更加復(fù)雜的情況。正如Google曾透露他們已經(jīng)試圖用強(qiáng)化學(xué)習(xí)優(yōu)化一些調(diào)度問題一樣,我相信機(jī)器學(xué)習(xí)在系統(tǒng)領(lǐng)域應(yīng)用的研究才剛剛開始。采用數(shù)據(jù)驅(qū)動的方法,通過對于數(shù)據(jù)的分析和問題的建模,可以幫助我們加深對于復(fù)雜系統(tǒng)的理解,減少乃至避免經(jīng)驗(yàn)性的閾值和靜態(tài)配置,而這些新的方法論最終將反過來影響網(wǎng)絡(luò)系統(tǒng)的設(shè)計(jì)。

VideoStorm【9】是普林斯頓的Haoyu在微軟研究院實(shí)習(xí)的時(shí)候做的工作。隨著DNN在圖像視頻領(lǐng)域的物體識別追蹤上的不斷發(fā)展,利用這一方法實(shí)時(shí)的分析監(jiān)控?cái)z像頭的數(shù)據(jù),完成如車輛追蹤這樣的人工智能任務(wù)已成為現(xiàn)實(shí)的需求。這篇文章針對這樣一個(gè)典型的人工智能應(yīng)用,探討在給定資源下,綜合考慮多種視頻流任務(wù)的不同質(zhì)量和不同延遲這一需求,如何分配云端資源來同時(shí)處理成千上萬個(gè)視頻流數(shù)據(jù)任務(wù)的方法。這個(gè)系統(tǒng)已經(jīng)在美國華盛頓州的貝爾維尤市完成部署,為實(shí)時(shí)交通數(shù)據(jù)的分析服務(wù)。這個(gè)實(shí)際的問題是深度學(xué)習(xí)從理論走向?qū)嵺`的過程中會遭遇的現(xiàn)實(shí)挑戰(zhàn),隨著更多這種應(yīng)用的部署,相關(guān)的網(wǎng)絡(luò)系統(tǒng)都蘊(yùn)含著更多類似的新研究機(jī)會。

Big Data session中的四篇文章有三篇跟機(jī)器學(xué)習(xí)相關(guān),第一篇是來自于伯克利RICE實(shí)驗(yàn)室,其前身是AMPLab,其產(chǎn)出不止包括有影響力的論文,更是有影響力的開源項(xiàng)目和創(chuàng)業(yè)公司,由Databricks公司主導(dǎo)的Spark項(xiàng)目已經(jīng)在大數(shù)據(jù)領(lǐng)域發(fā)展出繁榮的生態(tài)鏈。而在這次的NSDI上,他們發(fā)表了Clipper【10】系統(tǒng)。這是一個(gè)以通用性和低延遲為目標(biāo)的機(jī)器學(xué)習(xí)服務(wù)(serving) 系統(tǒng),對用戶端提供統(tǒng)一的接口,而底層則適配多種框架,包括 Spark MLlib,Caffe,Tensorflow,Scikit-Learn等,從而簡化這種服務(wù)系統(tǒng)的部署工作。Clipper系統(tǒng)通過應(yīng)用緩存(caching),批處理(batching),以及自適應(yīng)模型選擇(adaptive model selection)來優(yōu)化延遲,提高吞吐率、準(zhǔn)確率、和魯棒性。在當(dāng)前機(jī)器學(xué)習(xí)技術(shù)廣泛應(yīng)用,深度學(xué)習(xí)框架繁榮發(fā)展的現(xiàn)狀下,Clipper攜Spark在大數(shù)據(jù)系統(tǒng)上的領(lǐng)先地位和MLlib,試圖用一個(gè)前端框架一統(tǒng)model serving部分,可以說是雄心勃勃。然而不同于大數(shù)據(jù)時(shí)代,如今深度學(xué)習(xí)有更多的底層框架,比如說CNTK和MXNet,也更加依賴異構(gòu)的硬件平臺,比如說GPU、FPGA和以Google的TPU為代表的ASIC,以及計(jì)算密集型應(yīng)用要求對于性能上的極致壓榨,這些都為大一統(tǒng)平臺帶來了更多的挑戰(zhàn)。這次他們能否成功,我們將拭目以待。

一場與網(wǎng)絡(luò)系統(tǒng)的邂逅(一場與網(wǎng)絡(luò)系統(tǒng)的邂逅作文)

第二篇則是來自CMU的Gaia【11】,討論如何設(shè)計(jì)系統(tǒng)來對基于全球分布(geo-distributed)的機(jī)器學(xué)習(xí)數(shù)據(jù)進(jìn)行訓(xùn)練?,F(xiàn)在很多全球化的服務(wù),比如說搜索引擎,都是部署在世界各地的數(shù)據(jù)中心中就近服務(wù)世界各地的用戶。數(shù)據(jù)中心內(nèi)部一般都部署有低延遲高帶寬的網(wǎng)絡(luò),而數(shù)據(jù)中心間的互聯(lián)網(wǎng)(WANs)則可能很慢,直接在不同數(shù)據(jù)中心間的數(shù)據(jù)上訓(xùn)練機(jī)器學(xué)習(xí)模型,其訓(xùn)練過程會嚴(yán)重受限于數(shù)據(jù)中心間的網(wǎng)絡(luò),文章報(bào)告了高達(dá)53x的性能下降。這個(gè)工作通過解耦數(shù)據(jù)中心內(nèi)部和外部的同步模型來優(yōu)化性能,提出了一個(gè)新的一致性模型 (Approximate Synchronous Parallel) 來進(jìn)一步的減少數(shù)據(jù)中心間的網(wǎng)絡(luò)通信,并且保持機(jī)器學(xué)習(xí)模型的收斂率。這個(gè)工作和Google日前宣布的Federated Learning的工作都是旨在考慮互聯(lián)網(wǎng)范圍內(nèi)機(jī)器學(xué)習(xí)模型的訓(xùn)練問題,后者將訓(xùn)練數(shù)據(jù)分散到成千上萬的用戶手機(jī)中,協(xié)同訓(xùn)練機(jī)器模型以提升模型質(zhì)量,降低延遲。一方面數(shù)據(jù)中心間乃至普通互聯(lián)網(wǎng)中的網(wǎng)絡(luò)存在帶寬低、延遲高、不穩(wěn)定等問題,另一方面機(jī)器學(xué)習(xí)模型又具有一定程度的容忍錯(cuò)誤和延遲更新的特性,這涉及到網(wǎng)絡(luò)和機(jī)器學(xué)習(xí)算法的協(xié)同設(shè)計(jì)(co-design)的問題,非常的有趣。

第三篇是我們的工作TuX2(圖學(xué)習(xí))【12】,是一個(gè)為分布式機(jī)器學(xué)習(xí)設(shè)計(jì)的全新圖計(jì)算引擎。

圖計(jì)算是一個(gè)經(jīng)典的問題,很多的圖計(jì)算系統(tǒng)都專注為諸如PageRank這樣的經(jīng)典圖計(jì)算問題優(yōu)化,提供簡單而并行無關(guān)的編程模型,并且可以在系統(tǒng)內(nèi)部感知圖結(jié)構(gòu)進(jìn)行系統(tǒng)層面優(yōu)化,從而高性能地進(jìn)行橫向擴(kuò)展,支持海量數(shù)據(jù)。我們的上一個(gè)工作,被錄取在SoCC’15上的GraM【13】已經(jīng)可以高效支持高達(dá)萬億(trillion)邊數(shù)的超大規(guī)模圖計(jì)算。

基于我們對于機(jī)器學(xué)習(xí)應(yīng)用的思考,我們發(fā)現(xiàn)多種重要的機(jī)器學(xué)習(xí)算法都有內(nèi)在的圖結(jié)構(gòu)模型。然而與圖計(jì)算算法不同,機(jī)器學(xué)習(xí)算法并不是很適合用現(xiàn)有的圖計(jì)算引擎來處理,原因可以分為兩個(gè)層面,其一是缺乏對于重要機(jī)器學(xué)習(xí)概念的支持,例如小分批(mini-batch)和寬松的一致性模型,其二原有圖模型過于簡單并且在模型抽象上靈活性過低,從而為機(jī)器學(xué)習(xí)算法編程和高效執(zhí)行都帶來了問題。

有鑒于此,為了利用圖計(jì)算的優(yōu)勢同時(shí)又解決上述的問題,我們提出了分布式機(jī)器學(xué)習(xí)系統(tǒng)——圖學(xué)習(xí)TuX2 (Tu Xue Xi)。TuX2相比于傳統(tǒng)的圖計(jì)算引擎,在數(shù)據(jù)模型、調(diào)度模型、編程模型三個(gè)方面都做了關(guān)鍵的擴(kuò)展,全新的圖模型MEGA更是使得分布式圖計(jì)算引擎在保持原有的高效性的同時(shí)擁有更多的靈活性,支持Mini-Batch和靈活一致性模型等關(guān)鍵的機(jī)器學(xué)習(xí)概念,并且更適合編寫復(fù)雜的機(jī)器學(xué)習(xí)算法。

一場與網(wǎng)絡(luò)系統(tǒng)的邂逅(一場與網(wǎng)絡(luò)系統(tǒng)的邂逅作文)

性能方面, 在高達(dá)640億條邊的大規(guī)模數(shù)據(jù)上的實(shí)驗(yàn)充分說明,TuX2相比當(dāng)前最好的圖計(jì)算引擎PowerGraph和PowerLyra都取得了超過一個(gè)數(shù)量級上的性能提升,這一成績背后離不開我們的異質(zhì)性(heterogeneity)圖節(jié)點(diǎn)優(yōu)化和新編程模型MEGA。而對比現(xiàn)有的兩大機(jī)器學(xué)習(xí)系統(tǒng),Petuum和ParameterServer,TuX2在大幅度減少代碼量的同時(shí)帶來了至少48%的性能提升,這主要是因?yàn)槲覀兊膱D編程模型MEGA的高層次抽象以及圖計(jì)算系統(tǒng)基于圖結(jié)構(gòu)優(yōu)化。

要知道,大規(guī)模分布式機(jī)器學(xué)習(xí)模型的訓(xùn)練成為很多產(chǎn)品線的重要部分并且耗時(shí)良久,我們系統(tǒng)顯著的性能提升(Efficiency)有效的節(jié)省了計(jì)算資源,而其擴(kuò)展性(scalability)使得支持更大規(guī)模的數(shù)據(jù)成為可能。

我們的愿景是希望TuX2能夠真正連接圖計(jì)算和分布式機(jī)器學(xué)習(xí)兩個(gè)研究領(lǐng)域,讓更多的機(jī)器學(xué)習(xí)算法和優(yōu)化能夠很簡單的在圖計(jì)算引擎上實(shí)現(xiàn),從而利用好眾多的圖結(jié)構(gòu)優(yōu)化技術(shù)來進(jìn)行系統(tǒng)層面的優(yōu)化,將兩個(gè)領(lǐng)域的研究工作更好的結(jié)合在一起,為人工智能的未來服務(wù)。

作者簡介

一場與網(wǎng)絡(luò)系統(tǒng)的邂逅(一場與網(wǎng)絡(luò)系統(tǒng)的邂逅作文)

肖文聰

肖文聰,本科畢業(yè)于北京航空航天大學(xué)計(jì)算機(jī)學(xué)院,2014年加入北京航空航天大學(xué)與微軟亞洲研究院的聯(lián)合培養(yǎng)博士生項(xiàng)目,導(dǎo)師是北航的李未院士和微軟亞洲研究院副院長周禮棟博士。研究方向是大規(guī)模分布式圖計(jì)算和機(jī)器學(xué)習(xí)系統(tǒng)。


相關(guān)論文:

【1】Lapton:The Design, Implementation, and Deployment of a System to Transparently Compress Hundreds of Petabytes of Image Files for a File-Storage Service

https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/horn

【2】mOS: A Reusable Networking Stack for Flow Monitoring Middleboxes

https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/jamshed

【3】VFP: A Virtual Switch Platform for Host SDN in the Public Cloud

https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/firestone

【4】Let It Flow: Resilient Asymmetric Load Balancing with Flowlet Switching

https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/vanini

【5】Flowtune: Flowlet Control for Datacenter Networks

https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/perry

【6】Curator: Self-Managing Storage for Enterprise Clusters

https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/cano

【7】AdaptSize: Orchestrating the Hot Object Memory Cache in a Content Delivery Network

https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/berger

【8】CherryPick: Adaptively Unearthing the Best Cloud Configurations for Big Data Analytics

https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/alipourfard

【9】VideoStorm:Live Video Analytics at Scale with Approximation and Delay-Tolerance

https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/zhang

【10】Clipper: A Low-Latency Online Prediction Serving System

https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/crankshaw

【11】Gaia: Geo-Distributed Machine Learning Approaching LAN Speeds

https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/hsieh

【12】Tux2: Distributed Graph Computation for Machine Learning

https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/xiao

【13】GraM: scaling graph computation to the trillions

http://dl.acm.org/citation.cfm?id=2806849&CFID=926649994&CFTOKEN=39893429

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部