Abstract
Symbolic languages relieve the programmer from many resource
management considerations that are required for traditional programming
languages, such as memory and process management.
This makes them promising candidates for solving a large,
general class of programming problems on shared-memory MIMD-class
parallel computers.
The incorporation of these resource management problems into the
parallel language implementation domain is a topic of active research.
This dissertation discusses the design of a list processing engine
for implementing parallel symbolic languages on stock multiprocessors.
The design results from experience implementing an applicative
language on the BBN Butterfly multiprocessor.
The language and engine are based on suspending construction,
a fine-grained, concurrent, non-strict computation model.
The contributions of the dissertation are:
- A virtual machine architecture for fine-grained parallel list
multiprocessing.
This virtual machine design identifies key areas where hardware support
would accelerate the execution of programs using computational
models similar to suspending construction, such as Lisp with
futures.
- A microkernel providing memory management, process management and
device management for high level parallel symbolic programs.
The resource management techniques described represent new approaches
to these problems for many parallel symbolic languages.
- An analysis of Daisy, a language based on
suspending construction and implemented on this architecture and
microkernel.