Knapsack Model and Algorithm for HW/SW Partitioning Problem

  • Abhijit Ray
  • Wu Jigang
  • Srikanthan Thambipillai
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3036)


Hardware software partitioning is one of the most significant problem in embedded system design. The size of the total solution space for this problem is typically quite large. This problem has been investigated extensively. This paper is the first work to model the problem into a knapsack problem. We present a way to split the problem into standard 0-1 knapsack problems, so that most of the classical approaches for 0-1 knapsack problems can be directly applied. We use tight lower bound and tight upper bound on each of these knapsack problems to eliminate sub-problems, which are guaranteed not to give optimal results.


  1. 1.
    Pisinger, D.: A minimal algorithm for the 0-1 knapsack problem. Operations Research, 758–767 (1997)Google Scholar
  2. 2.
    Pisinger, D.: Algorithms for knapsack problems, Ph.D. Thesis, pp. 1–200 (1995)Google Scholar
  3. 3.
    Ernst, R., Henkel, J., Benner, T.: Hardware-Software Cosynthesis for Microcontrollers. IEEE Design and Test of Computers, 64–75 (1993)Google Scholar
  4. 4.
    Vahid, F., Gajski, D.D., Jong, J.: A binary-constraint search algorithm for minimizing hardware during hardware/software partitioning. IEEE/ACM Proceedings European Conference on Design Automation(EuroDAC), 214–219 (1994)Google Scholar
  5. 5.
    Gupta, R.K., Micheli, G.D.: System-level synthesis using reprogrammable components. In: Proceedings. [3rd] European Conference on Design Automation, pp. 2–7 (1992)Google Scholar
  6. 6.
    Niemann, R., Marwedel, P.: Hardware/software partitioning using integer programming. In: Proceedings European Design and Test Conference, 1996. ED&TC 1996, pp. 473–479 (1996)Google Scholar
  7. 7.
    Chatha, K.S., Vemuri, R.: Hardware-software partitioning and pipelined scheduling of transformative applications. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 10(3), 193–208 (2002)CrossRefGoogle Scholar
  8. 8.
    Rakhmatov, D.N., Vrudhula, S.B.K.: Hardware-software bipartitioning for dynamically reconfigurable systems. In: Proceedings of the Tenth International Symposium on Hardware/Software Codesign, CODES 2002, pp. 145–150 (2002)Google Scholar
  9. 9.
    Henkel, J., Ernst, R.: An approach to automated hardware/software partitioning using a flexible granularity that is driven by high-level estimation technique. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 9(2), 273–289 (2001)CrossRefGoogle Scholar
  10. 10.
    Jigang, W., Yunfei, L., Schroeder, H.: A minimal reduction approach for the collapsing knapsack problem. Computing and Informatics 20, 359–369 (2001)zbMATHMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Abhijit Ray
    • 1
  • Wu Jigang
    • 1
  • Srikanthan Thambipillai
    • 1
  1. 1.Centre for High Performance Embedded Systems, School of Computer EngineeringNanyang Technological University, SingaporeRepublic of Singapore

Personalised recommendations