Hardware Software Partitioning Problem in Embedded System Design Using Particle Swarm Optimization Algorithm

Hardware/software partitioning is a crucial problem in embedded system design. In this paper, we provide an alternative approach to solve this problem using particle swarm optimization (PSO) algorithm. Performance analysis of the proposed scheme with integer linear programming, genetic algorithm and ant colony optimization technique has been compared using standard benchmark datasets, and the computer simulations reveal that the proposed approach outperforms all the meta-heuristic based existing techniques with respect to cumulative runtimes for several runs of the same program. The integer linear programming has been found to yield the optimal solutions, and the proposed swarm scheme yields sub-optimal solution, sufficiently close to the reported results obtained for integer programming.

[1]  Daniel D. Gajski,et al.  Clustering for improved system-level functional partitioning , 1995 .

[2]  Russell C. Eberhart,et al.  A new optimizer using particle swarm theory , 1995, MHS'95. Proceedings of the Sixth International Symposium on Micro Machine and Human Science.

[3]  Frank Vahid Partitioning sequential programs for CAD using a three-step approach , 2002, TODE.

[4]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

[5]  P. Arato,et al.  Hardware-software partitioning in embedded system design , 2003, IEEE International Symposium on Intelligent Signal Processing, 2003.

[6]  Masaharu Imai,et al.  A hardware/software partitioning algorithm for designing pipelined ASIPs with least gate counts , 1996, DAC '96.

[7]  Edward A. Lee,et al.  The Extended Partitioning Problem: Hardware/Software Mapping, Scheduling, and Implementation-bin Selection , 1997, Des. Autom. Embed. Syst..

[8]  Manuel López-Ibáñez,et al.  Ant colony optimization , 2010, GECCO '10.

[9]  Jan Madsen,et al.  Hardware resource allocation for hardware/software partitioning in the LYCOS system , 1998, Proceedings Design, Automation and Test in Europe.

[10]  Henk Corporaal,et al.  Embedded System Design , 2006 .

[11]  Garrison W. Greenwood,et al.  Preference-driven hierarchical hardware/software partitioning , 1999, Proceedings 1999 IEEE International Conference on Computer Design: VLSI in Computers and Processors (Cat. No.99CB37040).

[12]  Ralf Niemann Hardware, software co-design for data flow dominated embedded systems , 1998 .

[13]  Juan Carlos López,et al.  On the hardware-software partitioning problem: System modeling and partitioning techniques , 2003, TODE.

[14]  Gang Wang,et al.  Application partitioning on programmable platforms using the ant colony optimization , 2006, J. Embed. Comput..

[15]  Petru Eles,et al.  System Level Hardware/Software Partitioning Based on Simulated Annealing and Tabu Search , 1997, Des. Autom. Embed. Syst..

[16]  Kang G. Shin,et al.  Period-Based Load Partitioning and Assignment for Large Real-Time Applications , 2000, IEEE Trans. Computers.

[17]  Juan Carlos López,et al.  Constraint-driven system partitioning , 2000, DATE '00.

[18]  G. Nemhauser,et al.  Integer Programming , 2020 .

[19]  Anne Elisabeth Haxthausen,et al.  LYCOS: the Lyngby Co-Synthesis System , 1997, Des. Autom. Embed. Syst..

[20]  Niraj K. Jha,et al.  MOGAC: a multiobjective genetic algorithm for hardware-software cosynthesis of distributed embedded systems , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[21]  Axel Jantsch,et al.  Interactive Hardware-Software Partitioning and Memory Allocation Based on Data Transfer Profiling , 1995 .

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

[23]  Ranga Vemuri,et al.  Hardware software partitioning with integrated hardware design space exploration , 1998, Proceedings Design, Automation and Test in Europe.

[24]  Ranga Vemuri,et al.  MAGELLAN: multiway hardware-software partitioning and scheduling for latency minimization of hierarchical control-dataflow task graphs , 2001, Ninth International Symposium on Hardware/Software Codesign. CODES 2001 (IEEE Cat. No.01TH8571).

[25]  Peter Marwedel,et al.  An Algorithm for Hardware/Software Partitioning Using Mixed Integer Linear Programming , 1997, Des. Autom. Embed. Syst..