多核编程技术.ppt

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

第8章 多核并发(并行)程序设计 目 录 8.1 什么是多核并发(并行)程序设计 8.2 为什么要学习多核程序设计 8.3 多核并发程序设计环境及开发方法 8.4 IXP2400平台上多核程序并发(并行) 设计 8.1 什么是多核并发(并行)程序设计 8.1.1 并发与并行的区别是什么? 并发与并行是两个既相似而又不相同的概念:并发性,又称共行性,是指能处理多个同时性活动的能力;并行是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行,也亦是说并发事件之间不一定要同一时刻发生。 本课程中并发和并行概念基本相同,都包含同时性,同时并发的概念含义更广泛一些。 8.1 什么是多核并发(并行)程序设计 8.1.2 什么是并行计算? 并行计算是相对于串行计算来说的,所谓并行计算分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。 并行计算科学中主要研究的是空间上的并行问题。 空间上的并行导致了两类并行机的产生,按照Flynn的说法分为:单指令流多数据流(SIMD)和多指令流多数据流(MIMD)。我们常用的串行机也叫做单指令流单数据流(SISD)。 8.1.3 什么是多核处理器? 两个或多个独立运行的内核集成于同一个处理器上面 双核处理器 =一个处理器上包含2个内核 多核处理器 = 一个处理器上包含2个或多个内核 8.1 什么是多核并发(并行)程序设计 8.1.4 为什么要采用多核技术? 8.1 什么是多核并发(并行)程序设计 最终目标: 提升用户的体验 通过并行方式改进处理器的性能 8.1 什么是多核并发(并行)程序设计 几种不同的技术 HT – Hyper Threading: 2 threads running on the same processor core 处理器上的某些资源会被共享 使用相同的缓存和运算器 DC – Dual Core: 2 execution cores in the same processor package 共享系统总线 与双处理器的性能相同 DP/MP – Dual/Multi-Processing: 2 or more processors in the same system 只共享系统总线,独立缓存 高性能,资源冲突少 8.1 什么是多核并发(并行)程序设计 双核技术 VS. 超线程技术 双核是真正意义上的双处理器 不会发生资源冲突 每个线程拥有自己的缓存、寄存器和运算器 一个3.2GHz Smithfield在性能上并非等同于3.2GHz P4 with HT 的2倍 HT 使处理器的性能至少提升了1/3 双核的性能相当于2块 non-HT 处理器 多核技术与超线程技术的结合 AMD与Intel双核架构的对比 DualCore、SMP、Cluster 8.2 为什么要学习多核程序设计 8.2.1 背景:科学技术的发展呼唤巨大的、不断增长的计算能力 中长期天气预报。每增加一天,要求计算速度增加一个数量级。三天 百万次/sec,四天 千万次/sec,五天亿次/sec 信息战。关键是对信息的处理速度,如雷达信息的处理 地震预报预测 石油勘测 生物信息处理 …… 8.2.2 提高计算能力的基本途径 器件:新工艺(超大规模集成电路) 新材料(生物计算机、光计算机) 系统结构的改进:主要是克服Von Neumann的瓶颈问题。 流水线计算机、向量计算机、多处理机、并行计算机、集群。 8.2.3 现实状况 计算能力几乎提高了上万倍,但是,实际的并行计算能力提高只有几十倍。 原因:不能利用计算机的并行处理能力。也就是没有解决并行计算中的并行程序设计的问题。 其核心问题是并行算法 8.3 多核并发(并行)程序设计环境 及开发方法 8.3.1 硬件系统 并行计算机系统分类 按指令与数据分 SIMD,MIMD,SPMD,MPMD 按存储方式分 共享内存,分布式内存,分布式共享内存 8.3 多核并发(并行)程序设计环境及开发方法 指令与数据 SIMD(Single-Instruction Multiple-Data),同时用相同的指令对不同的数据进行操作 MIMD(Multiple-Instruction Multiple-Data),同时有多条指令对不同的数据进行操作 SPMD(Single-Program Multuple-Data),同时执行相同的程序对不同数据操作 MPMD(Multiple-Program Multuple-Data),同时

文档评论(0)

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

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

1亿VIP精品文档

相关文档