Parallel execution of Lisp programs. Doctoral thesis
Technical Report
·
OSTI ID:6764432
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 problem of partitioning a program into process 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. 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 varios scheduling methods, are shown. A combination of partitioning and scheduling methods which we call 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. We conclude 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). Dept. of Computer Science
- OSTI ID:
- 6764432
- Report Number(s):
- AD-A-219623/6/XAB; STAN-CS--89-1265
- Country of Publication:
- United States
- Language:
- English
Similar Records
Parallel execution of LISP programs
Partitioning and scheduling parallel programs for execution on multiprocessors
Semi-applicative programming. Examples of context-free recognizers. Technical report
Thesis/Dissertation
·
Sat Dec 31 23:00:00 EST 1988
·
OSTI ID:6089151
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
Related Subjects
99 GENERAL AND MISCELLANEOUS
990200* -- Mathematics & Computers
ARRAY PROCESSORS
COMPUTER CODES
COMPUTERIZED SIMULATION
COST
DATA PROCESSING
DECISION MAKING
DIMENSIONS
FOURIER TRANSFORMATION
HEIGHT
INTEGRAL TRANSFORMATIONS
LISP
MEMORY DEVICES
PARALLEL PROCESSING
PROCESSING
PROGRAMMING
PROGRAMMING LANGUAGES
SIMULATION
TASK SCHEDULING
TRANSFORMATIONS
990200* -- Mathematics & Computers
ARRAY PROCESSORS
COMPUTER CODES
COMPUTERIZED SIMULATION
COST
DATA PROCESSING
DECISION MAKING
DIMENSIONS
FOURIER TRANSFORMATION
HEIGHT
INTEGRAL TRANSFORMATIONS
LISP
MEMORY DEVICES
PARALLEL PROCESSING
PROCESSING
PROGRAMMING
PROGRAMMING LANGUAGES
SIMULATION
TASK SCHEDULING
TRANSFORMATIONS