Partitioning and allocation of functional programs for data flow processors
This thesis seeks to demonstrate the viability of High Level Data Flow Architectures which utilize a number of high performance uniprocessors. Data flow techniques are applied at an optimal level of granularity instead of the fine grain granularity of conventional data flow machines. Programs written in the Functional Programming Language (FPL) are analyzed to extract a program graph with fine grain parallelism. By symbolic interpretation and resolution of functional forms the authors obtain a data flow graph. A criterion is established for the reduction of the fine grain graph to obtain a task graph which exploits the appropriate degree of parallelism. The reduced graphs are partitioned based on critical paths, which are the longest paths in the graph. Partitioning according to critical paths allows us to give priority to tasks on the critical path. An algorithm for the allocation of partitions to the given number of processors has been developed. The allocation algorithm is a heuristic algorithm for static allocation. Finally the authors study the performance of the allocation algorithm and observe the speed-up obtained by increasing the number of processors. They also observed an improvement in performance when only appropriate degrees of parallelism are extracted instead of complete parallelism.
- OSTI ID:
- 5045824
- Country of Publication:
- United States
- Language:
- English
Similar Records
Evaluation of the heuristic approach for program partitioning and allocation using an expert system
Allocation for the SANDAC multiprocessor system
Related Subjects
990200 -- Mathematics & Computers
990210* -- Supercomputers-- (1987-1989)
ALGORITHMS
ARRAY PROCESSORS
DATA-FLOW PROCESSING
FUNCTIONS
MATHEMATICAL LOGIC
PARALLEL PROCESSING
PARTITION FUNCTIONS
PERFORMANCE TESTING
PROGRAMMING
PROGRAMMING LANGUAGES
TECHNOLOGY IMPACTS
TESTING