Graph Reduction Algorithm for Hardware/Software Partitioning

One of the most crucial steps in the design of embedded systems is Hardware/Software(HW/SW) partitioning, that is, deciding which components of the system should be implemented in hardware and which ones in software. Most formulations of the HW/SW partitioning problem are NP-hard, so most of the research efforts on HW/SW partitioning has focused on developing efficient heuristic. In this paper , we did not committed to finding effective methods of HW/SW partitioning, but focusing on the pre-process for the task graph before the HW/SW partitioning, and to find all the sub-graphs which meet the requirements. Simplification of the original task graph, so that the partitioning will be more accurately and faster, and it also can save the hardware area effectively.

[1]  Qiaoling Tong,et al.  The Hardware/Software Partitioning in Embedded System by Improved Particle Swarm Optimization Algorithm , 2008, 2008 Fifth IEEE International Symposium on Embedded Computing.

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

[3]  José Rui Figueira,et al.  Core problems in bi-criteria {0, 1}-knapsack problems , 2008, Comput. Oper. Res..

[4]  Wu Jigang,et al.  Algorithmic Aspects of Hardware/Software Partitioning: 1D Search Algorithms , 2010, IEEE Transactions on Computers.

[5]  Mohammed Hassan,et al.  A high performance algorithm for scheduling and hardware-software partitioning on MPSoCs , 2009, 2009 4th International Conference on Design & Technology of Integrated Systems in Nanoscal Era.

[6]  Frank Vahid,et al.  Clustering for improved system-level functional partitioning , 1995, Proceedings of the Eighth International Symposium on System Synthesis.

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

[8]  Jörg Henkel,et al.  An approach to automated hardware/software partitioning using a flexible granularity that is driven by high-level estimation techniques , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[9]  Zoltán Ádám Mann,et al.  Algorithmic aspects of hardware/software partitioning , 2005, TODE.

[10]  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).

[11]  Wu Jigang,et al.  Algorithmic aspects for functional partitioning and scheduling in hardware/software co-design , 2008, Des. Autom. Embed. Syst..

[12]  Kemal Efe,et al.  Task scheduling with and without communication delays: A unified approach , 1996 .

[13]  Frank Vahid,et al.  Dynamic hardware/software partitioning: a first approach , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[14]  Augusto Sampaio,et al.  A Constructive Approach to Hardware/Software Partitioning , 2004, Formal Methods Syst. Des..

[15]  Wu Jigang,et al.  Low-complex dynamic programming algorithm for hardware/software partitioning , 2006, Inf. Process. Lett..

[16]  Shiann-Rong Kuang,et al.  Partitioning and Pipelined Scheduling of Embedded System Using Integer Linear Programming , 2005, 11th International Conference on Parallel and Distributed Systems (ICPADS'05).