next up previous
Next: About this document

CL-PVM: A Common Lisp
Interface to PVM

Liwei Li and Paul S. Wanggif
Department of Mathematics and Computer Sciences
Kent State University and

CL-PVM interfaces Common Lisp (CL) systems such as GCL (GNU Common Lisp) to the popular PVM (Parallel Virtual Machine) system. The design, implementation and usage of CL-PVM will be presented.

A PVM task uses 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.

The work here adds a Common Lisp interface to enable Lisp-based system to partake in PVM applications. A wide variety of useful programs are in Lisp including symbolic computation systems, expert systems, artificial intelligence systems, knowledge-based systems, and many more.

With CL-PVM, a Lisp user can invoke the library routines either directly from the Lisp top-level or from Lisp programs. Each PVM host has a PVM daemon process to support the control and operation of the virtual machine. Distributed tasks on the PVM utilize PVM protocols to interact with one another. The C-based PVM library supports the protocols. Lisp or Fortran processes access these C routines through appropriate interface functions.

Generally, there is one CL interface function to each PVM C library function. The CL function calls its C-based counter part and relays data to the C function. When C functions return the CL functions translate the data into proper Lisp data object. This interface is complete and allows Lisp-based programs take part in a PVM arrangement and thus facilitates the combination of symbolic, numeric, graphics, and other useful systems.

In addition to discussing the design principles, the implementation techniques, and typical usages, a complete example of using CL-PVM to produce graphics of mathematical curves and surfaces will illustrate the utility of the interface.

next up previous
Next: About this document

Liwei Li
Mon May 8 02:49:32 EDT 1995