Abstract
Hardware/software partitioning is a crucial step in the co-design of embedded system. It can not only shorten the R&D cycle, but also improve the performance of the product. In the co-design of embedded system, the hardware/software partitioning algorithm plays the most important role and many heuristic algorithms have been applied to solve this problem. In this paper, we introduce a novel swarm intelligence optimization algorithm called firework algorithm (FWA) and apply it to hardware/software partitioning. In order to improve the optimization accuracy and decrease the time consumed, operators in the conventional FWA are analyzed and their disadvantages are revealed. Then these operators are modified and an improved version of the conventional FWA called improved firework algorithm (IFWA) is proposed. To avoid overwhelming effects, the IFWA provides an innovative calculation of explosion amplitude and spark’s number by setting up dynamic boundaries. Besides, according to grouping and elite strategy, a new selection strategy is put forward to accelerate the convergence speed of the algorithm. Experiments on 8 instances of hardware/software partitioning are conducted in order to illustrate the performance of the proposed algorithm. Experimental results show that the IFWA outperforms significantly the FWA and several other heuristic algorithms in terms of optimization accuracy, time consumed, and convergence speed.



Similar content being viewed by others
Explore related subjects
Discover the latest articles and news from researchers in related subjects, suggested using machine learning.References
Youness H, Hussein A, Mahfoz A (2015) A new hardware/software partitioning technique. In: 2015 Tenth International conference on computer engineering systems (ICCES), pp 113–118
Wu J, Srikanthan T (2006) Low-complex dynamic programming algorithm for hardware/software partitioning. Inf Process Lett 98(2):41–46
Shrivastava A, Kumar H, Kapoor S, Kumar S, Balakrishnan M (2000) Optimal hardware/software partitioning for concurrent specification using dynamic programming. In: Proceedings of 13th international conference on VLSI design VLSI design 2000. wireless and digital imaging in the millennium, pp 110–113
Niemann R, Marwedel P (1997) An algorithm for hardware/software partitioning using mixed integer linear programming. Des Autom Embed Syst 2(2):165–193
Chatha KS, Vemuri R (2002) Hardware-software partitioning and pipelined scheduling of transformative applications. IEEE Trans Very Large Scale Integr (VLSI) Syst 10(3):193–208
Eimuri T, Salehi S (2010) Using dpso and b&b algorithms for hardware/software partitioning in co-design. In: 2010 Second international conference on computer research and development, pp 416–420
Jianliang Y, Manman P (2011) Hardware/software partitioning algorithm based on wavelet mutation binary particle swarm optimization. In: 2011 IEEE 3rd International conference on communication software and networks, pp 347–350
Luo L, He H, Liao C, Dou Q, Xu W (2010) Hardware/software partitioning for heterogeneous multicore soc using particle swarm optimization and immune clone (pso-ic) algorithm. In: The 2010 IEEE International conference on information and automation, pp 490–494
Jemai M, Dimassi S, Ouni B, Mtibaa A (2017) A meta-heuristic based on tabu search for hardware/software partitioning. Turkish J Electr Eng Comput Sci, 25(2)
Wu J, Pu W, Lam S-K, Srikanthan T (2013) Efficient heuristic and tabu search for hardware/software partitioning. J Supercomput 66(1):118–134
Eles P, Peng Z, Kuchcinski K, Doboli A (1997) System level hardware/software partitioning based on simulated annealing and tabu search. Des Autom Embed Syst 2(1):5–32
Dou S, Ding S, Zhang S, Zhu L (2010) Ga-based algorithm for hardware/software partitioning with resource contentions. In: 2010 2nd International conference on advanced computer control, vo 1, pp 68–72
Luo L, He H, Dou Q, Xu W (2012) Hardware/software partitioning for heterogeneous multicore soc using genetic algorithm. In: 2012 Second international conference on intelligent system design and engineering application, pp 1267–1270
Shi Y (2015) Brain storm optimization algorithm in objective space. In: 2015 IEEE Congress on evolutionary computation (CEC), pp 1227–1234
Cao J, Yin B, Lu X, Yu K, Chen X (2017) A modified artificial bee colony approach for the 0-1 knapsack problem. Applied Intelligence
Zheng W, Tan Y, Meng L, Zhang H (2018) An improved moea/d design for many-objective optimization problems. Applied Intelligence
Xu Z, Zhao X, Liu Y (2018) A multiobjective discrete bat algorithm for community detection in dynamic networks. Applied Intelligence
Salama KM, Abdelbar AM (2017) Learning cluster-based classification systems with ant colony optimization algorithms. Swarm Intell 11(3):211–242
Taghiyeh S, Xu J (2016) A new particle swarm optimization algorithm for noisy optimization problems. Swarm Intell 10(3):161–192
Wang Y, Feng L, Zhu J (2018) Novel artificial bee colony based feature selection method for filtering redundant information. Appl Intell 48(4):868–885
Ijaz S, Hashmi FA, Asghar S, Alam M (2018) Vector based genetic algorithm to optimize predictive analysis in network security. Appl Intell 48(5):1086–1096
Zhang T, Zhao X, An X, Quan H, Lei Z (2017) Using blind optimization algorithm for hardware/software partitioning. IEEE Access 5:1353–1362
Zhao X, Zhang T, An X, Fan L (2018) An improved blind optimization algorithm for hardware/software partitioning and scheduling
Wu J, Srikanthan T, Chen G (2010) Algorithmic aspects of hardware/software partitioning: 1d search algorithms. IEEE Trans Comput 59(4):532–544
Yan X-H, He F-Z, Chen Y-L (2017) A novel hardware/software partitioning method based on position disturbed particle swarm optimization with invasive weed optimization. J Comput Sci Technol 32(2):340–355
Tan Y, Yu C, Zheng S, Ke D (2013) Introduction to fireworks algorithm. Int J Swarm Intell Res 4 (4):39–70
Janecek A, Tan Y (2011) Swarm intelligence for non-negative matrix factorization. Int J Swarm Intell Res 2(4):12–34
Gao H, Diao M (2011) Cultural firework algorithm and its application for digital filters design. Int J Model Identif Control 14(4):324–331
Zheng S, Tan Y (2013) A unified distance measure scheme for orientation coding in identification. In: 2013 IEEE Third international conference on information science and technology (ICIST), pp 979–985
He W, Mi G, Tan Y (2013) Parameter optimization of local-concentration model for spam detection by using fireworks algorithm. In: Tan Y, Shi Y, Mo H (eds) Advances in swarm intelligence. Springer, Berlin, pp 439–450
Liu Z, Feng Z, Ke L (2015) Fireworks algorithm for the multi-satellite control resource scheduling problem. In: 2015 IEEE Congress on evolutionary computation (CEC), pp 1280–1286
Bacanin N, Tuba M (2015) Fireworks algorithm applied to constrained portfolio optimization problem. In: 2015 IEEE Congress on evolutionary computation (CEC), pp 1242–1249
Gu J, Fu F, Qing Z (2018) Penalized estimation of directed acyclic graphs from discrete data. Statistics and Computing
Baxter JSH, Rajchl M, Jonathan McLeod A, Yuan J, Peters TM (2017) Directed acyclic graph continuous max-flow image segmentation for unconstrained label orderings. Int J Comput Vis 123(3):415–434
Azari E, Koc H (2015) Improving performance through path-based hardware/software partitioning. In: 2015 Fifth International conference on digital information processing and communications (ICDIPC), pp 54–59
Tan Y, Zhu Y (2010) Fireworks algorithm for optimization. In: Tan Y, Shi Y, Tan KC (eds) Advances in swarm intelligence. Springer, Berlin, pp 355–364
Zheng S, Janecek A, Tan Y (2013) Enhanced fireworks algorithm. In: 2013 IEEE Congress on evolutionary computation, pp 2069–2077
Zheng S, Janecek A, Li J, Tan Y (2014) Dynamic search in fireworks algorithm. In: 2014 IEEE Congress on evolutionary computation (CEC), pp 3222–3229
Li J, Zheng S, Tan Y (2014) Adaptive fireworks algorithm. In: 2014 IEEE Congress on evolutionary computation (CEC), pp 3214–3221
Yu JZ, Xu XL, Ling HF, Chen SY (2015) A hybrid fireworks optimization method with differential evolution operators. Neurocomputing 148:75–82
Liu J, Zheng S, Tan Y (2013) The improvement on controlling exploration and exploitation of firework algorithm. In: Tan Y, Shi Y, Mo H (eds) Advances in swarm intelligence. Springer, Berlin, pp 11–23
Akay B, Karaboga D (2012) A modified artificial bee colony algorithm for real-parameter optimization. Inf Sci 192:120–142. Swarm Intelligence and Its Applications
Li T, Zhang ZJ (2016) Wang improvement of artificial fish swarm algorithm. Computer Technology and Development
Hou N, He F, Zhou Y, Chen Y, Yan X (2018) A parallel genetic algorithm with dispersion correction for hw/sw partitioning on multi-core cpu and many-core gpu. IEEE Access 6:883–898
Wiangtong T, Cheung PYK, Luk W (2002) Comparing three heuristic search methods for functional partitioning in hardware/software codesign. Des Autom Embed Syst 6(4):425–449
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Zhang, T., Yue, Q., Zhao, X. et al. An improved firework algorithm for hardware/software partitioning. Appl Intell 49, 950–962 (2019). https://doi.org/10.1007/s10489-018-1310-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10489-018-1310-3