SOS: Synthesis of application-specific heterogeneous multiprocessor systems

This paper describes a formal synthesis approach to design of optimal application-specific heterogeneous multiprocessor systems. The method generates a static task execution schedule along with the structure of the multiprocessor system and a mapping of subtasks to processors. The approach itself is quite general, but its application is demonstrated with a specific style of design. The approach involves creation of a Mixed Integer-Linear Programming (MILP) model and solution of the model. A primary component of the model is the set of relations that must be satisfied to ensure proper ordering of various events in the task execution as well as to ensure completeness and correctness of the system. Several experiments and tradeoff studies have been performed using the approach. These results indicate that the approach can be useful tool in designing application-specific multiprocessor systems.

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

[2]  Ronald L. Graham,et al.  Performance Guarantees for Scheduling Algorithms , 1978, Oper. Res..

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

[4]  Kemal Efe,et al.  Heuristic Models of Task Assignment Scheduling in Distributed Systems , 1982, Computer.

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

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

[7]  Harold S. Stone,et al.  Assignment of Tasks in a Distributed Processor System with Limited Memory , 1979, IEEE Transactions on Computers.

[8]  Shiv Prakash GUIDING DESIGN DECISIONS IN RT-LEVEL LOGIC SY NTHESlS , 1987 .

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

[10]  T. C. Hu Parallel Sequencing and Assembly Line Problems , 1961 .

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

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

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

[14]  Sun-Yuan Kung,et al.  On supercomputing with systolic/wavefront array processors , 1984 .

[15]  Emile K. Haddad Analysis, Modeling and Optimization of Multiprocessing Execution Time , 1989 .

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

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

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

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

[20]  David M. Nicol,et al.  Optimal Partitioning of Random Programs Across two Processors , 1989, IEEE Trans. Software Eng..

[21]  Alice C. Parker,et al.  The high-level synthesis of digital systems , 1990, Proc. IEEE.

[22]  Peter J. Denning,et al.  Operating Systems Theory , 1973 .

[23]  Yu-Chin Hsu,et al.  A formal approach to the scheduling problem in high level synthesis , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

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

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

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

[28]  H. V. Jagadish,et al.  Partitioning Techniques for Large-Grained Parallelism , 1988, IEEE Trans. Computers.

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

[30]  Masahiro Tsuchiya,et al.  A Task Allocation Model for Distributed Computing Systems , 1982, IEEE Transactions on Computers.

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

[32]  Benjamin W. Wah,et al.  The Design of Optimal Systolic Arrays , 1985, IEEE Transactions on Computers.

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

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

[35]  Louis J. Hafer,et al.  Constraint improvements for MILP-based hardware synthesis , 1991, 28th ACM/IEEE Design Automation Conference.