第四章 并行计算概述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MIMD
• MIMD(Multiple-Instruction Multiple-Data), 同时有多条指令对不同的数据进行操作。 • 这类计算机是并行计算机的一种较理想的 结构、每个处理机在各自惟一的数据流上 执行各自的指令流,与其他处理机无关。 • 它们都是由一些可编程的且均可各自执行 自己程序的处理机组成。
并行算法和串行算法的比较
Baidu Nhomakorabea进程 1 进程 2
传统的串行计算,分为“指令” 和“数据”两个部分,并在程 序 执行时“独立地申请和占有” 内 存空间,且所有计算均局限于 该内存空间。
进程 1
进程 2
发送信息
接收信息
并行计算将进程相对独立的 分配于不同的节点上,由 各自独立的操作系统调度, 享有独立的CPU和内存资源 (内存可以共享);进程间 相互信息交换通过消息传递
分布式共享存储MIMD
• 分布式共享存储MIMD系统中每个处理机都有各自的局存。 由于不需要集中的开关机构,因而它的扩展性比共享存储 MIMD系统好,可以连接大量的处理机,编程也较方便, 适合科学工程计算。 • 系统实现了统一的地址空间,该系统采用了一种共享虚拟 存储技术-共享虚拟存储器SVM(shared virtual memory)。 在分布式存储的多处理机系统中,物理存储是分布在各个 节点上的,这些分布的存储器就构成了一个全局共享的虚 拟存储器。在共享虚拟存储器中,每个虚拟地址空间的大 小等于单个节点所能提供的空间大小,系统中所有节点共 享这个虚拟地址空间。共享虚拟存储器地址空间以页面形 式组织.系统中所有节点可以访问这些页面。
大规模并行处理机(MPP)
• 大规模并行(Massively Parallel Processing, MPP) 系统是最常见的并行系统。MPP系统突破了SMP 系统中处理机与存储系统之间的瓶颈。MPP系统 因为没有处理器与存储系统间的瓶颈,其最大的 优点是可以最大限度地增加处理机的数量。速度 上千亿、上万亿次的计算机大多采用MPP系统。 与此同时,MPP系统也有较大的缺点,即由于每 个节点无法直接访问全部内存,需要依赖消息传 递来相互通信。大大增加了编程的复杂度。
同步
• 同步是使位于相同或不同处理机中的多个 进程之间的相互等待的操作,它要求进程 的所有操作均必须等待到达某一控制状态 之后才并行。
聚集
• 聚集将位于同步后不同处理机中的多个进 程的局部结果综合起来,通过某种操作, 例如最大值、最小值、累加和,产生一个 新的结果,存储在某个指定的或者所有的 进程变量中。
指令与数据
• SPMD(Single-Program Multuple-Data), 同时执行相同的程序对不同数据操作 • MPMD(Multiple-Program Multuple-Data), 同时有多个程序对不同的数据进行操作
存储方式
• 共享内存。处理单元通过对共享内存的访问来交 换信息协调各处理器对并行任务的处理。共享内 存是性能特别是扩展性的瓶颈 • 分布式内存。各个处理单元拥有独立的局部存储 器,处理器之间通过消息传递来交换信息,协调 和控制各个处理器的执行。有很好的扩展性和很 高的性能 • 分布式共享内存。结合前两者特点,提高了整个 系统的计算能力而且可以提高系统的模块性和扩 展性有利于快速构造超大型的计算系统
MIMD的分类
• 根据内存分布和存储方式的不同,MIMD可 以分为: 共享存储MIMD(SMP); 分布式共享存储MIMD (DSM), 分布式存储MIMD 大规模并行处理机(MPP) 工作站(微机)机群(COW)
共享存储MIMD
• 也称为对称多处理机(Symmetric multiprocesor, SMP) • SMP系统是并行技术发展初期最常见的多处理机计算机体系。 在这种计算机中.每个处理机的地位都是一 样的、它们连接 在一起,通过某种中央开关机构(如公共总线、交叉开关等) 来访问全局共享存储器。由于存储系统共享,每一个处理机 均能直接访问内存中的所有数据。 • 由于存储器共享,导致这类外算机存在一个无法突破的处理 机与存储系统间的瓶颈。因此、 SMP系统很少能使用超过 100个CPU。当前,SMP计算机在网络服务器中应用较为广 泛,但是对于超大规模的应用和科学计算来说,SMP计算机 就往往无能为力了。
并行计算机的分类
• 按照指令与数据 SIMD, MIMD,SPMD,MPMD • 按照存储方式 共享内存,分布式内存,分布式共享内存
SIMD
• SIMD(Single-Instruction Multiple-Data), 同时用相同的指令对不同的数据进行操作 • 这是计算机体系结构上的一个重要分类。 对于数据并行类问题,这种计算机能够达 到很高的处理速度。不像SISD计算机中只 有一个指令单元,SIMD计算机有一个指令 流, 可能有多个单元在执行,然而在任何 时间点只有一 条指令在执行。
工作站(微机)机群(COW)
• 群集(也称为机群)系统。群集(cluster)系统 是利用高速通用网络将一组高性能工作站 或高档PC机,按照某种结构联接起来,并 在并行程序设计以及可视化人机交互继承 开发环境支持下、统一调度、协调处理, 实现高效并行处理的系统。
群集系统的特点
• 群集系统具有以下特点: 1 每个节点都是一个完整的计算机、都有自己独 立的存储系统。 2 节点机间通过消息传递的机制来开发并行应用。 3 可以最大限度地增加节点机的个数,突破SMP 体系的瓶颈问题。 4 节点机往往依赖于现有的、成熟的技术。 5 典型的群集系统常常依赖于通用的网络体系通 信效率低于专用的MPP系统,因此比较适用于粗 粒度的并行。
进程间通信
• 现代操作系统提供基本的系统调用函数, 允许位于同一台处理机或不同处理机的多 个进程之间相互交流信息,操作具体表现 为三种形式:通信、同步和聚集。 • 以上的三种形式统称为进程间通信,操作 的具体数据对象为消息,具体的操作为消 息传递。
通信
• 进程间的数据传递称为进程间通信。 • 在同一台处理机中,通信可以读/写操作系 统提供的共享数据缓存区来实现。 • 不同处理机中,通信可以通过网络来实现。
并行计算的适用领域
• 中长期天气预报。 • 大型机械设计 • 信息战。关键是对信息的处理速度,如雷达信息 的处理 • 地震洪水预报预测 • 石油矿物勘测 • 生物信息处理 • 天体物理学 • 商业应用:股票交易等
提高计算能力的基本途径
• 器件:新工艺(超大规模集成电路) • 新材料(生物计算机、光计算机) • 系统结构的改进:主要是克服Von Neumann的瓶颈问题。
并行编程环境
• 如果编程模型与某种特定并行系统联系太紧密, 则将导致程序无法在并行计算机之间移植。所以 并行计算机的高级抽象非常有用。到了20世纪90 年代中期,出现了大量的并行编程环境。这为应 用开发者带来了混淆,导致并行计算无法成为主 流应用。 • 并行计算的主要目标是解决一大批具有重大挑战 意义的科学工程计算问题。并行计算的顺利发展, 在很大程度上取决于一个适用于不同计算机体系 结构的通用性程序设计语言标准。
分布式存储MIMD
• 分布式存储MIMD是指系统中每个处理机都 有各自的局部存储器,构成一个单独的节 点,节点间通过高速网络连接。处理机可 以访问自己节点内部的内存、对于其他节 点则不能直接访问,而要通过消息传送的 方式进行,分布式存储MIMD主要有两种形 式: 大规模并行处理机(MPP) 工作站(微机)机群(COW)
SIMD
• 最主要的一类SIMD并行机是流水线处理机。流水 线处理机又称为并行向量处理机(PVP) ,一般 通过时间重叠技术实现并行处理。流水线处理机 在结构设计中采用流水线的概念,把一个功能部 件分成几个不同的部分,每一部分对一对操作数 执行部分功能。YH-1。 • 另一类是阵列处理机。 阵列处理机由成千上万个 功能非常简单的处理机构成,数据以某种方式流 经各个处理机.由它们进行处理。它是利用资源 重复的方法开拓并行性。
并行算法设计
• SIMD并行计算机一 般适合同步并行算法 • MIMD并行计算机适 合异步并行算法 • 对于SPMD,要设法 加大计算时间相对于 通信时间的比重,减 少通信次数甚至以计 算换通信,一个好的 算法应呈现右图模式:
并行算法设计
• 若能实现计算与通 信的重叠,将是更 理想的计算模式: • 对于MPMD并行算 法各并行部分一般 是异步执行的,最 好能够降低通信次 数,增大计算相对 于通信的比重:
第4章 并行计算概述
济南大学网络中心
为什么需要并行计算
• 计算和理论与实验并列被普遍认为是人类认识自然世界的 三大支柱,这种计算主要是指应用于科学与工程的,以高性 能计算机为平台的大规模并行计算.它已成为一项学科:大 规模科学与工程计算.而大规模并行计算也已成为研究科 学与工程技术的一种崭新的手段和方式,采用这种手段和 方式的科学研究与工程技术研究设计则称为计算方式的科 学与工程 (Computational Science and Engineering) .例 如著名的波音777飞机的设计基本上是依靠高性能计算机 的无纸设计,它可以大量节省传统设计技术中的昂贵的风 洞实验,设计时间也大大缩短. • 并行计算可以加快速度,即在更短的时间内解决相同的问 题或在相同的时间内解决更多更复杂的问题,特别是对一 些新出现的巨大挑战问题不使用并行计算是根本无法解决 的
群集系统的优点
• 系统开发周期短。群集系统往往依赖于现有的成熟技术,既不用更新 研制计算节点、又不用重新设计操作系统和编译系统.而把开发的重 点放在通信和并行编程环境,节省了大量的研发时间。 • 用户投资风险小。因为群集系统的每一个节点机同时也是一台独立的 工作站,即使整个系统对某些应用问题并行效率不高,它的节点仍然 可以作为单个工作站使用。 • 系统价格低。由于群集系统的节点机可以批量生产.因而价格比传统 巨型机或MPP机要便宜得多。 • 节约系统资源。群集系统结构灵活,可以将不同体系结构、不同性能 的工作站联在一起,充分利用现有设备。 • 系统扩展性好。从规模上,群集系统大多使用通用网络.系统扩展容 易,从性能上,对大多数中、粗粒度的并行应用都有较高的效率。 • 系统容错性好。由于采用了失效切换技术,失效节点上的任务可以透 明地转移到其他节点上继续运行。 • 应用面较广。群集系统建立在成熟的技术基础之上,且有了失效切换 技术,更适合用作超级服务器。
传统的冯.诺依曼的结构计算机的核心是一台以串行方式操作的主处理 机。由于昂贵的硬件价格,该结构计算机完成的功能较简单、更多功 能是由软件完成。随着计算机应用领域扩大、高级语言及操作系统的 出现,这种功能分配的设计理念引起很多矛盾、从而迫使人们对计算 机系统结构进行改进。计算机系统结构改进主要围绕着增加时间间隔 内的操作数.即所谓并行处理技术进行。
并行编程环境
• 并行编程环境为构建并行程序提供了基本工具、语言 功能和应用编程接口(API)。编程环境指称为“编程 模型”的计算机系统的特定抽象。传统的串行计算机 使用著名的冯· 诺伊曼模型。所有串行计算机都使用 这种模型,所以软件设计者们都针对一种抽象设计软 件,并期望它能被映射到大多数串行计算机上 • 但并行计算具有多种可能的模型,反映出并行系统处 理器的个之间连接方式。最通用的模型是基于广泛应 用的并行体系结构之一:共享存储器,具有消息传递 的分布式存储器,或两种类型的混合。
存储方式
物理问题在并行机上的求解
提高计算能力的基本途径
• 计算能力几乎提高了上万倍,但是,实际 的并行计算能力提高只有几十倍。 • 原因:不能充分利用计算机的并行处理能 力。也就是没有解决并行计算中的并行程 序设计的问题。 • 其核心问题是并行算法
什么是并行算法
• 算法是解题的精确描述,是一组有穷的规 则,它规定了解决某一特定类型问题的一 系列运算。并行计算时可同时求解的诸进 程的集合,这些进程相互作用和协调动作, 并最终获得问题的求解 • 并行算法就是对并行计算过程的精确描述
相关文档
最新文档