百度楊棟:HCE助MapReduce提升資源利用率

作者: 來源:未知 2012-03-05 16:30:01 閱讀 我要評論 直達商品

時至今日,“Big data”(大數據)時代的來臨已經毋庸置疑,尤其是在電信、金融等行業,幾乎已經到了“數據就是業務本身”的地步。這種趨勢已經讓很多相信數據之力量的企業做出改變。恰逢此時,為了讓更多的人了解和使用分析大數據,CSDN(微博)獨家承辦的大數據技術大會于今日在北京中旅大廈召開。本次大會匯集Hadoop、NoSQL、數據分析與挖掘、數據倉庫、商業智能以及開源云計算架構等諸多熱點話題。包括百度、淘寶、新浪等業界知名專家與參會者齊聚一堂,共同探討大數據浪潮下的行業應對法則以及大數據時代的抉擇。

百度分布式高級研發工程師楊棟
百度分布式高級研發工程師楊棟

以下為文字實錄:

今天我給大家講一下MapReduce的框架,這主要是我們自己實現的一個框架,基于C++能夠提升資源利用率的一個框架,簡稱HCE。首先我做一個大概介紹。我做分布式大概有6,7年的時間,剛才劉主編也說過,上Twitter每秒要處理上百萬條數據。當然這不是我今天演講主題,像FaceBook處理每天海量數據,要存儲這些數據需要利用到快存儲。在傳統快存儲上要做簡單的索引,所以就利用到一些把非結構化轉變成結構化的一些工具。在基于這些上面,他要做一些計算,而分布式計算大概分為兩個,一類是批量分布式計算,MapReduce是最典型批量計算。有一部分衍生品,像機器學習,有很多迭代性計算,為了高效會有一些延伸。還有現在雅虎說的MPI,是因為MapReduce現象還是計算,而MPI是面向通信,對一些數據挖掘,機器學習方面的東西有不同的模型。

今天我講HCE,是基于MapReduce的一個擴展。這個HCE框架,本身也是一個開源軟件,一年前我們就作為有所涉及。今天我講的主要分四個部分:Backgroundand Motivation,性能評估,總結。

第一方面我們介紹三部分,現狀,遇到的挑戰和一個簡單解決方案。為什么要提出HCE這個框架呢?首先,我們用集群一般會考慮幾方面問題,我們希望集群是容易控制的,這些都是成本問題。第二,我們需要考慮集群的高效性,因為對于百度來說,前陣子一個分會上雅虎公布他最新的數據,雅虎每個月大概有500萬個作業,他節點數應該超過5萬,每天處理的數據量是超過200PB。百度我們每天有5萬個作業,超過總數有1萬5千個節點,每天要處理10TB的規模,而且這種規模的擴展是每天都在遞進的。作業每天都會增加100、200,數據存儲也可能每天以零點幾或1%的速度在遞增。面對這種不斷數據爆炸性的增長,我們需要用合理的手段去控制他,以及我們能夠高效利用整個集群的一些資源,而不至于資源浪費。如果能節省一些成本,按現在機器性價比來說,現在一般大存儲的機器一般是2到3萬,就算定制高性能,大概也是在5萬塊錢以下。如果你能省10%的成本,就能為公司節省上千萬的財產。所以說,技術上的一個小缺口,可能給公司帶來很大的收益。

HCE目標有兩個方面,第一,需要提升整個集群使用效率;第二,附加價值給開發者一個更好的開發接口。面對的挑戰,提升集群資源利用效率,業界一般有幾種做法,最典型是做以兆級優化,一個是資源調度。換句話說,主要是在資源調度上有大的改進,傳統調度是每次作業就是兩階段來提交,其實MapReduce不能準確進行描述,還有存儲等等。所以,新的MapReduce2.0會把這些資源調度描述更細,他通過分配的一些算法,一些資源分配來描述每一個作業真正需求,真正能夠把作業力度切到更細,這樣整個集群資源使用率也會提高。

第二種方法是Task optimization。因為用戶提交一個作業,集群是不知道用戶什么配置。大家都了解,一個作業可能需要上百個配置,而這些配置用戶怎么能正確配置好,而且很多用戶他是不愿意去配置的,即使是在公司內。如果在平臺方看來就需要做一個動態,這塊是比較難做的。我剛才說的這些都是業界傳統一些優化方法,當然這些傳統方法我們也做了。我們有一些另辟蹊徑,每一個作業被切成多個來運行,實際上作業執行效率,除了調度期快慢以外,還取決于單機執行。

而Task的優化很多人是不去關注的,我們在這里分了一下Task,什么叫small tasks?什么是big tasks?如果用戶作業是零就由框架來占,什么是用戶開銷是零呢,如果用戶沒有做任何結算,你數據流也要流過整個框架,管這種作業叫small tasks,用戶就沒有其他額外的工作,這就是一個small tasks。而做一些工作你會發現這一個small tasks會跑的很快,會在幾十秒內結束。對用戶程度比較重,用戶需要做迭代,需要做復雜的的操作,這個任務會執行很長,會幾分鐘,甚至幾十分鐘。

總而言之,我們把那種用戶,用戶定義的很簡單執行時間很短的任務我們稱為small tasks,對于哪些用戶在營銷里面進行大量的,大家都知道這是一個主要因素,我就先指出這里面有復雜計算邏輯而且執行很長時間的我們就叫big tasks。

對集群做一個統計,因為你抽象為要抽象small tasks和big tasks,我抽取四個主要因群來看的話做一個統計,統計的標準是什么呢?這個tasks到底執行多長時間,不是一個作業,而是一個tasks,tasks是作業切分之后,平行化之后在電極上執行的任務叫tasks。通過4個集群統計會看到,超過80%作業,其實他本身任務都是小于2分鐘就完成的,而且應該是超過75%都是在一分鐘之內完成。

因為本身這是符合邏輯,你的集群跑到一個公有計算平臺,一定是輕量級。大家都了解機器學習里面有一些復雜的迭代性算法,相關有一些MPI五做的這些東西是處理那些復雜計算邏輯。一般統計無非是操作,都是很輕量級這是符合邏輯。比如任務都是小于1分鐘,而且你要跑Map的時候就需要知道,我們統計得出Map數據基本上是Reduce數據量倍,這樣數據量會大幅下降。一般根據FaceBook統計結果,平均有5到10倍介紹,你輸入假設100倍,收入就是10個,Reduce是很輕量的,你能大幅提升Map,因為你的大頭在Map,這一個發現。

換句話說,本身對于那些輕量級的。第二點對于用戶來講,在國內大部分人使用寫CDI出身,讓你能夠實現多語言支持,你可以寫C++,可以寫各種腳本,說白通過管道,通過pad通過STD,把數據傳給JAVA進行執行。這樣的話有一個問題,用戶作業是獨立于你框架,你框架只干了一件事就是把用戶任務啟動起來讓他執行,看整個框架是怎么編譯優化。有人說我框架不需要關注這個東西,因為很多用戶,比如說用戶在編制程序的時候不去加JAVA,或者用戶用低版本,本身學過編譯的人都了解,編譯的好壞,編譯手段不一樣,也會產生影響。

 1/5    1 2 3 4 5 下一頁 尾頁

  推薦閱讀

  圓桌沙龍:NoSQL技術實戰

時至今日,“Big data”(大數據)時代的來臨已經毋庸置疑,尤其是在電信、金融等行業,幾乎已經到了“數據就是業務本身”的地步。這種趨勢已經讓很多相信數據之力量的企業做出改變。恰逢此時,為了讓更多的人了解和使>>>詳細閱讀


本文標題:百度楊棟:HCE助MapReduce提升資源利用率

地址:http://m.sdlzkt.com/a/kandian/20120305/36929.html

樂購科技部分新聞及文章轉載自互聯網,供讀者交流和學習,若有涉及作者版權等問題請及時與我們聯系,以便更正、刪除或按規定辦理。感謝所有提供資訊的網站,歡迎各類媒體與樂購科技進行文章共享合作。

網友點評
我的評論: 人參與評論
驗證碼: 匿名回答
網友評論(點擊查看更多條評論)
友情提示: 登錄后發表評論,可以直接從評論中的用戶名進入您的個人空間,讓更多網友認識您。
自媒體專欄

評論

熱度

主站蜘蛛池模板: 国产成人午夜精华液| 久久久久av综合网成人| 久久伊人成人网| 91成人在线播放| 色窝窝无码一区二区三区成人网站 | 成人性生免费视频| 国产成人精品1024在线| 亚洲国产成人精品青青草原| 成人综合激情另类小说| 国产成人av大片大片在线播放| 青青草成人在线| 国产成人无码午夜视频在线观看| 麻豆国产成人AV在线| 免费国产成人α片| 成人做受视频试看60秒| 久久久久亚洲AV成人网人人网站| 成人av在线一区二区三区| 中文字幕在线成人免费看| 国产成人久久精品一区二区三区 | 国产成人国产在线观看入口| 久久久久成人精品无码| 国产成人8X视频网站入口| 国产成人精品免高潮在线观看| 欧洲成人r片在线观看| 草莓视频成人在线观看| 亚洲精品成人网站在线播放| 成人免费视频一区二区| 成人妇女免费播放久久久| 成人福利视频app| 成人免费视频观看无遮挡| 成人毛片免费视频播放| 成人污视频网站| 国产精品成人免费综合| 国产成人精品久久| 国产免费69成人精品视频| 免费视频成人片在线观看| 国产成人亚洲欧美激情| 亚洲av成人片在线观看| 欧美成人综合在线| 成人免费在线播放| 免费的成人a视频在线观看|