首页 理论教育 Linux集群技术研究:并行编程模式及基本技术

Linux集群技术研究:并行编程模式及基本技术

时间:2023-10-17 理论教育 版权反馈
【摘要】:(一)并行编程模式的主要类型并行编程模式主要有如下三种类型。在这个部分中,实现并行算法在并行计算机上的执行过程。一般来说,只要退出并行计算环境,就意味着将结束程序的运行。这里以目前流行的并行程序模式SPMD为例,简单介绍这类程序在实现过程中需要掌握的基本技术。

Linux集群技术研究:并行编程模式及基本技术

(一)并行编程模式的主要类型

并行编程模式主要有如下三种类型。

主从模式(Master-slave):有一个主进程,其他为从进程。在这种模式中,主进程一般负责整个并行程序的数据控制,从进程负责对数据的处理和计算任务。当然,主进程也可以参与对数据的处理和计算。一般情况下,从进程之间不发生数据交换,数据的交换过程是通过主进程来完成的。

对称模式(SPMD):在这种编程模式中,没有哪个进程是主进程,每个进程的地位是相同的。然而,在并行实现过程中,我们总是要在这些进程中选择一个进行输入输出的进程,它扮演的角色和主进程类似。

多程序模式(MPMD):在每个处理机上执行的程序可能是不同的,在某些处理机上可能执行相同的程序。

(二)并行程序如何执行

并行程序和串行程序没有很大的差别,是为了实现并行算法在并行计算机上的执行。主要包括三部分。

进入并行环境:这部分是要让系统知道此程序是并行程序,启动并行计算环境。在这个过程中,产生并行程序所需要的各种环境变量。(www.xing528.com)

主体并行任务:这是并行程序的实质部分,所有需要并行来完成的任务都在这里进行。在这个部分中,实现并行算法在并行计算机上的执行过程。

退出并行环境:通知并行计算系统,从这里开始,不再使用并行计算环境。一般来说,只要退出并行计算环境,就意味着将结束程序的运行。

(三)并行程序实现过程

并行程序在实现过程中,有其特有的技术,这是产生高效率并行程序的基础。这里以目前流行的并行程序模式SPMD为例,简单介绍这类程序在实现过程中需要掌握的基本技术。

进程控制:在SPMD并行程序的编写过程中,因为只有一份程序,所以每个处理机上执行的是相同的程序。因此,对于每个进程来说,需要知道自己是属于哪个进程,从而来确定该进程需要完成的任务。进程控制是并行程序的重要组成部分,所有的数据处理和交换过程都离不开进程标识,这是在实现过程中必须时刻牢记的。

数据交换:在SPMD模式中,数据交换是其主要特征。进程之间的协同工作、信息沟通等都离不开数据交换。如何合理地实现数据交换,是提高并行计算程序性能的关键之一。对于一个给定的并行计算方法,为了高效率的实现,需要仔细分析数据依赖关系,尽可能减少不必要的数据交换,同时也要尽最大努力使数据交换在最少的次数内完成。

面向对象化:建立自己的通讯库,使程序具有更加直观的可读性。比如说,在处理机中要进行矩阵传输,那就需要定制一个子程序来完成这项任务。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈