Chapter

PARLE Parallel Architectures and Languages Europe

Volume 258 of the series Lecture Notes in Computer Science pp 134-151

Date:

Multiprocessor systems programming in a high-level data-flow language

  • J. L. GaudiotAffiliated withComputer Research Institute Department of Electrical Engineering — Systems, University of Southern California
  • , L. T. LeeAffiliated withComputer Research Institute Department of Electrical Engineering — Systems, University of Southern California

Abstract

The data-flow model of computation is an attractive methodology for multiprocessor programming for it offers the potential for unlimited parallelism detection at no programmer's expense. It is here applied to a distributed architecture based on a commercially available microprocessor (the Inmos Transputer). In this project, we have integrated the high-level data driven principles of scheduling within the Transputer architecture so as to provide high programmability of our multicomputer system. A complete programming environment which translates a complex data-flow program graph into occam has been developed and is presented in this paper. We here describe in detail the mapping from the SISAL high-level constructs into the low-level mechanisms of the Transputer (synchronization, structure representation, etc.). 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 our programming environment. Finally, we present and analyze graph allocation and optimization schemes to improve the performance of the resulting occam program.