并行计算机访存模型

并行计算机访存模型
并行计算机访存模型

并行计算机体系结构讲义

I、引入:

一、计算机系统结构的分类(从计算机系统结构的并行性能出发)

弗林(Flynn)分类法

1966年M.J.Flynn按照指令流和数据流(所谓指令流是计算机在计算过程中执行的一串指令;而数据流是指令执行过程中的一串数据。)的不同组织方式,把计算机系统的结构分为以下4类:

1. 单指令流,单数据流(SISD)——这就是一个单处理器。

2.单指令流,多数据流(SIMD)——同一指令由多个处理器执行,这些处理器使用不同数据流,有各自的数据内存,但共享一个指令内存和控制处理器(负责存取和发送指令)。处理器通常是专用的,不要求通用性。

3. 多指令流,单数据流(MISD)——

4. 多指令流,多数据流(MIMD)——每个处理器存取自己的指令,操作自己的数据。处理器通常就采用普通的微处理器。

这是一个粗略的模型分类,许多机器是这些类型的混合体。SISD是传统的顺序处理计算机。SIMD以阵列处理机为代表。MISD在实际中代表何种计算机,存在着不同的看法。MIMD 的代表是多处理机。

二、并行性技术

一个理想的计算机系统结构应在处理速度、存储容量和I/O吞吐能力三者之间取得平衡。而并行性技术是实现这种平衡的主要手段。并行性技术包括时间并行、空间并行、时间并行+空间并行、资源共享4种方法。

也就是说, 计算机系统中提高并行性的措施就其基本思想而言,可归纳如下4条途径:

(1) 时间重叠:即多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转时间而赢得速度。因此时间重叠可称为时间并行技术。

(2) 资源重复:在并行性概念中引入空间因素,以数量取胜的原则,通过重复设置硬件资源,大幅度提高计算机系统的性能。随着硬件价格的降低,这种方式在单处理机中广泛使用,而多处理机本身就是实施“资源重复”原理的结果。因此资源重复可称为空间并行技术。

(3) 时间重叠+资源重复:在计算机系统中同时运用时间并行和空间并行技术,这种方式在计算机系统中得到广泛使用,成为并行性主流技术。

(4) 资源共享:这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。例如多道程序、分时系统就是遵循“资源共享”原理而产生的。资源共享既降低了成本,又提高了计算机设备的利用率。

II、讲授内容:

一、并行性的概念:

并行性,是指计算机系统具有可以同时进行运算或操作的特性,它包括同时性与并发性两种含义。

同时性——两个或两个以上的事件在同一时刻发生。

并发性——两个或两个以上的事件在同一时间间隔发生。

计算机系统中的并行性有不同的等级。从处理数据的角度看,并行性等级从低到高可分为:

(1)字串位串:同时只对一个字的一位进行处理。这是最基本的串行处理方式,不存在并行性。

(2)字串位并:同时对一个字的全部位进行处理,不同字之间是串行的。这里已开始出现并行性。

(3)字并位串:同时对许多字的同一位进行处理。这种方式有较高的并行性。

(4)全并行:同时对许多字的全部位进行处理。这是最高一级的并行。

从执行程序的角度看,并行性等级从低到高可分为:

(1)指令内部并行:一条指令执行时各微操作之间的并行。

(2)指令级并行:并行执行两条或多条指令。

(3)任务级或过程级并行:并行执行两个以上过程或任务(程序段)。

(4)作业或程序级并行:并行执行两个以上作业或程序。

在单处理机系统中,这种并行性升到某一级别后(如任务级或作业级并行),则需要通过软件(如操作系统中的进程管理、作业管理)来实现。而在多处理机系统中,由于已有了完成各个任务或作业的处理机,其并行性是由硬件实现的。

在一个计算机系统中,可以采取多种并行性措施。既可以有数据处理方面的并行性,又可以有执行程序方面的并行性。当并行性提高到一定级别时,则称之为进入并行处理领域。

并行处理着重挖掘计算过程中的并行事件,使并行性达到较高的级别。因此,并行处理是系统结构、硬件、软件、算法、语言等多方面综合研究的领域。

二、单机系统中并行性的发展

在发展高性能单处理机过程中,起着主导作用的是时间重叠原理。实现时间重叠的物质基础是“部件功能专用化”,即把一件工作按功能分割为若干相互联系的部分,把每一部分指定给专门的部件完成;然后按时间重叠原理把各部分执行过程在时间上重叠起来,使所有部件依次分工完成一组同样的工作。例如解释指令的5个子过程分别需要5个专用部件,即取指令部件(IF)、指令译码部件(ID)、指令执行部件(EX)、访问存储器部件(M)、写回结果部件(WB)。将它们按流水方式连接起来,就满足时间重叠原理,从而使得处理机内部同时处理多条指令,提高了处理机的速度。显然,时间重叠技术开发了计算机系统中的指令级并行。

在单处理机中,资源重复原理的运用也已经十分普遍。例如不论是非流水线处理机,还是流水线处理机,多体存储器和多操作部件都是成功应用的结构形式。在多操作部件处理机中,通用部件被分解成若干个专用操作部件,如加法部件、乘法部件、除法部件、逻辑运算部件等。一条指令所需的操作部件只要空闲,就可以开始执行这条指令,这就是指令级并行。

在单处理机中,资源共享的概念实质上是用单处理机模拟多处理机的功能,形成所谓虚拟机的概念。例如分时系统,在多终端情况下,每个终端上的用户感到好像自己有一台处理机一样。

三、多机系统中并行性的发展

多机系统也遵循时间重叠、资源重复、资源共享原理,向着三种不同的多处理机方向发展。但在采取的技术措施上与单处理机系统有些差别。

为了反映多机系统各机器之间物理连接的紧密程度与交互作用能力的强弱,使用了耦合度这样一个术语。多机系统的耦合度,分为紧耦合系统和松耦合系统两大类。

紧耦合系统又称直接耦合系统,指计算机间物理连接的频带较高,一般是通过总线或高速开关实现计算机间的互连,可以共亨主存。由于具有较高的信息传输率,因而可以快速并行处理作业或任务。

松耦合系统又称间接耦合系统,一般是通过通道或通信线路实现计算机间的互连,可以共享外存设备(磁盘、磁带等)。机器之间的相互作用是在文件或数据集一级上进行。松耦合系统表现为两种形式:一种是多台计算机和共享的外存设备连接,不同机器之间实现功能上的分工(功能专用化),机器处理的结果以文件或数据集的形式送到共享外存设备,供其他机器继续处理。另一种是计算机网,通过通信线路连接,以求得更大范围的资源共享。

多处理机中为了实现时间重叠,将处理功能分散给各专用处理机去完成,即功能专用化,各处理机之间则按时间重叠原理工作。许多主要功能,如数组运算、高级语言编译、数据库管理等,也逐渐分离出来,交由专用处理机完成,机间的耦合程度逐渐加强,从而发展成为异构型多处理机系统。

通过设置多台相同类型的计算机而构成的容错系统,可使系统工作的可靠性在处理机一级得到提高。各种不同的容错多处理机系统方案计算对计算机间互连网络的要求是不同的,但正确性、可靠性是首要要求。如果提高对互连网络的要求,使其具有一定的灵活性、可靠性和可重构性,则可将其发展成一种可重构系统。在这种系统中,平时几台计算机都正常工作,像通常的多处理机系统一样。但一旦发生故障,就使系统重新组织,降低档次继续运行,直到排除故障为止。

随着硬件价格的降低,人们追求的目标是通过多处理机的并行处理来提高整个系统的速度。为此,对机间互连网络的性能提出了更高要求。高带宽、低延迟、低开销的机间互连网络,是高效实现程序段或任务一级并行处理的前提条件。为了使并行处理的任务能在处理机之间随机地进行调度,就必须使各处理机具有同等的功能,从而成为同构型多处理机系统

四、并行计算机系统

1、多处理机的一般模型

多处理机的系统结构由若干台独立的计算机组成,每台计算机能够独立执行自己的程

序。Flynn称这种结构为MIMD(多指令流多数据流)结构。在多处理机系统中,处理机与处理机之间通过互连网络进行连接,从而实现程序之间的数据交换和同步。

上图给出了多处理机系统的一般模型。系统中有n个处理机(P1到Pn),它们通过一个处理机存储器互连网络(PMIN)连接到一个共享的主存储器上,这些处理机之间通过共享主存储器进行通信。处理机间还可以有一个处理机处理机互连网络(PPIN),PPIN通常用来从一台处理机向处理机发送中断信号,以达到进程同步的目的。此外,这些处理机还通过处理机-I/O互连网络(PIOIN)同各I/O设备连接。有时为了使系统简单,可以把全部I/O设备连接在一台I/O处理机或少数几台处理机上。

为了减少各处理机在访问主存储器时发生的冲突,把主存分为m个模块交叉工作,而且常使m大于n。此外,还可以为每台处理机配备私有的存储器(PM),在其中存放常用的操作系统和暂存受到阻塞或被中断了的进程,这样做还可以减少互连网络PMIN上的通信量。但一个处理机的PM存储器不能为其他处理机所直接访问,因而,如要把一个受到阻塞的进程转给其他处理机去执行时,要花相当大的时间开销。增加了处理机的私有存储器,尽管可以减少主存冲突和PMIN网络的通信量负担,但当整个系统中处理机数量比较多时,系统的吞吐量仍会因主存冲突和PMIN开关时间的限制受到很大影响。为此,可以在每个处理机同PMIN 间设置Cache(CM),以进一步减少访问主存的次数。但有了Cache以后,又要产生系统中多个Cache之间以及Cache同主存间的数据一致性问题,这个问题孙彭敏讲解。

在共享存储器的多处理机中,处理机和存储器间的互连网络中信息传送非常频繁。当互连的处理机数较多时,要求这个互连网络的频带很宽,所以频带宽度往往限制了处理机数目的增加,因而对多处理机系统,希望能设计成具有好的可缩放性。在一个具有可缩放性的多处理机系统中,当增加其处理机结点数目时,整个多处理机系统的处理能力随结点数线性地增长,以满足不同用户的需要。

2、多处理机分类

多处理机系统由多个独立的处理机组成,每个处理机都能够独立执行自己的程序。它有多种分类方法。

按多处理机各机器之间物理连接的紧密程度与交互作用能力的强弱来分,多处理机分为紧耦合系统和松耦合系统两大类。

按处理机的结构是否相同来分,如果每个处理机是同类型的,且完成同样的功能,我们称为同构型多处理机系统。如果多处理机是由多个不同类型,且担负不同功能的处理机组成,我们称为异构型多处理机系统。

按多处理机系统的组成结构来分,现有的MIMD计算机分为如下五种类型:并行向量处理机(PVP)、对称多处理机(SMP)、大规模并行处理机(MPP)、分布共享存储器多处理机(DSM)、工作站机群(COW),如图所示。

图 (a)是并行向量处理机,它是由少数几台巨型向量处理机采用共享存储器方式互连而成,第六章中提到的CRAY X-MP等属于这种类型。在这种类型中,处理机数目不可能很多。

图 (b)是对称多处理机,它由一组处理机和一组存储器模块经过互连网络连接而成。有多个处理机且是对称的,每台处理机的能力都完全相同。每次访问存储器时,数据在处理机和存储器模块间的传送都要经过互连网络。由于是紧耦合系统,不管访问的数据在哪一个存储器模块中,访问存储器所需的延迟时间都是一样的。

图 (c)是分布共享存储器多处理机。同(a)、(b)一样,也属于紧耦合系统。它的共享存储器分布在各台处理机中,每台处理机都带有自己的本地存储器,组成一个处理机存储器单元。但是这些分布在各台处理机中的实际存储器又合在一起统一编址,在逻辑上组成一个共享存储器。这些处理机存储器单元通过互连网络连接在一起,每台处理机除了能访问本地存储器外,还能通过互连网络直接访问在其他处理机存储器单元中的“远程存储器”。但是处理机在访问远程存储器时所需的延迟时间与访问本地存储器时所需的延迟时间是不一样的,访问本地存储器要快得多。

图 (d)是大规模并行处理机,属于松耦合多处理机系统。每个计算机模块称为一个结点。每个结点有一台处理机和它的局部存储器(LM)、结点接口(NIC),有的还有本身的I/O设备,这几部分通过结点内的总线连在一起。计算机模块又通过结点接口连接到互连网络上。由于VLSI技术的发展,整个结点上的计算机已可以做在一个芯片上。

在这种松耦合的多计算机系统中,各台计算机间传送数据的速度低,延迟时间长,且各结点间的距离是不相等的,因此把经常要在结点间传送数据的任务放在相邻的结点中执行。由于松耦合的多计算机系统的互连网络的成本低得多,故同紧耦合多处理机系统相比,其优点是可以组成计算机数目很多的大规模并行处理系统。也就是说,可以比较经济合理地用微处理机构成几百台乃至几千台的多计算机系统。

图 (e)是工作站机群。它与DSM不同,也与MPP不同。DSM和MPP是采用专门设计的网络把各台处理机互连在一起,而工作站机群则通常是采用商品化的互连网络。

在上述五种类型的MIMD计算机中,除PVP外,其余四种都已采用商品化的通用微处理机来构成并行处理系统。

相关主题
相关文档
最新文档