Automated processor specification and task allocation for embedded multicomputer systems: The packing-based approaches

This paper considers the coupled design problems of processor specification and task allocation for embedded multicomputer systems. A packing-based representation is proposed that allows the problems to be solved concurrently. An algorithm based on this representation is described that utilizes a new heuristic packing technique coupled with an incremental design advisor. This algorithm, named IDAT, was benchmarked 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 search, heuristic and simulated annealing approaches. For all test cases, the IDAT algorithm was found to generate near-optimal solutions with up to three orders of magnitude improvement in run-time compared to the baseline algorithms.

[1]  Albert T. Kündig A Note on the Meaning of "Embedded Systems" , 1986, Embedded Systems.

[2]  Prabhakar Raghavan,et al.  Multidimensional on-line bin packing: Algorithms and worst-case analysis , 1989 .

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

[4]  Jacob A. Abraham,et al.  Load Balancing in Distributed Systems , 1982, IEEE Transactions on Software Engineering.

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

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

[7]  János Csirik,et al.  An on-line algorithm for multidimensional bin packing , 1993, Oper. Res. Lett..

[8]  Richard M. Karp,et al.  A probabilistic analysis of multidimensional bin packing problems , 1984, STOC '84.

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

[10]  Francine Berman,et al.  On Mapping Parallel Algorithms into Parallel Architectures , 1987, J. Parallel Distributed Comput..

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

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

[13]  Luciano Lavagno,et al.  Hardware-software codesign of embedded systems , 1994, IEEE Micro.

[14]  Gerhard J. Woeginger,et al.  A Lower Bound for On-Line Vector-Packing Algorithms , 1993, Acta Cybern..

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

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

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

[18]  Timothy G. Saponas A Real-Time Distributed Processing System , 1986, RTSS.

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

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

[21]  Daniel P. Siewiorek,et al.  A case study in embedded-system design: The VuMan 2 wearable computer , 1993, IEEE Design & Test of Computers.

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

[23]  Kurt Keutzer Hardware-Software Co-Design and ESDA , 1994, 31st Design Automation Conference.

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

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

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

[27]  Edward A. Lee,et al.  A hardware-software codesign methodology for DSP applications , 1993, IEEE Design & Test of Computers.

[28]  J. B. G. Frenk,et al.  On the multidimensional vector bin packing , 1990, Acta Cybern..

[29]  H. T. Kung,et al.  The design of nectar: a network backplane for heterogeneous multicomputers , 1989, ASPLOS 1989.

[30]  Mohan S. Kankanhalli,et al.  Multidimensional On-Line Bin-Packing: An Algorithm and its Average-Case Analysis , 1993, Inf. Process. Lett..

[31]  Giovanni De Micheli,et al.  Computer-aided hardware-software codesign , 1994, IEEE Micro.

[32]  H. T. Kung,et al.  Network-based multicomputers: an emerging parallel architecture , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

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

[34]  Wayne H. Wolf,et al.  Tutorial on embedded system design , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.