2014年12月12-14日,由中國計(jì)算機(jī)學(xué)會(huì)(CCF)主辦,CCF大數(shù)據(jù)專家委員會(huì)承辦,中科院計(jì)算所與CSDN共同協(xié)辦,以推進(jìn)大數(shù)據(jù)科研、應(yīng)用與產(chǎn)業(yè)發(fā)展為主旨的2014中國大數(shù)據(jù)技術(shù)大會(huì)(Big Data Technology Conference 2014,BDTC 2014)暨第二屆CCF大數(shù)據(jù)學(xué)術(shù)會(huì)議在北京新云南皇冠假日酒店盛大開幕。
2014中國大數(shù)據(jù)技術(shù)大會(huì)首日全體會(huì)議上,University of Delaware電子與計(jì)算機(jī)工程系教授,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)和并行系統(tǒng)實(shí)驗(yàn)室創(chuàng)始人暨主任高光榮,帶來了演講“大數(shù)據(jù)系統(tǒng)核心技術(shù)”。高光榮主要介紹了大數(shù)據(jù)系統(tǒng)面臨的嚴(yán)重挑戰(zhàn),大數(shù)據(jù)系統(tǒng)核心技術(shù)簡介,數(shù)據(jù)流與大數(shù)據(jù)引擎的創(chuàng)新以及大數(shù)據(jù)系統(tǒng)發(fā)展在中國的機(jī)遇與挑戰(zhàn)。
University of Delaware電子與計(jì)算機(jī)工程系教授,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)和并行系統(tǒng)實(shí)驗(yàn)室創(chuàng)始人暨主任 高光榮
以下為演講實(shí)錄:
今天我們聽了很多的報(bào)告,大數(shù)據(jù)到了最高點(diǎn),距離真正的落地還有一個(gè)很長的時(shí)間。我只想把我最近做的一些工作和我歷史上做一些工作總結(jié)起來,我沒有很多廣告的能力,但是也可能有一兩張幻燈片為我做例證。我的演講有兩個(gè)方面:第一大數(shù)據(jù)HYPE Cycle的最新預(yù)測(cè),第二怎么把大數(shù)據(jù)跟云計(jì)算結(jié)合起來。這個(gè)大數(shù)據(jù)不可能從天上掉下來,不可能把它割裂開,說我突然就有一個(gè)辦法把我以前超機(jī)做的一些事情無關(guān)了,我們用另外一套辦法把這個(gè)性能做上來,這種想法是可以理解的,但是不一定是現(xiàn)實(shí)的。在這個(gè)場(chǎng)合下我們說實(shí)時(shí)大數(shù)據(jù),一定不要忘記長期的積累在高性能計(jì)算上這些積累,特別是中國由于各種需要,我們對(duì)高性能技術(shù)的工作也是有目共睹的。長沙的機(jī)器到現(xiàn)在為止仍然是世界上頭一個(gè),說明我們?cè)谶@方面是一個(gè)前沿,我今天沒有看到楊學(xué)之在這,但是我看到其他好幾位其他同事,大數(shù)據(jù)實(shí)際上就是說這兩件事情的關(guān)系,HPC跟大數(shù)據(jù)的關(guān)系。大數(shù)據(jù)實(shí)際上已經(jīng)超過了最高炒作的內(nèi)容,接下來應(yīng)該是逐漸的走到了落地的階段,然后有一個(gè)穩(wěn)定的發(fā)展。它接著說兩件事,一個(gè)是剛才我說的,HYPE Cycle大數(shù)據(jù),注意是Reak Of inflated Expectations,用大數(shù)據(jù)做inflated Expectations,我們說的太多經(jīng)驗(yàn)太少。我在深圳有一個(gè)朋友說大數(shù)據(jù)知識(shí)挖掘等等,最要緊對(duì)他來講是錢的挖掘,能不能把大家所有的這些技術(shù)最后變成真正的實(shí)際效果,這一條我們實(shí)例還太少。同時(shí)他還有第三條建議,第三條建議就是千萬不要忘記和小公司合作。他這個(gè)建議是給大公司的CTO、CIO說的,所以我覺得這三條是很好的一個(gè)總結(jié),就是當(dāng)前在HYPE Cycle這個(gè)方向。
我這剩下兩條說明當(dāng)前的挑戰(zhàn),這個(gè)問題就是說這個(gè)引擎要不要革命性的創(chuàng)新,還是說看看革命哪家比我強(qiáng)一點(diǎn),我趕緊修理我這個(gè),我是不是能超過A,超過A以后哪家比我好一點(diǎn),還是說這個(gè)國家作為一個(gè)整體要做革命性的創(chuàng)新。我不說計(jì)算機(jī)里面的歷史,我只想談?wù)劻硗庖粋€(gè)領(lǐng)域里的歷史。100多年以前,飛機(jī)的問題是飛機(jī)引擎是不是可以把我們當(dāng)時(shí)對(duì)汽車這個(gè)引擎的概念適用,不需要做革命性的概念這個(gè)事就可以做成,還是我不需要做這個(gè)飛機(jī)的事,后來你發(fā)現(xiàn)有一個(gè)新的模型,這個(gè)模型就是這個(gè)飛行動(dòng)力學(xué),從地面動(dòng)力學(xué)模型到空間動(dòng)力學(xué)模型,才能真正的造出這個(gè)引擎來,不是把汽車這個(gè)引擎革新,所以這個(gè)模型造成了新的結(jié)構(gòu),從腿到翅膀然后這個(gè)結(jié)構(gòu)又發(fā)生了變化。在一百多年前那個(gè)歷史是從模型到結(jié)構(gòu),我們計(jì)算機(jī)的發(fā)展實(shí)際上也是一樣,在計(jì)算機(jī)歷史上重大發(fā)現(xiàn),都是有一個(gè)新計(jì)算模型一個(gè)執(zhí)行模型,然后這個(gè)結(jié)構(gòu)上的發(fā)展。我想我們大數(shù)據(jù)對(duì)我們做結(jié)構(gòu)的人和做系統(tǒng)的人這個(gè)模型在什么地方?然后就有結(jié)構(gòu)上的影響。
有了這個(gè)作為基礎(chǔ)我們可以開始談引擎核心結(jié)構(gòu)的演變。我覺得大數(shù)據(jù)引擎的分析技術(shù)有三項(xiàng)。一項(xiàng)是執(zhí)行模型和結(jié)構(gòu)的技術(shù)。第二個(gè)系統(tǒng)軟件的技術(shù)。第三是引擎的編程模型和優(yōu)化技術(shù),這三項(xiàng)相輔相成缺一不可的,做HPC的這群人都有過痛苦的經(jīng)驗(yàn)和深刻的教訓(xùn),這三方向的發(fā)展,在大數(shù)據(jù)引擎上面這三項(xiàng)也是非常重要的。我今天主要的是Execution Model,執(zhí)行模型定義的一個(gè)API,叫做Execution Model API,然后你發(fā)展使得這個(gè)模型的定義雙方有一個(gè)無縫連接,使得它能夠達(dá)到你所需要的目的。最新的觀點(diǎn)在這個(gè)上面,是這個(gè)Execution Model不僅僅影響這一層API,它同時(shí)也影響其他層之間的關(guān)系。所以這個(gè)事情非常重要,什么是Execution Model?比如說1948年總結(jié)的,那個(gè)Execution Model活這么多年,所有我們的接口,所有我們串型運(yùn)算的接口在軟件方面硬件方面這么長,我們一直試圖整個(gè)的領(lǐng)域把成功經(jīng)驗(yàn)用到并行操作和并行系統(tǒng)的執(zhí)行模型,很可惜到今天仍沒有成功。它的data不僅是程序自身產(chǎn)生的和程序自身確定的靜態(tài)確定的這些數(shù)據(jù),而是需要有動(dòng)態(tài)的數(shù)據(jù),什么叫做動(dòng)態(tài)數(shù)據(jù)?比如所有傳感器來的數(shù)據(jù)。你把問題表現(xiàn)成數(shù)學(xué)模型化然后編程而是要考慮這些大量隨機(jī)的事務(wù),Execution Model接入的數(shù)據(jù),使這兩種數(shù)據(jù)都可以使你系統(tǒng)里面無縫的結(jié)合起來。數(shù)據(jù)流的Execution Model沒有這個(gè)舊年,數(shù)據(jù)里面甭管是可抗性的還是不可抗性,沒有想象有一個(gè)溫度的不可抗性,這個(gè)依賴關(guān)系沒有辦法表述。原來1970,1971年,1972年,1980年,這里面證明了Execution Model一致性完整性所有這些都需要重新的考驗(yàn)。我的意思就是說這個(gè)事情不能忘記,我們做大規(guī)模的處理歷史經(jīng)驗(yàn)非常重要。
什么叫做創(chuàng)新?創(chuàng)新意味著人類積累起來的知識(shí)不要忘記,在新環(huán)境下怎么讓它適應(yīng)Execution Model這是很重要一部分的創(chuàng)新。我們計(jì)算機(jī)系統(tǒng)領(lǐng)域有很大矛盾,我們常常非常容易的忘記過去,不是故意的,是事太多了,每年都在追,看看明年有什么,我趕快追,沒有這個(gè)時(shí)間。
下面我用一個(gè)動(dòng)畫說明下Execution Model,在執(zhí)行實(shí)現(xiàn)的時(shí)候誤區(qū)在哪?這個(gè)誤區(qū)就是把OS的作用給誤解了,我的老師就是OS發(fā)起人之一很有名,他去年得最大的獎(jiǎng),他兩個(gè)貢獻(xiàn),數(shù)據(jù)流是第二項(xiàng),第一項(xiàng)是他在操作系統(tǒng)上做的貢獻(xiàn)。這個(gè)動(dòng)畫就是Mechine Runtime Syelem。這個(gè)不是那個(gè)Runtime Syelem,這個(gè)有很多機(jī)器模型實(shí)現(xiàn)它,硬件跟Execution Model之間總會(huì)有一些坑坑洼洼不齊的地方。比如說你要求某一項(xiàng)操作在你Execution Model上,但是它硬件上,它的指令系統(tǒng)上,或者它系統(tǒng)結(jié)構(gòu)沒有直接反饋它,這時(shí)候你要做一層軟件,它的任務(wù)就是補(bǔ)漏洞。這一層軟件跟OS沒有關(guān)系,最大的錯(cuò)誤就是讓OS執(zhí)行這套軟件。如果你注意最近這三年,美國主要的研究,都是強(qiáng)調(diào)Runtime Syelem和OS的關(guān)系,Runtime Syelem就是Execution Model跟OS的關(guān)系。并不是說OS沒有用,但是它的任務(wù)是跟Runtime的分工。
系統(tǒng)軟件上面并行多核,打破了傳統(tǒng)OS控制打破了OS控制一體現(xiàn)象,支持高性能高擴(kuò)展低能耗,彈性,面臨空間的根本性的挑戰(zhàn)。第三項(xiàng)有了這個(gè)系統(tǒng),有了結(jié)構(gòu),當(dāng)然你有編程模型和優(yōu)化技術(shù),我只想強(qiáng)調(diào)當(dāng)前優(yōu)化技術(shù)集中在靜態(tài)優(yōu)化方法,我們編程模型和優(yōu)化技術(shù)都是假定,所有的都要用芯片來做,優(yōu)化也是在這上面做。包括我自己的Execution Model做的一些工作都是假定硬件上有芯片,但是都是很小的規(guī)模,現(xiàn)在就是最重要的就是有動(dòng)態(tài)調(diào)度,有并發(fā)多元管理在RUNTIME這里。李永輝教授今天上午的講話,他第一條我聽清楚了就是說即使在英特網(wǎng)上細(xì)顆粒度的監(jiān)控,使得整體的計(jì)劃變成動(dòng)態(tài)的虛擬化,這個(gè)實(shí)際上跟那個(gè)是一回事,自調(diào)整都是建立在這個(gè)基礎(chǔ)上,程序自己監(jiān)控自己。
下面是我們有關(guān)工作的舉例,只有四個(gè)例子,第一個(gè)例子我們建立數(shù)據(jù)流為背景動(dòng)態(tài)細(xì)粒度多線程引擎核心技術(shù)的基地。第二巨型計(jì)算機(jī),承擔(dān)圈套以吸顆度多線程系統(tǒng)軟件總體設(shè)計(jì)和工程實(shí)現(xiàn),成功用于世界領(lǐng)先采用眾核芯片技術(shù)的句型計(jì)算機(jī)(NE獲投資總額超過三千萬USD,2004-2011)。第三、研發(fā)超并行執(zhí)行模型。承擔(dān)超大模型數(shù)據(jù)流為背景的引擎執(zhí)行模型的重大研究課題。四、研發(fā)超并行引擎,承擔(dān)以數(shù)據(jù)流為基礎(chǔ)的RUNTIME。系統(tǒng)軟件重大發(fā)展研究。
下面初步例證跟Spark比,這是Spark結(jié)果是在中國測(cè)試的,所以這個(gè)HT就是用的數(shù)據(jù)流的技術(shù),不是完全用,但是它那個(gè)思想是數(shù)據(jù)流的思想。在各個(gè)測(cè)試定位中你可以看到跟Spark比,在常常用的一些不同組的數(shù)據(jù)中,有五組數(shù)據(jù),你可以看到就是說它的優(yōu)點(diǎn)是明顯的,如果你想問為什么,我人也在這你會(huì)后可以問。不僅是這樣它的備存的用量實(shí)際上比Spark還要小,小5到10倍。
在中國的機(jī)遇和挑戰(zhàn),一個(gè)叫做他山之石可以攻玉,就像我們高鐵一樣,高鐵不是在我這做的,高鐵在歐洲、日本做的,別人做好的東西我們可以學(xué)習(xí)和借鑒,但是一定要跨越它的發(fā)展,這里我用紅筆勾出來要從中國制造到中國創(chuàng)造。