欢迎来到天天文库
浏览记录
ID:42452616
大小:375.00 KB
页数:43页
时间:2019-09-15
《并行计算-多媒体课件-并行程序设计-ch05PVM编程指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、并行算法实践上篇并行程序设计导论并行算法实践上篇并行程序设计导论单元I并行程序设计基础单元II并行程序编程指南单元III并行程序开发方法2021/8/242国家高性能计算中心(合肥)单元II并行程序编程指南第四章MPI编程指南第五章PVM编程指南第六章HPF编程指南第七章OpenMP编程指南2021/8/243国家高性能计算中心(合肥)第五章PVM编程指南5.1引言5.2PVM的启动和命令5.3一个简单的PVM程序5.4PVM任务5.5PVM通信5.6PVM虚拟机结构2021/8/244国家高性能计算中心
2、(合肥)5.1引言PVM(ParallelVirtualMachine)是一种常用的基于消息传递的并行编程环境,它把工作站网络构建成一个虚拟的并行机系统,为并行应用提供了运行平台。PVM是由美国Tennessee大学、OakRidge国家实验室和Emory大学联合研制的一个实验性网络计算环境。系统具有较好的适应性、可扩展性、可移植性和易使用性等特点,被用户广泛采纳。2021/8/245国家高性能计算中心(合肥)5.1引言PVM的设计初衷是为了将由异种机构成的由低带宽、低传输速率相连的网络用作为大规模的消息
3、传递并行计算环境使用PVM,用户可以构造一个虚拟机(VirtualMachine),它由一组全相连的节点组成。每个节点可以是任意一台Unix计算机,可以是共享存储或分布存储多机系统,也可以是串行、向量或并行计算机。应用程序可以将PVM看成是一个基于消息传递模型的虚拟并行计算机系统,同时在一定程度上支持共享存储模型。2021/8/246国家高性能计算中心(合肥)5.1引言PVM采用消息传递方式编写并行程序计算以任务(task)为单位,一个任务就是一个进程PVM支持在虚拟机中自动加载任务运行,任务间可以相互通
4、信以及同步一个任务被加载到哪个节点上对任务透明,方便用户编程2021/8/247国家高性能计算中心(合肥)5.1引言PVM归纳起来有如下优点:支持多用户多任务易于编程提供方便的通信原语提出任务组的概念支持由异构计算机组成的虚拟计算机系统,易于安装配置具有容错功能2021/8/248国家高性能计算中心(合肥)5.1引言PVM和MPI都为用户提供基于消息传递的并行编程环境,但它们之间也存在许多差别MPI只为用户提供一个消息通信库,而PVM在提供通信库之外,还提供了为PVM程序创建机群环境(即PVM虚拟机)的标
5、准方法,并定义了运行时任务到虚拟机中节点的映射机制。PVM最大的优点是灵活性,包括异构平台上的可移植性、交互性和容错功能MPI相对于PVM来说,提供了更加丰富,更为高效的通信函数MPI和PVM在功能上现在正趋于相互包含2021/8/249国家高性能计算中心(合肥)5.2PVM的启动和命令用户在任何一个节点上键入以下命令创建PVM控制台(PVMConsole):$pvm这个命令启动PVM控制台,然后启动PVMD守护进程该命令执行成功后,在当前主机上显示下列提示符:pvm>它表示主机当前处于PVM控制台模式P
6、VM控制台如同shell一样是一个独立、交互的PVM任务,为用户提供交互式界面2021/8/2410国家高性能计算中心(合肥)5.2PVM的启动和命令用户可以通过PVM控制台输入PVM命令建立PVM环境,启动、检查或杀死(Kill)本地任务。下表列出了部分常用的PVM命令命令含义pvm>add向虚拟机中添加一个节点pvm>delete从虚拟机中删除一个节点pvm>conf列出虚拟机的所有节点pvm>spawn在PVM虚拟机上派生任务pvm>jobs显示PVM虚拟机上的任务数目pvm>ps查看PVM虚拟机中
7、运行的任务pvm>kill终止PVM虚拟机中某个正在运行的任务pvm>reset终止PVM虚拟机中所有当前正在执行的任务pvm>setenv显示当前系统中设置的环境变量pvm>halt终止PVM虚拟机中的所有任务并关闭虚拟机pvm>quit退出PVM控制台pvm>help查看PVM命令的帮助信息2021/8/2411国家高性能计算中心(合肥)5.3一个简单的PVM程序PVM能够有效的支持SPMD和MPMD两种并行程序模式,下面我们给出了一个非常简单的MPMD程序实例Hello。Hello程序包括了hell
8、o.c和hello_other.c两个文件,分别成为该PVM应用中的主任务和子任务,主任务接收子任务发送过来的一条消息并打印其内容。2021/8/2412国家高性能计算中心(合肥)5.3一个简单的PVM程序第一个文件hello.c的内容如下:1/*hello.c*/2#include3#include"pvm3.h"4main()5{6intcc,tid;7charbuf[100];89printf("i'm
此文档下载收益归作者所有