第九章多处理机
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第九章 多处理机 第4 页
2011/3/14
9.1 多处理机结构
得多。 (4)多处理机属任务级并行。 (5)多处理机的处理单元数一般不多。 三、多处理机的特点 属于MIMD计算机。 1.结构灵活性 并行处理机是针对数组、向量处理而设计的。而多 处理机不限于数组向量的处理,而是力图把能并行处理 的任务、数组,以至标量都进行并行处理。 2.程序并行性的识别 并行处理机实现操作一级的并行,其并行性存在于
2011/3/14 第九章 多处理机 第21 页
9.3 机群系统
(3) 系统价格低 (4)充分利用系统资源 某计算机系100多台工作站,一般单机系统的使用 率不到10%。而组成机群系统后,可达到80%左右。 机群系统可分批更新。 (5)系统扩展性好 (6)用户编程方便 并行程序设计语言一般是在C 、C++或Fortran 中加 入"通信原语"扩展出来的。 三、机群系统的关键技术 人们希望机群系统具有以下特点:
2011/3/14 第九章 多处理机 第6 页
9.1 多处理机结构
工作。但多处理机是处于多指令流操作方式,一个程序 当中就存在多个并发的程序段,需要专门的指令来表示 它们的并发关系以控制它们的并发执行,以便一个任务 开始被执行时就能派生出可与它并行执行的另一些任务。 这个过程称为并行任务派生。派生的并行任务数目是随 程序和程序流程的不同而变化着的,并不需要多处理机 系统用固定数目的处理机加屏蔽的方法来满足其执行的 需要。多处理机执行这些并行任务,不必浪费多余的处 理机,需要多少就分配多少,如果不够,那些暂时不能 分配到空闲处理机的任务就进入排队器,处于等待状态。 这样就使多处理机有可能达到较高的效率。这是它较之 并行处理机具有的潜在优点。 4.进程同步
2011/3/14 第九章 多处理机 第5 页
9.1 多处理机结构
指令内部,一条指令可以同时对整个数组进行处理,再 加上系统具有的专用性特点,就使程序并行性的识别较 易实现。但在多处理机中,因为不限于解决数组向量处 理问题,并行性存在于指令外部,即表现在多个任务之 间,再加上系统通用性的要求,就使程序并行性的识别 难度较大。因此,它必须利用多种途径,如算法、程序 语言、编译、操作系统、以至指令、硬件等,尽量挖掘 各种潜在的并行性,而且主要的任务不能放在程序员肩 上。 3.并行任务的派生 并行处理机依靠单指令流对多数据流实现并行操 作,这种并行操作是通过各条单独的指令加以反映和控 制的,这样由指令本身就可以启动多个处理部件并行
2011/3/14 第九章 多处理机 第23 页
9.3 机群系统
· 往返延迟:1字节的数据包的往返传输时间。 新的网络技术大幅度提高了传输速度,但延迟时间 还没多大变化:(如下表所示)
2011/3/14 第九章 多处理机 第11 页
9.2 多处理机的Cache一致性
2011/3/14
第九章 多处理机
第12 页
9.2 多处理机的Cache一致性
4.I/O传输引起的不一致: 下图说明I/O传输是怎样造成数据不一致的。 (原因: I/O操作绕过Cache)
wenku.baidu.com
2011/3/14
第九章 多处理机
2011/3/14
第九章 多处理机
第10 页
9.2 多处理机的Cache一致性
3.进程迁移引起的不一致 . 有两种不一致情况: 第一种情况:P1 中有共享数据X的拷贝,而P2 中没 有该共享数据,P1进程对X进行了修改,如果采用了写 回策略,暂时没有对内存中的数据进行修改,由于某种 原因该进程迁移到了P2上运行,修改过的X’仍在P1的C1 中。 P2运行时从内存中读取得到X,但是这个读到的X 是“过时”的。 第二种情况:P1 和P2 中都有共享数据X的拷贝,P2 修改了X,并采用写通过策略,所以同时内存中的X也 修改成了X’。由于某种原因该进程迁移到P1上,但这时 P1的C1中仍然是X。 (如下图所示)
第13 页
9.2 多处理机的Cache一致性
二、动态一致性解决方法 1.监听协议 (针对总线互连结构) 又有两种方法: (1)写无效(Write Invalidate)策略 在更新本地Cache数据块的时候,同时使别的处理 机Cache中的对应数据块无效。(下页图所示) (2)更新(Write Update)策略 在更新本地Cache数据块的时候,同时以广播的形 式更新别的处理机Cache中的对应数据块。 (下页图所 示) 该方法效率很低——因为有些Cache中的数据可能 不会再被访问。该方法一般不用。
2011/3/14 第九章 多处理机 第7 页
9.1 多处理机结构
并行处理机实现操作级的并行,所有处于活动状态 的处理单元同时执行共同的指令操作,受同一个控制器 控制,工作自然是同步的。但多处理机所实现的是指令、 任务、程序级的并行。一般说,在同一时刻,不同的处 理机执行着不同的指令。由于执行时间互不相等,故它 们的工作进度不会也不必保持相同。并行任务被派生以 后,要根据分配到空闲处理机的先后次序陆续投入运行, 因而开始执行的时刻也不可能一致。在多处理机中,要 区分进程之间的多种不同的依赖关系。如果并发进程之 间有数据交往或控制依赖,那么,执行过程中有的进程 就要中途停下来进入等待状态,直到它所依赖的执行条 件满足为止。这就要求多处理机采取特殊的同步措施, 才能使并发进程之间保持程序所要求的正确顺序。
2011/3/14 第九章 多处理机 第22 页
9.3 机群系统
· 较高的节点运算速度; · 系统加速比性能接近线性增长; · 并行应用程序的开发要高效、方便。 机群系统的关键技术主要包括: (1)高效的通信系统 机群系统一般采用通用局域网,目前局域网技术大 体分两类: · 共享介质网络。 例: Ethernet · 开关网络。例:ATM Myrinet和1000M的交换式 Ethernet。 网络性能的性能描述: · 带宽速度:10-100-1000Mbps
第九章 多处理机
前几章讨论了如何加快单指令流执行速度的方法。尽 管只有一个程序在执行,但前面讨论的各种技术已涉及了 开发指令流内部或一条指令内部的并发性问题。本章讨论 多处理机——由若干台独立的处理机组成的系统。由于器 件本身限制了任何单处理机的速度最高不能超过某个上界 值,欲超越这个值就需要研究多处理机系统。 本章的中心议题是多处理机的结构和性能。将介绍把 多台处理机组成高并行度系统的有关技术,并分析这类系 统的瓶颈和改进性能的方法。 9.1 多处理机结构 9.2 多处理机的Cache一致性 9.3 机群系统
2011/3/14 第九章 多处理机 第19 页
9.3 机群系统
开发周期又可以利用最新的微处理器技术。大多数机群 系统的并行编程环境也是建立在一般的Unix操作系统之 上,尽量利用商用系统的研究成果,减少系统的开发与 维护费用。 机群系统的出现存在下面的原因(有利条件): (1)微处理器性能机价格比迅速提高,可充当机 群系统的运算节点; (2)网络技术的进步使得松散耦合系统的通信瓶 颈 逐 步 得 到 缓 解 。 例 : ATM 的 155M , 620 M ; 1000 M的以太网;甚至有的产品已接近了多处理机专 用互联网(如交叉开关网络、多机网络)的性能。例 MyriCom 公司的Myrinet 1.28 G ,开关延迟只有1us。 (3)并行编程环境的开发使得编制并行程序或
2011/3/14 第九章 多处理机 第16 页
9.3 机群系统
2011/3/14
第九章 多处理机
第17 页
Computer Food Chain
2011/3/14
第九章 多处理机
第18 页
9.3 机群系统
一、什么是机群系统 机群系统是利用高速通用网络将一组高性能工作站 或高档PC机,按某种结构连接起来,并在并行程序设计 以及可视化人机交互集成开发环境支持下,统一调度协 调处理,实现高效并行处理的系统。 从结构和结点间的通信方式来看,它属于分布存储 系统,主要利用消息传递方式实现各主机之间的通信, 由建立在一般操作系统之上的并行编程环境完成系统的 资源管理及相互协作,同时也屏蔽工作站及网络的异构 性,对程序员和用户来说,机群系统是一个整体的并行 系统。机群系统中的主机和网络可以是同构的,也可以 是异构的。目前已实现和正在研究中的机群系统大多采 用现有商用工作站和通用LAN网络,这样既可以缩短
第2 页
9.1 多处理机结构
2.分布存储型多处理机结构 (松耦合的多处理机结构如下图所示)图中每 台处理机有自己的存储器和1/O设备。
2011/3/14
第九章 多处理机
第3 页
9.1 多处理机结构
二、多处理机区别于并行处理机(SIMD计算机)的主要 特点: (1)它有多个控制器,至少有多个指令部件,用以对各 个PE实现单独的控制,而又相互协调配合。 (2)多处理机的外围设备要能够被多个PE分别调用,因 而要通过互连网络转接,而不像并行处理机的外围设备 那样统一访问主存储器进行程序和数组的有规则的传送。 (3)并行处理机由于主要完成数组向量运算,它的PE和 MM之间的数据交往是比较有规则的,存储器访问的地 址变换功能不必要求太高,因而互连网络的作用主要放 在数据对准上,可以做得比较简单。但是,多处理机由 于互连网络必须满足各个PE随机地访问主存储器的要 求,所以,连接模式、频带和路径选择等问题都要复杂
2011/3/14 第九章 多处理机 第14 页
9.2 多处理机的Cache一致性
2011/3/14
第九章 多处理机
第15 页
9.2 多处理机的Cache一致性
2.基于目录的协议--Cache目录法 (多级网络互连结构) Cache目录:存放Cache数据的分布信息。 使用方法:当某处理机对Cache进行写时,系统根据 Cache目录的内容将所有相关的Cache拷贝置为无效。 三、静态一致性解决方法 基本思想:只让属于处理机进程的私有数据和共享的只 读数据进入Cache,而对于共享的可写数据不准进入 Cache,使它驻留在主存中。 当共享的可写数据较多时,系统性能很差。为此, 改进方案是增加一个共享数据Cache,存放所有共享数 据。 共享数据的识别一般由编译器完成。
2011/3/14
第九章 多处理机
第9 页
9.2 多处理机的Cache一致性
一、问题的由来 1.主存 .主存——Cache一致性策略 一致性策略 (1)写通过策略(Write-through):写Cache时同时写主存。 (2)写回策略(Write-back):写Cache时不写主存。 2.共享可写数据引起的不一致 ( p513) .
2011/3/14 第九章 多处理机 第8 页
9.1 多处理机结构
5.资源分配和进程调度 并行处理机主要执行数组向量运算,处理单元数目 是固定的,且受同一控制器的控制,这是程序员编写程 序的基本出发点。程序员只能利用屏蔽手段来设置部分 处理单元为不活动状态,以改变实际参加操作的处理单 元数目。但多处理机执行并发任务,需用处理机的数目 没有固定要求,各个处理机进入或退出任务的时刻互不 相同,所需共享资源的品种、数量又随时变化。由于上 述情况十分复杂,于是,就提出了一个资源分配和进程 调度问题。这个问题解决的好坏对整个的效率有很大的 直接影响。
2011/3/14 第九章 多处理机 第20 页
9.3 机群系统
改写串行程序更加容易。 二、机群系统的特点 与传统的并行处理机相比,机群系统有下列特点: (1)开发周期短 · 结点——商用工作站 · 网络——通用网络,例如 ATM · 操作系统——Unix · 并行程序设计语言——在C 、Fortran 上扩充。 (2)用户投资风险小 购置巨型机或多处理机系统,投资大,但很可能用 不起来。
2011/3/14 第九章 多处理机 第1 页
9.1 多处理机结构
一、多处理机结构 多处理机系统——由若干台独立的处理机组成,利 用多台处理机并发地执行同一个作业。 1.共享存储器的多处理机结构 (结构如下图所示)图中存储器和I/O设备是独立的子 系统,为所有处理机共享。
2011/3/14
第九章 多处理机
2011/3/14
9.1 多处理机结构
得多。 (4)多处理机属任务级并行。 (5)多处理机的处理单元数一般不多。 三、多处理机的特点 属于MIMD计算机。 1.结构灵活性 并行处理机是针对数组、向量处理而设计的。而多 处理机不限于数组向量的处理,而是力图把能并行处理 的任务、数组,以至标量都进行并行处理。 2.程序并行性的识别 并行处理机实现操作一级的并行,其并行性存在于
2011/3/14 第九章 多处理机 第21 页
9.3 机群系统
(3) 系统价格低 (4)充分利用系统资源 某计算机系100多台工作站,一般单机系统的使用 率不到10%。而组成机群系统后,可达到80%左右。 机群系统可分批更新。 (5)系统扩展性好 (6)用户编程方便 并行程序设计语言一般是在C 、C++或Fortran 中加 入"通信原语"扩展出来的。 三、机群系统的关键技术 人们希望机群系统具有以下特点:
2011/3/14 第九章 多处理机 第6 页
9.1 多处理机结构
工作。但多处理机是处于多指令流操作方式,一个程序 当中就存在多个并发的程序段,需要专门的指令来表示 它们的并发关系以控制它们的并发执行,以便一个任务 开始被执行时就能派生出可与它并行执行的另一些任务。 这个过程称为并行任务派生。派生的并行任务数目是随 程序和程序流程的不同而变化着的,并不需要多处理机 系统用固定数目的处理机加屏蔽的方法来满足其执行的 需要。多处理机执行这些并行任务,不必浪费多余的处 理机,需要多少就分配多少,如果不够,那些暂时不能 分配到空闲处理机的任务就进入排队器,处于等待状态。 这样就使多处理机有可能达到较高的效率。这是它较之 并行处理机具有的潜在优点。 4.进程同步
2011/3/14 第九章 多处理机 第5 页
9.1 多处理机结构
指令内部,一条指令可以同时对整个数组进行处理,再 加上系统具有的专用性特点,就使程序并行性的识别较 易实现。但在多处理机中,因为不限于解决数组向量处 理问题,并行性存在于指令外部,即表现在多个任务之 间,再加上系统通用性的要求,就使程序并行性的识别 难度较大。因此,它必须利用多种途径,如算法、程序 语言、编译、操作系统、以至指令、硬件等,尽量挖掘 各种潜在的并行性,而且主要的任务不能放在程序员肩 上。 3.并行任务的派生 并行处理机依靠单指令流对多数据流实现并行操 作,这种并行操作是通过各条单独的指令加以反映和控 制的,这样由指令本身就可以启动多个处理部件并行
2011/3/14 第九章 多处理机 第23 页
9.3 机群系统
· 往返延迟:1字节的数据包的往返传输时间。 新的网络技术大幅度提高了传输速度,但延迟时间 还没多大变化:(如下表所示)
2011/3/14 第九章 多处理机 第11 页
9.2 多处理机的Cache一致性
2011/3/14
第九章 多处理机
第12 页
9.2 多处理机的Cache一致性
4.I/O传输引起的不一致: 下图说明I/O传输是怎样造成数据不一致的。 (原因: I/O操作绕过Cache)
wenku.baidu.com
2011/3/14
第九章 多处理机
2011/3/14
第九章 多处理机
第10 页
9.2 多处理机的Cache一致性
3.进程迁移引起的不一致 . 有两种不一致情况: 第一种情况:P1 中有共享数据X的拷贝,而P2 中没 有该共享数据,P1进程对X进行了修改,如果采用了写 回策略,暂时没有对内存中的数据进行修改,由于某种 原因该进程迁移到了P2上运行,修改过的X’仍在P1的C1 中。 P2运行时从内存中读取得到X,但是这个读到的X 是“过时”的。 第二种情况:P1 和P2 中都有共享数据X的拷贝,P2 修改了X,并采用写通过策略,所以同时内存中的X也 修改成了X’。由于某种原因该进程迁移到P1上,但这时 P1的C1中仍然是X。 (如下图所示)
第13 页
9.2 多处理机的Cache一致性
二、动态一致性解决方法 1.监听协议 (针对总线互连结构) 又有两种方法: (1)写无效(Write Invalidate)策略 在更新本地Cache数据块的时候,同时使别的处理 机Cache中的对应数据块无效。(下页图所示) (2)更新(Write Update)策略 在更新本地Cache数据块的时候,同时以广播的形 式更新别的处理机Cache中的对应数据块。 (下页图所 示) 该方法效率很低——因为有些Cache中的数据可能 不会再被访问。该方法一般不用。
2011/3/14 第九章 多处理机 第7 页
9.1 多处理机结构
并行处理机实现操作级的并行,所有处于活动状态 的处理单元同时执行共同的指令操作,受同一个控制器 控制,工作自然是同步的。但多处理机所实现的是指令、 任务、程序级的并行。一般说,在同一时刻,不同的处 理机执行着不同的指令。由于执行时间互不相等,故它 们的工作进度不会也不必保持相同。并行任务被派生以 后,要根据分配到空闲处理机的先后次序陆续投入运行, 因而开始执行的时刻也不可能一致。在多处理机中,要 区分进程之间的多种不同的依赖关系。如果并发进程之 间有数据交往或控制依赖,那么,执行过程中有的进程 就要中途停下来进入等待状态,直到它所依赖的执行条 件满足为止。这就要求多处理机采取特殊的同步措施, 才能使并发进程之间保持程序所要求的正确顺序。
2011/3/14 第九章 多处理机 第22 页
9.3 机群系统
· 较高的节点运算速度; · 系统加速比性能接近线性增长; · 并行应用程序的开发要高效、方便。 机群系统的关键技术主要包括: (1)高效的通信系统 机群系统一般采用通用局域网,目前局域网技术大 体分两类: · 共享介质网络。 例: Ethernet · 开关网络。例:ATM Myrinet和1000M的交换式 Ethernet。 网络性能的性能描述: · 带宽速度:10-100-1000Mbps
第九章 多处理机
前几章讨论了如何加快单指令流执行速度的方法。尽 管只有一个程序在执行,但前面讨论的各种技术已涉及了 开发指令流内部或一条指令内部的并发性问题。本章讨论 多处理机——由若干台独立的处理机组成的系统。由于器 件本身限制了任何单处理机的速度最高不能超过某个上界 值,欲超越这个值就需要研究多处理机系统。 本章的中心议题是多处理机的结构和性能。将介绍把 多台处理机组成高并行度系统的有关技术,并分析这类系 统的瓶颈和改进性能的方法。 9.1 多处理机结构 9.2 多处理机的Cache一致性 9.3 机群系统
2011/3/14 第九章 多处理机 第19 页
9.3 机群系统
开发周期又可以利用最新的微处理器技术。大多数机群 系统的并行编程环境也是建立在一般的Unix操作系统之 上,尽量利用商用系统的研究成果,减少系统的开发与 维护费用。 机群系统的出现存在下面的原因(有利条件): (1)微处理器性能机价格比迅速提高,可充当机 群系统的运算节点; (2)网络技术的进步使得松散耦合系统的通信瓶 颈 逐 步 得 到 缓 解 。 例 : ATM 的 155M , 620 M ; 1000 M的以太网;甚至有的产品已接近了多处理机专 用互联网(如交叉开关网络、多机网络)的性能。例 MyriCom 公司的Myrinet 1.28 G ,开关延迟只有1us。 (3)并行编程环境的开发使得编制并行程序或
2011/3/14 第九章 多处理机 第16 页
9.3 机群系统
2011/3/14
第九章 多处理机
第17 页
Computer Food Chain
2011/3/14
第九章 多处理机
第18 页
9.3 机群系统
一、什么是机群系统 机群系统是利用高速通用网络将一组高性能工作站 或高档PC机,按某种结构连接起来,并在并行程序设计 以及可视化人机交互集成开发环境支持下,统一调度协 调处理,实现高效并行处理的系统。 从结构和结点间的通信方式来看,它属于分布存储 系统,主要利用消息传递方式实现各主机之间的通信, 由建立在一般操作系统之上的并行编程环境完成系统的 资源管理及相互协作,同时也屏蔽工作站及网络的异构 性,对程序员和用户来说,机群系统是一个整体的并行 系统。机群系统中的主机和网络可以是同构的,也可以 是异构的。目前已实现和正在研究中的机群系统大多采 用现有商用工作站和通用LAN网络,这样既可以缩短
第2 页
9.1 多处理机结构
2.分布存储型多处理机结构 (松耦合的多处理机结构如下图所示)图中每 台处理机有自己的存储器和1/O设备。
2011/3/14
第九章 多处理机
第3 页
9.1 多处理机结构
二、多处理机区别于并行处理机(SIMD计算机)的主要 特点: (1)它有多个控制器,至少有多个指令部件,用以对各 个PE实现单独的控制,而又相互协调配合。 (2)多处理机的外围设备要能够被多个PE分别调用,因 而要通过互连网络转接,而不像并行处理机的外围设备 那样统一访问主存储器进行程序和数组的有规则的传送。 (3)并行处理机由于主要完成数组向量运算,它的PE和 MM之间的数据交往是比较有规则的,存储器访问的地 址变换功能不必要求太高,因而互连网络的作用主要放 在数据对准上,可以做得比较简单。但是,多处理机由 于互连网络必须满足各个PE随机地访问主存储器的要 求,所以,连接模式、频带和路径选择等问题都要复杂
2011/3/14 第九章 多处理机 第14 页
9.2 多处理机的Cache一致性
2011/3/14
第九章 多处理机
第15 页
9.2 多处理机的Cache一致性
2.基于目录的协议--Cache目录法 (多级网络互连结构) Cache目录:存放Cache数据的分布信息。 使用方法:当某处理机对Cache进行写时,系统根据 Cache目录的内容将所有相关的Cache拷贝置为无效。 三、静态一致性解决方法 基本思想:只让属于处理机进程的私有数据和共享的只 读数据进入Cache,而对于共享的可写数据不准进入 Cache,使它驻留在主存中。 当共享的可写数据较多时,系统性能很差。为此, 改进方案是增加一个共享数据Cache,存放所有共享数 据。 共享数据的识别一般由编译器完成。
2011/3/14
第九章 多处理机
第9 页
9.2 多处理机的Cache一致性
一、问题的由来 1.主存 .主存——Cache一致性策略 一致性策略 (1)写通过策略(Write-through):写Cache时同时写主存。 (2)写回策略(Write-back):写Cache时不写主存。 2.共享可写数据引起的不一致 ( p513) .
2011/3/14 第九章 多处理机 第8 页
9.1 多处理机结构
5.资源分配和进程调度 并行处理机主要执行数组向量运算,处理单元数目 是固定的,且受同一控制器的控制,这是程序员编写程 序的基本出发点。程序员只能利用屏蔽手段来设置部分 处理单元为不活动状态,以改变实际参加操作的处理单 元数目。但多处理机执行并发任务,需用处理机的数目 没有固定要求,各个处理机进入或退出任务的时刻互不 相同,所需共享资源的品种、数量又随时变化。由于上 述情况十分复杂,于是,就提出了一个资源分配和进程 调度问题。这个问题解决的好坏对整个的效率有很大的 直接影响。
2011/3/14 第九章 多处理机 第20 页
9.3 机群系统
改写串行程序更加容易。 二、机群系统的特点 与传统的并行处理机相比,机群系统有下列特点: (1)开发周期短 · 结点——商用工作站 · 网络——通用网络,例如 ATM · 操作系统——Unix · 并行程序设计语言——在C 、Fortran 上扩充。 (2)用户投资风险小 购置巨型机或多处理机系统,投资大,但很可能用 不起来。
2011/3/14 第九章 多处理机 第1 页
9.1 多处理机结构
一、多处理机结构 多处理机系统——由若干台独立的处理机组成,利 用多台处理机并发地执行同一个作业。 1.共享存储器的多处理机结构 (结构如下图所示)图中存储器和I/O设备是独立的子 系统,为所有处理机共享。
2011/3/14
第九章 多处理机