當(dāng)前位置:首頁 >  科技 >  IT業(yè)界 >  正文

100倍分析性能提升 清華冠軍團隊用圖數(shù)據(jù)震驚世界

 2019-05-30 16:03  來源: 互聯(lián)網(wǎng)   我來投稿 撤稿糾錯

  域名預(yù)訂/競價,好“米”不錯過

中美貿(mào)易戰(zhàn)愈演愈烈,歸根結(jié)底是美國對我們遏制和我們謀求持續(xù)發(fā)展之戰(zhàn)。美國幾次三番針對我國的科技公司,為我們敲響了警鐘,科技自強是硬道理。

我國雖然鮮有頂尖級的系統(tǒng)軟件商業(yè)公司,但我們在科技領(lǐng)域并不缺少世界頂尖人才和成果。以清華大學(xué)朱曉偉博士為例,他在讀期間專注于圖計算領(lǐng)域,研發(fā)的Gemini分布式圖計算系統(tǒng),處理速度超出學(xué)術(shù)界最快系統(tǒng)10倍(通常性能超出40%~50%已經(jīng)是很好的優(yōu)化,超出2倍就很夸張了,超出10倍,可想而知學(xué)術(shù)界的震驚情況),朱曉偉博士在2016年投稿USENIX ATC會議時,因其中一位評審專家不相信能達到這樣的性能而被拒絕入選,用該專家話說,“too good to be true”。無奈,朱曉偉博士只得補充了一些其他系統(tǒng)性能不足的原因分析,并附上源碼接受挑戰(zhàn),因禍得福,論文最終入選USENIX主辦的OSDI(Operating Systems Design and Implementation,OS領(lǐng)域最好的會議之一),這也是我國第一次有高校主導(dǎo)的學(xué)術(shù)研究入選OSDI,如今該論文已經(jīng)作為圖數(shù)據(jù)領(lǐng)域的標(biāo)桿被引用多達上百次。

系統(tǒng)軟件的成熟需要長期的投入和積累,很難像互聯(lián)網(wǎng)產(chǎn)業(yè)那樣從一個商業(yè)模式快速迭代成一個TOP級的商業(yè)公司。一款成熟的系統(tǒng)軟件需要兩個必要的條件:優(yōu)秀的人才和持續(xù)的積累。這些人才和積累,就是商業(yè)公司的壁壘。人才方面,頂尖的系統(tǒng)軟件人才,在實習(xí)期,甚至在優(yōu)秀論文發(fā)表進入學(xué)術(shù)界視野的時候,往往就已經(jīng)被國外的技術(shù)公司“盯上了”;即便是留在國內(nèi)公司,也會很分散的進入BAT(百度阿里騰訊)、TMD(頭條美團滴滴)等企業(yè)作為項目負責(zé)人率隊解決實用的難題或者去復(fù)刻國外系統(tǒng),很難集中一批優(yōu)秀的人才專注在某一領(lǐng)域持續(xù)創(chuàng)新研究。畢竟把幾個頂尖人才放在一個項目里是極其奢侈的,從人力成本的角度考慮,即便大廠也不愿意做。人才的分散,使得技術(shù)積累變得更加困難,而高校積累的、曾經(jīng)閃閃發(fā)光的那些研究成果,隨著學(xué)生畢業(yè)進入工作環(huán)境,也會因為缺少精力維護而擱淺,被埋沒或遺忘。

朱曉偉博士在畢業(yè)前同樣面臨著同樣的困惑:Gemini系統(tǒng)即將被束之高閣么?這么多年的學(xué)習(xí)和研究,很可能就要作為基石,被其他國家的科學(xué)家進一步研發(fā)、商用、構(gòu)建新的壁壘。“不甘心”這幾個字在他心里生根發(fā)芽。

清華頂尖博士團隊 變革系統(tǒng)軟件的科技格局

圖數(shù)據(jù)很多人不太了解,這里簡單的普及一下。圖是將信息中的實體,以及實體之間的關(guān)系,分別抽象表達成為頂點以及頂點間的邊這樣的結(jié)構(gòu)數(shù)據(jù)。圖計算系統(tǒng)就是針對圖數(shù)據(jù)處理的系統(tǒng),它在圖結(jié)構(gòu)的數(shù)據(jù)上進行針對性優(yōu)化的高效計算,尤其適合大規(guī)模的關(guān)聯(lián)關(guān)系分析。相比傳統(tǒng)的關(guān)系型數(shù)據(jù)(以O(shè)racle為代表),圖的邏輯可以很好的解決目前遇到的關(guān)聯(lián)數(shù)據(jù)分析問題,如繪制用戶社交關(guān)系圖譜做社交影響力排名、好友推薦;通過繪制資金交易圖譜做大數(shù)據(jù)征信、反欺詐等應(yīng)用;構(gòu)建設(shè)備關(guān)系網(wǎng)絡(luò)圖譜實現(xiàn)物聯(lián)網(wǎng)建模分析、供電網(wǎng)絡(luò)建模分析等等。

該領(lǐng)域,國內(nèi)最先進的團隊是由陳文光教授帶領(lǐng)的清華團隊,他們十年前就關(guān)注到了圖數(shù)據(jù)技術(shù),歷任學(xué)子均參與過圖數(shù)據(jù)的研究,并在OSDI、EuroSys、ATC等頂級會議中發(fā)表了多篇相關(guān)論文,他們編寫的圖計算系統(tǒng)比學(xué)術(shù)界最快水平快了10多倍,比常見工具快了100多倍。

作為我國計算機領(lǐng)域“產(chǎn)”、“學(xué)”、“研”、“用”的第一人,陳老師自然是敏銳的捕捉到了圖數(shù)據(jù)的大有可為:隨著AI如火如荼的發(fā)展,圖數(shù)據(jù)作為底層數(shù)據(jù)存儲分析技術(shù),可以幫助機器學(xué)習(xí)領(lǐng)域獲取更多維度的信息,在打破性能的約束后,可以說圖計算是下一代AI發(fā)展的推速器。既然已經(jīng)有了超前的學(xué)術(shù)成果,為什么我們不將其落地,進入尋常企業(yè)中?陳老師的提議很快得到了一眾博士學(xué)霸們的響應(yīng),做商用系統(tǒng)軟件很苦,但是很值得,為的是讓性能瓶頸不在成為分析的障礙,也為了中國系統(tǒng)軟件揚眉吐氣的機會 。

組件團隊時,陳教授第一個想到的門生,是已經(jīng)博士畢業(yè)多年,編寫了世界上第一個開源分布式C++圖計算系統(tǒng),在微軟亞洲研究院負責(zé)微軟下一代大數(shù)據(jù)系統(tǒng)平臺和分布式機器學(xué)習(xí)平臺的洪春濤博士,MXNET早期原型設(shè)計正是在洪春濤博士的幫助下完成的。在微軟研究院率隊研發(fā)的經(jīng)歷,使得洪春濤博士既有成熟商業(yè)軟件開發(fā)的經(jīng)驗,同時具備協(xié)作管理的閱歷和協(xié)同開發(fā)的節(jié)奏把控力。加之對圖計算的敏銳度,是擔(dān)綱團隊領(lǐng)袖的最佳人選。而洪春濤博士也早有做一番事業(yè)的想法,可以說是一拍即合。

朱曉偉博士自不必說,一路頂著保送清華、碩博連讀、國家級獎學(xué)金、西貝爾學(xué)者、被國際一流期刊重點關(guān)注、斬獲AMC一等獎等眾多科技獎項的學(xué)者,比起去大廠帶團隊拿高薪,能讓研究成果學(xué)以致用比什么都重要。

除了曉偉博士這樣的“性能怪獸”,另一位“重量級”選手——應(yīng)該是重“量級”選手——林恒博士的加入,更讓陳老師覺得“穩(wěn)了”。林恒博士是“神威·太湖之光”Graph500作者。“太湖之光”是我國連續(xù)兩年四屆取得Top500排名世界第一的高性能計算機,也是唯一一臺采用自主研發(fā)的國產(chǎn)處理器的TOP ONE系統(tǒng)。林恒博士主導(dǎo)了該系統(tǒng)Graph500評選并獲得世界排名第二,填補了國產(chǎn)高性能系統(tǒng)在數(shù)據(jù)分析領(lǐng)域獎項的空白。同時基于“太湖之光”研發(fā)的“神圖”系統(tǒng)是世界上規(guī)模最大的圖計算系統(tǒng),入選了2018年“戈登·貝爾”獎決賽,也是中國唯一入圍該獎項的項目。

速度、體量兼有之,陳老師覺得還不夠,因此又挖來了GPU加速、機器學(xué)習(xí)領(lǐng)域?qū)<依類鹜┦?,也是團隊的另一位西貝爾學(xué)者、奧賽金牌獲得者,曾率隊連獲世界三大超級計算機比賽(ASC、SC、ISC)的總冠軍,在清華計算機系素有“小神童”之稱。

至此,由冠軍們組成的團隊就成型了,幾位創(chuàng)始人每個都是以一敵百,技術(shù)公司搶破頭的精英,放棄了高薪、大廠、帶團隊的機會,被陳老師“一鍋端”了,這樣的頂尖陣容,放眼世界也找不到第二個。 “下一代的 AI 可能就踩在我們的肩上了 ”懷揣著改變科技格局的夢想,著手圖數(shù)據(jù)落地的項目啟動了。

快如電光的“費馬”

說是項目啟動,其實幾位創(chuàng)始成員延續(xù)著此前在組里的默契和協(xié)作,跟博士在讀期間的工作沒有太大的區(qū)別。唯一的不同,就是商業(yè)應(yīng)用不同于實驗室中固定的環(huán)境和場景測試,需要顧及系統(tǒng)的方方面面,為了系統(tǒng)的高可用性、易用性、可移植性等應(yīng)用場景中必不可少的部分,團隊重構(gòu)了圖數(shù)據(jù)系統(tǒng),優(yōu)化了系統(tǒng)可用性,內(nèi)置了大量的算法,封裝接口等等,支持豐富的接口和調(diào)用語言,并提供數(shù)據(jù)快速導(dǎo)入導(dǎo)出、可視化等外圍工具,便于管理和使用,使其更適應(yīng)商業(yè)應(yīng)用場景。

把世界上TOP級的聰明人聚在一起,自然效率奇高。系統(tǒng)重構(gòu)僅用了三個月的時間,還是在洪春濤博士的嚴格要求下所用的時間。學(xué)霸之所以是學(xué)霸,不僅是靠天分,同時也靠好習(xí)慣。一直以來,洪春濤博士的每段代碼,都會寫兩遍,第一遍目的是實現(xiàn)功能、跑通程序,第二遍是更合理更簡潔更完美的實現(xiàn),“對于程序員來說,2.0版本總是最好的,所以我會一次就做2.0”。作為團隊核心,洪春濤博士即是CEO也是大家的學(xué)長,這一習(xí)慣被他帶到了團隊里,后面無論項目多緊張,這一習(xí)慣也不會打破。因此,在微軟6年率隊開發(fā)大規(guī)模復(fù)雜系統(tǒng)經(jīng)驗的加持下,洪春濤博士帶領(lǐng)團隊高質(zhì)量的完成了系統(tǒng)重構(gòu)。

產(chǎn)品成熟了,隨之而來終于迎來了一個大家有分歧的問題:起名字。

起名這件事,可能比代碼重構(gòu)更燒腦,為此團隊展開了激烈的討論,最終學(xué)霸們?yōu)轫椖科鹆藗€速度為王的名字:F=ma(費馬)。F=ma是牛頓第二定律,意為“加速”;同時FMA也是計算機的乘加指令(比快更快),中文名字致敬了數(shù)學(xué)家皮埃爾.德.費馬。從此快如電光的LightGraph和PandaGraph有了更快的名字“費馬”。

性能快百倍,內(nèi)存消耗少十倍的 “閃電計算”

圖數(shù)據(jù)的數(shù)據(jù)邏輯維度要遠高于關(guān)系型數(shù)據(jù),以社交場景為例,以往我們分析微博大V的權(quán)重,通常會按其粉絲數(shù)量來排名;而圖數(shù)據(jù)不僅關(guān)注粉絲數(shù)量,同時關(guān)注粉絲質(zhì)量,大V的粉絲是僵尸粉還是活躍粉,是小白還是同為大V,互動是否頻繁等等維度數(shù)據(jù)在圖數(shù)據(jù)中年清晰可尋。因此,圖數(shù)據(jù)分析遠超出二維的分析維度,每增加一層,分析的難度就高了百倍,分析的難度差距是巨大的。數(shù)據(jù)分析維度和數(shù)據(jù)量的增長對系統(tǒng)性能提出了更高的要求,如果性能不足,想要的分析也是難以實現(xiàn)的。

不同于以往科技公司“復(fù)刻”國外成熟產(chǎn)品和模式的套路,費馬冠軍團隊只做性能最佳。那么對比國外成熟的圖數(shù)據(jù)平臺,費馬憑什么能性能快百倍,內(nèi)存消耗少十倍?

費馬CEO洪春濤博士直言是“同類產(chǎn)品太差了”,在客戶的實際業(yè)務(wù)環(huán)境中,經(jīng)常會有上千倍的差距。

除了出自最嚴謹代碼作者這一重要因素以外,從架構(gòu)層到功能層,費馬圖數(shù)據(jù)平臺進行了層層優(yōu)化。在架構(gòu)層,費馬團隊選擇了更適合底層數(shù)據(jù)交互的C++語言,而不是主流的Java語言,雖然編寫的復(fù)雜度高一些,但在應(yīng)用時能夠更靈活。舉個例子,當(dāng)圖數(shù)據(jù)庫從外存中讀取數(shù)據(jù)時,有時需要利用操作系統(tǒng)的MMAP功能,而操作系統(tǒng)默認會進行預(yù)讀取。操作系統(tǒng)假設(shè)我們是連續(xù)讀取數(shù)據(jù)的,所以當(dāng)我們讀取一塊數(shù)據(jù)時,它會幫我們把后面的數(shù)據(jù)也預(yù)先讀取進來。但是在數(shù)據(jù)庫中,我們經(jīng)常是隨機訪問的,因此這個預(yù)讀取功能會浪費時間讀取沒有用的數(shù)據(jù)。對于C++來說,我們可以通過系統(tǒng)調(diào)用來關(guān)閉這一功能,而Java則沒有對應(yīng)的功能。類似的操作還有很多,C++語言對底層數(shù)據(jù)處理更友好。在費馬團隊看來,選擇什么語言來編寫取決于實用性而非編寫者的偏好。

功能上,在存儲方面,費馬支持多版本并發(fā),將讀寫操作分開,寫操作不影響讀操作的性能,不會因為頻繁的讀寫而降低性能;支持事務(wù)內(nèi)并行,多個線程可以在同一快照上執(zhí)行操作,從而加速長事務(wù)分布式處理;采用無鎖數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)讀取操作不需要任何鎖操作,帶來極高的吞吐率;前綴壓縮,將相關(guān)數(shù)據(jù)存儲在連續(xù)的空間中,從而提高遍歷操作的效率,減少重復(fù)檢索操作等等。

在分析方面,費馬支持分布式擴展,能夠線性擴展到分布式環(huán)境,正如閃電一樣延伸再延伸;雙模式驅(qū)動,圖數(shù)據(jù)訪問支持推送和拉取兩種模式,并在運行中自動選擇更優(yōu)的模式,提高數(shù)據(jù)訪問效率;采用連續(xù)數(shù)據(jù)塊劃分,在數(shù)據(jù)劃分時,利用真實數(shù)據(jù)內(nèi)在的關(guān)聯(lián)性,將有關(guān)聯(lián)的數(shù)據(jù)劃分在一起,高質(zhì)量的劃分方法在分析時大有裨益;細粒度調(diào)度,將圖數(shù)據(jù)任務(wù)動態(tài)映射到設(shè)備的CPU、核、線程等多個層級,滿負荷利用計算資源。

種種優(yōu)化帶來了費馬100倍性能增長的“閃電計算”,計算力可以無限延伸,處理萬億級的數(shù)據(jù)毫不費力,用戶只需要基于費馬平臺,構(gòu)建應(yīng)用場景即可,處理速度電光即達。

目前,費馬科技已為工商銀行、京東金融、民生銀行、搜狗搜索等大型金融、互聯(lián)網(wǎng)企業(yè)及政府、軍工類項目提供高性能可擴展的圖數(shù)據(jù)平臺,為企業(yè)存儲和分析大規(guī)模圖數(shù)據(jù)提供強有力的支持,同時費馬團隊在客戶實踐中經(jīng)常會幫助客戶額外優(yōu)化場景和算法,致力于最佳實踐。相信我國的頂尖級系統(tǒng)軟件商業(yè)公司正奔跑在路上,“科技是沒有疆界的,但是科學(xué)家有”,而費馬科技目前要做的事情,就是*,盡快成長為Oracle級別的系統(tǒng)軟件公司。我們也期待著更多頂尖成果落地商用,構(gòu)筑起我們科技的長城。

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關(guān)標(biāo)簽
科技公司
中美貿(mào)易

相關(guān)文章

熱門排行

信息推薦