PVM Exopher Labeled-1
   HOME

TheInfoList



OR:

Parallel Virtual Machine (PVM) is a software tool for parallel networking of
computer A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
s. It is designed to allow a network of heterogeneous Unix and/or Windows machines to be used as a single distributed
parallel processor Parallel computing is a type of computation in which many calculations or Process (computing), processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are ...
. 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 Netlib is a repository of software for scientific computing maintained by AT&T, Bell Laboratories, the University of Tennessee and Oak Ridge National Laboratory. Netlib comprises many separate programs and libraries. Most of the code is written in ...
, has been compiled on everything from
laptop A laptop, laptop computer, or notebook computer is a small, portable personal computer (PC) with a screen and alphanumeric keyboard. Laptops typically have a clam shell form factor with the screen mounted on the inside of the upper li ...
s to
Cray Cray Inc., a subsidiary of Hewlett Packard Enterprise, is an American supercomputer manufacturer headquartered in Seattle, Washington. It also manufactures systems for data storage and analytics. Several Cray supercomputer systems are listed ...
s. 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 parallel programming but has also been used to solve important practical problems. It was developed by the University of Tennessee, Oak Ridge National Laboratory and Emory University. The first version was written at ORNL in 1989, and after being rewritten by University of Tennessee, version 2 was released in March 1991. Version 3 was released in March 1993, and supported fault tolerance and better
portability Portability may refer to: *Portability (social security), the portability of social security benefits * Porting, the ability of a computer program to be ported from one system to another in computer science ** Software portability, the portability ...
. PVM was a step towards modern trends in distributed processing and
grid computing Grid computing is the use of widely distributed computer resources to reach a common goal. A computing grid can be thought of as a distributed system with non-interactive workloads that involve many files. Grid computing is distinguished from co ...
but has, since the mid-1990s, largely been supplanted by the much more successful
MPI MPI or Mpi may refer to: Science and technology Biology and medicine * Magnetic particle imaging, an emerging non-invasive tomographic technique * Myocardial perfusion imaging, a nuclear medicine procedure that illustrates the function of the hear ...
standard for message passing on parallel machines. PVM is free software, released under both the BSD License and the GNU General Public License.


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 multiprocessors, vector
supercomputer A supercomputer is a computer with a high level of performance as compared to a general-purpose computer. The performance of a supercomputer is commonly measured in floating-point operations per second ( FLOPS) instead of million instructions ...
s, specialized graphics engines, or
scalar Scalar may refer to: *Scalar (mathematics), an element of a field, which is used to define a vector space, usually the field of real numbers * Scalar (physics), a physical quantity that can be described by a single element of a number field such ...
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
executable In computing, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instruction (computer science), instructi ...
s 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 In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
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

* CORBA * Globus Alliance * Occam programming language * Ease programming language *
Linda (coordination language) In computer science, Linda is a coordination model that aids communication in parallel computing environments. Developed by David Gelernter, it is meant to be used alongside a full-fledged computation language like Fortran or C where Linda's ro ...
* Calculus of communicating systems * Calculus of Broadcasting Systems * Message Passing Interface (MPI)


References


External links

* * {{Parallel Computing Parallel computing Inter-process communication Virtualization software Software using the BSD license