Simulated annealing applied to multicomputer task allocation and processor specification

This paper considers the design problems of processor specification and task allocation for embedded computer systems. A partitioning-based representation is proposed that allows these problems to be solved concurrently. An algorithm based on this representation is described that utilizes simulated annealing coupled with a heuristic processor specification technique. This algorithm, named SA2, is compared against three baseline algorithms on a combination of real and synthetic test cases with respect to two figures of merit: hardware cost and run-time. The real test cases are based on commercially developed automotive electronic applications and the baseline algorithms represent a mixture of heuristic approaches with varying degrees of sophistication. For all test cases, SA2 is found to generate near optimal solutions, and the relative trade-off between solution quality and run-time exhibited by the algorithms is quantified and analyzed.

[1]  Myunghwan Kim,et al.  An efficient k-way graph partitioning algorithm for task allocation in parallel computing systems , 1990, Systems Integration '90. Proceedings of the First International Conference on Systems Integration.

[2]  Shahid H. Bokhari,et al.  Control of Distributed Processes , 1978, Computer.

[3]  A. O. Fernandes,et al.  Hardware-software codesign of embedded systems , 1998, Proceedings. XI Brazilian Symposium on Integrated Circuit Design (Cat. No.98EX216).

[4]  Daniel P. Siewiorek,et al.  Automated Synthesis of Data Paths in Digital Systems , 1986, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[5]  John P. Lehoczky,et al.  The rate monotonic scheduling algorithm: exact characterization and average case behavior , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[6]  W. Rosenstiel,et al.  A method for hardware software partitioning , 1992, CompEuro 1992 Proceedings Computer Systems and Software Engineering.

[7]  Jörg Henkel,et al.  Hardware-software cosynthesis for microcontrollers , 1993, IEEE Design & Test of Computers.

[8]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[9]  R. M. Mattheyses,et al.  A Linear-Time Heuristic for Improving Network Partitions , 1982, 19th Design Automation Conference.

[10]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[11]  Virginia Mary Lo,et al.  Heuristic Algorithms for Task Assignment in Distributed Systems , 1988, IEEE Trans. Computers.

[12]  Huang,et al.  AN EFFICIENT GENERAL COOLING SCHEDULE FOR SIMULATED ANNEALING , 1986 .

[13]  Donald E. Thomas,et al.  Architectural partitioning for system level synthesis of integrated circuits , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[15]  Charles L. Seitz,et al.  Multicomputers: message-passing concurrent computers , 1988, Computer.

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

[17]  S.,et al.  An Efficient Heuristic Procedure for Partitioning Graphs , 2022 .

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

[19]  Jean-Luc Gaudiot,et al.  Program graph allocation in distributed multicomputers , 1988, Parallel Comput..

[20]  Giovanni De Micheli,et al.  Hardware-software cosynthesis for digital systems , 1993, IEEE Design & Test of Computers.

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

[22]  Alain Billionnet,et al.  An efficient algorithm for a task allocation problem , 1992, JACM.

[23]  Ranga Vemuri,et al.  Data flow graph partitioning to reduce communication cost , 1986, MICRO 19.

[24]  Herman Schmit,et al.  A Model and Methodology for Hardware-Software Codesign , 1993, IEEE Des. Test Comput..

[25]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

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