To establish an environment for distributed statistical computing, it is essential to specify standard interfaces between the components of the system. This will enable the construction of applications from a variety of distributed components complying with the interface conventions.
Our initial experiments have been with LISP-STAT processes communicating with other LISP-STAT processes, but we are now extending this so that they can communicate with programs written in other Lisp dialects and other languages (such as C). In the future, the components of the system may be other application programs which we can harness to comply with the interface. We envisage that LISP-STAT itself will be a front-end to such a hybrid system, and that the Lisp language itself will continue to provide the `glue' and programmability of our system.
The utility of a message-passing model for distributed Lisp applications has been demonstrated [2]; this is one of the many models which we can build using primitive building blocks for concurrency and synchronisation [1]. Tierney [6] has proposed to adopt a broadcasting mechanism in Lisp (called announcements) as a future development of LISP-STAT. Like the message-passing models, we are adopting techniques which provide a concept of process location [3], upon which higher-level facilities (such as announcements) can be constructed. It is this which distinguishes our approach from the traditional vision of parallelism solely for speedup--we are able to migrate processes towards data.