MapReduce海量数据并行处理总结讲解.doc

  1. 1、本文档共82页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MapReduce海量数据并行处理 复习大纲 Ch. 1. 并行计算技术简介 1.为什么需要并行计算? 提高计算机性能有哪些基本技术手段 提高字长,流水线微体系结构技术,提高集成度,提升主频 迫切需要发展并行计算技术的主要原因 1)单处理器性能提升达到极限 2)爆炸性增长的大规模数据量 2)超大的计算量/计算复杂度 并行计算技术的分类 有哪些主要的并行计算分类方法? 按数据和指令处理结构:弗林(Flynn)分类 2)按并行类型 3)按存储访问构架 4)按系统类型 5)按计算特征 6)按并行程序设计模型/方法 1)按数据和指令处理结构:弗林(Flynn)分类 SISD:单指令单数据流 传统的单处理器串行处理 SIMD:单指令多数据流 向量机,信号处理系统 MISD:多指令单数据流 很少使用 MIMD:多指令多数据流 最常用,TOP500高性能计算机 基本都属于MIMD类型 按并行类型分类 位级并行(Bit-Level Parallelism) 指令级并行(ILP:Instruction-Level Parallelism) 线程级并行(Thread-Level Parallelism) 数据级并行:一个大的数据块划分为小块,分别由不同的处理器/线程处理 任务级并行:一个大的计算任务划分为子任务分别由不同的处理器/线程来处理 按存储访问结构分类 A.共享内存(Shared Memory) 所有处理器通过总线共享内存 多核处理器,SMP…… 也称为UMA结构 (Uniform Memory Access) B. 分布共享存储体系结构 各个处理器有本地存储器 同时再共享一个全局的存储器 C. 分布式内存(Distributed Memory) 各个处理器使用本地独立的存储器 B和C也统称为NUMA结构 (Non-Uniform Memory Access) 4)按系统类型分类 多核/众核并行计算系统MC(Multicore/Manycore) 或Chip-level multiprocessing, CMP 对称多处理系统SMP(Symmetric Multiprocessing) 多个相同类型处理器通过总线连接并共享存储器 大规模并行处理MPP(Massive Parallel Processing) 专用内联网连接一组处理器形成的一个计算系统 集群(Cluster) 网络连接的一组商品计算机构成的计算系统 网格(Grid) 用网络连接远距离分布的一组异构计算机构成的计算系统 5)按并行程序设计模型/方法分类 共享内存变量 (Shared Memory Variables) 消息传递方式(Message Passing) MapReduce方式 3.并行计算的主要技术问题 并行计算有哪些方面的主要技术问题? 多核/多处理器网络互连结构技术 存储访问体系结构 分布式数据与文件管理 并行计算任务分解与算法设计 并行程序设计模型和方法 数据同步访问和通信控制 可靠性设计与容错技术 并行计算软件框架平台 系统性能评价和程序并行度评估 如何评估程序的可并行度(Amdahl定律) 程序能得到多大并行加速依赖于该程序有多少可并行计算的比例。经典的程序并行加速评估公式Amdahl定律: 其中,S是加速比,P是程序可并行比例,N是处理器数目 根据Amdahl定律:一个并行程序可加速程度是有限制的,并非可无限加速,并非处理器越多越好 并行比例vs加速比 50%=最大2倍 75%=最大4倍 90%=最大10倍 95%=最大20倍 4.MPI并行程序设计 Message Passing Interface,基于消息传递的高性能并行计算编程接口 5.什么是MapReduce概念 MapReduce是面向大规模数据并行处理的: (1)基于集群的高性能并行计算平台(Cluster Infrastructure),(硬件层) 允许用市场上现成的普通PC或性能较高的刀架或机架式服务器,构成一个包含数千个节点的分布式并行计算集群 (2)并行程序开发与运行框架(Software Framework) (逻辑层) 系统自动提供了一个庞大但设计精良的并行计算软件构架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行子任务以及收集计算结果,将数据分布存储、数据通信、容错处理等并行计算中的很多复杂细节交由系统负责处理,大大减少了软件开发人员的负担 (3)并行程序设计模型与方

文档评论(0)

阿里山的姑娘 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档