An assessment of Multilisp: Lessons from experience
Multilisp is a parallel programming language derived from the scheme dialect of Lisp by addition of the future construct. It has been implemented on Concert, a 32-processor shared-memory multiprocessor. A statistics-gathering feature of Concert Multilisp produces parallelism profiles showing the number of processors busy with computing or overhead, as a function of time. Experience gained using parallelism profiles and other measurement tools on several application programs has revealed three basic ways in which future generates concurrency. These ways are illustrated on two example programs: the Lisp mapping function mapcar and the partitioning routine from Quicksort. Experience with Multilisp programming exposes issues relating to side effects, error and exception handling, low-level operations for explicit manipulation of futures and tasks, and speculative computing, which are also discussed. The basic outlines of Multilisp are now fairly clear and have stood the test of being used for several applications, but further language design work is especially needed in the areas of speculative computing and exception handling.
This page was built for publication: An assessment of Multilisp: Lessons from experience
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q1091113)