|
ABSTRACT:
Parallel Virtual Machine
(PVM) is a software package developed at a DOE laboratory and in
cooperation with the University of Tennessee that permits a
heterogeneous collection of Unix and Windows computers linked together
by a network to be used as a single large parallel computer. PVM is
being used to link together multiple supercomputers distributed around
the world to achieve the very high computational performance needed to
solve problems such as weather modeling and materials design. Large
computational problems can be solved more cost effectively by using the
aggregate power and memory of many computers. Central to the design of
PVM is the notion of a virtual machinea set of
heterogeneous hosts connected by a network that appears logically to
the user as a single large parallel computer. PVM is on the leading
edge of technology in the area of distributed computing, and is
expanding rapidly as high-speed networks go on line.
PVM is used as a poor man's
supercomputer by exploiting the aggregate power of unused
workstations during off-hours. No computer in the world can match the
price/performance ratio of this virtual machine configuration. Going
one step further, many work groups are purchasing PC clusters for
dedicated replacement of their supercomputers.
PROGRAM DESCRIPTION:
PVM (Parallel Virtual Machine) is a software
package that permits a heterogeneous collection of computers, from
laptops to Crays, linked together by a network to be used as a single
large parallel computer. Thus, large computational problems can be
solved more cost effectively by using the aggregate power and memory of
many computers.
DOE Research Laboratories, researchers at NERSC and
NOAA, NSF Supercomputer Centers, NASA Research Centers, as well as
numerous universities around the country are using PVM for both
research and as a teaching tool for parallel programming. PVM
popularity is due in part because it is easy to install and simple to
use. Applications, which can be written in FORTRAN, C, or C++, can be
parallelized by using simple message-passing constructs common to most
distributed-memory computers. A very popular use today is to use PVM
to combine the aggregate power of a cluster of PCs running Linux. PVM
is a byproduct of an ongoing Heterogeneous Distributed Computer
research project at a DOE laboratory and the University of Tennessee.
The first public version of PVM was released in 1991. The use of PVM
grew rapidly worldwide as scientists spread the word of the utility of
this software to do computational research. Today there are tens of
thousands of PVM users worldwide.
In order to provide the maximum flexibility and
fault tolerance to PVM applications, the machine is assumed to be
completely dynamic. Hosts can be added or deleted (or fail) inside the
virtual machine and PVM will automatically reconfigure the virtual
machine. Similarly, any PVM task has the ability to start or kill
other tasks at any time on the virtual machine. There are also
functions to determine the dynamic configuration of the virtual machine
and what and where tasks are running across the machine. For
application fault tolerance, there are PVM functions that can be called
to notify an application of failures of any hosts or tasks in the
virtual machine.
Within the virtual machine, parallel tasks exchange
data using a simple message-passing API. This has proved to be the
most portable and intuitive interface to scientists not familiar with
parallel computing. While PVM is often compared to message passing
interfaces, such as MPI, message passing is just one part of the PVM
system. In fact on the SP-2, PVM internally uses IBM's optimized MPI
implementation to move the data. The PVM source code continues to be
available free through the Web at http://www.csm.ornl.gov/pvm.
There is a very active PVM news group with
"experts" worldwide who are willing to answer users' questions and help
with problems through a link on the web site: comp.parallel.pvm.
Computer scientists around the world continue to
incorporate the PVM model and API into other languages including: Java,
Perl, TCL/TK, and Lisp. PVM is also used anywhere where more
computational power is needed and the user has access to several
computers connected together by a network. Then PVM can be used to
exploit the aggregate power of these computers. PVM is on the leading
edge of technology in the area of distributed computing. This area
will be expanding rapidly in the next few years as high-speed networks
go on line.
IMPROVING THE QUALITY OF LIFE:
PVM is an enabling technology. The software
enables users to exploit their existing computer hardware to solve much
larger problems at minimal additional cost. Hundreds of sites around
the world are using PVM to solve important scientific, industrial, and
medical problems.
PVM has continuously evolved over the years to
satisfy user requests for additional features and keep up with the
fast-changing network and computing technology. One example of a
user-requested feature was the addition of interfaces that allow
third-party debuggers and resource managers to be seamlessly
incorporated (like plug-ins) into the virtual machine. Examples of
technology driven changes include the ability for PVM to transparently
utilize shared memory and high-speed networks like ATM to move data
faster with no change to PVM applications.
PVM is also being used as an educational tool
allowing colleges without access to parallel computers to teach
parallel programming courses. Beginning in fall 1991, five
Universities used PVM as a teaching tool; University of Maine,
University of Utah, Florida State University, University of Tennessee,
and Emory University - the list continues to grow.
COST SAVINGS:
This PVM software enables users to exploit their
existing computer hardware to solve much larger problems at minimal
additional cost. Industries are using this software as a
cost-effective way to design new products. The following is just a
sampling of many companies using PVM today: Ford, Boeing, Sikorsky,
United Technologies, Texaco, Dupont, General Electric, Citicorp,
Compuserve, JP Morgan Guaranty Trust, Siemens, Exxon, TVA,
Computational Biosciences Inc., Western Geophysical, Phillips
Laboratory, Mobil Oil, Consolidated Freightways Inc., US Grain
Marketing Research Lab, Elegant Mathematics Inc., IBM, Cray Research,
and Shell Oil.
OTHER NOTEWORTHY BENEFITS:
The robustness, heterogeneity, and simplicity of
the PVM software have made it very popular around the world in
industry, research labs, medical centers, and universities. Over 500
organizations have obtained copies of the package. With tens of
thousands of users, PVM has become so popular that it is the de facto
standard for distributed computing worldwide. Over 250,000 requests
for PVM have been received by NETLIB, the primary distribution site for
PVM source and documentation. The 1994 PVM Users' Group Meeting
attracted attendees from 11 different countries spanning 4
continents.
Recent additions to PVM over the past year include
the ability to do cross-platform distributed computing where the
virtual machine can contain Windows NT, Windows 98, and UNIX hosts all
interoperating.
|