- 1、本文档共82页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)并行程序设计模型与方
您可能关注的文档
- 安全救援体系专题讲座讲解.ppt
- 保健食品培训材料讲解.ppt
- 北航建筑制图11结构施工图讲解.ppt
- 安全标准化考评程序及准备讲解.ppt
- ZXQ第二章数据通信基础讲解.ppt
- 阿里和腾讯的战争讲解.ppt
- 现代企业管理学讲解.ppt
- 安徽鲲鹏集团项目营销策划方案讲解.ppt
- 安全教育排好队,等一等讲解.ppt
- Opnet第一个例子讲解.doc
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)