1 / 135

第六章 并行处理技术

第六章 并行处理技术. 北京航空航天大学计算机学院 2005 年 5 月. 主要内容. 什么是并行处理 为什么要开发并行处理技术 并行机的分类及基本结构 并行处理的基本问题和技术. 什么是并行处理. 并行处理的定义: 并行处理是指同时对多个任务或多条指令、或同时对多个数据项进行处理。 完成此项处理的计算机系统称为并行处理计算机系统。. 什么是并行处理. 两个概念: 同时性 ( simultaneity ) —— 两个或多个事件在同一时刻发生。 并发性 ( concurrency ) —— 两个或多个事件在同一时间间隔内发生。.

petra
Download Presentation

第六章 并行处理技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第六章 并行处理技术 北京航空航天大学计算机学院 2005 年 5 月

  2. 主要内容 • 什么是并行处理 • 为什么要开发并行处理技术 • 并行机的分类及基本结构 • 并行处理的基本问题和技术

  3. 什么是并行处理 并行处理的定义: 并行处理是指同时对多个任务或多条指令、或同时对多个数据项进行处理。 完成此项处理的计算机系统称为并行处理计算机系统。

  4. 什么是并行处理 两个概念: 同时性(simultaneity)——两个或多个事件在同一时刻发生。 并发性(concurrency)——两个或多个事件在同一时间间隔内发生。

  5. 什么是并行处理 并行性级别: 粒度(granularity):衡量一个软件进程的计算量的度量。最简单的是指此程序段中的指令数。分细、中、粗三种。 按粒度的不同,并行性级别可以分为指令级、循环级、过程级、子程序级和作业级等不同的层次。它们对应的计算粒度可以为细粒度、中粒度和粗粒度。

  6. 什么是并行处理 1.指令级并行 典型细粒度,一般少于20条指令。 2.循环级并行 典型循环含少于500条指令,由于有些循环操作在连续迭代中并不相关,易于向量化,是在并行机或向量机上运行的最优程序结构。 3.过程级并行 中粒度并行,指令少于2000条,分析过程间的并行性比细粒度要困难。

  7. 什么是并行处理 4.子程序级并行 (粗)中粒度并行,几千条指令,常在messagepassing多计算机上以SPMD或MPMD方式执行。并行性主要由算法设计人员与程序员开发。 5.作业级并行 粗粒度并行,数万条指令,常由加载程序和操作系统处理这类并行性,靠算法有效性来保证。

  8. 主要内容 • 什么是并行处理 • 为什么要开发并行处理技术 • 并行机的分类及基本结构 • 并行处理的基本问题和技术

  9. 为什么要开发并行处理技术 天气预报: 1990年10次台风登陆,福建、浙江两省损失79亿元,死亡950余人。 天气预报模式为非线性偏微分方程,预报台风暴雨过程,计算量为1014—1016次浮点运算,需要10GFlops—100GFlops的巨型机。 用途:局部灾害性天气预报。 规模:50个Itanium-100GFlops。

  10. 为什么要开发并行处理技术 石油工业: 地震勘探资料处理、油藏数值模拟、测井资料处理 地震勘探由数据采集、数据处理和资料解释三阶段组成。 目前采用的三维地震勘探比较精确的反映地下情况,但数据量大,处理周期长。100平方公里的三维勘探面积,道距25米,60次覆盖,6秒长记录,2毫秒采样,一共采集2.881010个数据,约为116GB。叠加后数据为4.8108个数据。用二维叠前深度偏移方法精确的产生地下深度图像,采用100MFlops 机器计算250天,1GFLOPs机计算25天,10GFlops机器35分。考虑到机器持续速度常常是峰值速度的10-30%,所以需要100GFlops的机器。

  11. 为什么要开发并行处理技术 航空航天: 研究三维翼型对飞机性能的影响。数值模拟用时间相关法解Navier-Stoker方程,网格分点为1204050,需内存160MB,6亿计算机上解12小时,如果在数分钟内完成设计,则需要千亿次计算机。

  12. 为什么要开发并行处理技术 核武器: 核爆炸数值模拟,推断出不同结构与不同条件下核装置的能量释放效应。 压力: 几百万大气压 温度: 几千万摄氏度 能量在秒级内释放出来。 设计一个核武器型号,从模型规律、调整各种参数到优选,需计算成百上千次核试验。 Los Alamos实验室要求计算一个模型的上限为8-10小时。

  13. 语音识别和图像处理: 为什么要开发并行处理技术

  14. 为什么要开发并行处理技术 科学计算对计算机能力的需求

  15. 为什么要开发并行处理技术 单纯等待CPU性能增加?? CPU性能每年增加50%-100% 晶体管每3年增加1倍 Intel 800MHz Itanium 2.1GFLOPs 地震勘探 100GFLOPs ~~~~ 50个Itanium 大约6年后,Itanium的“第?代”性能达到

  16. 为什么要开发并行处理技术 总之,当代重大的挑战性应用要求高性能计算机系统应具有: 3T performance: Teraflops of Computing Power Terabytes of Main Memory Terabytes of I/O bandwidth 因此,只有开发并行处理技术才能满足应用需求。

  17. 主要内容 • 什么是并行处理 • 为什么要开发并行处理技术 • 并行机的分类及基本结构 • 并行处理的基本问题和技术

  18. 并行机的分类 并行机按系统结构划分可分为以下五类: • 向量流水巨型机 • SIMD阵列机 • 共享主存多处理机(MIMD) • 分布存储多计算机(MIMD) • 机群系统(SPMD、MPMD)

  19. 向量流水巨型机 向量流水巨型机可细分为向量机和多向量机 向量机: 程序和数据从Host进入向量机 指令先在Scalar control unit译码,如是标量或控制操作指令,则在标量功能流水部件种执行。如果是向量指令,则进入向量控制部件。 多向量机: 由多个向量处理单元和一个中央存储器构成的向量处理系统。

  20. scalarprocessor vector instruction Scalar Functional pipelines vectorprocessor Vector Control unit control scalar instruction Scalar Control unit vector registers Vector Functional pipelines …… MainMemory (Programanddata) Vector Functional pipelines Mass Storage Host Computer I/O(user) 向量机典型结构图

  21. 多向量机结构图(CRAY-YMP)

  22. CDCCyber205 (Levine,1982) Memory-Memory ETA10 (ETA,Inc,1989) CDC7600 (CDC,1970) CrayY-MP CrayResearch 1989 CrayMPP CrayResearch 1993 Cray1 (Russell,1978) register-register Fujitsu NEC HitachiModels 向量机、多向量机发展历史

  23. CDC7600 • CDC7600于1971年5月诞生,Control Data Corporation建造。 • 时钟周期27.5ns; • 64Kw中央存储器; • 峰值速度36Mflops; • 价格510万美元;

  24. CRAY-1 • Cray公司1976年制造。 • 时钟周期12.5ns; • 1Mw中央存储器(64bits); • 峰值速度0.1Gflops; • 价格886万美元; • 重量5.5吨

  25. CRAY-YMP8,CRAY-C90 Cray-YMP8,1990年Cray公司制造。时钟周期6ns,8个CPU,64Mw中央存储器,峰值速度6Gflops。 Cray-C90,1993年Cray公司制造。时钟周期4ns,16个CPU,256Mw中央存储器,峰值速度16Gflops。

  26. ETA-10 • ETA-10由ETA公司于1989年开始生产制造。ETA-10共生产了四种型号。其中ETA-10G为最先进的型号。 • ETA-10G: • 时钟周期7ns; • 2~8个CPU; • 支持2GB中央存储器; • 峰值速度10Gflops; • 采用液体制冷技术

  27. SIMD计算机 SIMD计算机的特点: 它将大量重复设置的处理单元按一定方式互连成阵列,在单一控制部件CU(ContrulUnit)控制下对各自所分配的不同数据并行执行同一指令规定的操作,是操作并行的SIMD计算机。它采用资源重复的措施开发并行性。是以SIMD(单指令流多数据流)方式工作的。

  28. ControlUnit PE0 PE1 PEN-1 Proc0 Proc1 ProcN-1 …… Mem0 Mem1 MemN-1 InterConnectionNetwork SIMD计算机的结构框图

  29. DAP610 (AMT,Inc.1987) GoodYearMPP (1980) CM2 (1990) CM5 (1991) IlliacIV (1968) MasParMP1 (1990) BSP (1982) IBMGF/11 (1985) SIMD计算机的发展历程

  30. ILLIACIV:第一台SIMD计算机 1966年,美国DoD委托Illinois大学为其研制一台并行机ILLIACIV,但计划拖至1972年才执行。该机于1974年研制成功,其设计结构可扩充至256个PE,但最终生产机型只有16个PE。处理器频率为13Mhz,峰值速度为250Mflops,价格为3100万美元。

  31. CM-2 • CM-2由美国Thinking Machine公司于1987年生产。 • 共有65535个1bitCPU; • 2048个浮点处理器; • 每个CPU64K~256KB存储器 • 峰值速度6Gflops。

  32. 共享存储多计算机(MIMD) 共享存储(Shared-Memory)多计算机又可细分为: • UMA结构 • NUMA结构 • COMA结构

  33. P0 P1 …… Pn 处理器 InterConnectionNetwork (Bus、Crossbar、MultistageNetwork) 共享存储器 I/O SM1 SMn …… UMA结构 UMA(Uniform-memory-access)model: 物理存储器被所有处理机均匀共享,所有处理机对所有存储字具有相同的存取时间。

  34. LM1 P1 LM2 P2 Inter- Connection Network …… …… …… Pn LMn NUMA结构 NUMA(NonUniform-memory-access)model: 访问时间随存储字的位置不同而变化。

  35. InterConnectionNetwork D D D C C C distributed cache directories …… P P P COMA结构 COMA(Cache-onlymemoryarchitecture): 只用高速缓存的多处理机 远程高速缓存访问则借助于分布高速缓存目录进行。

  36. stanford/Dash (1992) Illinois Cedar (1987) FujitsuVPP500 (1992) KSR-1 (1990) Cmmp (cmu,1972) IBMRP3 (1985) UltraComputer NYU (1983) BBNButterfly (1989) 共享存储多计算机发展过程

  37. C.mmp 微处理器的出现则使并行计算机的体系结构迈出了另一大步。最早的微处理器性能并不是很理想,但是随着机器的字长从4位、8位、16位一直增加到32位,其性能也随之显著提高。正是因为看到了微处理器的这种潜力,卡内基梅隆大学开始在当时流行的DECPDP-11小型计算机的基础上进行共享存储多处理器系统的研究。 C.mmp就是这一研究项目的具体成果。它是一台由16个PDP11/40处理机通过交叉开关与16个共享存储器模块相连接而成的(UMA结构),并于1972年研制成功。

  38. StanfordDASH 斯坦福大学的DASH小组从1988年开始工作,节点由SGI的4D/340(4CPU)构成,增加了支持目录存储器与群间接口的新板卡,对多种时延隐藏技术进行了大量的研究实验。其中包括预取技术(PrefetchingTechnique)、硬件支持的一致性高速缓存(CoherentCache)、非严格的存储一致性(RelaxedMemoryConsistency),以及多现场切换技术(MulitipleContext)等。

  39. KSR-1 KSR-1是KendallSquareResearch公司于1990年生产的COMA结构的计算机,也是到目前为止世界上唯一的COMA结构的商品化的计算机。

  40. 常见的共享存储多计算机 对称式多处理机SMP SMP: Symmetric MultiProcessors Shared Memory multiProcessors Small size MultiProcessors 处理机之间无主从之分,对外有相同的访问权,都有执行操作系统核心和I/O服务程序的能力。 共享存储器、统一地址空间,系统编程比较容易。 CPU可多至16台左右,做服务器用,市场前景好。

  41. 常见的共享存储多计算机 典型的SMP有: Sun SPARC server 1000 Sun SPARC center 2000 SGI Power Challenge SGI Power Challenge L:2-6CPU,1.8GFlops SGI Power Challenge XL:2-18CPU,5.4GFlops • 64位MIPS chip,每周期指令发射数为4 • 8路交错主存、带宽为1.2GB/s • I/O带宽320MB/s(每个控制器),配置4个可达1.2GB/s

  42. Intel Pentium Pro Quad • 处理器模块:一致性部件和处理器 • 高集成度:提高单位封装量 • 低延迟、高带宽

  43. SUN Enterprise • Proc + mem card - I/O card • 最多16板卡 • 存储器访问必须通过总线 • 总线带宽高、延迟低

  44. 分布式存储多计算机 分布式存储多计算机是由若干台结点机(由CPU+LocalMemory+互连端口组成)通过高速互联网络连接构成的大型计算机系统。 分布存储多计算机的特点: • 结构上没有一个统一的存储空间; • 可扩展性好; • 编程困难。

  45. M M M P P P …… M P Message-passing interconnectionnetwork (Mesh,ring,torus, hypercube,cube,cycle) P M …… …… M P P M P P P …… M M M 分布式存储多计算机结构框图

  46. nCube-2/6400 (1990) CosmicCube (1981) Intelparagon (1992) inteliPSC’s (1983) Mosaic (1992) MIT/Jmachine (1992) 分布存储多计算机的发展过程

  47. ASCI─美国政府的加速战略计算计划 • ASCI计划是美国政府为继续谋求核优势而制定的一个为期10年(1995~2004)的高性能计算机发展计划。该计划分五个阶段完成,分别研制万亿次、3万亿次、10万亿次、30万亿次和100万亿次的系统。截止到2000年6月,第一阶段、第二阶段和第三阶段的开发任务已分别完成;第四阶段的30万亿次机已由使用部门提出软、硬件要求;第五阶段的100万亿次系统也已经开始预研。 • 该计划的主要参与者有美国圣地亚哥国家实验室(Sandia)、洛斯阿拉莫斯国家实验室(LosAlamos)、劳伦斯利弗莫尔国家实验室(LawrenceLivermore)和Utah、Stanford、Chicago和Caltech大学,在工业界选择了Intel、IBM、SGI/Cray三大高性能计算实力最强大的公司。

  48. IBM ASCI-White@LLNL ASCI白色系统由IBM公司于2000年6月底按时超标准完成。该系统的硬件环境由一个IBMRS/6000SP系统构成,它有512个SMP节点机。每个节点机有16个处理器,系统总共有8192个CPU,峰速达12.3TFLOPS。总系统存储器容量为6TB,总系统磁盘容量为160TB。

  49. Intel ASCI-Red@SNL Intel公司为美国圣地亚哥国家实验室研制的MPP并行系统,采用近9000个Pentium II 处理器,速度为1.8TFlops。

  50. SGI ASCI-Blue@LANL SGI公司以Origin2000为结点为美国洛斯阿拉莫斯国家实验室研制的MPP系统,其速度达到3.1Tflops。

More Related