网站大量收购独家精品文档,联系QQ:2885784924

Google云计算原理-驳蘑行数据处理模型MapReduce.ppt

Google云计算原理-驳蘑行数据处理模型MapReduce.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Google云计算原理-驳蘑行数据处理模型MapReduce

电子工业出版社 刘鹏主编《云计算》教材配套课件3;Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd.;并行数据处理模型MapReduce;摩尔定律 集成电路芯片上所集成的电路的数目, 每隔18个月就翻一番,同时性能也提升 一倍 经验总结,12个月-18个月-24个月;“免费的性能大餐”? Andy giveth, and Bill taketh away 软件算法、数据结构似乎不再重要,因为处理器性能不断提升;摩尔定律正在走向终结… 单芯片容纳晶体管的增加,对制造工艺提出要求 CPU制造18nm技术,电子泄漏问题 CPU主频已达3GHz时代,难以继续提高 散热问题(发热太大,且难以驱散) 功耗太高 ;在多核时代生存,必须考虑并发问题 不存在解决多核编程问题的银弹, 不存在可以简单地将并发编程问题化 解掉的工具, 开发高性能的并行程序 必须要求开发者从根本上改变其编程 方法 从某种意义上来说,这不仅仅是要改 变50年来顺序程序设计的工艺传统, 而且是要改变数百万年来人类顺序化思考问题的习惯;串行编程 早期的计算里,程序一般是被串行执行的 程序是指令的序列,在单处理器的机器里,程序从开始到结束,这些指令一条接一条的执行 并行编程 一道处理可以被划分为几部分,然后它们可以并发地执行 各部分的指令分别在不同的CPU上同时运行,这些CPU可以存在于单台机器中,也可以存在于多台机器上,它们通过连接起来共同运作;什么样的问题适合并行计算? 斐波那契序列(Fibonacci)的计算?;什么样的问题适合并行计算? 如果有大量结构一致的数据要处理,且数据可以分解成相同大小的部分, 那我们就可以设法使这道处理变成并行;并行计算模式;Google拥有海量数据,并且需要快速处理;计算问题简单,但求解困难 待处理数据量巨大(PB级),只有分布在成百上千个节点上并行计算才能在可接受的时间内完成 如何进行并行分布式计算? 如何分发待处理数据? 如何处理分布式计算中的错误? ;Google MapReduce 架构设计师 Jeffrey Dean;一个软件架构,是一种处理海量数据的并行编程模式 用于大规模数据集(通常大于1TB)的并行运算 MapReduce实现了Map和Reduce两个功能 Map把一个函数应用于集合中的所有成员,然后返回一个基于这个处理的结果集 Reduce对结果集进行分类和归纳 Map()和 Reduce() 两个函数可能会并行运行,即使不是在同一的系统的同一时刻 ;案例:单词记数问题(Word Count) 给定一个巨大的文本(如1TB),如何计算单词出现的数目?;使用MapReduce求解该问题 定义Map和Reduce函数;使用MapReduce求解该问题 Step 1: 自动对文本进行分割;使用MapReduce求解该问题 Step 2:在分割之后的每一对key,value进行用户定义的Map进行处理,再生成新的key,value对;使用MapReduce求解该问题 Step 3:对输出的结果集归拢、排序(系统自动完成);使用MapReduce求解该问题 Step 4:通过Reduce操作生成最后结果;;源文件:GFS Map处理结果:本地存储 Reduce处理结果:GFS 日志:GFS;;Worker故障 Master 周期性的ping每个worker。如果master在一个确定的时间段内没有收到worker返回的信息,那么它将把这个worker标记成失效 重新执行该节点上已经执行或尚未执行的Map任务 重新执行该节点上未完成的Reduce任务,已完成的不再执行 Master故障 定期写入检查点数据 从检查点恢复;任务备份机制 慢的workers 会严重地拖延整个执行完成的时间 由于其他的任务占用了资源 磁盘损坏 解决方案: 在临近结束的时候,启动多个进程来执行尚未完成的任务 谁先完成,就算谁 可以十分显著地提高执行效率;本地处理 Master 调度策略: 向GFS询问获得输入文件blocks副本的位置信息 Map tasks 的输入数据通常按 64MB来划分 (GFS block 大小) 按照blocks所在的机器或机器所在机架的范围 进行调度 效果 绝大部分机器从本地读取文件作为输入,节省大量带宽;跳过有问题的记录 一些特定的输入数据常导致Map/Reduce无法运行 最好的解决方法是调试或者修改 不一定可行~ 可能需要第三方库或源码 在每个worker里运行一个信号处理程序,捕获map或reduce任务崩溃时发出的信号,一旦捕获,就会向maste

文档评论(0)

ayangjiayu3 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档