并行计算机(pvm)是用于网络并行计算机上的软件工具。设计它的目的是将异构的计算机网络连接起来,使它使用起来就像一组分布式的
并行处理器。
pvm最早由美国的田纳西大学,
橡树岭国家实验室以及埃默里大学开发成功。第一个版本在ORNL(橡树岭国家实验室)于1989年写成,后来,田纳西大学将其重写,并于1991年发布了版本2。版本3于1993年发布,支持容错以及更好的可移动性。
PVM仍在继续发展中,虽然随着它的成熟与稳定意味着新版本的更新会逐渐的慢下来。可以说,正是由于它,我们向分布式计算和
网格计算迈出了重要的一步。当今,它处在广泛的应用中。而且新的结合产物也应运而生(例如perl的Parallel::PVM 模块)。
PVM(并行
虚拟机)是一个软件包。通过它,我们可以组成一个异构的系统,它使用起来就像一个单一的但能力强大的并行计算机,而它本身可以由一些Unix或windows的
计算机组成。该软件包的移植性很强,其源码可以通过相关研究单位的网络实验室免费获得。它被编译来几乎可以从小型移动设备到克雷大型机的应用。
PVM使得人们可以应用他们现成的计算机硬件来解决大型的问题,而花费并不会增加很多。世界上由上百的网站应用PVM技术来解决各个行业的重要问题,此外,PVM还被用作教授学习并行编程的教学工具。
PVM系统支持多用户及多任务运行,多个用户可将系统配置成相互重叠的
虚拟机,每个用户可同时执行多个应用程序,易于编程。PVM支持多种
并行计算模型,用户使用PVM提供的函数库可进行并行程序或分布式程序的设计工作,使用传统的C语言和Fortran语言。系统提供了一组便于使用的通信
原语,可实现一个任务向其它任务发消息,向多个任务发消息,以及阻塞和无阻塞收发消息等功能,用户编程与网络接口分离。系统还实现了通信缓冲区的动态管理机制,每个消息所需的缓冲区由PVM运行时动态申请,消息长度只受结点上可用存储空间的限制。PVM提出了
进程组的概念,可以把一些进程组成一个进程组,一个进程可属于多个进程组,而且可以在执行时动态改变。支持异构计算机联网构成并行
虚拟计算机系统且易于安装、配置。PVM支持的异构性分为三层:机器层、
应用层和网络层。也就是说,PVM允许应用任务充分利用网络中适于求解问题的硬件结构;PVM处理所有需要的数据转换任务。具有容错功能,当发现一个结点出故障时,PVM会自动将之从
虚拟机中删除。