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

Occamflow: Programming a multiprocessor system in a high-level data-flow language

Thesis/Dissertation ·
OSTI ID:6093689

The purpose of these research efforts as described in this thesis is to investigate software methodologies for programming multiprocessor systems by using a data-driven approach to solve the problem of runtime scheduling. Indeed, the data-flow model of computation is an attractive methodology for multiprocessor programming for it offers the potential for virtually unlimited parallelism detection at little or no programmer's expense. It is here applied to a distributed architecture based on a commercially available microprocessor (the Inmos Transputer). The author has integrated the high-level data driven principles of scheduling within the Transputer architecture so as to provide high programmability of our multicomputer system. A programming environment which translates a complex data--flow program graph into occam has been developed and is presented in this thesis. He describes here in detail the mapping from the SISAL high-level constructs into the low-level mechanisms of the Transputer. Several features such as synchronization among different processes, array handling scheme, function call mechanism, and routing process are implemented and discussed. The partitioning issues (granularity of the graph) are presented and several solutions based upon both data-flow analysis (communication costs) and program syntax (program structure) are proposed and have been implemented in the programming environment. For evaluating the performance of the overall system, are applied several benchmark programs to run on our Transputer network.

Research Organization:
University of Southern California, Los Angeles, CA (USA)
OSTI ID:
6093689
Country of Publication:
United States
Language:
English