Wuhan University Journal of Natural Sciences

, Volume 24, Issue 4, pp 341–348 | Cite as

Solving Hardware/Software Partitioning via a Discrete Dynamic Convexized Method

  • Geng LinEmail author


Hardware/software partitioning is an important step in the design of embedded systems. In this paper, the hardware/software partitioning problem is modeled as a constrained binary integer programming problem, which is further converted equivalently to an unconstrained binary integer programming problem by a penalty method. A local search method, HSFM, is developed to obtain a discrete local minimizer of the unconstrained binary integer programming problem. Next, an auxiliary function, which has the same global optimal solutions as the unconstrained binary integer programming problem, is constructed, and its properties are studied. We show that applying HSFM to minimize the auxiliary function can escape from previous local optima by the increase of the parameter value successfully. Finally, a discrete dynamic convexized method is developed to solve the hardware/ software partitioning problem. Computational results and comparisons indicate that the proposed algorithm can get high-quality solutions.

Key words

hardware software partitioning binary integer programming local search dynamic convexized method 

CLC number

O 224 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Yan X, He F, Chen Y. A novel hardware/software partitioning method based on position disturbed particle swarm optimization with invasive weed optimization [J]. Journal of Computer Science and Technology, 2017, 32(2): 340–355.CrossRefGoogle Scholar
  2. [2]
    Lopez-Vallejo M, Lopez J. On the hardware-software partitioning problem: System modeling and partitioning techniques [J]. ACM Transactions on Design Automation of Electronic Systems, 2003, 8(3): 269–297.CrossRefGoogle Scholar
  3. [3]
    Govil N, Shrestha R, Chowdhury S R. PGMA: An algorithmic approach for multi-objective hardware software partitioning [J]. Microprocessors and Microsystems, 2017, 54: 83–96.CrossRefGoogle Scholar
  4. [4]
    Wu J G, Srikanthan T, Ting L. Efficient heuristic algorithms for path-based hardware/software partitioning [J]. Mathematical and Computer Modeling, 2010, 51(7–8): 974–984.CrossRefGoogle Scholar
  5. [5]
    Gupta R, Micheli G D. Hardware-software cosynthesis for digital systems [J]. IEEE Design and Test of Computers, 1993, 10(3): 29–41.CrossRefGoogle Scholar
  6. [6]
    Ernst R, Henkel J, Benner T. Hardware-software co-synthesis for micro-controllers [J]. IEEE Design and Test of Computers, 1993, 10(4): 64–75.CrossRefGoogle Scholar
  7. [7]
    Purnaprajna M, Reformat M, Pedrycz W. Genetic algorithms for hardware-software partitioning and optimal resource allocation [J]. Journal of Systems Architecture, 2007, 53(7): 339–354.CrossRefGoogle Scholar
  8. [8]
    Zhang Y G, Luo W J, Zhang Z M, et al. A hardware/software partitioning based on artificial immune principles [J]. Applied Soft Computing, 2008, 8(1): 383–391.CrossRefGoogle Scholar
  9. [9]
    Eles P, Peng Z, Kuchcinski K, et al. System level hardware/software partitioning based on simulated annealing and tabu search [J]. Design Automation for Embedded Systems, 1997, 2(1): 5–32.CrossRefGoogle Scholar
  10. [10]
    Wiangtong T, Cheung P Y K, Luk W. Comparing three heuristic search methods for functional partitioning in hardware software codesign [J]. Design Automation for Embedded Systems, 2002, 6(4): 425–449.CrossRefGoogle Scholar
  11. [11]
    Zhang T, Zhao X, An X, et al. Using blind optimization algorithm for hardware/software partitioning [J]. IEEE Access, 2018, 5: 1353–1362.CrossRefGoogle Scholar
  12. [12]
    Dang T L, Hoshino Y. Hardware/software co-design for a neural network trained by particle swarm optimization algorithm [J/OL]. Neural Processing Letters, DOI:
  13. [13]
    Mann Z, Orban A, Farkas V. Evaluating the Kernighan-Lin heuristic for hardware/software partitioning [J]. International Journal of Applied Mathematics and Computer Science, 2007, 17(2): 249–267.CrossRefGoogle Scholar
  14. [14]
    Wu J G, Srikanthan T, Chen B Y. Algorithmic aspects for power-efficient hardware/software partitioning [J]. Mathematics and Computers in Simulation, 2008, 79(4): 1204–1215.CrossRefGoogle Scholar
  15. [15]
    Wu J G, Srikanthan T, Chen G. Algorithmic aspects of hardware/software partitioning: 1D search algorithms [J]. IEEE Transactions on Computers, 2010, 59(4): 532–544.CrossRefGoogle Scholar
  16. [16]
    Zhu W X, Ali M M. Solving nonlinearly constrained global optimization problem via an auxiliary function method [J]. Journal of Computational and Applied Mathematics, 2009, 230(2): 491–503.CrossRefGoogle Scholar
  17. [17]
    Zhu W X, Fan H. A discrete dynamic convexized method for nonlinear integer programming [J]. Journal of Computational and Applied Mathematics, 2009, 223(2): 356–373.CrossRefGoogle Scholar
  18. [18]
    Zhu W X, Lin G. A dynamic convexized method for nonconvex mixed integer nonlinear programming [J]. Computers & Operations Research, 2011, 38(12): 1792–1804.CrossRefGoogle Scholar
  19. [19]
    Zhu W X, Lin G, Ali M M. Max-k-cut by the discrete dynamic convexized method [J]. INFORMS Journal on Computing, 2013, 25(1): 27–40.CrossRefGoogle Scholar
  20. [20]
    Kernighan B W, Lin S. An efficient heuristic procedure for partitioning graphs [J]. The Bell System Technical Journal, 1970, 49(2): 291–307.CrossRefGoogle Scholar
  21. [21]
    Fiduccia C M, Mattheyses R M. A linear time heuristic for improving network partitions [C] // Proceedings of ACM/IEEE DAC. Piscataway N J: IEEE Press, 1982: 175–181.Google Scholar
  22. [22]
    Yang W, Wang G, Bhuiyan M Z A, et al. Hypergraph partitioning for social networks based on information entropy modularity [J]. Journal of Network and Computer Applications, 2017, 86: 59–71.CrossRefGoogle Scholar
  23. [23]
    Dick R P, Rhodes D L, Wolf W. TGFF: Task graphs for free [C] // Proceedings of the International Workshop Hardware/Software Codesign. Washington D C: IEEE Computer Society, 1998: 97–101.Google Scholar
  24. [24]
    Shang Y L, Zhang L S. A filled function method for finding a global minimizer on global integer optimization [J]. Journal of Computational and Applied Mathematics, 2005, 181(1): 200–210.CrossRefGoogle Scholar

Copyright information

© Wuhan University and Springer-Verlag GmbH Germany 2019

Authors and Affiliations

  1. 1.Collaborative Innovation Center of IoT Industrialization and Intelligent ProductionMinjiang UniversityFuzhou, FujianChina
  2. 2.College of Mathematics and Data ScienceMinjiang UniversityFuzhou, FujianChina

Personalised recommendations