收藏 分销(赏)

Google云计算原理并行数据处理模型.pptx

上传人:丰**** 文档编号:10962770 上传时间:2025-06-23 格式:PPTX 页数:32 大小:1.71MB 下载积分:12 金币
下载 相关 举报
Google云计算原理并行数据处理模型.pptx_第1页
第1页 / 共32页
Google云计算原理并行数据处理模型.pptx_第2页
第2页 / 共32页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2019/11/18,#,主要内容(,6,学时),概念回顾,Google,云计算背景,分布式文件系统,GFS,并行数据处理模型,MapReduce,分布式锁服务,Chubby,分布式数据库,BigTable,Google AppEngine,Google,云计算技术小结,Google,云计算原理,并行数据处理模型,MapReduce,摩尔定律,集成电路芯片上所集成的电路的数目,,每隔,18,个月就翻一番,同时性能也提升,一倍,经验总结,,12,个月,-18,个月,-24,个月,并行计算基础,Gordon Moore,“免费的性能大餐”?,Andy giveth,and Bill taketh away,软件算法、数据结构似乎不再重要,因为处理器性能不断提升,并行计算基础,免费的午餐已经结束!,Intel,Microsoft,摩尔定律正在走向终结,单芯片容纳晶体管的增加,对制造工艺提出要求,CPU,制造,18nm,技术,电子泄漏问题,CPU,主频已达,3GHz,时代,难以继续提高,散热问题(发热太大,且难以驱散),功耗太高,并行计算基础,未来的发展:多核,在多核时代生存,必须考虑并发问题,不存在解决多核编程问题的银弹,,不存在可以简单地将并发编程问题化,解掉的工具,开发高性能的并行程序,必须要求开发者从根本上改变其编程,方法,从某种意义上来说,这不仅仅是要改,变,50,年来顺序程序设计的工艺传统,,而且是要改变数百万年来人类顺序化思考问题的习惯,并行计算基础,Herb,Sutter,串行编程,早期的计算里,程序一般是被串行执行的,程序是指令的序列,在单处理器的机器里,程序从开始到结束,这些指令一条接一条的执行,并行编程,一道处理可以被划分为几部分,然后它们可以并发地执行,各部分的指令分别在不同的,CPU,上同时运行,这些,CPU,可以存在于单台机器中,也可以存在于多台机器上,它们通过连接起来共同运作,并行计算基础,什么样的问题适合并行计算?,斐波那契序列,(Fibonacci),的计算?,并行计算基础,什么样的问题适合并行计算?,如果有大量结构一致的数据要处理,且数据可以分解成相同大小的部分,那我们就可以设法使这道处理变成并,行,并行计算基础,并行计算模式,并行计算基础,Master,Worker,Worker,Worker,Worker,并行计算与分布式计算有何联系与区别?,Google,拥有海量数据,并且需要快速处理,为什么需要,MapReduce,?,Google,全球,Web,数据,邮件数据,地图数据,卫星照片,对爬虫获取的网页进行,倒排索引,计算网站的,PageRank,分析搜索趋势,(Google Trends),计算网页的访问量,美国总统奥巴马,“Greatness is never a given,it,Must be earned.”,计算问题简单,但求解困难,待处理数据量巨大(,PB,级),只有分布在成百上千个节点上并行计算才能在可接受的时间内完成,如何进行并行分布式计算?,如何分发待处理数据?,如何处理分布式计算中的错误?,为什么需要,MapReduce,?,简单的问题,计算并不简单!,为什么需要,MapReduce,?,Google MapReduce,架构设计师,Jeffrey Dean,Jeffery Dean,设计一个新的抽象模型,使我们只要执行的简单计算,而将并行化、容错、数据分布、负载均衡的等杂乱细节放在一个库里,使并行编程时不必关心它们,这就是,MapReduce,一个软件架构,是一种处理海量数据的并行编程模式,用于大规模数据集(通常大于,1TB,)的并行运算,MapReduce,实现了,Map,和,Reduce,两个功能,Map,把一个函数应用于集合中的所有成员,然后返回一个基于这个处理的结果集,Reduce,对结果集进行分类和归纳,Map(),和,Reduce(),两个函数可能会并行运行,即使不是在同一的系统的同一时刻,MapReduce,MapReduce,示例:单词计数,案例:单词记数问题,(Word Count),给定一个巨大的文本(如,1TB,),如何计算单词出现的数目?,MapReduce,示例:单词计数,使用,MapReduce,求解该问题,定义,Map,和,Reduce,函数,MapReduce,示例:单词计数,使用,MapReduce,求解该问题,Step 1:,自动对文本进行分割,MapReduce,示例:单词计数,使用,MapReduce,求解该问题,Step 2:,在分割之后的每一对,进行用户定义的,Map,进行处理,再生成新的,对,MapReduce,示例:单词计数,使用,MapReduce,求解该问题,Step 3:,对输出的结果集归拢、排序,(,系统自动完成),MapReduce,示例:单词计数,使用,MapReduce,求解该问题,Step 4:,通过,Reduce,操作生成最后结果,Google MapReduce,执行流程,1,、处理流程,2,、分片方式,源文件:,GFS,Map,处理结果:本地存储,Reduce,处理结果:,GFS,日志:,GFS,文件存储位置,思考,Google MapReduce,计算架构有什么问题?,Worker,故障,Master,周期性的,ping,每个,worker,。如果,master,在一个确定的时间段内没有收到,worker,返回的信息,那么它将把这个,worker,标记成失效,重新执行该节点上已经执行或尚未执行的,Map,任务,重新执行该节点上未完成的,Reduce,任务,已完成的不再执行,Master,故障,定期写入检查点数据,从检查点恢复,MapReduce,的容错,WHY,?,任务备份机制,慢的,workers,会严重地拖延整个执行完成的时间,由于其他的任务占用了资源,磁盘损坏,解决方案,:,在临近结束的时候,启动多个进程来执行尚未完成的任务,谁先完成,就算谁,可以十分显著地提高执行效率,MapReduce,的优化,本地处理,Master,调度策略,:,向,GFS,询问获得输入文件,blocks,副本的位置信息,Map tasks,的输入数据通常按,64MB,来划分,(GFS block,大小,),按照,blocks,所在的机器或机器所在机架的范围 进行调度,效果,绝大部分机器从本地读取文件作为输入,节省大量带宽,MapReduce,的优化,跳过有问题的记录,一些特定的输入数据常导致,Map/Reduce,无法运行,最好的解决方法是调试或者修改,不一定可行,可能需要第三方库或源码,在每个,worker,里运行一个信号处理程序,捕获,map,或,reduce,任务崩溃时发出的信号,一旦捕获,就会向,master,报告,同时报告输入记录的编号信息。如果,master,看到一条记录有两次崩溃信息,那么就会对该记录进行标记,下次运行的时候,跳过该记录,MapReduce,的优化,“实践是检验真理的唯一标准”,实践证明,,MapReduce,是出色的分布式计算模型,Google,宣布,其对分布于,1000,台计算机上的,1TB,数据进行排序仅仅需要,68s,对,4000,台计算机上的,1PB,数据进行排序处理仅需要,6,小时,2,分钟(每次测试至少会损坏,1,块硬盘),在,08,年,1,月份,,Google MapReduce,平均每天的数据处理量是,20PB,,相当于美国国会图书馆当年,5,月份存档网络数据的,240,倍,“免费的午餐”已经结束,并行思维,MapReduce,并行分布式数据处理框架,屏蔽各种并行分布式计算的难题,课程小结,云计算应用实践,如何使用,MapReduce,实现海量数据的并行分布式排序?,讨论,云计算有没有什么问题?,欢迎访问,中国云计算网站,欢迎使用,云计算教材 电子工业出版社 刘鹏 主编,本讲到此结束,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 云计算

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服