A Comparison of Different Optimization Algorithms for HW/SW Partitioning Using a High-Performance Cluster
Samah Rahamneh, Alvis C. M. Fong, Lina Sawalha · 2021
Hardware/Software (HW/SW) co-design exploits the synergy between software and hardware to fulfill system design constraints. System designers have utilized diverse optimization algorithms to set boundaries between software and hardware. Discrete Particle Swarm Optimization (DPSO) and Genetic Algorithm (GA) are efficient meta-heuristic algorithms for HW/SW partitioning. However, these algorithms might suffer from premature convergence. Moreover, the accuracy and the speed of convergence of PSO depend on control parameters, which might vary among different applications. In this work, we extended DPSO and GA with distributed greedy local search mechanisms that improve the performance of DPSO and GA. We also tuned the acceleration parameters of DPSO using a neural network. We partitioned real-world applications implemented using OpenCL nd Intel’s Hardware Research Acceleration Program (HARP) infrastructure. The results show that DPSO with tuned parameters improves the accuracy of DPSO by up to 62.8%, and its execution time by up to 29%. On the other hand, local search-based DPSO improves the accuracy of DPSO by up to 55.4%, and the local search-based GA improves the accuracy of GA by up to 82.6%. However, the local search-based technique increases the execution time of the algorithm.