Journal of Computer Science and Technology

, Volume 32, Issue 2, pp 340–355 | Cite as

A Novel Hardware/Software Partitioning Method Based on Position Disturbed Particle Swarm Optimization with Invasive Weed Optimization

  • Xiao-Hu Yan
  • Fa-Zhi HeEmail author
  • Yi-Lin Chen


With the development of the design complexity in embedded systems, hardware/software (HW/SW) partitioning becomes a challenging optimization problem in HW/SW co-design. A novel HW/SW partitioning method based on position disturbed particle swarm optimization with invasive weed optimization (PDPSO-IWO) is presented in this paper. It is found by biologists that the ground squirrels produce alarm calls which warn their peers to move away when there is potential predatory threat. Here, we present PDPSO algorithm, in each iteration of which the squirrel behavior of escaping from the global worst particle can be simulated to increase population diversity and avoid local optimum. We also present new initialization and reproduction strategies to improve IWO algorithm for searching a better position, with which the global best position can be updated. Then the search accuracy and the solution quality can be enhanced. PDPSO and improved IWO are synthesized into one single PDPSO-IWO algorithm, which can keep both searching diversification and searching intensification. Furthermore, a hybrid NodeRank (HNodeRank) algorithm is proposed to initialize the population of PDPSO-IWO, and the solution quality can be enhanced further. Since the HW/SW communication cost computing is the most time-consuming process for HW/SW partitioning algorithm, we adopt the GPU parallel technique to accelerate the computing. In this way, the runtime of PDPSO-IWO for large-scale HW/SW partitioning problem can be reduced efficiently. Finally, multiple experiments on benchmarks from state-of-the-art publications and large-scale HW/SW partitioning demonstrate that the proposed algorithm can achieve higher performance than other algorithms.


hardware/software partitioning particle swarm optimization invasive weed optimization communication cost parallel computing 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Supplementary material

11390_2017_1714_MOESM1_ESM.pdf (53 kb)
ESM 1 (PDF 52 kb)


  1. [1]
    Trappey A J C, Shen W, Cha J J. Special issue editorial on advances in collaborative systems engineering for product design, production and service network. Journal of Systems Science and Systems Engineering, 2016, 25(2): 139-141.CrossRefGoogle Scholar
  2. [2]
    Zhang Y G, Luo W J, Zhang Z M, Li B, Wang X F. A hardware/software partitioning algorithm based on artificial immune principles. Applied Soft Computing, 2008, 8(1): 383-391.CrossRefGoogle Scholar
  3. [3]
    Hidalgo J I, Lanchares J. Functional partitioning for hardware-software codesign using genetic algorithms. In Proc. the 23rd EUROMICRO Conference on New Frontiers of Information Technology, Sept. 1997, pp.631-638.Google Scholar
  4. [4]
    Arató P, Mann Z A, Orb´an A. Algorithmic aspects of hardware/software partitioning. ACM Transactions on Design Automation of Electronic Systems, 2005, 10(1): 136-156.CrossRefGoogle Scholar
  5. [5]
    Wu J G, Srikanthan T. Low-complex dynamic programming algorithm for hardware/software partitioning. Information Processing Letters, 2006, 98(2): 41-46.CrossRefzbMATHGoogle Scholar
  6. [6]
    Madsen J, Grode J, Knudsen P V, Petersen M E, Haxthausen A. LYCOS: The Lyngby co-synthesis system. Design Automation for Embedded Systems, 1997, 2(2): 195-235.CrossRefGoogle Scholar
  7. [7]
    Strachacki M. Speedup of branch and bound method for hardware/software partitioning. In Proc. the 1st International Conference on Information Technology, May 2008.Google Scholar
  8. [8]
    Chatha K S, Vemuri R. Hardware-software partitioning and pipelined scheduling of transformative applications. IEEE Transactions on Very Large Scale Integration Systems, 2002, 10(3): 193-208.CrossRefGoogle Scholar
  9. [9]
    Wu J G, Thambipillai S. A branch-and-bound algorithm for hardware/software partitioning. In Proc. the 4th International Symposium on Signal Processing and Information Technology, Dec. 2004, pp.526-529.Google Scholar
  10. [10]
    Niemann R, Marwedel P. An algorithm for hardware/software partitioning using mixed integer linear programming. Design Automation for Embedded Systems, 1997, 2(2): 165-193.CrossRefGoogle Scholar
  11. [11]
    Gupta R K, Coelho Jr C N, De Micheli G. Synthesis and simulation of digital systems containing interacting hardware and software components. In Proc. the 29th ACM/IEEE Design Automation Conference, June 1992, pp.225-230.Google Scholar
  12. [12]
    Gupta R K, De Micheli G. Hardware-software cosynthesis for digital systems. IEEE Design & Test of Computers, 1993, 10(3): 29-41.CrossRefGoogle Scholar
  13. [13]
    Wiangtong T, Cheung P Y K, Luk W. Comparing three heuristic search methods for functional partitioning in hardware-software codesign. Design Automation for Embedded Systems, 2002, 6(4): 425-449.CrossRefzbMATHGoogle Scholar
  14. [14]
    Purnaprajna M, Reformat M, Pedrycz W. Genetic algorithms for hardware-software partitioning and optimal resource allocation. Journal of Systems Architecture, 2007, 53(7): 339-354.CrossRefGoogle Scholar
  15. [15]
    Dick R P, Jha N K. MOGAC: A multiobjective genetic algorithm for hardware-software cosynthesis of distributed embedded systems. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 1998, 17(10): 920-935.CrossRefGoogle Scholar
  16. [16]
    Janakiraman N, Kumar P N. Multi-objective module partitioning design for dynamic and partial reconfigurable system-on-chip using genetic algorithm. Journal of Systems Architecture—Embeded Systems Design, 2014, 60(1): 119-139.Google Scholar
  17. [17]
    Henkel J, Ernst R. An approach to automated hardware/software partitioning using a flexible granularity that is driven by high-level estimation techniques. IEEE Transactions on Very Large Scale Integration Systems, 2001, 9(2): 273-289.CrossRefGoogle Scholar
  18. [18]
    Liu P, Wu J G, Wang Y J. Hybrid algorithms for hardware/software partitioning and scheduling on reconfigurable devices. Mathematical and Computer Modelling, 2013, 58(1/2): 409-420.CrossRefzbMATHGoogle Scholar
  19. [19]
    Wu J G, Srikanthan T, Chen G. Algorithmic aspects of hardware/software partitioning: 1D search algorithms. IEEE Transactions on Computers, 2010, 59(4): 532-544.MathSciNetCrossRefGoogle Scholar
  20. [20]
    Eles P, Peng Z, Kuchcinski K, Doboli A. System level hardware/software partitioning based on simulated annealing and tabu search. Design Automation for Embedded Systems, 1997, 2(1): 5-32.CrossRefGoogle Scholar
  21. [21]
    Wu J G, Wang P, Lam S K, Srikanthan T. Efficient heuristic and tabu search for hardware/software partitioning. The Journal of Supercomputing, 2013, 66(1): 118-134.CrossRefGoogle Scholar
  22. [22]
    Wang G, Gong W, Kastner R. A new approach for task level computational resource bi-partitioning. In Proc. the 15th IASTED International Conference on Parallel and Distributed Computing and Systems, June 2003, pp.439-444.Google Scholar
  23. [23]
    Xiong Z, Li S, Chen J. Hardware/software partitioning based on ant optimization with initial pheromone. Computer Research and Development, 2005, 42(12): 2176-2183. (in Chinese)Google Scholar
  24. [24]
    Abdelhalim M B, Salama A E, Habib S E D. Hardware software partitioning using particle swarm optimization technique. In Proc. the 6th International Workshop on Systemon-Chip for Real-Time Applications, Dec. 2006, pp.189-194.Google Scholar
  25. [25]
    Abdelhalim M B, Habib S E D. An integrated high-level hardware/software partitioning methodology. Design Automation for Embedded Systems, 2011, 15(1): 19-50.CrossRefGoogle Scholar
  26. [26]
    Kernighan B W, Lin S. An efficient heuristic procedure for partitioning graphs. Bell Labs Technical Journal, 1970, 49(2): 291-307.CrossRefzbMATHGoogle Scholar
  27. [27]
    Fiduccia C M, Mattheyses R M. A linear-time heuristic for improving network partitions. In Proc. the 19th Design Automation Conference, June 1982, pp.175-181.Google Scholar
  28. [28]
    Saab Y G. A fast and robust network bisection algorithm. IEEE Transactions on Computers, 1995, 44(7): 903-913.CrossRefzbMATHGoogle Scholar
  29. [29]
    Vahid F, Gajski D D. Clustering for improved system-level functional partitioning. In Proc. the 8th International Symposium on System Synthesis, Sept. 1995, pp.28-35.Google Scholar
  30. [30]
    López-Vallejo M, López J C. On the hardware-software partitioning problem: System modeling and partitioning techniques. ACM Transactions on Design Automation of Electronic Systems, 2003, 8(3): 269-297.CrossRefGoogle Scholar
  31. [31]
    Vahid F, Le T D. Extending the Kernighan/Lin heuristic for hardware and software functional partitioning. Design Automation for Embedded Systems, 1997, 2(2): 237-261.CrossRefGoogle Scholar
  32. [32]
    Arató P, Juh´asz S, Mann Z A, Orban A, Papp D. Hardware-software partitioning in embedded system design. In Proc. IEEE International Symposium on Intelligent Signal Processing, Sept. 2003, pp.197-202.Google Scholar
  33. [33]
    Grode J, Knudsen P V, Madsen J. Hardware resource allocation for hardware/software partitioning in the LYCOS system. In Proc. the Conference on Design, Automation and Test in Europe, Feb. 1998, pp.22-27.Google Scholar
  34. [34]
    Ernst R, Henkel J, Benner T. Hardware-software cosynthesis for microcontrollers. IEEE Design & Test of Computers, 1993, 10(4): 64-75.CrossRefGoogle Scholar
  35. [35]
    Wolf W H. An architectural co-synthesis algorithm for distributed, embedded computing systems. IEEE Transactions on Very Large Scale Integration Systems, 1997, 5(2): 218-229.CrossRefGoogle Scholar
  36. [36]
    Chen Z, Wu J G, Song G Z, Chen J L. NodeRank: An efficient algorithm for hardware/software partitioning. Chinese Journal of Computers, 2013, 36(10): 2033-2040. (in Chinese)Google Scholar
  37. [37]
    Abdelhalim M B, Salama A E, Habib S E D. Constrained and unconstrained hardware-software partitioning using particle swarm optimization technique. In Proc. IIESS, May 30-June 1, pp.207-220.Google Scholar
  38. [38]
    Bhattacharya A, Konar A, Das S, Grosan C, Abraham A. Hardware software partitioning problem in embedded system design using particle swarm optimization algorithm. In Proc. the 2nd International Conference on Complex, Intelligent and Software Intensive Systems, March 2008, pp.171-176.Google Scholar
  39. [39]
    Eimuri T, Salehi S. Using DPSO and B&B algorithms for hardware/software partitioning in co-design. In Proc. the 2nd International Conference on Computer Research and Development, May 2010, pp.416-420.Google Scholar
  40. [40]
    Luo L, He H, Liao C, Dou Q, Xu W X. Hardware/software partitioning for heterogeneous multicore SoC using particle swarm optimization and immune clone (PSO-IC) algorithm. In Proc. IEEE International Conference on Information and Automation (ICIA), June 2010, pp.490-494.Google Scholar
  41. [41]
    Xue J, Jin Y. Position disturbed particle swarm optimization. Computer Engineering and Design, 2014, 35(3): 1037-1040. (in Chinese)Google Scholar
  42. [42]
    Wu Y, Zhang H, Yang H. Research on parallel HW/SWpartitioning based on hybrid PSO algorithm. In Proc. the 9th International Conference on Algorithms and Architectures for Parallel Processing, June 2009, pp.449-459.Google Scholar
  43. [43]
    Farahani A F, Kamal M, Salmani-Jelodar M. Parallelgenetic-algorithm-based HW/SW partitioning. In Proc. the 5th IEEE International Symposium on Parallel Computing in Electrical Engineering, Sept. 2006, pp.337-342.Google Scholar
  44. [44]
    Cooke P, Fowers J, Brown G, Stitt G. A tradeoff analysis of FPGAS, GPUS, and multicores for sliding-window applications. ACM Transactions on Reconfigurable Technology and Systems, 2015, 8(1): 2:1-2:24.Google Scholar
  45. [45]
    Bordoloi U D, Chakraborty S. GPU-based acceleration of system-level design tasks. International Journal of Parallel Programming, 2010, 38(3/4): 225-253.CrossRefzbMATHGoogle Scholar
  46. [46]
    Du H Z, Xia N, Jiang J G, Xu L N, Zheng R. A monte carlo enhanced PSO algorithm for optimal QoM in multi-channel wireless networks. Journal of Computer Science and Technology, 2013, 28(3): 553-563.CrossRefGoogle Scholar
  47. [47]
    Inbarani H H, Azar A T, Jothi G. Supervised hybrid feature selection based on PSO and rough sets for medical diagnosis. Computer Methods and Programs in Biomedicine, 2014, 113(1): 175-185.CrossRefGoogle Scholar
  48. [48]
    Ratnaweera A, Halgamuge S K, Watson H C. Self-organizing hierarchical particle swarm optimizer with time-varying acceleration coefficients. IEEE Transactions on Evolutionary Computation, 2004, 8(3): 240-255.CrossRefGoogle Scholar
  49. [49]
    Herzenstein M, Dholakia U M, Andrews R L. Strategic herding behavior in peer-to-peer loan auctions. Journal of Interactive Marketing, 2011, 25(1): 27-36.CrossRefGoogle Scholar
  50. [50]
    Swan D C, Hare J F. The first cut is the deepest: Primary syllables of Richardson’s ground squirrel, Spermophilus richardsonii, repeated calls alert receivers. Animal Behaviour, 2008, 76(1): 47-54.CrossRefGoogle Scholar
  51. [51]
    Thompson A B, Hare J F. Neighbourhood watch: Multiple alarm callers communicate directional predator movement in Richardson’s ground squirrels, Spermophilus richardsonii. Animal Behaviour, 2010, 80(2): 269-275.CrossRefGoogle Scholar
  52. [52]
    Patel A. Survival of the fittest and zero sum games. Fluctuation and Noise Letters, 2002, 2(4): 279-284.MathSciNetCrossRefGoogle Scholar
  53. [53]
    Clerc M, Kennedy J. The particle swarm-explosion, stability, and convergence in a multidimensional complex space. IEEE Transactions on Evolutionary Computation, 2002, 6(1): 58-73.CrossRefGoogle Scholar
  54. [54]
    Mehrabian A R, Lucas C. A novel numerical optimization algorithm inspired from weed colonization. Ecological Informatics, 2006, 1(4): 355-366.CrossRefGoogle Scholar
  55. [55]
    Pourjafari E, Mojallali H. Solving nonlinear equations systems with a new approach based on invasive weed optimization algorithm and clustering. Swarm and Evolutionary Computation, 2012, 4: 33-43.CrossRefGoogle Scholar
  56. [56]
    Yang Y, Li C, Zhou H Y. CUDA-NP: Realizing nested thread-level parallelism in GPGPU applications. Journal of Computer Science and Technology, 2015, 30(1): 3-19.CrossRefGoogle Scholar
  57. [57]
    Qi R Z, Wang Z J, Li S Y. A parallel genetic algorithm based on spark for pairwise test suite generation. Journal of Computer Science and Technology, 2016, 31(2): 417-427.CrossRefGoogle Scholar
  58. [58]
    Guthaus MR, Ringenberg J S, Ernst D, Austin TM, Mudge T, Brown R B. MiBench: A free, commercially representative embedded benchmark suite. In Proc. the 4th IEEE Annual Workshop on Workload Characterization, Workload Characterization, Dec. 2001, pp.3-14.Google Scholar
  59. [59]
    Yan X H, He F Z, Chen Y L, Yuan Z Y. An efficient improved particle swarm optimization based on prey behavior of fish schooling. Journal of Advanced Mechanical Design, Systems, and Manufacturing, 2015, 9(4): JAMDSM0048:1-JAMDSM0048:11.Google Scholar
  60. [60]
    Zhou Y, He F Z, Qiu Y M. Optimization of parallel iterated local search algorithms on graphics processing unit. The Journal of Supercomputing, 2016, 72(6): 2394-2416.CrossRefGoogle Scholar
  61. [61]
    Zhou Y, He F Z, Qiu Y M. Dynamic strategy based parallel ant colony optimization on GPUs for TSPs. Science China Information Sciences, 2016, doi  10.1007/s11432-015-0594-2. (to be appeared)
  62. [62]
    Wu Y Q, He F Z, Zhang D J, Li X X. Service-oriented feature-based data exchange for cloud-based design and manufacturing. IEEE Transactions on Services Computing, 2016, pp(99), doi  10.1109/TSC.2015.2501981.
  63. [63]
    Zhang D J, He F Z, Han S H, Li X X. Quantitative optimization of interoperability during feature-based data exchange. Integrated Computer-Aided Engineering, 2016, 23(1): 31-50.CrossRefGoogle Scholar
  64. [64]
    Cheng Y, He F Z, Wu Y Q, Zhang D J. Meta-operation conflict resolution for human-human interaction in collaborative feature-based CAD systems. Cluster Computing, 2016, 19(1): 237-253.CrossRefGoogle Scholar
  65. [65]
    Lv X, He F Z, Cai W W, Cheng Y. A string-wise CRDT algorithm for smart and large-scale collaborative editing systems. Advanced Engineering Informatics, 2016, doi  10.1016/j.aei.2016.10.005.Google Scholar
  66. [66]
    Li K, He F Z, Chen X. Real-time object tracking via compressive feature selection. Frontiers of Computer Science, 2016, 10(4): 689-701.CrossRefGoogle Scholar
  67. [67]
    Sun J, He F Z, Chen Y, Chen X. A multiple template approach for robust tracking of fast motion target. Applied Mathematics—A Journal of Chinese Universities, 2016, 31(2): 177-197.MathSciNetCrossRefzbMATHGoogle Scholar
  68. [68]
    Ni B, He F Z, Yuan Z Y. Segmentation of uterine fibroid ultrasound images using a dynamic statistical shape model in HIFU therapy. Computerized Medical Imaging and Graphics, 2015, 46(part3): 302-314.Google Scholar
  69. [69]
    Ni B, He F Z, Pan Y T, Yuan Z Y. Using shapes correlation for active contour segmentation of uterine fibroid ultrasound images in computer-aided therapy. Applied Mathematics—A Journal of Chinese Universities, 2016, 31(1): 37-52.MathSciNetCrossRefzbMATHGoogle Scholar
  70. [70]
    Yu H P, He F Z, Pan Y T, Chen X. An efficient similarity-based level set model for medical image segmentation. Journal of Advanced Mechanical Design, Systems, and Manufacturing, 2016, 10(8): JAMDSM0100.CrossRefGoogle Scholar
  71. [71]
    Jiang G, Wu J, Lam S K, Srikanthan T, Sun J. Algorithmic aspects of graph reduction for hardware/software partitioning. The Journal of Supercomputing, 2015, 71(6): 2251-2274.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  1. 1.State Key Laboratory of Software EngineeringWuhan UniversityWuhanChina
  2. 2.School of Computer ScienceWuhan UniversityWuhanChina

Personalised recommendations