The CL-PVM package

  • Authors:
  • Liwei Li;Paul S. Wang

  • Affiliations:
  • Institute for Computational Mathematics, Department of Mathematics and Computer Science, Kent State University;Institute for Computational Mathematics, Department of Mathematics and Computer Science, Kent State University

  • Venue:
  • ACM SIGSAM Bulletin
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Parallel Virtual Machine (PVM) is a software package that integrates a heterogeneous network of computers to form a single parallel/concurrent computing facility [2]. PVM consists of two parts: a run-time server and a set of library functions. A user sets up a hostfile that lists the names of the hosts constituting the parallel virtual machine (pvm). A PVM server runs on each host to help manage the pvm. Hosts can be added and deleted from the pvm dynamically. The pvm can be controlled from any constituent host either interactively from a console program or automatically from any PVM tasks.A PVM task is an application program that runs on a pvm and can use the PVM library functions to interact with other tasks: sending and receiving messages, initiating subtasks, detecting errors, etc. The PVM version 3.0 library is written in C allowing direct calls from C programs. There is also a Fortran 77 interface to give F77 programs access to the PVM library.CL-PVM provides a Common Lisp interface enabling Lisp-based programs to partake in PVM applications. A wide variety of useful Lisp programs exists including symbolic computation systems, expert systems, artificial intelligence systems, knowledge-based systems, and many more. With CL-PVM, the PVM library routines can be invoked interactively from the Lisp toplevel or from Lisp programs.The CL-PVM package contains a set of Common Lisp functions that interfaces Common Lisp (KCL, AKCL, or GCL) to the C-based library of PVM [2]. Generally, there is one CL interface function to each PVM C library function. The CL function calls its C-based counterpart and relays data to and from the C function. This interface is complete and allows Lisp-based programs to run on a pvm and thus facilitates the combination of symbolic, numeric, graphics, and other useful systems in a distributed fashion (Fig. 1). CL-PVM also offers a set of tools to aid effective use of the package with Lisp and MAXIMA tasks. Documentation, on-line manual pages, and examples are also included.CL-PVM is available by public FTP (ftp.mcs.kent.edu) in the directory (/pub/wang/). The package is described here. Please refer to [4] for more information on the design and implementation of the Lisp interface to PVM.