Occamflow: Programming a multiprocessor system in a high-level data-flow language
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
Similar Records
Transputers and the OCCAM programming language. January 1975-October 1988 (Citations from the INSPEC: Information Services for the Physics and Engineering Communities data base). Report for January 1975-October 1988
Transputers and the OCCAM programming language. November 1988-December 1989 (Citations from the INSPEC: Information Services for the Physics and Engineering Communities data base). Report for November 1988-December 1989