Techniques for the distributed implementation of recursive programs
Writing efficient distributed programs in conventional Algol-like languages is not easy. This thesis describes techniques that can be used to produce distributed programs from recursive ones. The techniques described could be automated to minimize effort by the programmer. The natural way to traverse a tree in PASCAL is to write a recursive procedure that performs the search. The fully ordered PASCAL search is inherently serial and consequently is an over-specification of the synchronization requirements of many tree traversals. Also, few compilers analyze recursive procedures to determine precise data-flow requirements. The result is that it is difficult to exploit the potential parallelism in a large class of interesting programs without rewriting the programs. The problems of efficiently implementing explicitly recursive programs on multicomputers is studied and some solutions are presented. This thesis describes how to analyze recursive procedures to detect parallelism, how to express that parallelism in a convenient form, and finally how to implement those parallel expressions on a loosely coupled multicomputer. An example from computational astrophysics is used to illustrate several of the problems and some ad hoc solutions.
- Research Organization:
- Wisconsin Univ., Madison (USA)
- OSTI ID:
- 6341001
- Country of Publication:
- United States
- Language:
- English
Similar Records
Parallelizing programs with recursive data structures
Topological analysis of multibody systems for recursive dynamics formulations
Related Subjects
990210 -- Supercomputers-- (1987-1989)
990220* -- Computers
Computerized Models
& Computer Programs-- (1987-1989)
ARRAY PROCESSORS
DATA PROCESSING
DATA-FLOW PROCESSING
DISTRIBUTED DATA PROCESSING
PARALLEL PROCESSING
PASCAL
PROCESSING
PROGRAMMING
PROGRAMMING LANGUAGES