Parallel execution of LISP programs
Thesis/Dissertation
·
OSTI ID:6089151
This dissertation considers several issues in the execution of Lisp programs on shared-memory multiprocessors. An overview of constructs for explicit parallelism in Lisp is first presented. The problems of partitioning a program into processes and scheduling these processes are then described, and a number of methods for performing these are proposed. These include cutting off process creation based on properties of the computation tree of the program, and basing partitioning decisions on the state of the system at runtime instead of the program. An experimental study of these methods has been performed using a simulator for parallel Lisp. The simulator, written in common Lisp using a continuation-passing style, is described in detail. This is followed by a description of the experiments that were performed and an analysis of the results. Two programs are used as illustrations-a Fast Fourier Transform, which has an abundance of parallelism, and the Cocke-Younger-Kasami parsing algorithm, for which good speedup is not as easy to obtain. The difficulty of using cutoff-based partitioning methods, and the differences between various scheduling methods, are shown. A combination of partitioning and scheduling methods which the author calls dynamic partitioning is analyzed in more detail. This method is based on examining the machine's runtime state; it requires that the programmer only identify parallelism in the program, without deciding which potential parallelism is actually useful. Several theorems are proved providing upper bounds on the amount of overhead produced by this method. He concludes that for programs whose computation trees have small height relative to their total size, dynamic partitioning can achieve asymptotically minimal overhead in the cost of process creation.
- Research Organization:
- Stanford Univ., CA (USA)
- OSTI ID:
- 6089151
- Country of Publication:
- United States
- Language:
- English
Similar Records
Parallel execution of Lisp programs. Doctoral thesis
Partitioning and scheduling parallel programs for execution on multiprocessors
Semi-applicative programming. Examples of context-free recognizers. Technical report
Technical Report
·
Thu Jun 01 00:00:00 EDT 1989
·
OSTI ID:6764432
Partitioning and scheduling parallel programs for execution on multiprocessors
Thesis/Dissertation
·
Wed Dec 31 23:00:00 EST 1986
·
OSTI ID:7043298
Semi-applicative programming. Examples of context-free recognizers. Technical report
Technical Report
·
Tue Dec 31 23:00:00 EST 1985
·
OSTI ID:5673484