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. 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. In this paper, first we show how to apply the method to application-specific systems with bus-style interconnection between the processors. We further demonstrate how to extend the method to deal with memory costs explicitly. Several experiments were performed with the original as well as the extended MILP models. These results indicate that it is important to include memory costs explicitly at design time.

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

[2]  Alice C. Parker,et al.  Synthesis of Application-Specific Heterogeneous Multiprocessor Systems , 1992, [1992] Proceedings the 19th Annual International Symposium on Computer Architecture.

[3]  Imtiaz Ahmad,et al.  Synthesis of application-specific multiprocessor systems , 1994, Proceedings of European Design and Test Conference EDAC-ETC-EUROASIC.

[4]  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.

[5]  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..

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

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

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

[9]  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..

[10]  Catherine E. Houstis,et al.  Module Allocation of Real-Time Applications to Distributed Systems , 1987, IEEE Trans. Software Eng..

[11]  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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[28]  Alice C. Parker,et al.  A Formal Method for the Specification, Analysis, and Design of Register-Transfer Level Digital Logic , 1981, 18th Design Automation Conference.

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

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

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

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