3 research outputs found
Hardware/software partitioning of streaming applications for multi-processor system-on-chip
Hardware/software (HW/SW) co-design has emerged as a crucial and integral part in the development of various embedded applications. Moreover, the increases in the number of embedded multimedia and medical applications make streaming throughput an important attribute of Multi-Processor System-on-Chip (MPSoC). As an important development step, HW/SW partitioning affects the system performance. This paper formulates the optimization of HW/SW partitioning aiming at maximizing streaming throughput with predefined area constraint, targeted for multi-processor system with hardware accelerator sharing capability. Software-oriented and hardware-oriented greedy heuristics for HW/SW partitioning are proposed, as well as a branch-and-bound algorithm with best-first search that utilizes greedy results as initial best solution. Several random graphs and two multimedia applications (JPEG encoder and MP3 decoder) are used for performance benchmarking against brute force ground truth. Results show that the proposed greedy algorithms produce fast solutions which achieve 87.7% and 84.2% near-optimal solution respectively compared to ground truth result. With the aid of greedy result as initial solution, the proposed branch-and-bound algorithm is able to produce ground truth solution up to 2.4741e+8 times faster in HW/SW partitioning time compared to exhaustive brute force method
A Tabu Search-Based Memetic Algorithm for Hardware/Software Partitioning
Hardware/software (HW/SW) partitioning is to determine which components
of a system are implemented on hardware and which ones on software. It is one of the most
important steps in the design of embedded systems. The HW/SW partitioning problem is an
NP-hard constrained binary optimization problem. In this paper, we propose a tabu search-based
memetic algorithm to solve the HW/SW partitioning problem. First, we convert the
constrained binary HW/SW problem into an unconstrained binary problem using an adaptive
penalty function that has no parameters in it. A memetic algorithm is then suggested
for solving this unconstrained problem. The algorithm uses a tabu search as its local search
procedure. This tabu search has a special feature with respect to solution generation, and
it uses a feedback mechanism for updating the tabu tenure. In addition, the algorithm integrates
a path relinking procedure for exploitation of newly found solutions. Computational
results are presented using a number of test instances from the literature. The algorithm
proves its robustness when its results are compared with those of two other algorithms. The
effectiveness of the proposed parameter-free adaptive penalty function is also shown
Algorithmic aspects for multiple-choice hardware/software partitioning
Hardware–software partitioning (HW/SW) divides an application into software and hardware. It is one of the crucial steps in embedded system design. For a given task, hardware with different areas may provide different execution speeds due to the potential of parallel execution in hardware implementation. Thus, one task may have multiple-choice in hardware implementation according to the available hardware areas. Existing HW/SW partitioning approaches typically consider only a single implementation manner in hardware, overlooking the multiple-choice of hardware implementations. This paper presents a computing model to cater for the HW/SW partitioning problems with the multiple-choice implementation in hardware. An efficient heuristic algorithm is proposed to rapidly generate approximate solution, that is further refined by a tabu search algorithm also customized in this paper. Moreover, a dynamic programming algorithm is proposed for the exact solution of the relatively small problems. Extensive simulation results show that the approximate solutions are very close to the exact ones, and they can be refined by tabu search to the solutions with the error no more than 1.5% for all cases considered in this paper