并行处理技术的发展

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
并行处理机的控制部件中进行的是单指令流,因此与高性能单处理机一样, 指令基本上是串行执行,最多加上使用指令重叠或流水线的方式工作。
指令重叠是将指令分成两类,把只适合串行处理的控制和标量类指令留给控 制部件自己执行,而把适合于并行处理的向量类指令播送到所有处理单元,控制 让处于活跃的那些处理单元去并行执行。因此这是一种标量控制类指令和向量类 指令的重叠执行。
功能专用化
6.3 SIMD并行计算机(阵列处理机)
一、并行处理机的基本构成 并行处理机是通过重复设置大量相同的处理单元PE(Processing Element), 将它们按一定的方式互连,在统一的控制部件CU(Control Unit)控制下,对各自 分配来的不同数据并行地完成同一条指令所规定的操作。它依靠操作一级的并行处 理来提高系统的速度。
➢资源共享(Resource Sharing):利用软件的方法让多个用户按一定时间顺序轮 流地使用同一套资源,以提高其利用率,这样相应地提高整个系统的性能。例如多 道程序分时系统.
(多机系统) 功能专用化,机间互连,网络化技术途径发展成 异构型多处理机,同构型多处理机,分布式处理机系统
资源共享
多道程序 分时系统 虚拟存储器 多终端 远程终端
6.1 概述
一 并行性概念 并行处理是一种有效的强调开发计算过程中并行事件的信息处理方式. 在数值计算,数据处理,知识处理或人工智能求解过程中,可能存在某些能同时进 行运算或操作的部分。
同时性(simultaneity):指两个或多个事件在同一时 刻发生在多个资源中。 并发性(concurrency):指两个或多个事件在同一时 间间隔内发生在多个资源中
(2)循环级:相当于迭代循环操作,典型循环包含的指令大约几百条,循环级并 行性是并行机或向量计算机上运行的最优程序结构,并行处理主要由编译器在循环 级中进行开发。
(3)子任务级:属于中粒度。子程序是在单处理机或多处理机的多道程序设计这 一级进行的。这一级并行性由算法设计者或程序员开发而非用编译器开发。
2. 从系统结构发展看: 高性能的单处理机,SIMD并行处理机,多处理机,多计算机系统
非冯.诺依曼计算机(属于多处理机系统)
3. 程序划分和粒度
并行性的开发还可以按程序大小划分不同粒度的开发方式。我们先来介绍两个 概念: 颗粒规模(grain size)或粒度(granularity)----ቤተ መጻሕፍቲ ባይዱ是衡量软件进程所含计算量 的尺度。测量方法是数一下颗粒(程序段)中的指令数目。一般用细、中、粗来描 述, 时延-(TC )是机器各子系统间通信开销的时间量度。如:存贮时延是处理机访问 存贮器所需时间;同步时延是两台处理机互相同步所需的时间。
分布处理系统
局域计算机网
通信处理机计算 机网
网络化
单处理机
资源重复
多存储体 多操作部件
相联处理机 并行处理机
同构型多处理机 系统
可重构,容错多处 理机
紧密耦合 系统 多机互连
多计算机 系统
并行处理技术发展
时间重叠
现行控制高速缓 存
指令操作宏流水 线
异构型多处理机 系统
高级语言数据库 处理机
松散耦合系统、专用 外围处理机
在同一时刻或同一时间间隔内完成多个性质相同 或不同的任务
二. 并行的等级和分类
1.从计算机信息加工步骤和阶段看,并行性等级可分为: 存贮器操作并行----并行存贮器系统和以相联存贮器为核心构成的相联处理机。 处理器操作步骤并行----可以是一条指令的取指、分析、执行等操作步骤,也可 以是具体运算。 处理器操作并行----为支持向量、数组运算,可以通过重复设置处理单元进行, 如并行处理机 指令、任务、作业并行----称为较高级并行,属于多指令流多数据流计算机。
✓ 任务或作业步骤(过程级)中粒度并行性开发需要程序员和编译器的共同作 用。
✓ 开发程序作业级的粗粒度并行性主要取决于高效的操作系统和所用算法的效 率。
✓ 共享变量通信常用于支持中、细粒度计算。消息传递型多计算机用于中粒度 和粗粒度的计算。通常情况下,粒度越细,并行性潜力越大,通信和调度的开 销也越大。细粒度能提供较高的并行度,但与粗粒度计算相比,其通信开销也 较大。大规模并行性通常是在细粒度级上开发。如:SIMD或MIMD计算机上开 发的数据并行性。
(4)任务级:这是与任务、过程、程序段、协同程序级相对应的中粒度或粗粒度 规模。典型粒度包含的指令几千条,检测本级的并行性比细粒度级困难得多,需要 更多地涉及过程间的相关性分析。需编译器支持。
(5)作业(程序)级:对于少量几台高性能处理机构成的超级计算机开发这种粗 粒度并行性切实可行。
小结:
✓ 细粒度并行性常在指令级或循环级上借助于并行化或向量化编译器来进行 开发的。
6.2
并行处理技术及发展
提高计算机系统的并行性的技术途径:(单机系统) ➢时间重叠(Time Interleaving):在并行性概念中引入时间因素。让多个处理过 程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周 转而赢得速度。
➢资源重复(Resource Replication):并行性概念中引入空间因素。通过重复设置 的硬件资源来提高系统可靠性或性能。例如,通过使用两台或多台完全相同的计算 机完成同样的任务来提高可靠性。
调度开销
级3
子任务级(例行程 序,或子程序)
粗粒度
中粒度
并行程度
级2
循环或递归循环
级1
指令或语句
现代计算机程序运行并行性级别
细粒度
五种程序执行级别体现了不 同的算法粒度规模以及通信和控 制要求的变化。级别越低,软件 进程的粒度越细。一般情况,程 序可在这些级别的组合状态下运 行。
(1)指令级:并行性发生在指令内部微操作之间或指令之间。取决于程序的具体 情况。可借助于优化编译器开发细粒度并行性,它能自动检测并行性并将源代码换 成运行时系统能识别的并行形式。
并行性粒度:每次并行处理的规模大小。用字母G表示 G=TW/TC
TW:所有处理器进行计算的时间总和; TC:所有处理器进行通信的时间总和。(设系统共有P个处理器) 当TC较大时,通信量大,则G 较小处理粒度较细。反之对于粗粒度的并行,通信 量较小。
级5
作业级(程序)
任务级(过程或程 级4 序段)
通信需求与
相关文档
最新文档