版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、文章编号:1000-2375(200404-0297-06Windows 下PVM 的安装、配置与编程柯艳明1,李跃新1,解定2(1.湖北大学数学与计算机科学学院,湖北武汉430062;2.北京广播学院计算机与软件学院,北京,100024摘要:PVM 是目前国内外比较流行的几种并行编程环境之一,但大多是基于Unix 平台或Linux 平台的 .介绍了基于Windows 平台的PVM 的安装与配置方法,探讨了PVM 的两种不同的编程模式并给出了实例说明.关键词:PVM;安装;配置;编程模式中图分类号:TP393文献标志码:A收稿日期:2003-02-15作者简介:柯艳明(1968-,男,硕士生1
2、Windows 下PVM 并行计算环境简介PVM (Parallel Virtual Machine 是并行虚拟机的简称,它通过T CP/IP 网络通讯协议将整个网络的多台计算机虚拟成一台并行机使用,是目前国内外比较流行的并行编程环境之一.PVM 主要可分为两个部分,其中一部分为PVM 后台监控程序pvmd (pvm deam on ,它是整个PVM 的核心.每台节点机都运行一个pvmd ,负责与本机任务通过T CP 协议交互及节点机之间通过UDP 协议交互;另一部分为pvm 接口库(pvm lib ,它为PVM 任务提供一个采用消息传递方式的API 接口,支持C 语言和FORTRAN 语言.
3、PVM 设计的目的是在一个异构环境下实现可伸缩的并行计算.到目前为止,PVM 虚拟机中已经能够加入40多种不同体系结构的机器,包括一般的Unix 工作站,共享存储并行机和MPP.总的来看,PVM 需要一个多任务的操作系统平台,以便生成多个PVM 进程,实现其虚拟并行机的功能.以前这个多任务的操作系统平台都是基于Unix 或Liunx 的,但由于Windows 亦是32位的多任务操作系统且基于Windows 的PC 机在数量上远远超过基于Unix 或Liunx 的机器,因此,PVM 在Win32上的应用为基于消息传递的并行计算的普及和应用提供了一条新的途径,事实上,由于PC 机面广量大,加之PC
4、 机所用CPU 速度的迅速升级,由高速网络互连的多台计算机可形成强大的计算能力.本文介绍在Windows2000环境下PVM 的安装,配置与编程,选用的PVM 版本为基于Windows 的PVM3.4beta6.2Windows2000环境下PVM 的安装与配置地启动远程宿主机上应用程序的一个实用命令,PVM 就是利用初启机上rsh 命令来启动远程宿主机上pvmd 的.但要使本地rsh 命令能正常工作还需得到远程宿主机上的rsh 监控进程rshd (rem ote shell dae 2m on 的支持.一般来说,rshd 是作为Windows 操作系统的一项服务来使用.在PVM 下配置虚拟机
5、时必须首先启动每台节点机上的rshd 服务,否则rsh 命令无法使用,虚拟机的配置当然不会成功.2.1PV M 的安装运行PVM3.4beta6自解压软件包,选择PVM 安装文件的存放路径后,程序自动运行安装文件,然后按照屏幕提示一步步操作即可.在安装过程中需注意的问题是必须为PVM 指定一个运行的临时目录(例如c :tem p ,该目录用于存放PVM 运行过程中的两个日志文件pvmd.uid 和pvml.第26卷第4期2004年12月湖北大学学报(自然科学版Journal of Hubei University (Natural Science Edition V ol.26N o.4Dec
6、.,2004a.启动所有机器上的rshd 服务.b.利用一台机器作为master host 启动PVM.c.在PVM 控制台用add 命令添加节点机.命令格式如下:a.PVM 的临时工作目录是否已建立, 该目录的位置与安装PVM 时的设置一致.b.网络是否通畅,可以用rsh 命令来测试一下.例如c :>rsh 主机名dir c : ( 列出指定远程主机 上的C 盘根目录.c. 所要添加的节点机上的rshd 服务是否已启动 .d. PVM 临时目录下的pvmd. uid 文件是否已删除.该文件是运行PVM 不正常退出留下的(若该文件存在,PVM 会认为pvmd 正在运行,因此会发出“不能启
7、动pvmd ”的消息.3PVM 的编程模式PVM 应用程序常采用“群型”计算模式,这种模式从程序的结构上又可分为两种,即主从模式和对结束退出PV M 接收各slave 的运算结果并归约显示发送或广播发送打包待发送数据初始化发送缓冲区初始化数据派生子进程开始图1Master 程序基本框架结束退出PV M 向master 发送运算结果打包待发送运算结果初始化发送缓冲区进行特定的slave 计算从父进程接受数据取得父进程号开始图2S lave 程序基本框架892湖北大学学报(自然科学版第26卷3.2SPMD 并行程序的基本框架PVM 支持进程(任务组(G ROUP 的概念,在一个任务组中可包含多个任
8、务.任务组的引入有助于对组中任务进行广播,设置路障及施行全局计算.每个任务加入一个组都获得一个成员号,从0号开始递增.SPMD 模式的并行应用程序采用任务组机制.第一个启动的应用程序拷贝负责创建任务组且获得成员号0,同时还负责启动其它应用程序拷贝并完成一些非计算任务,如初始化,归约运算结果等.下面是典型SPMD 并行应用程序的基本框架.begin pvm -joingroup (groupname ;/3如果任务组不存在则创建该组,否则加入该组3/pvm -parent (;/3获得父进程的tid 3/if 组成员号=0then pvm -spawn (;/3启动其它应用程序拷贝3/一些非计算
9、任务,如输入,初始化等;endif for 所有进程pardo 在各自的数据区进行计算;endfor if 组成员号 =0then 归约各进程的运算结果并输出;endif pvm -barrier (;/3同步所有进程3 /pvm -lvgroup (;/3离开任务组3/pvm -exit (;/3退出PVM 3/end4PVM 编程实例master 程序#include “pvm3.h ”v oid main (int chidtid1,childtid2,msgtag ,n ;double sum1,sum2;pvm -spawn (“slave1”,(char 330,0,1,&
10、childtid1;/3启动slave1进程3/pvm -spawn (“slave2”,(char 330,0,1,&childtid2;/3启动slave2进程3/printf (“entre n ;”;scan f (“%d ”,&n ;msgtag =1;/3发送数据给slave13/pvm -initsend (PvmDataRaw ;pvm -pkint (&n ,1,1;pvm -send (childtid1,msgtag ;msgtag =2;/3发送给数据给slave23/pvm -initsend (PvmDataRaw ;pvm -pkint (
11、&n ,1,1;992第4期柯艳明等:Windows 下PVM 的安装、配置与编程pvm-send(childtid2,msgtag;msgtag=3;/3接收slave1送来的运算结果3/pvm-recv(childtid1,msgtag;pvm-upkdouble(&sum1,1,1;msgtag=4;/3接收slave2送来的运算结果3/pvm-recv(childtid2,msgtag;pvm-upkdouble(&sum2,1,1;printf(“pi is approximately%fn”,43(sum1-sum2;slave程序1#include“pvm
12、3.h”v oik main(int i,n,ptid;double sum=0.0;ptid=pvm-parent(;/3 获得父进程的tid3/msgtag=1;while(pvm-nrecv(ptid,msgtag=0;/3如数据未到达则循环等待3/pvm-upkdouble(&n,1,1/3解数据包3/for(i=1,i<=n:i+=4sun+=1.0/(i+4;mastag=3;/3向父进程发送计算结果3/pvm-inistend(PvmDataRaw;pvm-pkdouble(&sum,1,1;pvm-send(ptid,msgtag;pvm-exit(;/3
13、退出PVM3/slave程序2#include“pvm3.h”v oik main(int i,n,ptid;double sum=0.0;ptid=pvm-parent(;msgtag=2while(pvm-nrecv(ptid,msgtag=0;pvm-upkdouble(&n,1,1;for(i=1,i<=n:i+=4sun+=1.0/(i+2;mastag=4;pvm-initsend(PvmDataRaw;pvm-pkdouble(&sum,1,1;pvm-send(ptid,msgtag;pvm-exit(;4.2SPMD应用程序实例下面是一个用数值积分法计算
14、的C语言程序段1,它是一个SPMD程003湖北大学学报(自然科学版第26卷序.用数值积分法计算,就是要求出在区间0,1内函数曲线4/(1+x 2的面积.为此先将区间0,1划#define n 16/3定义进程数为163/me =pvm -joingroup (“pi ”;/3本进程加入任务组pi 并获得自己的成员号3/parent =pvm -parent (;/3获得父进程号3/if (me =0/3组成员号为0的进程负责启动其它进程并完成数据N 的输入工作,同时还把N 向其余所有进程广播3/pvm -spawn (“pi ”,(char 330,0,”,n -1,tids ;printf
15、(“enter the nurnber of regions :”;scan f (“%d ”,&N ;pvm -initsend (PvmDataRaw ;pvm -pkint (&N ,1,1;pvm -mcast (tids ,n -1,5;else/3组成员号为非0的进程从父进程处接收数据3/pvm -recv (parent ,5;pvm -upkint (&N ,1,1;h =1.0/(double N ;/3各进程在各自的数据区进行计算3/for (i =me +1,i <=N ,i +=n x =h 3(double i -0.5;sun +4.0
16、/(1.0+x 3x ;mypi =h 3sum ;pvm -reduce (Pvmsum ,&mypi ,1,PVM -DOUBLE ,6,“pi ”,0;/3各进程把运算结果归约到组成员号为0的进程3/if (me =0printf (“pi is approximately %f n ”,my pi ;/3组成员号为0的进程输出运算结果3/pvm -barrier (;/3各进程在离开任务组之前在此同步3/pvm -lvgroup (;/3离开任务组3/pvm -exit (;/3退出PVM 3/5结束语网络并行计算是实现大规模、高性能计算的重要技术之一,对并行算法的理论研究特别
17、是加速比、可扩展性和计算复杂性都有重要意义,也比较适合我国国情.本文的内容属PVM 最基本的技术,也是我们研究工作的开端.目前我们正把多Agent 的理论方法和技术与PVM 提供的并行及分布式计算(处理环境相结合研究分布式人工智能中的应用问题,如并行符号处理、分布式专家数据库系统、分布式数据库的自然语言接口和基于PVM 的专家系统开发工具(分布式Clips 等.103第4期柯艳明等:Windows 下PVM 的安装、配置与编程302 湖北大学学报 ( 自然科学版 第 26 卷 参考文献 : 1 陈国良 . 并行计算 结构 算法 编程 M . 北京 : 高等教育出版社 ,2000. 348349
18、. The installation ,configuration and programming of PVM based on widows (1. Scool of Mathematics and Computer Science ,Hubei University ,Wuhan 430062 ,China ; 2. College of Computer and Software ,Beijing Broadcasting Institute ,Beijing 100024 ,China 2 Abstract :Consider the regression model : y i =
19、 x + g ( t i +ei , 1 i n , wher i = f ( ui , ( x i , t i , ui i i are known and nonrandom design points , is an unknown parameter to be estimated , g and f are unknown func2 tions ,and the errors ei are negative quadrant dependent random sequence. Strong consistency for the least squares estimator ,the weighted least squares estimator and the ultimate wighted least squares estimator of are ob2 tained under some conditions. Key words :NQD random sequence ;the least squares estimator ;strong consistency ( 责任编辑 肖 铿 Abstract :
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度泥浆外运承包合同(含废弃物处理设施运营管理)4篇
- 2025年农药市场分析及营销策划服务合同3篇
- 2025版泥工精细施工技术承包合同3篇
- 二零二五版排水设施设计与咨询合同4篇
- 2025年度木板行业人才培养与交流合作合同3篇
- 2025年度医疗废物处理及回收服务合同4篇
- 2025年度木结构工程绿色施工技术指导合同3篇
- FIDIC合同条件中的红皮书是指
- 2025年度木屑废弃物资源化利用合同4篇
- 2025年租赁房屋租赁合同解除后责任承担协议3篇
- 盐酸埃克替尼临床疗效、不良反应与药代动力学的相关性分析的开题报告
- 消防设施安全检查表
- 组合结构设计原理 第2版 课件 第6、7章 钢-混凝土组合梁、钢-混凝土组合剪力墙
- 建筑公司资质常识培训课件
- 旅居管家策划方案
- GB/T 26316-2023市场、民意和社会调查(包括洞察与数据分析)术语和服务要求
- 春节值班安全教育培训
- 带状疱疹护理查房
- 平衡计分卡-化战略为行动
- 幼儿园小班下学期期末家长会PPT模板
- 幼儿教师干预幼儿同伴冲突的行为研究 论文
评论
0/150
提交评论