并行计算机体系结构2.docx

上传人:b****3 文档编号:3939585 上传时间:2022-11-26 格式:DOCX 页数:11 大小:90.47KB
下载 相关 举报
并行计算机体系结构2.docx_第1页
第1页 / 共11页
并行计算机体系结构2.docx_第2页
第2页 / 共11页
并行计算机体系结构2.docx_第3页
第3页 / 共11页
并行计算机体系结构2.docx_第4页
第4页 / 共11页
并行计算机体系结构2.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

并行计算机体系结构2.docx

《并行计算机体系结构2.docx》由会员分享,可在线阅读,更多相关《并行计算机体系结构2.docx(11页珍藏版)》请在冰豆网上搜索。

并行计算机体系结构2.docx

并行计算机体系结构2

并行计算机体系结构

学院:

计算机学院

班级:

计科1301班

姓名:

学号:

并行计算机体系结构

1.1并行计算机定义

并行计算机就是由多个处理单元(以下也称为处理器,或简称为CPU)组成的计算机系统,这些处理单元相互通信和协作能快速、高效的求解大型复杂问题。

1.2并行机的由来

并行计算机是相对串行计算机而言的,所谓串行计算机就是只有单个处理单元顺序执行计算程序的计算机,所以也称为顺序计算机。

顺序计算机最早是从位串行操作到字并行操作、从定点运算到浮点运算改进过来的;然后它按照图1.1所示的过程逐步演变出各种并行计算机系统:

从顺序标量处理(ScalarProcessing)计算机开始,首先用先行(Look-ahead)技术预取指令,达到重叠操作实现功能并行;支持功能并行可使用多功能部件和流水线两种方法;而流水线技术对处理向量数据元素的重复相同的操作表现出强大的威力,从而产生了向量流水线(Vector-pipelining)计算机(包括存储器到存储器和寄存器到寄存器两种结构);不同于时间上并行的流水线计算机,另一分支的并行机是空间上并行的SIMD(单指令流多数据流)并行机,它用同一控制器同步地控制所有处理器阵列执行相同操作来开发空间上的并行性;如果用不同的控制器异步地控制相应的处理单元执行各自的操作,则就派生出另一类非常主要的MIMD(多指令流多数据流)并行机;其中,如果各处理单元通过公用存储器中的共享变量实现相互通信,则就称为多处理机(Multiprossors);如果处理单元之间使用消息传递的方式来实现相互通信,则就称为多计算机(Multicomputers),它也是当今最流行的并行计算机。

1.3当代并行机系统

自20世纪70年代初到现在,并行计算机的发展已有20多年的历史.在此期间,出现了各种不同类型的并行机,包括历史上曾经风行一时的并行向量机PVP(ParallelVectorProcessor)和SIMD计算机,但它们现在均已衰落了下来,而MIMD类型的并行机却占了主导地位。

当代的主流并行机是可扩放的并行计算机(Scalable-ParallelComputer),包括共享存储的对称多处理机SMP(SymmetricMultiprocessor),分布存储的大规模并行机MPP(MassivelyParallelProcessor),分布式共享存储DSM(DistributedSharedMemory)多处理机和工作站机群COW(ClusterofWorkstations)以及刚刚兴起的跨地域性的、用高速网络将异构性计算节点连接起来满足用户分布式计算要求的所谓网格计算环境GCE(GridComputationalEnvironment)。

1.4并行计算机发展背景

90年代,并行计算机已成为计算机技术中的关键部分,预计下20年它对计算机的发展冲击会更大。

并行计算机虽然有着漫长的历史,但其突飞猛进的发展却是得益于高度集成的微处理器芯片和快速大容量存储器芯片。

历史上看,从60年代中期开始,小型计算机(Minicomputer)和大型计算机(Mainframe)便迅速发展起来;从70年代初期起,超级计算机(Supercomputer)则得以蓬勃发展;但到了80年代中期,微处理器的性能(速度)每年改进50%,而大型计算机和超级计算机的性能,每年只改进25%。

高度集成的、单片CMOS微处理器的性能稳定地压倒了那些较大的和较昂贵的其它处理器芯片,这样使用小型的、便宜的、低功耗的和批量生产的处理器作为基本模块来构筑计算机系统就变得非常直观的事了。

到了90年代后期,单片微处理器占据着计算的各个方面,而并行计算也撑管了主流计算的很多领域。

在微处理器出现之前,为了获得高性能,人们主要是通过特殊的电路工艺和机器组织,而现今大家普遍意识到使用多个处理器构成并行机和编写并行程序才是更为有效的途径。

1.5高性能计算机软硬件技术进展

1.5.1硬件进展

硬件方面的进展包括(微)处理器芯、存储器芯片、磁盘和磁带\等。

(1)处理器:

以 Intel80x86微处理器系列为例,参照图1.4,在过去的17年(1978-1995),

图1Intel微处理器性能进展

片上的晶体管数增加几乎200倍,时钟频率增加近31倍,而峰值速度达900倍;相应地平均年增长率依次为36%,22%和49%。

上述这种性能改进的现象,其实早就由Intel公司的共同创始人Moore于1979年所观察到。

现在已成为普遍认可的Moore定律了,它有3种表述方法:

①微片上晶体管的数目大约每18~24个月番一番(假定芯片的价格保持不变);②微处理器的速度大约每18~24个月番一番(假定处理器的价格保持不变);③微片的价格大约每18~24个月下跌48%(假定处理器速度或片上存储容量相同)。

按照上述的工艺技术改进的趋势,估计在2000年前夕,单片上可集成100万个晶体管,这样就有可能在单片上制造包括内存和I/O支持的较强功能的计算机系统,即片上计算机系统(ComputerSystemonChip);或者在单片上放置多个处理器,即单片并行结构(ParallelArchitectureintoSingleChip)。

(2)存储系统:

存储器也是机器硬件的主要组成部分,不幸的是,存储器工艺的进展远跟不上处理器工艺进展的步伐。

例如,以IBMPC系列为例,如图1.5所示,PentiumProPC的速度比PC/XT的速度改善多于900倍,而主存容量才增加64倍、硬盘容量增加85倍,

图2IBMPC性能进展

但是存储器访问仅改进不到10倍。

处理器和存储器性能改进的悬殊差异,迫使在近代并行机中使用多级存储器组织,而且多级高速缓存总是提供的。

由于存储器系由半导体芯片组成,而辅存(外存)是由磁盘、磁带组成且总涉及到机械运动,所以辅存速度远远慢于主存,因而常成为系统的瓶颈。

现今主存的访问速度和带宽比磁盘高2~3个数量级、比磁带高3~7个数量级,而且RAM速度的改进速率快于磁盘和磁带。

1.5.2软件进展

比起串行软件来,并行软件的发展是非常缓慢的,这是因为并行软件一是复杂,二是有赖于并行机结构,三是缺乏公共标准和提供给用户的满意的软件工具环境。

随着当代并行计算机朝着DSM、MPP和机群方向发展,使得并行软件的危机更加尖锐。

然而,多年来人们通过实践也逐步地对并行软件有了较深刻的认识和取得了一些进展:

①现在人们已经比较清楚地知道了并行软件的要求和关键问题是什么,而且也开始出现了一些有效地解决方案;②对开发可移植和可扩展的与体系结构无关的软件已经达到了共识,甚至牺牲某些性能也应维持与结构无关的基本原理;③应该开发那些公共使用的、开放式的、标准的工具,如用于多线程的OpenMP、数据并行的HPF和消息传递的PVM、MPI等;④对于绝大多数应用,一个普遍的方法是使用串行Fortran或C,再加上某些用于进程通信、管理和相互作用的库函数或编译制导(CompilerDirectives);⑤系统和应用软件商都正在开发各自产品的并行软件版本,如所有主要的数据库销售商(IBM、Oracle、Sybase、Informix等)都正提供并行数据库。

1.6处理器结构发展趋势

1.6.1处理器级并行度的开发

图1.7不但反映了过去25年处理器芯片上晶体管数的增长基本服从Moore定律,同时

也反映了第四代计算机(即VLSI)所使用的处理器芯片其并行度增加的情况。

(1)位级并行(1970-1986):

直到大约1986年之前,处理器芯片上位并行占主导地位,在此期间,4位微处理器芯片不断由8位和16位微处理器芯片所代替。

到80年代中期32位的微处理器已出现,但此后趋势变慢,10年之后才出现部分采用64位操作的芯片。

进一步增加字长主要为了改进浮点表示和增大地址空间,但地址长度每年增加不到一位,将来使用128位似乎就够了。

图3处理器芯片上的晶体管数及其并行度级别

(2)指令级并行(80年代中期-90年代中期):

并发地执行好几条机器指令的部分叫做指令级并行。

全字长操作意味着指令执行的基本步(指令译码、整数运算、地址计算)可在单周期内完成。

RISC方法展示了平均几乎每个周期可执行一条指令。

RISC微处理器性能的进展,开拓了指令级并行度。

流水线指令很适合于现代的工艺,编译技术的进展使得指令流水线更为有效。

超标量(Superscalar)方法是使每个时钟周期内启动多条指令,并能由多条流水线在单周期内产生多个运算结果,它主要是用来开拓指令级并行的。

为了满足增多的指令和数据带宽要求,越来越多的高速缓存均置于处理器芯片上。

将微处理器和高速缓存放在同一芯片上,其间通路可作得非常宽,以满足增多的指令和数据带宽要求。

但是每个周期内发送更多的指令,高速缓存的缺失会更加严重,为此提出了很多避免高速缓存缺失所造成的流水线延迟以及指令动态调度的方法。

(3)线程级并行(2000年以后):

单控制线程内的指令级并行度是有限的,研究表明[3],如图1.8所示,每个周期发射2-4条指令能得到较好的加速,再多则效果不明显,即使具有无

图4理想标量执行时多射指令的加速

限的机器资源和完美的分枝预测以及理想的重命名(Renaming),在90%的周期内所发射的指令不会多于4条。

最近的研究的经验证据是,为了获得可观的并行度,必须同时施行多控制线程[4]。

所谓线程(Thread)就是控制流线(ThreadofControl)的简称,系指被执行的一个指令序列;而多线程(Multithread)就是一台处理机有多个控制线程,能同时执行多条指令序列。

多线程控制为大型多处理机隐藏掉较长的时延提供了一种有效机制。

1.7的并行计算机的分类

所谓并行,就是指有多个事件或过程在同一时间段或同一时刻内并发发生。

并行算法的意义非常广泛,本节将围绕本论文所涉及的范围,重点讨论分布式并行算法。

1963年2月,美国WestingHouse宇航实验室的工程师们利用9个CPU部件组成了世界上第一台并行计算机。

经过短短的二十几年的发展,并行机在计算效率和制造成本上都发生了巨大的变化,形式也多种多样。

但是许多年以来人们一直使用了Flynn分类法来为高性能计算机进行分类。

这种分类方法的基础是根据高性能计算机中指令流和数据流的处理方式的不同进行分类(单个或多个指令流/数据流)。

一般来说高性能计算机可以分成如下四类:

单指令流单数据流系统(SISD,SingleInstructionStream&SingleDataStream),它是包含一个中央处理器的常用系统,如Workstation和单个计算服务器,它并不是一个并行系统。

图5SISD模型

单指令流多数据流系统(SIMD,SingleInstructionStream&MultipleDataStream).它是多个简单的处理元件在相应的步骤里对不同的数据执行相同的指令,如ThingkingMachines的ConnectionMachineCM-2和MasPar等,这类结构目前已经很少见,向量处理机通常被认为是这一系统,如CrayY-MPC90、J916和T90系列、ConvexC系列、FujitsuVP系列、NECSX、ConnectionMachineCM-2、MasparMP-1,MP-2系列。

图6SIMD模型

多指令流单数据流系统(MISD,MultipleInstructionStream&SingleDataStream).这类结构的大规模并行计算机国内外尚没有见到。

MISD是一种不太实际的计算机,但也有的学者把超标量机和脉动(Systolic)阵列机归属于此类。

多指令流多数据流系统(MIMD,MultipleInstructionStream&MultipleDataStream)。

在多指令流单数据流系统中,各个处理器对各自的数据独立地执行不同的指令流,处理器之间有效地配合,当不同的处理器一起同时执行同一个作业时,就发生了并行的处理。

如CrayC90、Cray2、NECSX-3、FujitsuVP2000、ConvexC-2、IntelParagon、CM5、KSR-1、IBMSP1、IBMSP2和Dawning2000等。

图7MIMD模型

1.8当代并行计算机体系结构

1.8.1并行计算机结构模型

已如上述,大型并行机系统结构一般可分为6类:

单指令多数据流机SIMD(Single-InstructionMultiple-Data);

并行向量处理机PVP(ParallelVectorProcessor);

对称多处理机SMP(SymmetricMultiprocessor);

大规模并行处理机MPP(MassivelyParallelProcessor);

工作站机群COW(ClusterofWorkstation)

分布式共享存储DSM(DistributedSharedMemory)多处理机。

SIMD计算机多为专用,其余的5种均属于多指令多数据流MIMD(Multiple-InstructionMultiple-Data)计算机。

5种MIMD并行机的结构模型示于图1.15。

其中B(Bridge)是存储总线和I/O总线间的接口,DIR(CacheDirectory)是高速缓存目录,IOB(I/OBus)是I/O总线,LD(LocalDisk)是本地磁盘,MB(MemoryBus)是存储器总线,NIC(NetworkInterfaceCircuitry)是网络接口电路,P/C(MicroprocessorandCache)是微处理器和高速缓存,SM(SharedMemory)是共享存储器。

目前绝大多数近代并行机均用商品硬件构成,而PVP计算机的部件很多都是定制(Custom-Made)的。

图85种并行机结构模型

并行向量处理机(PVP)

典型的并行向量处理机的结构示于图1.15(a)。

CrayC-90、CrayT-90、NECSX-4和我国的银河1号等都是PVP。

这样的系统中包含了少量的高性能专门设计定制的向量处理器VP,每个至少具有1Gflops的处理能力。

系统中使用了专门设计的高带宽的交叉开关网络将VP连向共享存储模块,存储器可以每秒兆字节的速度向处理器提供数据。

这样的机器通常不使用高速缓存,而是使用大量的向量寄存器和指令缓冲器。

对称多处理机(SMP)

对称多处理机的结构示于图1.15(b)。

IBMR50、SGIPowerChallenge、DECAlpha服务器8400和我国曙光1号等都是这种类型的机器;

SMP系统使用商品微处理器(具有片上或外置高速缓存),它们经由高速总线(或交叉开关)连向共享存储器;

这种机器主要应用于商务,例如数据库、在线事务处理系统和数据仓库等;

重要的是系统是对称的,每个处理器可等同的访问共享存储器、I/O设备和操作系统服务;

正是对称,才能开拓较高的并行度;

也正是共享存储,也限制了系统中的处理器不能太多(一般少于64个);

同时总线和交叉开关互连一旦作成也难于扩展。

大规模并行处理机(MPP)

大规模并行处理机的结构示于图1.15(c)。

IntelParagon、IBMSP2、IntelTFLOPS和我国的曙光-1000等都是这种类型的机器;

MPP一般是指超大型(VeryLarge-Scale)计算机系统,它具有如下特性:

①处理节点采用商品微处理器;

②系统中有物理上的分布存储器;

③采用高通信带宽和低延迟的互连网络(专门设计和定制的);

④能扩放至成百上千个处理器;

⑤它是一种异步的MIMD机器,程序系由多个进程组成,每个都有其私有地址空间,进程间采用传递消息相互作用。

MPP的主要应用是科学计算、工程模拟和信号处理等以计算为主的领域。

分布共享存储多处理机(DSM)

分布式共享存储多处理机的结构示于图1.15(d)。

StanfordDASH、CrayT3D和SGI/GrayOrigin2000等属于此类结构。

高速缓存目录DIR用以支持分布高速缓存的一致性;

DSM和SMP的主要差别是,DSM在物理上有分布在各节点中的局存从而形成了一个共享的存储器;

对用户而言,系统硬件和软件提供了一个单地址的编程空间;

DSM相对于MPP的优越性是编程较容易。

工作站机群(COW)

工作站机群结构示于图1.15(e)。

BerkeleyNOW、AlphaFarm、DigitalTrucluster等都是COW结构。

在有些情况下,机群往往是低成本的变形的MPP,COW的重要界线和特征是:

①COW的每个节点都是一个完整的工作站(不包括监视器,键盘,鼠标等),这样的节点有时叫作“无源工作站”,一个节点也可以是一台PC或SMP;

②各节点通过一种低成本的商品网络(如以太网、FDDI和ATM开关等)互连(有的商用机群也使用定做的网络);

③各节点内总是有本地磁盘,而MPP节点内却没有;

④节点内的网络接口是松耦合到I/O总线上的,而MPP内的网络接口是连到处理节点的存储总线上的,因而可谓是紧耦合式的;

⑤一个完整的操作系统驻留在每个节点中,而MPP中通常只是个微核,COW的操作系统是工作站UNIX,加上一个附加的软件层以支持单一系统映像、并行度、通信和负载平衡等。

现今,MPP和COW之间的界线越来越模糊。

例如,IBMSP2它虽视为MPP,但它却有一个机群结构。

机群相对于MPP有性能/价格比高的优势,所以在发展可扩放并行计算机方面呼声很高。

表1汇总了上述5种结构的特性比较。

属性

PVP

SMP

MPP

DSM

COW

结构类型

MIMD

MIMD

MIMD

MIMD

MIMD

处理器类型

专用定制

商用

商用

商用

商用

互连网络

定制交叉开关

总线、交叉开关

定制网络

定制网络

商用网络(以太ATM)

通信机制

共享变量

共享变量

消息传递

共享变量

消息传递

地址空间

单地址空间

单地址空间

多地址空间

单地址空间

多地址空间

系统存储器

集中共享

集中共享

分布非共享

分布共享

分布非共享

访存模型

UMA

UMA

NORMA

NUMA

NORMA

代表机器

CrayC-90,

CrayT-90,

银河1号

IBMR50,SGIPowerChallenge,

曙光1号

IntelParagon,IBMSP2,曙光1000/2000

StanfordDASH,CrayT3D

BerkeleyNOW,AlphaFarm

表15种结构特性一览表

1.9当今并行机体系结构研究的几个主要问题

1.9.1多节点系统

多节点系统就是将一些小规模的SMP作为单节点,通过互连网络扩展成一个大规模的多处理机系统。

SMP节点的所有局存构成了共享主存,这样就可保持SMP易编程的优点,同时可以像MPP那样方便的加入更多的节点而改善了系统的可扩放性。

所要研究的主要问题包括:

①基于消息传递的系统,通信所花的时间是最令人关注的问题。

通信时间大体上由通信带宽、通信开销及阻塞造成的延迟这三部分组成。

相关的工作有:

光互连技术、用户级通信、硬件支持通信的可靠性和消息接收次序、自适应路由、优化应用的通信结构等。

②共享存储系统的主要好处是易于编程、通用性强,且可实现与SMP应用的无缝衔接。

需要研究的主要问题是存储一致性模型与实现效率间的关系。

虽然松(弱)一致性模型允许多种优化,但它们对系统软件设计或应用程序设计都提出了新的要求。

另外,如何避免、隐藏或容忍远程访问的开销也很关键。

在含128结点的Origin2000中,访存延迟可达185个时钟周期,而在未来系统中可能更多(数百万个周期?

)。

缓存、预取、预送、多线程等都是探索中的方法。

③在分布式共享存储系统中,可以包含CC-NUMA和COMA。

CC-NUMA的主要问题在于,它将数据静态地分配在宿主节点上,通过远程访问高速缓存存取非本地的数据分配不当就会造成大量的数据传输。

当然这也给编译器提供了数据分布的机会。

在COMA中没有物理地址的概念,数据可动态迁移,故经过一段时间“预热”后,数据将被“吸引”到处理节点附近。

COMA的主要问题是本地访问不命中时如何快速找到所需的数据(全系统的查找需大量的时间)。

目前已提出了一些解决方案,如ProbOwner目录,ApproximateCopyset等,但它们在大规模系统中的有效性仍需进一步研究。

1.9.2节点内的并行性

(1)超长指令字(VLIW):

它是典型的保守结构,芯片面积主要用于功能部件和高速缓存,完全依赖编译程序开发指令级并行性。

研究得较多的优化技术有分支预测、循环展开、软件流水、踪迹调度等等。

为了克服超长指令字结构换代时指令系统不兼容的问题,Intel/HP提出了显式并行指令结构(EPIC):

一个128位的“group”中包含3条指令,有专门设置的域指示指令间的依赖关系,且可以连接多个“group”以表达更多的并行性。

(2)多线程结构:

其特点是由硬件提供快速的上下文切换机制,以引入更多的指令和线程级并行性,并容忍远程访问延迟和数据依赖带来的负面影响。

多个上下文之间的切换机制有两种形式:

一是发生事件时切换(有点象进程的切换);二是每个时钟周期都切换(每次取不同线程的指令由于没有数据依赖关系,可在同一流水线中无阻塞地执行)。

多线程同时工作对高速缓存干扰很大。

多线程结构的研究尚停留在模拟阶段。

(3)超标量结构:

在以动态调度、猜测执行为主要特征的超标量结构中,可能的做法是由硬件动态地分析指令流,以同时执行不相关的多条指令。

在彻底的动态超标量结构中,处于分析区间(Window)内的指令以数据流的方式执行,从而可弥补编译器在静态分析和调度方面的不足,而且即使芯片换代后目标码不重新编译也能获得较好的性能。

为了真正达到高性能,需要发掘指令级并行性的新来源。

如用精确的动态分支预测消除分支损耗、设置大量换名寄存器消除虚假的数据依赖、不等分支完成就开始执行目标指令(猜测执行)、同时执行分支的多个目标(多标量)等。

1.9.3并行机中的存储问题

指令级并行性开发带来的主要问题是:

存储器的供数率跟不上。

由于时钟频率增长的

速度大于访存时间缩短的速度,同时执行多条指令要求供数率进一步提高,多线程或芯片内的多处理器要求同时访问多组数据等因素,CPU消耗数据的速率将远大于存储器的供数率。

提高供数率的已知的解决方案是存储器层次结构,但片内高速缓存的供数率能否满足指令级并行的要求?

片内高速缓存的命中率能否足够高?

是否需为多个线程或处理器提供各自的高速缓存?

如何通过程序或算法的改进增强访存局部性?

这些问题都是有待新的回答。

为了解决存储问题,正在探索处理器-存储器的新结构。

一种方案是进一步深化现有的存储器层次结构,如包含超导存储、CMOS、光存储等多种技术,但要求程序具有更强的局部性(Locality)。

另外的方案则是研究将处理逻辑与存储元件相结合的结构,如PIM(ProcessorinMemory)、智能RAM等。

但这里除了实现工艺上的问题外,还需要研究编程模型和优化策略的问题。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1