快好知 kuaihz订阅看过栏目

 

并行处理技术是40年来在微电子、印刷电路、高密度封装技术、高性能处理机、存储系统、外围设备、通信通道、语言开发、编译技术、操作系统、程序设计环境和应用问题等研究和工业发展的产物,并行计算机具有代表性的应用领域有:天气预报建模、VLSI电路的计算机辅助设计、大型数据库管理、人工智能、犯罪控制和国防战略研究等,而且它的应用范围还在不断地扩大。并行处理技术主要是以算法为核心,并行语言为描述,软硬件作为实现工具的相互联系而又相互制约的一种结构技术。

定义

并行性是指在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不相同的工作,只要在时间上互相重叠,都存在并行性。计算机系统中的并行性可从不同的层次上实现,从低到高大致可分为:

(1)指令内部的并行:是指指令执行中的各个微操作尽可能实现并行操作。

(2)指令间的并行:是指两条或多条指令的执行是并行进行的。

(3)任务处理的并行:是指将程序分解成可以并行处理的多个处理任务,而使两个或多个任务并行处理。

(4)作业处理的并行:是指并行处理两个或多个作业。如多道程序设计、分时系统等。另外,从数据处理上,也有从低到高的并行层次。

(5)字串位并:同时对一个二进制字的所有位进行操作。

(6)字并位串:同时对多个字的同一位进行操作。

(7)全并行:同时对许多字的所有位进行操作。

三种形式

时间并行

时间并行指时间重叠,在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。

时间并行性概念的实现方式就是采用流水处理部件。这是一种非常经济而实用的并行技术,能保证计算机系统具有较高的性能价格比。目前的高性能微型机几乎无一例外地使用了流水技术。

空间并行

空间并行指资源重复,在并行性概念中引入空间因素,以“数量取胜”为原则来大幅度提高计算机的处理速度。大规模和超大规模集成电路的迅速发展为空间并行技术带来了巨大生机,因而成为实现并行处理的一个主要途径。空间并行技术主要体现在多处理器系统和多计算机系统。但是在单处理器系统中也得到了广泛应用。?

时间并行+空间并行

指时间重叠和资源重复的综合应用,既采用时间并行性又采用空间并行性。显然,第三种并行技术带来的高速效益是最好的。

并行计算机

21世纪的计算机系统在不同层次上采取了并行措施,只有当并行性提高到一定层次时,具有了较高的并行处理能力,才能称为“并行处理系统”。一般有以下三种并行措施。

时间重叠

时间重叠是在并行性概念中引入时间因素,即多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部件,以加快硬件周转而赢得速度。这各并行措施表现在指令解释的重叠及流水线部件与流水线处理机。

资源重复

资源重复是在并行性概念中引入空间因素。这种措施提高计算机处理速度最直接,但由于受硬件价格昂贵的限制而不能广泛使用。目前,随着硬件价格的降低,已在多种计算机系统中使用,如多处理机系统、陈列式处理机等。

资源共享

资源共享也是在并行性概念中引入时间因素,它是通过软件的方法实现的。即多个用户按一定的时间顺序轮流使用同一套硬件设备;既可以是按一定的时间顺序共享CPU,也可以是CPU与外围设备在工作时间上的重叠。这种并行措施表现在多道程序和分时系统中,而分布式处理系统和计算机网络则是更高层次的资源共享。

从第一台电子计算机发明,电子计算机已经经历了五代。计算机发展到第四代时,出现了用共享存储器、分布存储器或向量硬件选件的不同结构的并行计算机,开发了用于并行处理的多处理操作系统专用语言和编译器,同时产生了用于并行处理或分布计算的软件工具和环境。到出现的计算机称为第五代计算机,它们的主要特点是进行大规模并行处理。并行处理技术是在微电子、印刷电路、高密度封装技术、高性能处理机、存储系统、外围设备、通信通道、语言开发、编译技术、操作系统、程序设计环境和应用问题等研究和工业发展的产物。

并行计算机具有代表性的应用领域有:天气预报建摸、VLSI电路的计算机辅助设计、大型数据库管理、人工智能、犯罪控制和国防战略研究等,而且它的应用范围还在不断地扩大。并行处理技术主要是以算法为核心,并行语言为描述,软硬件作为实现工具的相互联系而又相互制约的一种结构技术。本文就并行处理技术的算法策略、描述性定义及软硬件方面的实现做一个简单的介绍。

策略及定义

并行算法的基本策略

在并行处理技术中所使用的算法主要遵循三种策略:

1.分而治之法:也就是把多个任务分解到多个处理器或多个计算机中,然后再按照一定的拓扑结构来进行求解。

2.重新排序法:分别采用静态或动态的指令词度方式。

3.显式/隐式并行性结合:显式指的是并行语言通过编译形成并行程序,隐式指的是串行语言通过编译形成并行程序,显式/隐式并行性结合的关键就在于并行编译,而并行编译涉及到语句、程序段、进程以及各级程序的并行性。

并行性描述定义

利用计算机语言进行并行性描述的时候主要有三种方案:

1.语言扩展方案:也就是利用各种语言的库函数来进行并行性功能的扩展。

2.编译制导法:也称为智能编译,它是隐式并行策略的体现,主要是由并行编译系统进行程序表示、控制流的分析、相关分析、优化分析和并行化划分,由相关分析得到方法库管理方案,由优化分析得到知识库管理方案,由并行化划分得到程序重构,从而形成并行程序。

3.新的语言结构法:这是显式并行策略的体现。也就是建立一种全新的并行语言的体系,而这种并行语言通过编译就能直接形成并行程序。

并行软件

并行软件可分成并行系统软件和并行应用软件两大类,并行系统软件主要指并行编译系统和并行操作系统,并行应用软件主要指各种软件工具和应用软件包。在软件中所牵涉到的程序的并行性主要是指程序的相关性和网络互连两方面。

程序的相关性

程序的相关性主要分为数据相关、控制相关和资源相关三类。

数据相关:说明的是语句之间的有序关系,主要有流相关、反相关、输出相关、I/O相关和求知相关等,这种关系在程序运行前就可以通过分析程序确定下来。数据相关是一种偏序关系,程序中并不是每一对语句的成员都是相关联的。可以通过分析程序的数据相关,把程序中一些不存在相关性的指令并行地执行,以提高程序运行的速度。

控制相关:是语句执行次序在运行前不能确定的情况。它一般是由转移指令引起的,只有在程序执行到一定的语句时才能判断出语句的相关性。控制相关常使正在开发的并行性中止,为了开发更多的并行性,必须用编译技术克服控制相关。而资源相关则与系统进行的工作无关,而与并行事件利用整数部件、浮点部件、寄存器和存储区等共享资源时发生的冲突有关。软件的并行性主要是由程序的控制相关和数据相关性决定的。在并行性开发时往往把程序划分成许多的程序段——颗粒。颗粒的规模也称为粒度,它是衡量软件进程所含计算量的尺度,用细、中、粗来描述。划分的粒度越细,各子系统间的通信时延也越低,并行性就越高,但系统开销也越大。因此,在进行程序组合优化的时候应该选择适当的粒度,并且把通讯时延尽可能放在程序段中进行,还可以通过软硬件适配和编译优化的手段来提高程序的并行度。

网络互连

将计算机子系统互连在一起或构造多处理机或多计算机时可使用静态或动态拓扑结构的网络。静态网络由点一点直接相连而成,这种连接方式在程序执行过程中不会改变,常用来实现集中式系统的子系统之间或分布式系统的多个计算结点之间的固定连接。动态网络是用开关通道实现的,它可动态地改变结构,使之与用户程序中的通信要求匹配。动态网络包括总线、交叉开关和多级网络,常用于共享存储型多处理机中。在网络上的消息传递主要通过寻径来实现。常见的寻径方式有存储转发寻径和虫蚀寻径等。在存储转发网络中以长度固定的包作为信息流的基本单位,每个结点有一个包缓冲区,包从源结点经过一系列中间结点到达目的结点。存储转发网络的时延与源和目的之间的距离(段数)成正比。而在新型的计算机系统中采用虫蚀寻径,把包进一步分成一些固定长度的片,与结点相连的硬件寻径器中有片缓冲区。消息从源传送到目的结点要经过一系列寻径器。同一个包中所有的片以流水方式顺序传送,不同的包可交替地传送,但不同包的片不能交叉,以免被送到错误的目的地。虫蚀寻径的时延几乎与源和目的之间的距离无关。在寻径中产生的死锁问题可以由虚拟通道来解决。虚拟通道是两个结点间的逻辑链,它由源结点的片缓冲区、结点间的物理通道以及接收结点的片缓冲区组成。物理通道由所有的虚拟通道分时地共享。虚拟通道虽然可以避免死锁,但可能会使每个请求可用的有效通道频宽降低。因此,在确定虚拟通道数目时,需要对网络吞吐量和通信时延折衷考虑。

图像处理

并行处理技术是解决需要长时间处理,特别是全3D模拟难题极为高效的方案。若拥有多台工作站,则可将它们当做一个处理机群来操作,然而,Linux微机机群却拥有更高的性能/价格比。并行处理技术可适用于SunSolaris,SGIIrix和Linux运行环境,但不支持微机Windows环境。并行处理技术使全3D模拟工作的可适用性得到极大程度地扩展。以往需要数天才能完成的处理任务,仅需几小时即可完成。例如油气系统模拟以往仅能作为研究工作,而现在则可以作为油气勘探风险评价的常规流程之一。清楚地展示出近几年在没有硬件成本增加的前提下处理速度的重大突破!PetroMod并行处理(PP)许可证IESPetroMod的并行处理(PP)许可证可按处理器的个数购买,折扣量与所购买的可并行处理的数目有关。并行处理的购置费和维护费都很低,但它们可灵活地应用于不同的工作中,因为不管如何应用,许可证只管您可拥有的并行处理数:-并行处理技术主要用于加速对大的全3D数据模型的处理能力。典型的处理器数介于8-12之间,并行处理的加速因子通常与处理器数接近,即8个处理器的加速能力近于原来的8倍,因为并行处理技术能够充分利用机群中所有内存。-并行处理技术还可用于对2D模型进行处理。-并行处理技术对PetroRisk处理特别重要,因为每一个风险运算过程都对应一个处理器!这意味着多个风险运算过程可在并行机中同时运行,并且风险模拟可有机地融入全3D处理工作中。

发展概况

遵循不同的技术途径,采用不同的并行措施,在不同的层次上实现并行性的过程,反映了计算机体系结构向高性能发展的自然趋势。

在单处理机系统中,主要的技术措施是在功能部件上,即改进各功能部件,按照时间重叠、资源重复和资源共享形成不同类型的并行处理系统。在单处理机的并行发展中,时间重叠是最重要的。把一件工作分成若干相互联系的部分,把每一部分指定给专门的部件完成,然后按时间重叠措施把各部分执行过程在时间上重叠起来,使所有部件依次完成一组同样的工作。例如将执行指令的过程分为三个子过程:取指令、分析指令和执行指令,而这三个子过程是由三个专门的部件来完成,它们是取指令部件、分析指令部件和指令执行部件。它们的工作可按时间重叠,如在某一时刻第I条指令在执行部件中执行,第I+1条指令在分析部件中分析,第I+2条指令被取指令部件取出。三条指令被同时处理,从而提高了处理机的速度。另外,在单处理机中,也较为普遍地运用了资源重复,如多操作部件和多体存储器的成功应用。

多机系统是指一个系统中有多个处理机,它属于多指令流多数据流计算机系统。按多机之间连接的紧密程度,可分为紧耦合多机系统和松耦合多机系统两种。在多机系统中,按照功能专用化、多机互连和网络化三个方向发展并行处理技术。

功能专用化经松散耦合系统及外围处理机向高级语言处理机和数据库机发展。多机互连是通过互联网络紧密耦合在一起的、能使自身结构改变的可重构多处理机和高可靠性的容错多处理机。计算机网络是为了适应计算机应用社会化、普及化面发展起来的。它的进一步发展,将满足多任务并行处理的要求,多机系统向分布式处理系统发展是并行处理的一种发展趋势。

其他相关

国家重大基础研究项目课题以及国家高技术研究项目。中心的主要任务是为研究所的高性能计算提供相关的科学与技术支持,主要包括:

1.高性能并行计算机环境的建设与管理

2.高性能并行计算软件与理论研究

3.大规模科学计算可视化软件与理论研究

4.大规模数据管理软件与理论研究

5.计算机网络技术的开发与应用

6.虚拟现实技术研究

·上海超级计算中心成立与2000年底,是上海市信息化建设的一个重要基础设施。该中心以上海市的科研教育和工业发展为基础,为汽车碰撞模拟、船舶设计等提供高性能计算能力。目前拥有国内TOP100排名第一的超级计算机曙光4000A

·中国科学院的超级计算中心成立于1996年,为中国科学院的科学研究提供计算环境,是中国科学院信息化建设的重要基础设施之一。

投稿
非常不爽,删了吧! 相关词条:其他 印刷电路 封装技术 微操作 任务并行 多道程序设计 二进制 并行技术 印刷电路 封装技术 算法策略 排序法 编译系统 固定连接 缓冲区 网络吞吐量 工作站 并行性 多机系统 指令流 紧耦合