Synthesis of application-specific multiprocessor systems including memory components

Heterogeneous systems have the potential to achieve enhanced performance as well as cost-effectiveness over homogeneous systems when the application domain is known since they can match the problem structure more closely. It would be useful to have systematic methods for designing such systems for given applications. A formal design method, SOS, has been developed which can be used to synthesize optimal heterogeneous systems for given applications. The method involves creation of a mixed integer-linear programming (MILP) model and solution of the model. The method has been extended to deal with memory costs explicitly, and the extended MILP model is presented. Several experiments were performed with the original as well as the extended MILP model. These results indicate that it is important to include memory costs explicitly at design time.<<ETX>>

[1]  C. E. Houstics Module allocation of real-time applications to distributed systems , 1990 .

[2]  Frank D. Anger,et al.  Scheduling Precedence Graphs in Systems with Interprocessor Communication Times , 1989, SIAM J. Comput..

[3]  Alice C. Parker,et al.  Unified System Construction (USC) , 1991 .

[4]  Yu-Chin Hsu,et al.  Optimum and heuristic data path scheduling under resource constraints , 1991, DAC '90.

[5]  Alice C. Parker,et al.  SOS: Synthesis of application-specific heterogeneous multiprocessor systems , 2001, J. Parallel Distributed Comput..

[6]  Alice C. Parker,et al.  A Formal Method for the Specification, Analysis, and Design of Register-Transfer Level Digital Logic , 1983, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[7]  Mayez A. Al-Mouhamed,et al.  Lower Bound on the Number of Processors and Time for Scheduling Precedence Graphs with Communication Costs , 1990, IEEE Trans. Software Eng..

[8]  Emile K. Haddad,et al.  Optimal Load Allocation for Parallel and Distributed Processing , 1989 .

[9]  Hironori Kasahara,et al.  Practical Multiprocessor Scheduling Algorithms for Efficient Parallel Processing , 1984, IEEE Transactions on Computers.

[10]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[11]  Eduardo B. Fernández,et al.  Bounds on the Number of Processors and Time for Multiprocessor Optimal Schedules , 1973, IEEE Transactions on Computers.

[12]  K. Mani Chandy,et al.  A comparison of list schedules for parallel processing systems , 1974, Commun. ACM.

[13]  Bipin Indurkhya,et al.  Optimal partitioning of randomly generated distributed programs , 1986, IEEE Transactions on Software Engineering.

[14]  Wesley W. Chu,et al.  Task Allocation in Distributed Data Processing , 1980, Computer.

[15]  Dan I. Moldovan,et al.  Parallelism detection and transformation techniques useful for VLSI algorithms , 1985, J. Parallel Distributed Comput..

[16]  Shahid H. Bokhari,et al.  A Shortest Tree Algorithm for Optimal Assignments Across Space and Time in a Distributed Processor System , 1981, IEEE Transactions on Software Engineering.

[17]  Hesham El-Rewini,et al.  Scheduling Parallel Program Tasks onto Arbitrary Target Machines , 1990, J. Parallel Distributed Comput..

[18]  Richard F. Freund Superconcurrent Processing - A Dynamic Approach to Heterogeneous Parallelism , 1990 .

[19]  Alice C. Parker,et al.  Synthesis of application-specific multiprocessor architectures , 1991, 28th ACM/IEEE Design Automation Conference.

[20]  Emile Haddad Partitioned Load Allocation for Minimum Parallel Processing Execution Time , 1989, ICPP.

[21]  Talukdar,et al.  Task scheduling on multiprocessors , 1982 .

[22]  Harold S. Stone,et al.  Multiprocessor Scheduling with the Aid of Network Flow Algorithms , 1977, IEEE Transactions on Software Engineering.

[23]  Rajiv Jain,et al.  Experience with the ADAM Synthesis System , 1989, 26th ACM/IEEE Design Automation Conference.

[24]  Shahid H. Bokhari,et al.  Partitioning Problems in Parallel, Pipelined, and Distributed Computing , 1988, IEEE Trans. Computers.

[25]  Edward A. Lee,et al.  Architectures for Statically Scheduled Dataflow , 1990, J. Parallel Distributed Comput..

[26]  Richard F. Freund,et al.  Superconcurrency: A Form of Distributed Heterogeneous Supercomputing , 1991 .

[27]  Harold S. Stone,et al.  Critical Load Factors in Two-Processor Distributed Systems , 1978, IEEE Transactions on Software Engineering.

[28]  Alice C. Parker,et al.  A Design Method for Optimal Synthesis of Application-Specific Heterogeneous Multiprocessor Systems , 1992, Proceedings. Workshop on Heterogeneous Processing.

[29]  Wesley W. Chu,et al.  Task Allocation and Precedence Relations for Distributed Real-Time Systems , 1987, IEEE Transactions on Computers.

[30]  Chien-Chung Shen,et al.  A Graph Matching Approach to Optimal Task Assignment in Distributed Computing Systems Using a Minimax Criterion , 1985, IEEE Trans. Computers.