Skip to main content

Advertisement

Log in

An improved firework algorithm for hardware/software partitioning

  • Published:
Applied Intelligence Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

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

  1. 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

  2. Wu J, Srikanthan T (2006) Low-complex dynamic programming algorithm for hardware/software partitioning. Inf Process Lett 98(2):41–46

    Article  MATH  Google Scholar 

  3. 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

  4. Niemann R, Marwedel P (1997) An algorithm for hardware/software partitioning using mixed integer linear programming. Des Autom Embed Syst 2(2):165–193

    Article  Google Scholar 

  5. 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

    Article  Google Scholar 

  6. 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

  7. 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

  8. 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

  9. 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)

  10. 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

    Article  Google Scholar 

  11. 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

    Article  Google Scholar 

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

  13. 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

  14. Shi Y (2015) Brain storm optimization algorithm in objective space. In: 2015 IEEE Congress on evolutionary computation (CEC), pp 1227–1234

  15. 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

  16. Zheng W, Tan Y, Meng L, Zhang H (2018) An improved moea/d design for many-objective optimization problems. Applied Intelligence

  17. Xu Z, Zhao X, Liu Y (2018) A multiobjective discrete bat algorithm for community detection in dynamic networks. Applied Intelligence

  18. Salama KM, Abdelbar AM (2017) Learning cluster-based classification systems with ant colony optimization algorithms. Swarm Intell 11(3):211–242

    Article  Google Scholar 

  19. Taghiyeh S, Xu J (2016) A new particle swarm optimization algorithm for noisy optimization problems. Swarm Intell 10(3):161–192

    Article  Google Scholar 

  20. 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

    Article  Google Scholar 

  21. 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

    Google Scholar 

  22. Zhang T, Zhao X, An X, Quan H, Lei Z (2017) Using blind optimization algorithm for hardware/software partitioning. IEEE Access 5:1353–1362

    Article  Google Scholar 

  23. Zhao X, Zhang T, An X, Fan L (2018) An improved blind optimization algorithm for hardware/software partitioning and scheduling

  24. Wu J, Srikanthan T, Chen G (2010) Algorithmic aspects of hardware/software partitioning: 1d search algorithms. IEEE Trans Comput 59(4):532–544

    Article  MathSciNet  MATH  Google Scholar 

  25. 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

    Article  MathSciNet  Google Scholar 

  26. Tan Y, Yu C, Zheng S, Ke D (2013) Introduction to fireworks algorithm. Int J Swarm Intell Res 4 (4):39–70

    Article  Google Scholar 

  27. Janecek A, Tan Y (2011) Swarm intelligence for non-negative matrix factorization. Int J Swarm Intell Res 2(4):12–34

    Article  Google Scholar 

  28. Gao H, Diao M (2011) Cultural firework algorithm and its application for digital filters design. Int J Model Identif Control 14(4):324–331

    Article  Google Scholar 

  29. 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

  30. 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

  31. 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

  32. Bacanin N, Tuba M (2015) Fireworks algorithm applied to constrained portfolio optimization problem. In: 2015 IEEE Congress on evolutionary computation (CEC), pp 1242–1249

  33. Gu J, Fu F, Qing Z (2018) Penalized estimation of directed acyclic graphs from discrete data. Statistics and Computing

  34. 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

    Article  MathSciNet  Google Scholar 

  35. 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

  36. 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

  37. Zheng S, Janecek A, Tan Y (2013) Enhanced fireworks algorithm. In: 2013 IEEE Congress on evolutionary computation, pp 2069–2077

  38. 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

  39. Li J, Zheng S, Tan Y (2014) Adaptive fireworks algorithm. In: 2014 IEEE Congress on evolutionary computation (CEC), pp 3214–3221

  40. Yu JZ, Xu XL, Ling HF, Chen SY (2015) A hybrid fireworks optimization method with differential evolution operators. Neurocomputing 148:75–82

    Article  Google Scholar 

  41. 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

  42. 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

    Article  Google Scholar 

  43. Li T, Zhang ZJ (2016) Wang improvement of artificial fish swarm algorithm. Computer Technology and Development

  44. 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

    Article  Google Scholar 

  45. 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

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xin Zhao.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10489-018-1310-3

Keywords