International Journal of Parallel Programming

, Volume 45, Issue 4, pp 899–922 | Cite as

Hardware/Software Partitioning for Heterogenous MPSoC Considering Communication Overhead

  • Aijia Ouyang
  • Xuyu Peng
  • Jing Liu
  • Ahmed Sallam


Hardware/software partitioning (HSP) is an important step in the co-design of hardware/software. This paper addresses the problem of HSP with communication (HSPC) on heterogeneous multiprocessor system-on-chip (MPSoC). The classic HSP is modeled as an optimization problem with an objective of minimizing the finishing time in system under the hardware area constraints. First, we put forward an optimal method, integer linear programming (ILP) algorithm, for solving the problem for small inputs. Then, we propose two other algorithms using dynamic programming (DP) method, i.e., Optimal Tree Partitioning (OTP) method for tree-structured graphs and Tree Cover Partitioning (TCP) algorithm for general graphs in polynomial time. The overall performance of the proposed algorithms is evaluated through comparisons with that of a genetic algorithm (GA) and a greedy algorithm which are commonly used to solve HSP problem. We have conducted experimental performance evaluation on various benchmarks with different combinations of computation to communication ratios and hardware area constraints. The experimental results show that OTP algorithm can generate optimal solutions with much faster speed than ILP, and TCP algorithm can obtain near-optimum with higher quality than those produced by GA and greedy algorithm.


Communication Dynamic programming Hardware/software partitioning Heuristic Integer linear programming 



We are very grateful for the reviewers and the editors for their comments and suggestions which greatly improved the quality of the manuscript. The research was partially funded by the Key Program of National Natural Science Foundation of China (Grant Nos. 61133005, 61432005), the National Natural Science Foundation of China (Grant Nos. 61370095, 61472124, 61662090, 61602350), the Open Foundation of Hubei Province Key Laboratory of Intelligent Information Processing and Real-time Industrial System (2016znss26C).


  1. 1.
    Shi, W., Wu, J., Lam, S.K., Srikanthan, T.: Algorithms for bi-objective multiple-choice hardware/software partitioning. Comput. Electr. Eng. 50, 127–142 (2016)CrossRefGoogle Scholar
  2. 2.
    Trindade, A.B., Cordeiro, L.C.: Applying SMT-based verification to hardware/software partitioning in embedded systems. Des. Autom. Embed. Syst. 20(1), 1–19 (2016)CrossRefGoogle Scholar
  3. 3.
    Tang, Z., Liu, M., Ammar, A., Li, K., Li, K.: An optimized MapReduce workflow scheduling algorithm for heterogeneous computing. J. Supercomput. 72(6), 2059–2079 (2016)CrossRefGoogle Scholar
  4. 4.
    Banerjee, S., Bozorgzadeh, E., Dutt, N.D.: Integrating physical constraints in hw-sw partitioning for architectures with partial dynamic reconfiguration. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 14(11), 1189–1202 (2006)CrossRefGoogle Scholar
  5. 5.
    Jigang, W., Chang, B., and Srikanthan, T.: A hybrid branch-and-bound strategy for hardware/software partitioning. In: Eighth IEEE/ACIS International Conference on Computer and Information Science, pp. 641–644. ICIS 2009. IEEE, (2009)Google Scholar
  6. 6.
    Teich, J.: Hardware/software codesign: the past, the present, and predicting the future. In: Proceedings of the IEEE, vol. 100, no. Special Centennial Issue, pp. 1411–1430. (2012)Google Scholar
  7. 7.
    Wolf, W., Jerraya, A.A., Martin, G.: Multiprocessor system-on-chip (mpsoc) technology. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 27(10), 1701–1713 (2008)CrossRefGoogle Scholar
  8. 8.
    Tang, Z., Jiang, L., Yang, L., Li, K., Li, K.: CRFs based parallel biomedical named entity recognition algorithm employing MapReduce framework. Clust. Comput. 18(2), 493–505 (2015)CrossRefGoogle Scholar
  9. 9.
    Wiangtong, T., Cheung, P.Y., Luk, W.: Comparing three heuristic search methods for functional partitioning in hardware-software codesign. Des. Autom. Embed. Syst. 6(4), 425–449 (2002)CrossRefzbMATHGoogle Scholar
  10. 10.
    Tang, Z., Jiang, L., Zhou, J., Li, K., Li, K.: A self-adaptive scheduling algorithm for reduce start time. Future Gener. Comput. Syst. 43–44, 51–60 (2015)CrossRefGoogle Scholar
  11. 11.
    Niemann, R., Marwedel, P.: An algorithm for hardware/software partitioning using mixed integer linear programming. Des. Autom. Embed. Syst. 2(2), 165–193 (1997)CrossRefGoogle Scholar
  12. 12.
    Wu, J., Srikanthan, T.: Low-complex dynamic programming algorithm for hardware/software partitioning. Inf. Proces. Lett. 98(2), 41–46 (2006)CrossRefzbMATHGoogle Scholar
  13. 13.
    Sha, E., Wang, L., Zhuge, Q., Zhang, J., Liu, J.: Power efficiency for hardware/software partitioning with time and area constraints on mpsoc. Int. J. Parallel Program. 43(3), 381–402 (2015)CrossRefGoogle Scholar
  14. 14.
    Xu, Y., Li, K., Hu, J., Li, K.: A genetic algorithm for task scheduling on heterogeneous computing systems using multiple priority queues. Inf. Sci. 270, 255–287 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Peng, Z. and Kuchcinski, K.: An algorithm for partitioning of application specific systems. In: Proceedings of the [4th] European Conference on Design Automation, 1993, with the European Event in ASIC Design, pp. 316–321. (1993)Google Scholar
  16. 16.
    Xu, Y., Li, K., He, L., Zhang, L., Li, K.: A hybrid chemical reaction optimization scheme for task scheduling on heterogeneous computing systems. IEEE Trans. Parallel Distrib. Syst. 26(12), 3208–3222 (2015)CrossRefGoogle Scholar
  17. 17.
    Jigang, W., Srikanthan, T., Chen, G.: Algorithmic aspects of hardware/software partitioning: 1d search algorithms. IEEE Trans. Comput. 59(4), 532–544 (2010)MathSciNetCrossRefGoogle Scholar
  18. 18.
    Arató, P., Mann, Z.Á., Orbán, A.: Algorithmic aspects of hardware/software partitioning. ACM Trans. Des. Autom. Electron. Syst. (TODAES) 10(1), 136–156 (2005)CrossRefGoogle Scholar
  19. 19.
    Peng, Z., Kuchcinski, K.: Automated transformation of algorithms into register-transfer level implementations. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 13(2), 150–166 (1994)CrossRefGoogle Scholar
  20. 20.
    Stoy, E. and Peng, Z.: A design representation for hardware/software co-synthesis. In: Proceedings of the 20th EUROMICRO Conference EUROMICRO 94. System Architecture and Integration, pp. 192–199. (1994)Google Scholar
  21. 21.
    Dave, B.P., Lakshminarayana, G., Jha, N.K.: COSYN: hardware–software co-synthesis of heterogeneous distributed embedded systems. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 7(1), 92–104 (1999)CrossRefGoogle Scholar
  22. 22.
    Dave, B.P., Jha, N.K.: COHRA: hardware-software cosynthesis of hierarchical heterogeneous distributed embedded systems. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 17(10), 900–919 (1998)CrossRefGoogle Scholar
  23. 23.
    Shang, L., Dick, R.P., Jha, N.K.: SLOPES: hardware–software cosynthesis of low-power real-time distributed embedded systems with dynamically reconfigurable fpgas. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 26(3), 508–526 (2007)CrossRefGoogle Scholar
  24. 24.
    Dave, B.P., Jha, N.K.: COFTA: hardware–software co-synthesis of heterogeneous distributed embedded systems for low overhead fault tolerance. IEEE Trans. Comput. 48(4), 417–441 (1999)CrossRefGoogle Scholar
  25. 25.
    Bolchini, C., Miele, A.: Reliability-driven system-level synthesis for mixed-critical embedded systems. IEEE Trans. Comput. 62(12), 2489–2502 (2013)MathSciNetCrossRefGoogle Scholar
  26. 26.
    Roloff, S., Hannig, F. and Teich, J.: Approximate time functional simulation of resource-aware programming concepts for heterogeneous mpsocs. In: Proceedings of the Design Automation Conference (ASP-DAC), 2012 17th Asia and South Pacific, pp. 187–192. IEEE, (2012)Google Scholar
  27. 27.
    Li, K., Tang, X., Li, K.: Energy-efficient stochastic task scheduling on heterogeneous computing systems. IEEE Trans. Parallel Distrib. Syst. 25(11), 2867–2876 (2014)CrossRefGoogle Scholar
  28. 28.
    Li, K., Tang, X., Veeravalli, B., Li, K.: Scheduling precedence constrained stochastic tasks on heterogeneous cluster systems. IEEE Trans. Comput. 64(1), 191–204 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  29. 29.
    Dick, R.P., Jha, N.K.: Mogac: a multiobjective genetic algorithm for hardware-software cosynthesis of distributed embedded systems. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 17(10), 920–935 (1998)CrossRefGoogle Scholar
  30. 30.
    Wang, L., Liu, J., Hu, J., Zhuge, Q., Liu, D. and Sha, E.H.-M.: Efficient task assignment on heterogeneous multicore systems considering communication overhead. In: Algorithms and Architectures for Parallel Processing, pp. 171–185. Springer, (2012)Google Scholar
  31. 31.
    Tang, Z., Qi, L., Cheng, Z., Li, K., Ullah Khan, S., Li, K.: An energy-efficient task scheduling algorithm in DVFS-enabled cloud environment. J. Grid Comput. 14(1), 55–74 (2016)CrossRefGoogle Scholar
  32. 32.
    Wu, J., Srikanthan, T., Jiao, T.: Algorithmic aspects for functional partitioning and scheduling in hardware/software co-design. Des. Autom. Embed. Syst. 12(4), 345–375 (2008)CrossRefGoogle Scholar
  33. 33.
    Zivojnovic, V., Velarde, J.M., Schlager, C. and Meyr, H.: Dspstone: a dsp-oriented benchmarking methodology. In: Proceedings of the International Conference on Signal Processing Applications and Technology, pp. 715–720 (1994)Google Scholar
  34. 34.
    Dick, R.P., Rhodes, D.L. and Wolf, W.: TGFF: task graphs for free. In: Proceedings of the 6th International Workshop on Hardware/software Codesign, pp. 97–101. IEEE Computer Society, (1998)Google Scholar

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  • Aijia Ouyang
    • 1
  • Xuyu Peng
    • 1
  • Jing Liu
    • 2
  • Ahmed Sallam
    • 3
  1. 1.Department of Information EngineeringZunyi Normal CollegeGuizhouChina
  2. 2.College of Computer Science and TechnologyWuhan University of Science and TechnologyWuhanChina
  3. 3.Faculty of Computers and InformaticsSuez Canal UniversityIsmailiaEgypt

Personalised recommendations