Optimal algorithms for synthesis of reliable application-specific heterogeneous multiprocessors

Fast and optimally-reliable application-specific multiprocessor-synthesis is critical in system-level design, especially in medical, automotive, space, and military applications. Previous work in multiprocessor-synthesis and task-allocation for performance and reliability requires exponential time, and therefore, is useful only for small examples. We present the first deterministic and provably-optimal algorithm (RELSYN-OPT) to synthesize real-time, reliable multiprocessors using a heterogeneous library of N processors and L link types. We prove that for a series-parallel graph with M subtasks and nested-depth d, the worst-case computational complexity of RELSYN-OPT Is O(M/spl middot/(L+N)/spl middot/N/sup d/). For tree-structured task graphs, RELSYN-OMT runs in O(M/spl middot/(L+N)), and is asymptotically optimum, RELSYN-OPT, because of its speed, applies to static and dynamic task allocation for an ultra-reliable distributed processing environment for which, until now, research has produced only suboptimal heuristic solutions.

[1]  Daniel Gajski,et al.  Design Tools for Intelligent Silicon Compilation , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  Alain Billionnet Allocating Tree Structured Programs in a Distributed System with Uniform Communication Costs , 1994, IEEE Trans. Parallel Distributed Syst..

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

[4]  Haidar Harmanani,et al.  A data path synthesis method for self-testable designs , 1991, 28th ACM/IEEE Design Automation Conference.

[5]  Vivek Sarkar,et al.  Partitioning and Scheduling Parallel Programs for Multiprocessing , 1989 .

[6]  Victor P. Nelson Fault-tolerant computing: fundamental concepts , 1990, Computer.

[7]  Pierre G. Paulin,et al.  Force-directed scheduling for the behavioral synthesis of ASICs , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

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

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

[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]  Salim Hariri,et al.  Reliability Optimization in the Design of Distributed Systems , 1985, IEEE Transactions on Software Engineering.

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

[14]  C. A. Papachristou,et al.  Rescheduling transformations for high level synthesis , 1989, IEEE International Symposium on Circuits and Systems,.

[15]  Zhongxiu Shi Reliability analysis and synthesis of robot manipulators , 1994, Proceedings of Annual Reliability and Maintainability Symposium (RAMS).

[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]  Ramesh Karri,et al.  High-Level Synthesis of Fault-Secure Microarchitectures , 1993, 30th ACM/IEEE Design Automation Conference.