基于Windows XP的PVM的实现

来源 :学问·科教探索 | 被引量 : 0次 | 上传用户:maomao1t
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】网络并行计算已成为国际上并行环境发展的重要方向,本文介绍了PVM的概念、组成、在Windows XP下的安装与配置及在该环境下两种编写程序的方法。
  【关键词】并行虚拟机;并行程序设计环境;安装;配置 编程
  
  近年来,网络并行计算已成为国际上并行环境发展的一个重要方向。首先,网络并行计算环境在硬件和软件方面的成本都比并行计算专用工作站要低廉,更易于建立。其次,网络并行计算系统使用方便,可扩展性强,更灵活。PVM ( Parallel Virtual Machine) 是并行虚拟机的简称,它通过TCP/ IP网络通讯协议将整个网络的多台计算机虚拟成一台并行机使用,是目前国内外比较流行的并行计算环境之一。
  PVM需要一个多任务的操作系统平台,以便生成多个PVM进程,实现其虚拟并行机的功能。本文介绍了在Windows XP环境下PVM的安装,配置与编程。选用的PVM版本为基于Windows的PVM3.4.3。
  
  一、PVM的组成
  
  PVM系统由三部分组成。系统的第一部分是一个称为Daemon Process的守护程序,缩写为pvmd,它驻留在构成虚拟机的所有计算机上。守护程序是在后台执行的一种程序,在需要时随时准备完成一个操作。它通常是在开始时启动的一种无人值守的被挂起的进程,它等待某种事件发生,自动地被激活,执行作业。然后终止或将自身挂起,等待下一事件。当用户指定了构成并行虚拟机的节点后,启动PVM,就会在相应的节点上各自启动一个pvmd进程,它们之间互相通信,共同管理各并行任务的执行和通信,从而构成了一个并行虚拟机。由于pvmd是在后台运行的,因此它对于虚拟机中的机器完成其它工作毫无影响。用户可在任意主机上开始执行PVM应用,多用户可以配置重叠的虚拟机,并且每个用户可以同时执行若干个PVM应用。
  系统的第二部分是一个PVM接口例行程序库libpvm3.a。它包含各种功能完备的原语,这些原语主要用于协调应用任务。该程序库包括那些用于消息传递、创建进程、协调任务以及修改虚拟机等用户可调用例行程序。PVM可在体系结构互不兼容的计算机网络上透明地处理所有消息路径选择、数据转换及任务调度等。PVM计算模型是基于由若干个任务组成的应用,所有任务通过这个标准接口例行程序库来访问PVM资源。此系统当前支持C、C+ +和Fortran语言。
  系统的第三部分是PVM控制台进程,相当于“并行虚拟机”的操作平台,可以交互式地与用户工作。用户在此可以增加、删除节点机以及执行一些其它的控制命令,如启动、终止一个PVM任务、显示某任务的状态等。
  
  二、Windows XP下PVM的安装与配置
  
  PVM 安装应该说是比较容易的。PVM3.4.3版本提供了安装软件包,只需按照其向导安装即可成功。但是只安装PVM 软件包是不够的,如果要联机计算还需要安装winsock rshd/ NT (在 WindowsXP 下)。rsh ( remote shell) 实际上是一个在本地启动远程宿主机上应用程序的一个实用命令,PVM 就是利用初启机上rsh命令来启动远程宿主机上pvmd的。但要使本地rsh命令能正常工作还需得到远程宿主机上的rsh监控进程rshd ( remote shell dae2mon) 的支持。一般来说,rshd是作为Windows操作系统的一项服务来使用,如果没有得安装。在PVM下配置虚拟机时必须首先启动每台节点机上的rshd服务,否则rsh命令无法使用,虚拟机的配置当然不会成功。
  我们使用的是Denlcomp Sysrems公司的RSHD/NT软件,读者可以自行在网上下载。Rsh已经存在于Windows Xp的system32文件夹下。因为我们是将PVM运行在Windows下,所以我们使用FAT32文件格式,如果运行在Windows 2000下,则必须使用NTFS格式,否则PVM会报错。具体安装步骤如下:
  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.安装过程中还必须指定系统所用的编译器,指定后安装程序会自动搜索编译器所在目录并显示出来。
  4.安装完成重启计算机,则PVM安装完毕。
  5.将网上下载的rshdnt_eval.exe自解压软件包安装在用户硬盘的某一目录下(例如c:\wrshdnt)。在安装过程中可以选择每次启动 Windows 时即启动rshd服务。实际上用户随时可以通过“开始—程序—WINSOCK RSHD-NT”来启动或停止rshd服务。
  
  三、PVM并行计算环境的建立步骤:
  
  1.启动所有机器上的rshd服务。
  2.在开始——程序——PVM3.4中,点击PVM Console图标,将打开PVM控制台,并启动pvmd后台伺服程序,以上工作完成后会出现以下提示符:
  pvm>
  注意,如果点击PVM Console时,出现不能启动pvmd的错误信息时,只需将PVM_TMP目录下的pvml.和pvmd.(代表本机登录用户名)两文件删除,然后进行步骤(2),即可顺利启动,因为此两文件记录上次PVM运行过程中的错误信息,如果上次PVM运行过程中出现错误,那么将影响本次PVM的启动(程序不会把这些文件自动清空,所以只有手动清空或删除了)。
  3.在PVM控制台用add命令添加节点机。 我们条件有限,只有三台机器(都为WIN32机器,操作系统:winxp sp2)。
  命令格式如下:
  pvm > add “主机名 dx = c:\pvm3.4\lib\win32\pvmd3.exe lo=登录名 so=口令”
  由以上命令格式可以看出,除了主机名外,我们还必须指定此主机的守护进程pvmd3.exe所在的位置(我们安装在c:\pvm3.4\lib\win32目录下);而且如果使用不同的登录名添加时,还必须输入登录名和口令。
  
  四、PVM 无法正常启动或节点机无法添加的原因分析
  
  1.PVM 的临时工作目录是否已建立,该目录的位置与安装 PVM 时的设置一致。
  2.网络是否通畅,可以用rsh命令来测试一下。例如c:\rsh 主机名 dir? c:\ ( 列出指定远程主机上的C盘根目录)。
  3.所要添加的节点机上的rshd服务是否已启动。PVM控制台是一个标准的、交互式PVM进程,类似于外壳(shell),用户通过键入命令来管理虚拟机、调用PVM应用作业以及监控作业的执行。
  
  五、PVM 的编程模式
  
  使用 PVM 进行程序设计的一般方法为:用C 、C++或Fortran语言编写一个或多个含有对 PVM 库嵌入式调用的顺序程序,每个程序对应于一个构成该应用的任务。PVM应用程序常采用“群型”计算模式,这种模式从程序的结构上又可分为两种,即主从模式和对等模式。主从模式又称为Masher/slave模式,在这种模式的应用程序中,单独执行控制程序的一个进程称为主进程(master),负责生成其它进程,初始化,收集并显示结果等;执行从程序的若干进程称为从进程(slave),由主进程生成,做实际的计算,它们的工作负载由主进程分配或由从进程本身分配。对等模式又称为SPMD模式,在这种模式的应用程序中,所有进程都执行同一个程序,但计算的数据不同,其中,有一个进程在完成自己的计算任务的同时还负责非计算的功能,比如初始化,收集并显示结果等,具体选用哪种模式应视具体应用而定。
  1.Master/Slave并行程序的基本框架
  Master/Slave并行编程模式中,Master 主进程产生n个工作进程,其中第一个工作进程在指定的结点机上运行,其余的由PVM选择合适的结点机上运行,在这些结点机上运行的都是Slave从进程。Master主进程是应用程序的控制进程,负责进程的生成、初始化、收集数据并显示计算结果,其余的Slave从进程执行实际计算工作。在执行Master主进程的结点机处于等待状态时,PVM会自动执行Slave 进程使该结点机也参加实际的计算工作。因此,需要编写2个程序,即Master进程和Slave 进程。
  Master:
  Pvm_ mytid ();/进入 PVM,获得主进程的tid/
  Pvm_ spawn ();/ 生成 n 个从进程 /
  初始化;向各个从进程发送消息
  for 所有结点机
  {
  pvm_ initsend ();/创建新的活动发送缓冲区/
  pvm_ pk();/数据打包/
  }
  Endfor
  pvm_ barrier () /等待各个从进程发送消息/
  for 所有结点机
  {
  pvm_ recv ();/接收从进程发送的消息/
  pvm_ upk ();/数据解包/
  }
  Endfor
  显示最终结果
  Pvm_ exit ();/离开 PVM /
  Slave 进程:
  Pvm_ mytid ();/进入 PVM,获得从进程的 tid/
  等待主进程发送消息
  pvm_parent ();/获得主程序的 tid /
  pvm_ recv();/接收主进程发送的消息/
  pvm_ upk ();/数据解包/
  计算;等待主进程接收消息
  pvm_ initsend ();/创建新的活动发送缓冲区/
  pvm_ pk();/数据打包/
  向主进程发送消息
  Pvm_send();
  Pvm_exit();/离开 PVM/
  2.SPMD 并行程序的基本框架
  SPMD 模式的并行应用程序采用任务组机制。第一个启动的应用程序拷贝负责创建任务组且获得成员号0,同时还负责启动其它应用程序拷贝并完成一些非计算任务:如初始化、归约运算结果等。下面是典型SPMD并行应用程序的基本框架。
  Begin
  pvm- joingroup (groupname);/如果任务组不存在则创建该组,否则加入该组/
  pvm-parent ();/ 获得父进程的 tid /
  if 组成员号= 0 then
  pvm- spawn ();/启动其它应用程序拷贝 /
  一些非计算任务,如输入,初始化等;
  Endif
  for 所有进程pardo
  在各自的数据区进行计算;
  Endfor
  if 组成员号 = 0 then
  归约各进程的运算结果并输出;
  Endif
  pvm- barrier ();/同步所有进程/
  pvm- lvgroup () /离开任务组/
  pvm- exit ();/退出 PVM 3 /
  end
  总的来说,基于Windows XP的PVM环境提供了可靠的并行计算环境,针对目前Windows比较流行的状况,它为我们提供了一个很好的利用机群实现并行处理的方案。另外,也使我们有可能在一台机器上运行多个相互通信的进程。利用Windows系统上的丰富的资源,我们还可以开发出更强大、更实用的PVM应用程序。
  
  【参考文献】
  [1]黄铠,徐志伟著,陆鑫达等译. 可扩展并行计算技术.结构与编程.北京:机械工业出版社,2000,450—455
  [2]陈国良著.并行计算—结构、算法、编程.北京:高等教育出版社,1999 348-352
  
  作者简介:王伟,(1972--),男,河南省平玉县人,本科,讲师
其他文献
【摘要】本文从语篇的主题统一性与话题关联性、语篇中的逻辑、语篇基本单位的连接模式等七个方面来阐述语篇连接手段对本题型解题的指导意义。  【关键词】语篇;连接手段;阅读理解;应试方法    非英语专业考研英语试题自2005年开始增加了一个新的题型,来考察考生的阅读能力,即阅读理解的Part B,要求选择合适的句子填入原文,形成统一,合理的语篇。本题要求从七个备选的句子中选出五个并归入合适的位置。其实
期刊
【摘要】由市场经济特点所致,企业在激烈的市场竞争中,采用商业信用方式进行生产经营活动,由此而产生应收账款收不回来的现象,导致坏账损失。针对坏账损失的发生,要采取正确的核算方法和有效的控制措施。要采取备抵法进行坏账损失的核算,合理确定计提的标准,及时处理坏账损失,避免虚盈实亏的现象,同时要建立对购销商品的往来资信审查制度,健全会计内部控制制度,尽量采取票据信用方式结算,建立销售回款责任制。  【关键
期刊
【摘要】在当前新农村建设的大背景下,通过对黑龙省农村体育现状的调查,探索挖掘黑龙江省农村体育发展模式,并对此进行深入的研究。  【关键词】黑龙江省;农村体育;发展模式    体育作为我国文化事业的重要组成部分,有着不可忽视的重要地位。在新农村建设的大背景下,农村体育事业发展占有重要的人口基础和战略地位,所以,发展农村体育事业有重大意义。本文将对黑龙江省农村体育发展模式进行探索研究。    一、黑龙
期刊
【摘要】本文介绍了行为主义学习理论和先天论学习理论关于语言习得尤其是二语习得观点,讨论了两种理论的不同点以及两种理论的相同点。  【关键词】行为主义;母语迁移;先天论;参数设定    一:理论概述    行为主义最早是心理学和哲学领域的一场运动。该学习理论是由美国心理学家华生在巴甫洛夫的 “条件反射”的基础上于1913年创立并且由斯金纳发展而来。行为主义是关于人类和动物的学习理论早期的研究试验基本
期刊
【摘要】满清政府在19世纪60年代兴起的洋务运动,是从军事自强开始的,到了后来虽然增加了"求富"的内容,但军事自强的目标始终未变。为实现军事自强,洋务派主要抓了三个方面的工作:一是建立近代军事工业;二是建立近代海防海军,同时改进陆军的武器装备和训练;三是建立近代军事学堂,培养新式陆海军人才。长期以来,人们普遍认为,甲午战争中国的失败和北洋海军的覆灭,宣告洋务运动的彻底破产,从而完全否定洋务运动的军
期刊
【摘要】针对旅游地特殊环境,采用多网并存,网络优化,及基站硬件改进等手段提升网络性能。  【关键词】网络融合;直放站;智能天线    在世界经济不断恶化的状况下,旅游业将是一个可能拉动经济的一个新增长点;传统的旅游地一般地处深山茂林之中,移动通信网络不能及时将旅客的信息接受和发送,严重制约着旅游业的发展。  人们越来越要求高质量的通话效果和数据传输3G势在必行;虽然3G是主流技术必将取代2G,但2
期刊
【摘要】Microsoft .NET是当前与J2EE并驾齐驱的二大软件开发平台之一。我们结合用人单位的实际需求对课程各个环节进行重新设计,特别对实践环节进行了大胆的改造,逐步将国内培训机构的成功案例教学模式嵌入到本课程的教学计划中;同时开展订单式培养,极大提升了学生的实践能力和就业率。如何进一步设置合理的课程教学模式,本文提出了若干自己的看法。  【关健词】ASP.NET编程技术课程;实践教学;案
期刊
【摘要】高职院校以适应社会需要为目标,以培养技术应用能力为主线设计培养方案。《营销心理学》是研究市场营销过程中人的心理活动及其规律的一门学科,课程具有理论与实践联系紧密的特点。但在传统教学中,存在忽视学生主体性、理论与实践相脱离、教学手段落后等弊端。本文针对这些问题介绍了案例教学法在营销心理学中的应用,并举例进行了具体说明,接着又提出了其它一些教学改革方法。  【关键词】高职院校;营销心理学;教学
期刊
【摘要】本文从建筑工程的人员管理、建筑工程材料的管理、建筑机械设备管理、建筑施工的安全、文明施工管理等方面对建筑工程现场施工管理进行了探讨。  【关键词】建筑工程;现场管理;模式    建筑工程项目的现场施工管理,是实现建筑项目管理目标的必然途径。建筑项目管理目标即质量、进度、安全、效益、环境目标能否按事先预定指标实现,预定目标的实现很大程度是取决于现场施工的全方位、全过程的有效管理。建筑施工现场
期刊
【摘要】本文介绍了word在长文档编辑中的几个特殊的技巧,如非连续页码、纸张纵横向交错、交叉引用等。  【关键词】word;长文档;非连续页码;纸张纵横;交叉引用    文字处理是各种办公活动中最基础最大量的工作,伴随着计算机的普及,word已成为人们所熟知的文字处理软件,使用word可以进行文字编辑、制作各种表格、插入图片等,很容易得到图文并茂的文档。也伴随着对word的熟悉和喜爱,人们逐渐拓展
期刊