Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Partitioning and allocation of functional programs for data flow processors

Book ·
OSTI ID:5045824

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