(1)指令级:并行性发生在指令内部微操作之间或指令之间。 取决于程序的具体情况。可借助于优化编译器开发细粒度并行 性,它能自动检测并行性并将源代码换成运行时系统能识别的 并行形式。 (2)循环级:相当于迭代循环操作,典型循环包含的指令大 约几百条,循环级并行性是并行机或向量计算机上运行的最优 程序结构,并行处理主要由编译器在循环级中进行开发。 (3)子任务级:属于中粒度。子程序是在单处理机或多处理 机的多道程序设计这一级进行的。这一级并行性由算法设计者 或程序员开发而非用编译器开发。 (4)任务级:这是与任务、过程、程序段、协同程序级相对 应的中粒度或粗粒度规模。典型粒度包含的指令几千条,检测 本级的并行性比细粒度级困难得多,需要更多地涉及过程间的 相关性分析。需编译器支持。 (5)作业(程序)级:对于少量几台高性能处理机构成的超 级计算机开发这种粗粒度并行性切实可行
(1)指令级:并行性发生在指令内部微操作之间或指令之间。 取决于程序的具体情况。可借助于优化编译器开发细粒度并行 性,它能自动检测并行性并将源代码换成运行时系统能识别的 并行形式。 (2)循环级:相当于迭代循环操作,典型循环包含的指令大 约几百条,循环级并行性是并行机或向量计算机上运行的最优 程序结构,并行处理主要由编译器在循环级中进行开发。 (3)子任务级:属于中粒度。子程序是在单处理机或多处理 机的多道程序设计这一级进行的。这一级并行性由算法设计者 或程序员开发而非用编译器开发。 (4)任务级:这是与任务、过程、程序段、协同程序级相对 应的中粒度或粗粒度规模。典型粒度包含的指令几千条,检测 本级的并行性比细粒度级困难得多,需要更多地涉及过程间的 相关性分析。需编译器支持。 (5)作业(程序)级:对于少量几台高性能处理机构成的超 级计算机开发这种粗粒度并行性切实可行
小结: 细粒度并行性常在指令级或循环级上借助于并行化或向 量化编译器来进行开发的。 任务或作业步骤(过程级)中粒度并行性开发需要程序 员和编译器的共同作用。 开发程序作业级的粗粒度并行性主要取决于高效的操作 系统和所用算法的效率 共享变量通信常用于支持中、细粒度计算。消息传递型 多计算机用于中粒度和粗粒度的计算。通常情况下,粒度越 细,并行性潜力越大,通信和调度的开销也越大。细粒度能 提供较高的并行度,但与粗粒度计算相比,其通信开销也较 大。大规模并行性通常是在细粒度级上开发。如:SIMD或 MIMD计算机上开发的数据并行性
小结: ✓ 细粒度并行性常在指令级或循环级上借助于并行化或向 量化编译器来进行开发的。 ✓ 任务或作业步骤(过程级)中粒度并行性开发需要程序 员和编译器的共同作用。 ✓ 开发程序作业级的粗粒度并行性主要取决于高效的操作 系统和所用算法的效率。 ✓ 共享变量通信常用于支持中、细粒度计算。消息传递型 多计算机用于中粒度和粗粒度的计算。通常情况下,粒度越 细,并行性潜力越大,通信和调度的开销也越大。细粒度能 提供较高的并行度,但与粗粒度计算相比,其通信开销也较 大。大规模并行性通常是在细粒度级上开发。如:SIMD或 MIMD计算机上开发的数据并行性
6.2并行处理技术及发展 提高计算机系统的并行性的技术途径:(单机系统) 时间重叠( Time Interleaving):在并行性概念中引入时间 因素。让多个处理过程在时间上相互错开,轮流重叠地使用同 套硬件设备的各个部分,以加快硬件周转而赢得速度。 资源重复( Resource Replication):并行性概念中引入空 间因素。通过重复设置的硬件资源来提高系统可靠性或性能。 例如,通过使用两台或多台完全相同的计算机完成同样的任务 来提高可靠性。 >资源共享( Resource Sharing):利用软件的方法让多个用 户按一定时间顺序轮流地使用同一套资源,以提高其利用率, 这样相应地提高整个系统的性能。例如多道程序分时系统 (多机系统) 功能专用化机间互连,网络化技术途径发展成 异构型多处理机,同构型多处理机,分布式处理机系统
提高计算机系统的并行性的技术途径:(单机系统) ➢时间重叠(Time Interleaving):在并行性概念中引入时间 因素。让多个处理过程在时间上相互错开,轮流重叠地使用同 一套硬件设备的各个部分,以加快硬件周转而赢得速度。 ➢资源重复(Resource Replication):并行性概念中引入空 间因素。通过重复设置的硬件资源来提高系统可靠性或性能。 例如,通过使用两台或多台完全相同的计算机完成同样的任务 来提高可靠性。 ➢资源共享(Resource Sharing):利用软件的方法让多个用 户按一定时间顺序轮流地使用同一套资源,以提高其利用率, 这样相应地提高整个系统的性能。例如多道程序分时系统. 6.2 并行处理技术及发展 (多机系统) 功能专用化,机间互连,网络化技术途径发展成 异构型多处理机,同构型多处理机,分布式处理机系统
单处理机 资源共享 时间重叠 资源重复 多道程序 多存储体 现行控制高速缓 分时系统 虚拟存储器 作部 多终端 相联处理机 指令操作宏流水 远程终端 分布处理系统 同构型多处理机 异构型多处理机 局域计算机网 可重构,容错多处 高级语言数据库 理机 通信处理机计算 紧密耦合 松散耦合系统、专用 L外围处理机 多机互连 网络化 功能专用化 多计算机 系统 并行处理技术发展
多道程序 分时系统 虚拟存储器 多终端 远程终端 分布处理系统 局域计算机网 通信处理机计算 机网 多存储体 多操作部件 相联处理机 并行处理机 同构型多处理机 系统 可重构,容错多处 理机 紧密耦合 系统 现行控制高速缓 存 指令操作宏流水 线 异构型多处理机 系统 高级语言数据库 处理机 松散耦合系统、专用 外围处理机 多计算机 系统 单处理机 资源共享 资源重复 时间重叠 多机互连 功能专用化 网络化 并行处理技术发展
6.3SM并行计算机(阵列处理机) 、并行处理机的基本构成 并行处理机是通过重复设置大量相同的处理单元PE( Processing Element),将它们按一定的方式互连,在统一的 控制部件CU( Control unit)控制下,对各自分配来的不同数 据并行地完成同一条指令所规定的操作。它依靠操作一级的并 行处理来提高系统的速度。 并行处理机的控制部件中进行的是单指令流,因此与高 性能单处理机一样,指令基本上是串行执行,最多加上使用 指令重叠或流水线的方式工作。 指令重叠是将指令分成两类,把只适合串行处理的控制 和标量类指令留给控制部件自己执行,而把适合于并行处理 的向量类指令播送到所有处理单元,控制让处于活跃的那些 处理单元去并行执行。因此这是一种标量控制类指令和向量 类指令的重叠执行
一、并行处理机的基本构成 并行处理机是通过重复设置大量相同的处理单元PE( Processing Element),将它们按一定的方式互连,在统一的 控制部件CU(Control Unit)控制下,对各自分配来的不同数 据并行地完成同一条指令所规定的操作。它依靠操作一级的并 行处理来提高系统的速度。 并行处理机的控制部件中进行的是单指令流,因此与高 性能单处理机一样,指令基本上是串行执行,最多加上使用 指令重叠或流水线的方式工作。 指令重叠是将指令分成两类,把只适合串行处理的控制 和标量类指令留给控制部件自己执行,而把适合于并行处理 的向量类指令播送到所有处理单元,控制让处于活跃的那些 处理单元去并行执行。因此这是一种标量控制类指令和向量 类指令的重叠执行。 6.3 SIMD并行计算机(阵列处理机)