時至今日,“Big data”(大數(shù)據(jù))時代的來臨已經(jīng)毋庸置疑,尤其是在電信、金融等行業(yè),幾乎已經(jīng)到了“數(shù)據(jù)就是業(yè)務(wù)本身”的地步。這種趨勢已經(jīng)讓很多相信數(shù)據(jù)之力量的企業(yè)做出改變。恰逢此時,為了讓更多的人了解和使用分析大數(shù)據(jù),CSDN(微博)獨(dú)家承辦的大數(shù)據(jù)技術(shù)大會于今日在北京中旅大廈召開。本次大會匯集Hadoop、NoSQL、數(shù)據(jù)分析與挖掘、數(shù)據(jù)倉庫、商業(yè)智能以及開源云計(jì)算架構(gòu)等諸多熱點(diǎn)話題。包括百度、淘寶、新浪等業(yè)界知名專家與參會者齊聚一堂,共同探討大數(shù)據(jù)浪潮下的行業(yè)應(yīng)對法則以及大數(shù)據(jù)時代的抉擇。
以下為文字實(shí)錄:
今天我給大家講一下MapReduce的框架,這主要是我們自己實(shí)現(xiàn)的一個框架,基于C++能夠提升資源利用率的一個框架,簡稱HCE。首先我做一個大概介紹。我做分布式大概有6,7年的時間,剛才劉主編也說過,上Twitter每秒要處理上百萬條數(shù)據(jù)。當(dāng)然這不是我今天演講主題,像FaceBook處理每天海量數(shù)據(jù),要存儲這些數(shù)據(jù)需要利用到快存儲。在傳統(tǒng)快存儲上要做簡單的索引,所以就利用到一些把非結(jié)構(gòu)化轉(zhuǎn)變成結(jié)構(gòu)化的一些工具。在基于這些上面,他要做一些計(jì)算,而分布式計(jì)算大概分為兩個,一類是批量分布式計(jì)算,MapReduce是最典型批量計(jì)算。有一部分衍生品,像機(jī)器學(xué)習(xí),有很多迭代性計(jì)算,為了高效會有一些延伸。還有現(xiàn)在雅虎說的MPI,是因?yàn)镸apReduce現(xiàn)象還是計(jì)算,而MPI是面向通信,對一些數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí)方面的東西有不同的模型。
今天我講HCE,是基于MapReduce的一個擴(kuò)展。這個HCE框架,本身也是一個開源軟件,一年前我們就作為有所涉及。今天我講的主要分四個部分:Backgroundand Motivation,性能評估,總結(jié)。
第一方面我們介紹三部分,現(xiàn)狀,遇到的挑戰(zhàn)和一個簡單解決方案。為什么要提出HCE這個框架呢?首先,我們用集群一般會考慮幾方面問題,我們希望集群是容易控制的,這些都是成本問題。第二,我們需要考慮集群的高效性,因?yàn)閷τ诎俣葋碚f,前陣子一個分會上雅虎公布他最新的數(shù)據(jù),雅虎每個月大概有500萬個作業(yè),他節(jié)點(diǎn)數(shù)應(yīng)該超過5萬,每天處理的數(shù)據(jù)量是超過200PB。百度我們每天有5萬個作業(yè),超過總數(shù)有1萬5千個節(jié)點(diǎn),每天要處理10TB的規(guī)模,而且這種規(guī)模的擴(kuò)展是每天都在遞進(jìn)的。作業(yè)每天都會增加100、200,數(shù)據(jù)存儲也可能每天以零點(diǎn)幾或1%的速度在遞增。面對這種不斷數(shù)據(jù)爆炸性的增長,我們需要用合理的手段去控制他,以及我們能夠高效利用整個集群的一些資源,而不至于資源浪費(fèi)。如果能節(jié)省一些成本,按現(xiàn)在機(jī)器性價比來說,現(xiàn)在一般大存儲的機(jī)器一般是2到3萬,就算定制高性能,大概也是在5萬塊錢以下。如果你能省10%的成本,就能為公司節(jié)省上千萬的財(cái)產(chǎn)。所以說,技術(shù)上的一個小缺口,可能給公司帶來很大的收益。
HCE目標(biāo)有兩個方面,第一,需要提升整個集群使用效率;第二,附加價值給開發(fā)者一個更好的開發(fā)接口。面對的挑戰(zhàn),提升集群資源利用效率,業(yè)界一般有幾種做法,最典型是做以兆級優(yōu)化,一個是資源調(diào)度。換句話說,主要是在資源調(diào)度上有大的改進(jìn),傳統(tǒng)調(diào)度是每次作業(yè)就是兩階段來提交,其實(shí)MapReduce不能準(zhǔn)確進(jìn)行描述,還有存儲等等。所以,新的MapReduce2.0會把這些資源調(diào)度描述更細(xì),他通過分配的一些算法,一些資源分配來描述每一個作業(yè)真正需求,真正能夠把作業(yè)力度切到更細(xì),這樣整個集群資源使用率也會提高。
第二種方法是Task optimization。因?yàn)橛脩籼峤灰粋作業(yè),集群是不知道用戶什么配置。大家都了解,一個作業(yè)可能需要上百個配置,而這些配置用戶怎么能正確配置好,而且很多用戶他是不愿意去配置的,即使是在公司內(nèi)。如果在平臺方看來就需要做一個動態(tài),這塊是比較難做的。我剛才說的這些都是業(yè)界傳統(tǒng)一些優(yōu)化方法,當(dāng)然這些傳統(tǒng)方法我們也做了。我們有一些另辟蹊徑,每一個作業(yè)被切成多個來運(yùn)行,實(shí)際上作業(yè)執(zhí)行效率,除了調(diào)度期快慢以外,還取決于單機(jī)執(zhí)行。
而Task的優(yōu)化很多人是不去關(guān)注的,我們在這里分了一下Task,什么叫small tasks?什么是big tasks?如果用戶作業(yè)是零就由框架來占,什么是用戶開銷是零呢,如果用戶沒有做任何結(jié)算,你數(shù)據(jù)流也要流過整個框架,管這種作業(yè)叫small tasks,用戶就沒有其他額外的工作,這就是一個small tasks。而做一些工作你會發(fā)現(xiàn)這一個small tasks會跑的很快,會在幾十秒內(nèi)結(jié)束。對用戶程度比較重,用戶需要做迭代,需要做復(fù)雜的的操作,這個任務(wù)會執(zhí)行很長,會幾分鐘,甚至幾十分鐘。
總而言之,我們把那種用戶,用戶定義的很簡單執(zhí)行時間很短的任務(wù)我們稱為small tasks,對于哪些用戶在營銷里面進(jìn)行大量的,大家都知道這是一個主要因素,我就先指出這里面有復(fù)雜計(jì)算邏輯而且執(zhí)行很長時間的我們就叫big tasks。
對集群做一個統(tǒng)計(jì),因?yàn)槟愠橄鬄橐橄髎mall tasks和big tasks,我抽取四個主要因群來看的話做一個統(tǒng)計(jì),統(tǒng)計(jì)的標(biāo)準(zhǔn)是什么呢?這個tasks到底執(zhí)行多長時間,不是一個作業(yè),而是一個tasks,tasks是作業(yè)切分之后,平行化之后在電極上執(zhí)行的任務(wù)叫tasks。通過4個集群統(tǒng)計(jì)會看到,超過80%作業(yè),其實(shí)他本身任務(wù)都是小于2分鐘就完成的,而且應(yīng)該是超過75%都是在一分鐘之內(nèi)完成。
因?yàn)楸旧磉@是符合邏輯,你的集群跑到一個公有計(jì)算平臺,一定是輕量級。大家都了解機(jī)器學(xué)習(xí)里面有一些復(fù)雜的迭代性算法,相關(guān)有一些MPI五做的這些東西是處理那些復(fù)雜計(jì)算邏輯。一般統(tǒng)計(jì)無非是操作,都是很輕量級這是符合邏輯。比如任務(wù)都是小于1分鐘,而且你要跑Map的時候就需要知道,我們統(tǒng)計(jì)得出Map數(shù)據(jù)基本上是Reduce數(shù)據(jù)量倍,這樣數(shù)據(jù)量會大幅下降。一般根據(jù)FaceBook統(tǒng)計(jì)結(jié)果,平均有5到10倍介紹,你輸入假設(shè)100倍,收入就是10個,Reduce是很輕量的,你能大幅提升Map,因?yàn)槟愕拇箢^在Map,這一個發(fā)現(xiàn)。
換句話說,本身對于那些輕量級的。第二點(diǎn)對于用戶來講,在國內(nèi)大部分人使用寫CDI出身,讓你能夠?qū)崿F(xiàn)多語言支持,你可以寫C++,可以寫各種腳本,說白通過管道,通過pad通過STD,把數(shù)據(jù)傳給JAVA進(jìn)行執(zhí)行。這樣的話有一個問題,用戶作業(yè)是獨(dú)立于你框架,你框架只干了一件事就是把用戶任務(wù)啟動起來讓他執(zhí)行,看整個框架是怎么編譯優(yōu)化。有人說我框架不需要關(guān)注這個東西,因?yàn)楹芏嘤脩簦热缯f用戶在編制程序的時候不去加JAVA,或者用戶用低版本,本身學(xué)過編譯的人都了解,編譯的好壞,編譯手段不一樣,也會產(chǎn)生影響。
推薦閱讀
圓桌沙龍:NoSQL技術(shù)實(shí)戰(zhàn)
時至今日,“Big data”(大數(shù)據(jù))時代的來臨已經(jīng)毋庸置疑,尤其是在電信、金融等行業(yè),幾乎已經(jīng)到了“數(shù)據(jù)就是業(yè)務(wù)本身”的地步。這種趨勢已經(jīng)讓很多相信數(shù)據(jù)之力量的企業(yè)做出改變。恰逢此時,為了讓更多的人了解和使>>>詳細(xì)閱讀
本文標(biāo)題:百度楊棟:HCE助MapReduce提升資源利用率
地址:http://www.sdlzkt.com/a/kandian/20120305/36929.html

網(wǎng)友點(diǎn)評
精彩導(dǎo)讀
科技快報(bào)
品牌展示