Research paperA general approach to solving hardware and software partitioning problem based on evolutionary algorithms☆
Introduction
With the extensive application of embedded systems, hardware and software co-design has become a significant research problem. The hardware is fast to execute, but the cost is high, and it takes more resources. Although the software is slow to execute, the cost is low, and the operation is relatively flexible. According to the requirements, the components in the embedded system are reasonably partitioned software and hardware for execution, which will greatly improve the performance of the entire system. Therefore, hardware/software partitioning (HW/SW)[1] has become a vital problem in hardware-software collaborative design.
Due to the fact that the HW/SW problem is an NP-hard problem [2], when its scale is large, the running speed of determinate algorithms [3], [4], [5], [6]is often very slow. Hence, the determinate algorithms are difficult to satisfy the requirements of the fast solution in practical applications. In recent years, solving large-scale the HW/SW problems based on heuristic algorithms has gradually become a research hotspot, such as Arato et al. [7] proposed a two-dimensional search heuristic algorithm for solving the HW/SW problems. This heuristic makes use of problem-specific knowledge to find high-quality solutions rapidly. Wu et al. [8] regarded the HW/SW problem as an extended 0-1 knapsack problem with communication costs, and proposed a 1D Search Algorithms to solve the problem. Comparing with the method in [7], their approach not only improves the performance of the algorithm, but also reduces the time complexity. Due to the method of Wu in [8] lacks a theory basis, Quan et al. [9] perfected their method. Wang et al. [10] proposed the HEUR algorithm and used it to give a new method for solving the HW/SW problem, in which the communication cost is firstly ignored, the HW/SW problem is transformed a standard 0-1 knapsack problem, whose solution is obtained as a potential solution to the original problem. Then, according to the communication cost, the potential solution is adjusted by tabu search, so as to obtain a feasible solution that satisfies the constraint conditions of HW/SW. Although the HEUR algorithm has greatly improved the quality of the solution than the 1D Search Algorithms [8], tabu search is also very time-consuming in further optimizing the solution when solving large-scale the HW/SW instances. Chen et al. [11] proposed the NodeRank algorithm on the basis of the idea of the Page Rank algorithm. In some cases, the quality of the solutions obtained by NodeRank is better than HEUR. Although many achievements have been made in solving HW/SW problem based on heuristic algorithm, there is still a lack of a fast and effective method to solve it because of its difficulty. At the same time, there is no research report on the general algorithm framework using evolutionary algorithm to solve it quickly. To this end, this paper studies how to use evolutionary algorithms (EAs) [12], [13], [14] to solve the HW/SW problem. Based on an efficient algorithm for handling infeasible solutions of HW/SW, a general algorithm framework for solving HW/SW by using EAs is proposed. On the basis of the framework, GA, BPSO, HBDE, and GTOA were used to solve HW/SW, and the performance of the four algorithms was compared.
Evolutionary algorithm is a kind of heuristic swarm intelligence algorithms, which do not need to calculate derivatives and gradients, do not require the continuity of the objective function, and have inherent implicit parallelism and strong global optimization capabilities [15]. It has been successfully used to solve scheduling problems [16], multi-dimensional knapsack problem [17], set covering problem [18], feature selection problem[19], traveling salesman problem [20], [21] and other combinatorial optimization problems. EAs are generally divided into two categories: one is the discrete evolutionary algorithm that can be directly used to solve combinatorial optimization problems, such as genetic algorithm (GA) [22], ant colony algorithm (ACO) [23], [24], group theory-based optimization algorithms (GTOA) [25], etc.; the other is the continuous evolutionary algorithm, which is suitable for solving numerical optimization problems and cannot be directly used to solve combinatorial optimization problems, such as particle swarm optimization (PSO) [26], differential evolution (DE) [12], [27], grey wolf optimizer (GWO) [28], bat algorithm (BA)[29], [30], multi-heuristic based search method (MHSM)[31] and so on. In order to use continuous evolutionary algorithms to solve binary optimization problems, scholars have proposed many discrete versions of continuous evolutionary algorithms, such as a discrete binary version of the particle swarm optimization (BPSO) [32], binary differential evolution algorithm with hybrid encoding (HBDE) [33], binary artificial algae algorithm (BAAA) [34], binary dragonfly algorithm (BDA) [35], binary-weighted superposition attraction algorithm (BWSA) [36], binary grey wolf optimizer (BGWO) [37], and novel binary artificial bee colony algorithm (BABC) [38], etc. Obviously, the continuous evolutionary algorithm has been successfully used to solve various combinatorial optimization problems, so it is feasible to use it to solve HW / SW. Therefore, in order to give an effective method for solving HW/SW based on EAs, this paper draws lessons from the idea of literature [8] to transform HW/SW into an extended 0/1 knapsack problem with communication cost, and then proposes a new method to solve HW/SW based on EAs.
The remainder of the paper is organized as follows. Section 2 introduces the definition and model of HW/SW. In Section 3, a repair and optimization algorithm by a new greedy strategy is firstly proposed to deal with the infeasible solutions. Then, a general algorithm framework of solving HW/SW based on EAs is proposed. Subsequently, the principles and pseudo-code of GA, BPSO, HBDE, and GTOA are simply described in Section 4. In Section 5, the generation rules and parameter values of different scales of HW/SW instances are introduced firstly. Secondly, the reasonable parameters of each algorithm are given. Finally, comparing and analysing the calculation results that GA, BPSO, HBDE and GTOA for solving the 6 cases of 16 HW/SW instances. Section 6 summarizes the full text and looks forward to future research work.
Section snippets
Definition and mathematical model of HW/SW
The definition of HW/SW is generally described as follows. Let be an undirected graph, where denotes the node set and denotes the edge set. and (or simply and ) represent the software cost and hardware cost of node respectively, while the weight (or simply ) of edge represents the communication cost between nodes and if they are in different partition. is called a hardware/software partition if it is a bipartition of where
General method of solving HW/SW by EAs
In this section, we will study how to use EAs to solve the HW/SW efficiently, and finally give a general algorithm framework for solving HW/SW by EAs. Because HW/SW is a constrained optimization problem, the infeasible solutions will inevitably be generated when using EAs to solve it. For this reason, We treat HW / SW as a special knapsack problem. According to the method of using EAs to deal with the infeasible solutions of knapsack problem, a repair and optimization algorithm, named GROM, for
Four evolutionary algorithms
In order to illustrate the versatility of -HW/SW and the effectiveness of solving HW/SW problem based on EAs, this paper will use four evolutionary algorithms to solve the HW/SW problems according to the -HW/SW framework. Because GA is currently a well-known and important method of evolutionary computing research, and has been used to solve many optimization problems in many fields, we will use GA to solve HW/SW problem. BPSO is a discrete version of PSO, which is suitable for binary
Computational experiments
In this Section, for the convenience of discussion, the algorithm of solving HW/SW by GA, BPSO, HBDE, and GTOA based on the algorithm framework -HW/SW is still called GA, BPSO, HBDE, and GTOA, respectively.
All the calculations in this paper are executed on Lenovo notebook configured with Intel (R) Core (TM) i5-4210 CPU-1.70GHz and 8GB RAM. The operating system is Microsoft Windows 10. All algorithms are implemented by using VC++, and the compilation environment is Code:Blocks 17.12. All
Conclusions and further works
In this paper, a general approach of using EAs to solve HW/SW is proposed. Firstly, a repair and optimization method for the infeasible solution of HW/SW based on greedy strategy is given. Secondly, a general framework for solving the HW/SW using evolutionary algorithms is proposed. Finally, the performance of GA, BPSO, HBDE and GTOA for solving 16 HW/SW instances are compared. The results show that both BPSO and GTOA are the best algorithm for solving HW/SW problem, while HBDE and GA have poor
CRediT authorship contribution statement
Qinglei Zhai: Formal analysis, Investigation, Writing - original draft. Yichao He: Formal analysis, Methodology, Writing - review & editing. Gaige Wang: Conceptualization, Investigation, Validation. Xiang Hao: Visualization, Data curation.
Declaration of Competing Interest
The authors declared that they have no conflicts of interest to this work.
Acknowledgments
We thank Editor-in-Chief and anonymous reviewers whose valuable comments and suggestions help us significantly improve this article. The first author and corresponding authors contributed equally the same to this article which was supported by Natural Science Foundation of Hebei Province (F2020403013), and Funded by Science and Technology Project of Hebei Education Department (ZD2021016).
References (53)
- et al.
On the approximation ability of evolutionary optimization with application to minimum set cover
Artificial Intelligence
(2012) - et al.
Parallel ant colony optimization on multi-core SIMD CPUs
Future Generation Computer Systems
(2018) - et al.
Grey wolf optimizer
Advances in Engineering Software
(2014) - et al.
Binary artificial algae algorithm for multidimensional knapsack problems
Applied Soft Computing
(2016) - et al.
Weighted superposition attraction algorithm for binary optimization problems
Operational Research
(2019) - et al.
A binary grey wolf optimizer for the multidimensional knapsack problem
Applied Soft Computing
(2019) - et al.
Domain decomposition of finite element models utilizing eight meta-heuristic algorithms: A comparative study
Mechanics Based Design of Structures and Machines
(2020) Hardware/Software Co-Design: Principles and Practice
(1997)- et al.
Hardware-software partitioning in embedded system design
IEEE International Symposium on Intelligent Signal Processing
(2003) - et al.
LYCOS: the Lyngby Co-Synthesis System
Design Automation for Embedded Systems
(1997)
An algorithm for hardware/software partitioning using mixed integer linear programming
Design Automation for Embedded Systems
Integer programming for partitioning in software oriented codesign
Hardware-software partitioning and pipelined scheduling of transformative applications
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Comments on “algorithmic aspectsof hardware/software partitioning:1d search algorithms”
IEEE Transactions on Computers
Efficient heuristic and tabu search for hardware/software partitioning
Journal of Supercomputing
NodeRank:An efficient algorithm for hardware/software partitioning
Chinese Journal of Computers
Differential evolution – a simple and efficient heuristic for global optimization over continuous spaces
Journal of Global Optimization
Differential evolution algorithm with strategy adaptation for global numerical optimization
Evolutionary Computation, IEEE Transactions on
Design and applications of discrete evolutionary algorithm based on encoding transformation
Journal of Software
Theoretical analysis and learning algorithms
Discrete fireworks algorithm for single machine scheduling problems
International Journal of Applied Metaheuristic Computing
A hybrid distribution estimation algorithm for solving multidimensional knapsack problem
Control and Decision
A dividing-based many-objectives evolutionary algorithm for large-scale feature selection
Soft Computing
An improved evolutionary algorithm for the traveling salesman problem
Chinese Journal of Computers
Cited by (13)
Modeling and solving of knapsack problem with setup based on evolutionary algorithm
2024, Mathematics and Computers in SimulationSet algebra — based algebraic evolutionary algorithm for binary optimization problems
2023, Applied Soft ComputingA hovering swarm particle swarm optimization algorithm based on node resource attributes for hardware/software partitioning
2024, Journal of SupercomputingTSAR-ILP: Tile-Based, Synchronization-AwaRe ILP Allocating Heterogeneous Platforms for Streaming Applications
2023, IEEE Transactions on Computer-Aided Design of Integrated Circuits and SystemsA survey on binary metaheuristic algorithms and their engineering applications
2023, Artificial Intelligence Review