Parallel Virtual Machine

Source: Wikipedia, the free encyclopedia.
Parallel Virtual Machine
Original author(s)Oak Ridge National Laboratory
Developer(s)University of Tennessee
Initial release1989
Stable release
3.4.6 / February 2, 2009; 15 years ago (2009-02-02)[1]
Written inC
Operating systemWindows and Unix
LicenseBSD, GPL
Websitehttps://www.epm.ornl.gov/pvm/pvm_home.html

Parallel Virtual Machine (PVM) is a

parallel processor. Thus large computational problems can be solved more cost effectively by using the aggregate power and memory of many computers. The software is very portable; the source code, available free through netlib, has been compiled on everything from laptops to Crays.[2]

PVM enables users to exploit their existing computer hardware to solve much larger problems at less additional cost. PVM has been used as an educational tool to teach

portability
.

PVM was a step towards modern trends in

.

Design

PVM is a software system that enables a collection of heterogeneous computers to be used as a coherent and flexible concurrent computational resource, or a "parallel virtual machine".

The individual computers may be shared-memory or local-memory

graphics engines, or scalar workstations and PCs, that may be interconnected by a variety of networks, such as Ethernet or FDDI
.

PVM consists of a run-time environment and library for message passing, task and resource management, and fault notification. While PVM will not automatically make a commercial software package run faster, it does provide a powerful set of functions for manually parallelizing an existing source program, or for writing new parallel/distributed programs.

The PVM software must be specifically installed on every machine that is to be used in a given "virtual machine". There is no "automatic" installation of executables onto remote machines in PVM, although simply copying the pvm3/lib and pvm3/bin directories to another similar machine (and setting $PVM_ROOT and $PVM_ARCH) is sufficient for running PVM programs. Compiling or building PVM programs requires the full PVM installation.

User programs written in C, C++, or Fortran can access PVM through provided library routines.

PVM also supports

broadcasting
(PVM_bcast) which sends to all processes in a group and multicasting (PVM_mcast) which sends to a specific list of processes.

See also

References

  1. ^ Release Notes
  2. ^ a b "Parallel Virtual Machine (PVM) Homepage".

External links