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

下载本文档

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

文档简介

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

温馨提示

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

评论

0/150

提交评论