Hardware/Software Partitioning for Heterogenous MPSoC Considering Communication Overhead

Hardware/software partitioning (HSP) is an important step in the co-design of hardware/software. This paper addresses the problem of HSP with communication (HSPC) on heterogeneous multiprocessor system-on-chip (MPSoC). The classic HSP is modeled as an optimization problem with an objective of minimizing the finishing time in system under the hardware area constraints. First, we put forward an optimal method, integer linear programming (ILP) algorithm, for solving the problem for small inputs. Then, we propose two other algorithms using dynamic programming (DP) method, i.e., Optimal Tree Partitioning (OTP) method for tree-structured graphs and Tree Cover Partitioning (TCP) algorithm for general graphs in polynomial time. The overall performance of the proposed algorithms is evaluated through comparisons with that of a genetic algorithm (GA) and a greedy algorithm which are commonly used to solve HSP problem. We have conducted experimental performance evaluation on various benchmarks with different combinations of computation to communication ratios and hardware area constraints. The experimental results show that OTP algorithm can generate optimal solutions with much faster speed than ILP, and TCP algorithm can obtain near-optimum with higher quality than those produced by GA and greedy algorithm.

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

[2]  Kenli Li,et al.  An optimized MapReduce workflow scheduling algorithm for heterogeneous computing , 2016, The Journal of Supercomputing.

[3]  Ahmed Amine Jerraya,et al.  Multiprocessor System-on-Chip (MPSoC) Technology , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[4]  Kenli Li,et al.  Scheduling Precedence Constrained Stochastic Tasks on Heterogeneous Cluster Systems , 2015, IEEE Transactions on Computers.

[5]  Krzysztof Kuchcinski,et al.  An algorithm for partitioning of application specific systems , 1993, 1993 European Conference on Design Automation with the European Event in ASIC Design.

[6]  Kenli Li,et al.  A self-adaptive scheduling algorithm for reduce start time , 2015, Future Gener. Comput. Syst..

[7]  Jürgen Teich,et al.  Approximate time functional simulation of resource-aware programming concepts for heterogeneous MPSoCs , 2012, 17th Asia and South Pacific Design Automation Conference.

[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]  Wu Jigang,et al.  Algorithmic Aspects of Hardware/Software Partitioning: 1D Search Algorithms , 2010, IEEE Transactions on Computers.

[11]  Kenli Li,et al.  A Hybrid Chemical Reaction Optimization Scheme for Task Scheduling on Heterogeneous Computing Systems , 2015, IEEE Transactions on Parallel and Distributed Systems.

[12]  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..

[13]  Samee Ullah Khan,et al.  An Energy-Efficient Task Scheduling Algorithm in DVFS-enabled Cloud Environment , 2015, Journal of Grid Computing.

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

[15]  Zebo Peng,et al.  A design representation for hardware/software co-synthesis , 1994, Proceedings of Twentieth Euromicro Conference. System Architecture and Integration.

[16]  Kenli Li,et al.  CRFs based parallel biomedical named entity recognition algorithm employing MapReduce framework , 2015, Cluster Computing.

[17]  Jürgen Teich,et al.  Hardware/Software Codesign: The Past, the Present, and Predicting the Future , 2012, Proceedings of the IEEE.

[18]  Wayne H. Wolf,et al.  TGFF: task graphs for free , 1998, Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98).

[19]  Niraj K. Jha,et al.  COFTA : Hardware-Software Co-Synthesis of Heterogeneous Distributed Embedded Systems for Low Overhead Fault Tolerance , 1999 .

[20]  Kenli Li,et al.  A genetic algorithm for task scheduling on heterogeneous computing systems using multiple priority queues , 2014, Inf. Sci..

[21]  Wu Jigang,et al.  A Hybrid Branch-and-Bound Strategy for Hardware/Software Partitioning , 2009, 2009 Eighth IEEE/ACIS International Conference on Computer and Information Science.

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

[23]  Krzysztof Kuchcinski,et al.  Automated transformation of algorithms into register-transfer level implementations , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[24]  Niraj K. Jha,et al.  COSYN: Hardware-software co-synthesis of heterogeneous distributed embedded systems , 1999, IEEE Trans. Very Large Scale Integr. Syst..

[25]  Li Shang,et al.  SLOPES: Hardware–Software Cosynthesis of Low-Power Real-Time Distributed Embedded Systems With Dynamically Reconfigurable FPGAs , 2007, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[26]  Cristiana Bolchini,et al.  Reliability-Driven System-Level Synthesis for Mixed-Critical Embedded Systems , 2013, IEEE Transactions on Computers.

[27]  Li Wang,et al.  Efficient Task Assignment on Heterogeneous Multicore Systems Considering Communication Overhead , 2012, ICA3PP.

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

[29]  Lucas C. Cordeiro,et al.  Applying SMT-based verification to hardware/software partitioning in embedded systems , 2016, Des. Autom. Embed. Syst..

[30]  Kenli Li,et al.  Energy-Efficient Stochastic Task Scheduling on Heterogeneous Computing Systems , 2014, IEEE Transactions on Parallel and Distributed Systems.

[31]  Nikil D. Dutt,et al.  Integrating Physical Constraints in HW-SW Partitioning for Architectures With Partial Dynamic Reconfiguration , 2006, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[32]  Niraj K. Jha,et al.  COHRA: hardware-software cosynthesis of hierarchical heterogeneous distributed embedded systems , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[33]  Theerayod Wiangtong,et al.  Comparing Three Heuristic Search Methods for Functional Partitioning in Hardware–Software Codesign , 2002, Des. Autom. Embed. Syst..