next up previous contents
Next: Message-Passing Interface (MPI) in Up: Message Passing Libraries in Previous: Message Passing Libraries in   Contents


Parallel Virtual Machine (PVM) in Java

PVM, developed at Oak Ridge National Laboratory, is a message-passing system that permits a heterogeneous collection of networked computing systems to be used as a single large parallel machine. Thus large computational problems can be solved more cost effectively by using the aggregate power and memory of many computers. PVM consists of two parts: a daemon process, pvmd, that any user can install on a machine, and a user library that contains routines for initiating processes on other machines. PVM provides a rich set of dynamic resource management and process control functions (eg., load balancing). It also allows the development of fault-tolerant applications and has good interoperability between heterogeneous hosts. PVM supports programs written in C, C++, and Fortran.

Currently there are two groups working on making PVM support programs written in Java. JavaPVM (or jPVM) [#!JAVAPVM!#] is an interface written using the Java native methods capability which allows Java applications to use the Parallel Virtual Machine (PVM) software. Since it is using native methods, it limits cross-platform portability. JPVM [#!JPVM!#] is a pure Java implementation of PVM. Therefore unlike JavaPVM, it is better matched to Java programming styles and the standardization of the JVM makes the JPVM code much simpler to maintain across heterogeneous machine. The performance is poor compared to JavaPVM. The detail comparison of communication benchmark of native PVM, JavaPVM, and JPVM is reported in [#!YALAMA98!#].


next up previous contents
Next: Message-Passing Interface (MPI) in Up: Message Passing Libraries in Previous: Message Passing Libraries in   Contents
Bryan Carpenter 2004-06-09