資源描述:
《google云計(jì)算原理-并行數(shù)據(jù)處理模型mapreduce課件.》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、Google云計(jì)算原理CloudComputing電子工業(yè)出版社劉鵬主編《云計(jì)算》教材配套課件3主要內(nèi)容(6學(xué)時(shí))概念回顧Google云計(jì)算背景分布式文件系統(tǒng)GFS并行數(shù)據(jù)處理模型MapReduce分布式鎖服務(wù)Chubby分布式數(shù)據(jù)庫(kù)BigTableGoogleAppEngineGoogle云計(jì)算技術(shù)小結(jié)Google云計(jì)算原理并行數(shù)據(jù)處理模型MapReduce摩爾定律集成電路芯片上所集成的電路的數(shù)目,每隔18個(gè)月就翻一番,同時(shí)性能也提升一倍經(jīng)驗(yàn)總結(jié),12個(gè)月-18個(gè)月-24個(gè)月并行計(jì)算基礎(chǔ)GordonMoor
2、e“免費(fèi)的性能大餐”?Andygiveth,andBilltakethaway軟件算法、數(shù)據(jù)結(jié)構(gòu)似乎不再重要,因?yàn)樘幚砥餍阅懿粩嗵嵘⑿杏?jì)算基礎(chǔ)免費(fèi)的午餐已經(jīng)結(jié)束??!IntelMicrosoft摩爾定律正在走向終結(jié)…單芯片容納晶體管的增加,對(duì)制造工藝提出要求CPU制造18nm技術(shù),電子泄漏問(wèn)題CPU主頻已達(dá)3GHz時(shí)代,難以繼續(xù)提高散熱問(wèn)題(發(fā)熱太大,且難以驅(qū)散)功耗太高并行計(jì)算基礎(chǔ)未來(lái)的發(fā)展:多核在多核時(shí)代生存,必須考慮并發(fā)問(wèn)題不存在解決多核編程問(wèn)題的銀彈,不存在可以簡(jiǎn)單地將并發(fā)編程問(wèn)題化解掉的工具,開(kāi)發(fā)高
3、性能的并行程序必須要求開(kāi)發(fā)者從根本上改變其編程方法從某種意義上來(lái)說(shuō),這不僅僅是要改變50年來(lái)順序程序設(shè)計(jì)的工藝傳統(tǒng),而且是要改變數(shù)百萬(wàn)年來(lái)人類(lèi)順序化思考問(wèn)題的習(xí)慣并行計(jì)算基礎(chǔ)HerbSutter串行編程早期的計(jì)算里,程序一般是被串行執(zhí)行的程序是指令的序列,在單處理器的機(jī)器里,程序從開(kāi)始到結(jié)束,這些指令一條接一條的執(zhí)行并行編程一道處理可以被劃分為幾部分,然后它們可以并發(fā)地執(zhí)行各部分的指令分別在不同的CPU上同時(shí)運(yùn)行,這些CPU可以存在于單臺(tái)機(jī)器中,也可以存在于多臺(tái)機(jī)器上,它們通過(guò)連接起來(lái)共同運(yùn)作并行計(jì)算基礎(chǔ)什么
4、樣的問(wèn)題適合并行計(jì)算?斐波那契序列(Fibonacci)的計(jì)算?并行計(jì)算基礎(chǔ)什么樣的問(wèn)題適合并行計(jì)算?如果有大量結(jié)構(gòu)一致的數(shù)據(jù)要處理,且數(shù)據(jù)可以分解成相同大小的部分,那我們就可以設(shè)法使這道處理變成并行并行計(jì)算基礎(chǔ)并行計(jì)算模式并行計(jì)算基礎(chǔ)MasterWorkerWorkerWorkerWorker并行計(jì)算與分布式計(jì)算有何聯(lián)系與區(qū)別?Google擁有海量數(shù)據(jù),并且需要快速處理為什么需要MapReduce?Google全球Web數(shù)據(jù)郵件數(shù)據(jù)地圖數(shù)據(jù)衛(wèi)星照片……對(duì)爬蟲(chóng)獲取的網(wǎng)頁(yè)進(jìn)行倒排索引計(jì)算網(wǎng)站的PageRank分
5、析搜索趨勢(shì)(GoogleTrends)計(jì)算網(wǎng)頁(yè)的訪(fǎng)問(wèn)量……美國(guó)總統(tǒng)奧巴馬“Greatnessisneveragiven,itMustbeearned.”計(jì)算問(wèn)題簡(jiǎn)單,但求解困難待處理數(shù)據(jù)量巨大(PB級(jí)),只有分布在成百上千個(gè)節(jié)點(diǎn)上并行計(jì)算才能在可接受的時(shí)間內(nèi)完成如何進(jìn)行并行分布式計(jì)算?如何分發(fā)待處理數(shù)據(jù)?如何處理分布式計(jì)算中的錯(cuò)誤?為什么需要MapReduce?簡(jiǎn)單的問(wèn)題,計(jì)算并不簡(jiǎn)單!為什么需要MapReduce?GoogleMapReduce架構(gòu)設(shè)計(jì)師JeffreyDeanJefferyDean設(shè)計(jì)一個(gè)新
6、的抽象模型,使我們只要執(zhí)行的簡(jiǎn)單計(jì)算,而將并行化、容錯(cuò)、數(shù)據(jù)分布、負(fù)載均衡的等雜亂細(xì)節(jié)放在一個(gè)庫(kù)里,使并行編程時(shí)不必關(guān)心它們這就是MapReduce一個(gè)軟件架構(gòu),是一種處理海量數(shù)據(jù)的并行編程模式用于大規(guī)模數(shù)據(jù)集(通常大于1TB)的并行運(yùn)算MapReduce實(shí)現(xiàn)了Map和Reduce兩個(gè)功能Map把一個(gè)函數(shù)應(yīng)用于集合中的所有成員,然后返回一個(gè)基于這個(gè)處理的結(jié)果集Reduce對(duì)結(jié)果集進(jìn)行分類(lèi)和歸納Map()和Reduce()兩個(gè)函數(shù)可能會(huì)并行運(yùn)行,即使不是在同一的系統(tǒng)的同一時(shí)刻MapReduceMapReduce
7、示例:?jiǎn)卧~計(jì)數(shù)案例:?jiǎn)卧~記數(shù)問(wèn)題(WordCount)給定一個(gè)巨大的文本(如1TB),如何計(jì)算單詞出現(xiàn)的數(shù)目?MapReduce示例:?jiǎn)卧~計(jì)數(shù)使用MapReduce求解該問(wèn)題定義Map和Reduce函數(shù)MapReduce示例:?jiǎn)卧~計(jì)數(shù)使用MapReduce求解該問(wèn)題Step1:自動(dòng)對(duì)文本進(jìn)行分割MapReduce示例:?jiǎn)卧~計(jì)數(shù)使用MapReduce求解該問(wèn)題Step2:在分割之后的每一對(duì)進(jìn)行用戶(hù)定義的Map進(jìn)行處理,再生成新的對(duì)MapReduce示例:?jiǎn)卧~計(jì)數(shù)使用M
8、apReduce求解該問(wèn)題Step3:對(duì)輸出的結(jié)果集歸攏、排序(系統(tǒng)自動(dòng)完成)MapReduce示例:?jiǎn)卧~計(jì)數(shù)使用MapReduce求解該問(wèn)題Step4:通過(guò)Reduce操作生成最后結(jié)果GoogleMapReduce執(zhí)行流程1、處理流程2、分片方式源文件:GFSMap處理結(jié)果:本地存儲(chǔ)Reduce處理結(jié)果:GFS日志:GFS文件存儲(chǔ)位置思考GoogleMapReduce計(jì)算架構(gòu)有什么問(wèn)題?Worke