多核处理器体系结构及并行程序设计.ppt_第1页
多核处理器体系结构及并行程序设计.ppt_第2页
多核处理器体系结构及并行程序设计.ppt_第3页
多核处理器体系结构及并行程序设计.ppt_第4页
多核处理器体系结构及并行程序设计.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多核处理器体系结构及并行程序设计 天津大学 于策 yuce_ 1 Outline 多核处理器简介 并行程序设计方法学(PCAM) 科研及技术术(天津大学SRDC及IBM技术术中心) 2 Outline 多核处理器简介 并行程序设计方法学(PCAM) 科研及技术(天津大学SRDC及IBM技术中心) 3 什么是多核处理器? 两个或多个独立运行的内 核集成于同一个处理器上 面 双核处理器 =一个处理器上包含 2个内核 多核处理器 = 一个处理器上包 含2个或多个内核 Core0Core0Core1Core1 Front Side BusFront Side Bus 4 为什么要采用多核技术? 5 最终目标: 提升用户的体验 摩尔定律 不断发展和改进处理器的性能 最大限度地利用越来越多的晶体管 实现最优的价值 缩减处理时间,提高计算能力 开发平台的新特性和新功能 6 通过并行方式改进处理器的性能 2005+2005+ Dual- and Multi-coreDual- and Multi-core 2-way SMP 2-way SMP systemsystem 4 Cores4 Cores 4 Threads4 Threads 20012001 Hyper-ThreadingHyper-Threading 2-way SMP 2-way SMP systemsystem 2 Cores2 Cores 4 Threads4 Threads 19951995 Multi-processingMulti-processing 2-way SMP 2-way SMP systemsystem 2 Cores2 Cores 2 Threads2 Threads 7 多核技术的发展 CacheCache ExecutionExecution StateStateStateState BusBus CacheCache ExecutionExecution StateState BusBus CacheCache ExecutionExecution StateState BusBus CacheCache ExecutionExecution StateState BusBus CacheCache ExecutionExecution StateState BusBus Pentium 4Pentium 4 with HTwith HT Dual Xeon ProcessorsDual Xeon ProcessorsDual CoreDual Core 2 Threads2 Threads 1 Package1 Package 2 Threads2 Threads 2 Packages2 Packages 2 Threads2 Threads 1 Package1 Package Two independent execution Two independent execution cores in the same processorcores in the same processor 8 几种不同的技术 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 只共享系统总线,独立缓存 高性能,资源冲突少 9 双核技术 VS. 超线程技术 双核是真正意义上的双处理器 不会发生资源冲突 每个线程拥有自己的缓存、寄存器和运算器 一个3.2GHz Smithfiled在性能上并非等同于3.2GHz P4 with HT 的2 倍 HT 使处理器的性能至少提升了1/3 双核的性能相当于2块 non-HT 处理器 双核技术与HT技术在性能上的对比 Ex 1: 两个floating point线程 (Smithfield client) 每个线程拥有自己的FPU, 没有资源冲突 尽管性能上没有提升太多,但仍然优于HT Ex 2: 一个integer线程与一个floating point线程 性能大幅度提升 没有资源冲突 10 Single core , With HT ( Eg. Pentium 4 Processor With HT ) Integer and Floating Point Threads L2 Cache and Control L2 Cache and Control L1 D-Cache and D-TLB Schedulers Integer Trace Cache Rename/Alloc uop Queues BTB uCode ROM 33 Decoder BTB & I-TLB Floating Point 2 threads can be executed at the same time (per processor) if theyre not competing for the same execution resource 11 Single core , With HT ( Eg. Pentium 4 Processor with HT ) Two Floating Point Threads L2 Cache and Control L2 Cache and Control L1 D-Cache and D-TLB Schedulers Integer Trace Cache Rename/Alloc uop Queues BTB uCode ROM 33 Decoder BTB & I-TLB Floating Point 2 threads CANNOT be executed at the same time (per processor) if theyre competing for the same execution resource (eg. 2 floating point threads in a P4P architecture) 12 Dual core , Without HT ( Eg. Pentium D Processor ) Two Floating Point Threads L2 Cache and Control L2 Cache and Control L1 D-Cache and D-TLB Schedulers Integer Trace Cache Rename/Alloc uop Queues BTB uCode ROM 33 Decoder BTB & I-TLB Floating Point L2 Cache and Control L2 Cache and Control L1 D-Cache and D-TLB Schedulers Integer Trace Cache Rename/Alloc uop Queues BTB uCode ROM 33 Decoder BTB & I-TLB Floating Point Even 2 floating point threads can be executed at the same time now (per processor) as there are multiple floating point execution units 13 Dual core , With HT ( Eg. Dual Core Pentium Processor Extreme Edition ) Supports HT Multiple Integer and Floating Point Threads L2 Cache and Control L2 Cache and Control L1 D-Cache and D-TLB Schedulers Integer Trace Cache Rename/Alloc uop Queues BTB uCode ROM 33 Decoder BTB & I-TLB Floating Point L2 Cache and Control L2 Cache and Control L1 D-Cache and D-TLB Schedulers Integer Trace Cache Rename/Alloc uop Queues BTB uCode ROM 33 Decoder BTB & I-TLB Floating Point With dual core & HT together, maximum # of threads that can be executed at a time is 4 per processor 14 多核技术与超线程技术的结合 产产 量量 多功能多功能 功功 效效 Core0Core0Core1Core1 Front Side BusFront Side Bus Dual Core with Hyper-Threading 4 threads/socket Core0Core0Core1Core1 Front Side BusFront Side Bus Dual Core 2 threads/socket 15 AMD与Intel双核架构的对比 AMDAMD OpteronOpteron双核架构示意图双核架构示意图 Intel Intel 奔腾至尊版双核架构示意图奔腾至尊版双核架构示意图 16 多核面临的困难 如何计算软件授权? 按CPU个数收取软件授权费用 按芯片个数收取软件授权费用 应用软件是否支持? 如果应用程序是基于多处理器编写的 如果应用程序是基于单处理器编写的 双核发热大,散热是难题 17 DualCore、SMP、Cluster 体系结 构 特性 SMP(对称 多处理机) Cluster(集 群) DualCore 处理器单一主机, 多个处理器 多台主机, 有各自的处 理器(一或 多) 单一主机, 单一处理器 ,多个核心 操作系统单一多个单一 主要并行计 算方式 多进程,内 存共享 多进程,基 于消息传递 多线程 18 Outline 多核处理器简介 并行程序设计方法学(PCAM) 科研及技术(天津大学SRDC及IBM技术中心) 19 PCAM设计方法学 划分(Partitioning) 通讯(Communication) 组合(Agglomeration) 映射(Mapping) 20 PCAM设计方法学 设计并行算法的四个阶段 划分(Partitioning) 通讯(Communication) 组合(Agglomeration) 映射(Mapping) 划分:分解成小的任务,开拓并发性; 通讯:确定诸任务间的数据交换,监测划分的合理性; 组合:依据任务的局部性,组合成更大的任务; 映射:将每个任务分配到处理器上,提高算法的性能。 21 PCAM设计过程 22 域分解 划分的对象是数据,可以是算法的输入数 据、中间处理数据和输出数据; 将数据分解成大致相等的小数据片; 划分时考虑数据上的相应操作; 如果一个任务需要别的任务中的数据,则 会产生任务间的通讯; 23 域分解 示例:三维网格的域分解,各格点上计算 都是重复的。下图是三种分解方法: 24 功能分解 划分的对象是计算,将计算划分为不同的 任务,其出发点不同于域分解; 划分后,研究不同任务所需的数据。如果 这些数据不相交的,则划分是成功的;如 果数据有相当的重叠, 意味着要重新进 行域分解和功能分解; 功能分解是一种更深层次的分解。 25 划分判据 划分是否具有灵活性? 划分是否避免了冗余计算和存储? 划分任务尺寸是否大致相当? 任务数与问题尺寸是否成比例? 功能分解是一种更深层次的分解,是 否合理? 26 通讯 通讯是PCAM设计过程的重要阶段; 划分产生的诸任务,一般不能完全独立执 行,需要在任务间进行数据交流;从而产 生了通讯; 功能分解确定了诸任务之间的数据流; 诸任务是并发执行的,通讯则限制了这种 并发性; 27 通讯判据 所有任务是否执行大致相当的通讯? 是否尽可能的局部通讯? 通讯操作是否能并行执行? 同步任务的计算能否并行执行? 28 组合 组合是由抽象到具体的过程,是将组合的 任务能在一类并行机上有效的执行; 合并小尺寸任务,减少任务数。如果任务 数恰好等于处理器数,则也完成了映射过 程; 通过增加任务的粒度和重复计算,可以减 少通讯成本; 保持映射和扩展的灵活性,降低软件工程 成本; 29 组合判据 增加粒度是否减少了通讯成本? 重复计算是否已权衡了其得益? 是否保持了灵活性和可扩放性? 组合的任务数是否与问题尺寸成比例? 是否保持了类似的计算和通讯? 有没有减少并行执行的机会? 30 映射 每个任务要映射到具体的处理器,定位到 运行机器上; 任务数大于处理器数时,存在负载平衡和 任务调度问题; 映射的目标:减少算法的执行时间 并发的任务 不同的处理器 任务之间存在高通讯的 同一处理器 映射实际是一种权衡,属于NP完全问题 31 映射判据 采用集中式负载平衡方案,是否存在 通讯瓶颈? 采用动态负载平衡方案,调度策略的 成本如何? 32 Outline 多核处理器简介 并行程序设计方法学(PCAM) 科研及技术(天津大学SRDC及IBM技术中心) 33 技术术力量 天津大学IBM新技术术中心 ( ) 共享大学研究(SUR) 软软件技术术培训训 Lotus(协协同工作) WebSphere(J2EE) Rational(应应用程序设计设计 与开发发) DB2(数据库库与商务务智能) A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论