HW/ SW Partitioning Algorithms for Multi-objective Optimization in Embedded Systems

One of the most crucial steps in the design of modern Embedded Systems (ES) is the partitioning the system’s functionalities between the hardware (HW) blocks and the software (SW) blocks. The process of hardware software partitioning (HSP) is driven by several non functional requirements factors. Several works studied the influence of the execution time and the hardware area (cost) factors while dealing with the HSP problem; other works included also the power consumption factor. This article gives a study the HSP problem while considering several factors (ES metrics) and presents two approaches to solve the problem. The first approach has the objective of optimizing simultaneously a number of metrics while respecting a constraint on the global hardware area (cost metric), this approach is implemented using 0-1 Knapsack Problem (KP) algorithm; experimental results show that the algorithm is very fast and gives more reliable solutions comparing to well-known algorithms such as the Genetic Algorithm (GA) and the Simulated Annealing (SA) algorithm. The second approach aims to optimize the hardware cost while respecting given constraints on the other metrics; the proposed approach is based on Balas method.

[1]  Cong Wang,et al.  Hardware/Software Partitioning Algorithm Based on Genetic Algorithm , 2014, J. Comput..

[2]  Petru Eles,et al.  Hardware/software partitioning with iterative improvement heuristics , 1996, Proceedings of 9th International Symposium on Systems Synthesis.

[3]  Markus Rupp,et al.  Novel Genome Coding of Genetic Algorithms for the System Partitioning Problem , 2007, 2007 International Symposium on Industrial Embedded Systems.

[4]  Javier Resano,et al.  A Hardware/Software Partitioning and Scheduling Approach for Embedded Systems with Low-Power and High Performance Requirements , 2003, PATMOS.

[5]  Witold Pedrycz,et al.  Genetic algorithms for hardware-software partitioning and optimal resource allocation , 2007, J. Syst. Archit..

[6]  Jan Madsen,et al.  PACE: a dynamic programming algorithm for hardware/software partitioning , 1996, Proceedings of 4th International Workshop on Hardware/Software Co-Design. Codes/CASHE '96.

[7]  Jishun Kuang,et al.  Application of Improved Simulated Annealing Optimization Algorithms in Hardware/Software Partitioning of the Reconfigurable System-on-Chip , 2013, ParCo 2013.

[8]  Wu Jigang,et al.  Algorithms for bi-objective multiple-choice hardware/software partitioning , 2016, Comput. Electr. Eng..

[9]  Li Wang,et al.  Power Efficiency for Hardware/Software Partitioning with Time and Area Constraints on MPSoC , 2013, International Journal of Parallel Programming.

[10]  Tulika Mitra,et al.  Defining neighborhood relations for fast spatial-temporal partitioning of applications on reconfigurable architectures , 2008, 2008 International Conference on Field-Programmable Technology.

[11]  M. Montaz Ali,et al.  A Tabu Search-Based Memetic Algorithm for Hardware/Software Partitioning , 2014 .

[12]  Srikanthan Thambipillai,et al.  A branch-and-bound algorithm for hardware/software partitioning , 2004, Proceedings of the Fourth IEEE International Symposium on Signal Processing and Information Technology, 2004..

[13]  Markus Rupp,et al.  HW/SW Partitioning Using High Level Metrics , 2004 .

[14]  Mehdi Kamal,et al.  HW/SW partitioning using discrete particle swarm , 2007, GLSVLSI '07.

[15]  Wu Jigang,et al.  Efficient heuristic and tabu search for hardware/software partitioning , 2013, The Journal of Supercomputing.

[16]  Wu Jigang,et al.  New Model and Algorithm for Hardware/Software Partitioning , 2008, Journal of Computer Science and Technology.

[17]  Li Tao Hardware/software partitioning based on greedy algorithm and simulated annealing algorithm , 2013 .

[18]  Nikil Dutt,et al.  Very fast Simulated Annealing for HW-SW partitioning , 2004 .

[19]  S. Prakasam,et al.  A novel bat inspired algorithm for hardware-software codesign partitioning , 2016 .