摘 要 网络并行计算已成为国际上并行环境发展的重要方向,本文介绍了PVM的概念、组成、在Windows XP下的安装与配置及在该环境下两种编写程序的方法。 关键词 并行虚拟机;并行程序设计环境;安装;配置;编程
1 引言 近年来,网络并行计算已成为国际上并行环境发展的一个重要方向。首先,网络并行计算环境在硬件和软件方面的成本都比并行计算专用工作站要低廉,更易于建立。其次,网络并行计算系统使用方便,可扩展性强,更灵活。PVM ( Parallel Virtual Machine) 是并行虚拟机的简称,它通过TCP/ IP网络通讯协议将整个网络的多台计算机虚拟成一台并行机使用,是目前国内外比较流行的并行计算环境之一。 PVM需要一个多任务的操作系统平台,以便生成多个PVM进程,实现其虚拟并行机的功能。以前多任务的操作系统平台都是基于Unix或Liunx的,但由于Windows XP亦是32位的多任务操作系统且基于Windows的PC机在数量上远远超过基于Unix或Liunx 的机器,加之PC机所用CPU速度的迅速升级,由高速网络互连的多台计算机可形成强大的计算能力。本文介绍了在Windows XP环境下PVM的安装,配置与编程。选用的PVM版本为基于Windows的PVM3.4.3。2 PVM的组成 PVM系统由三部分组成。系统的第一部分是一个称为Daemon Process的守护程序,缩写为pvmd,它驻留在构成虚拟机的所有计算机上。守护程序是在后台执行的一种程序,在需要时随时准备完成一个操作。它通常是在开始时启动的一种无人值守的被挂起的进程,它等待某种事件发生,自动地被激活,执行作业。然后终止或将自身挂起,等待下一事件(邮件程序就是守护程序的一个例子,它在后台运行,处理计算机上的所有输入和输出电子邮件) 。当用户指定了构成并行虚拟机的节点后,启动PVM,就会在相应的节点上各自启动一个pvmd3进程,它们之间互相通信,共同管理各并行任务的执行和通信,从而构成了一个并行虚拟机。并行任务之间的通信实际上是通过各pvmd3进程来实现的,因此每个pvmd3进程都起着不可估量的作用。 由于pvmd3是在后台运行的,因此它对于虚拟机中的机器完成其它工作毫无影响。用户可在任意主机上开始执行PVM应用,多用户可以配置重叠的虚拟机,并且每个用户可以同时执行若干个PVM应用。 系统的第二部分是一个PVM接口例行程序库libpvm3.a。它包含各种功能完备的原语,这些原语主要用于协调应用任务。该程序库包括那些用于消息传递、创建进程、协调任务以及修改虚拟机等用户可调用例行程序。PVM可在体系结构互不兼容的计算机网络上透明地处理所有消息路径选择、数据转换及任务调度等。PVM计算模型是基于由若干个任务组成的应用,所有任务通过这个标准接口例行程序库来访问PVM资源。此系统当前支持C、C+ +和Fortran语言。 系统的第三部分是PVM控制台进程,相当于“并行虚拟机”的操作平台,可以交互式地与用户工作。用户在此可以增加、删除节点机以及执行一些其它的控制命令,如启动、终止一个PVM任务、显示某任务的状态等。3 Windows XP下PVM的安装与配置 PVM 安装应该说是比较容易的。PVM3.4.3版本提供了安装软件包,只需按照其向导安装即可成功(对于PVM3.4以前的版本则需要用户添加一些环境变量)。 但是只安装PVM 软件包是不够的,如果要联机计算还需要安装winsock rshd/ NT (在 WindowsXP 下)。rsh ( remote shell) 实际上是一个在本地启动远程宿主机上应用程序的一个实用命令,PVM 就是利用初启机上rsh命令来启动远程宿主机上pvmd的。但要使本地rsh命令能正常工作还需得到远程宿主机上的rsh监控进程rshd ( remote shell dae2mon) 的支持。一般来说,rshd是作为Windows操作系统的一项服务来使用,如果没有得安装。在PVM下配置虚拟机时必须首先启动每台节点机上的rshd服务,否则rsh命令无法使用,虚拟机的配置当然不会成功。3.1 所需的软件 我们使用的是Denlcomp Sysrems公司的RSHD/NT软件,读者可以自行在网上下载。Rsh已经存在于Windows Xp的system32文件夹下。3.2 所需的文件系统 因为我们是将PVM运行在Windows下,所以我们使用FAT32文件格式,如果运行在Windows 2000下,则必须使用NTFS格式,否则PVM会报错。3.3 安装步骤 (1)点击图标 进行安装,安装时指定Sever版还是Client版,如果用于希望本地安装,就选择Sever版,如果已存在PVM服务器,可选择远程client安装模式(不推荐使用)。 (2)接着需要指定PVM的安装目录(c:\pvm3.4和临时目录c:\temp,如果没有得自己提前新建),则安装程序会自动设置环境变量PVM_ROOT 为c:\pvm3.4,PVM_TMP为c:\temp,PVM_ARCH为WIN32。其中PVM_TM:它定义临时文件的位置(PVM_TM=c:\temp);PVM_ROOT:指定PVM的安装(PVM_ROOT= c:\pvm3.4)。 (3)安装过程中还必须指定系统所用的C或Fortran编译器(笔者机器安装了C++6.0,没有安装Fortran编译器,读者可以跳过)。指定后安装程序会自动搜索编译器所在目录并显示出来。 (4)安装完成重启计算机,则PVM安装完毕。 (5)Winsock RSHD/NT的安装。 将网上下载的rshdnt_eva l.exe自解压软件包安装在用户硬盘的某一目录下(例如c:\wrshdnt)。在安装过程中可以选择每次启动 Windows 时即启动rshd服务。实际上用户随时可以通过“开始―程序―WINSOCK RSHD-NT”来启动或停止rshd服务。4 PVM并行计算环境的建立 (1)启动所有机器上的rshd服务。 (2)在开始――程序――PVM3.4中,点击PVM Console图标,将打开PVM控制台,并启动pvmd后台伺服程序,以上工作完成后会出现以下提示符:pvm> 注意,如果点击PVM Console时,出现不能启动pvmd的错误信息时,只需将PVM_TMP目录下的pvml.