skip to main content
research-article

A polynomial algorithm for partitioning problems

Published:06 April 2010Publication History
Skip Abstract Section

Abstract

This article takes a theoretical approach to focus on the algorithmic properties of hardware/software partitioning. It proposes a method with polynomial complexity to find the global optimum of an NP-hard model partitioning problem for 75% of occurrences under some practical conditions. The global optimum is approached with a lower bound distance for the remaining 25%. Furthermore, this approach ensures finding the 2-approximate of the global optimum partition in 97% of instances where technical assumptions exist. The strategy is based on intelligently changing the parameters of the polynomial model of the partitioning problem to force it to produce (or approach) the exact solution to the NP-hard model.

References

  1. Ádám Mann, Z. and Arató, P. 2004. Partitioning algorithms for hardware/software co-design. Ph.D. Dissertation, Budapest University of Technology and Economics, Department of Control Engineering and Information Technology.Google ScholarGoogle Scholar
  2. Arató, P., Ádám Mann, Z., and Orbán, A. 2005. Algorithmic aspects of hardware/software partitioning. ACM Trans. Des. Autom. Electron. Syst. 10, 1, 136--156. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Arató, P., Juhasz, S., Mann, Z., Orbán, A., and Papp, D. 2003. Hardware-Software partitioning in embedded system design. In Proceedings of the IEEE International Symposium on Intelligent Signal Processing. 197--202.Google ScholarGoogle Scholar
  4. Banerjee, S. and Dutt, N. 2004. Efficient search space exploration for hw-sw partitioning. In Proceedings of the 2nd IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '04). ACM, New York, 122--127. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Binh, N. N., Imai, M., Shiomi, A., and Hikichi, N. 1996. A hardware/software partitioning algorithm for designing pipelined asips with least gate counts. In Proceedings of the 33rd Design Automation Conference. 527--532. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Chatha, K. S. and Vemuri, R. 2001. Magellan: Multiway hardware-software partitioning and scheduling for latency minimization of hierarchical control-dataflow task graphs. In Proceedings of the 9th International Symposium on Hardware/Software Codesign (CODES'01). ACM, New York, 42--47. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Dick, R. and Jha, N. 1997. Mogac: A multiobjective genetic algorithm for the co-synthesis of hardware-software embedded systems. In Digest of Technical Papers, IEEE/ACM International Conference on Computer-Aided Design. 522--529. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Edwards, S., Lavagno, L., Lee, E. A., and Sangiovanni-Vincentelli, A. 2002. Design of embedded systems: Formal models, validation, and synthesis. Proc. IEEE 85, 3, 86--107.Google ScholarGoogle Scholar
  9. Eles, P., Peng, Z., Kuchcinski, K., and Doboli, A. 1996. Hardware/Software partitioning of vhdl system specifications. In Proceedings of the Design Automation Conference with EURO-VHDL '96 and Exhibition. 434--439. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Goldberg, A. V. and Tarjan, R. E. 1988. A new approach to the maximum-flow problem. J. ACM 35, 4, 921--940. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Guthaus, M. R., Ringenberg, J. S., Ernst, D., Austin, T. M., Mudge, T., and Brown, R. B. 2001. Mibench: A free, commercially representative embedded benchmark suite. In Proceedings of the Workload Characterization. WWC-4. IEEE International Workshop (WWC '01). IEEE Computer Society, 3--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Henkel, J. and Ernst, R. 2001. An approach to automated hardware/software partitioning using aflexible granularity that is driven by high-level estimation techniques. IEEE Trans. VLSI Syst. 9, 2, 273--289. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Huang, D. J. H. and Kahng, A. B. 1995. When clusters meet partitions: New density-based methods for circuit decomposition. In Proceedings of the European Conference on Design and Test (EDTC'95). IEEE Computer Society, 60--64. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Kalavade, A. and Subrahmanyam, P. A. 1998. Hardware/Software partitioning for multifunction systems. IEEE Trans. Comput.-Aided. Des. Integr. Circ. Syst. 17, 9, 819--837. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. López-Vallejo, M. and López, J. C. 2003. On the hardware-software partitioning problem: System modeling and partitioning techniques. ACM Trans. Des. Autom. Electron. Syst. 8, 3, 269--297. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Mei, B., Schaumont, P., and Vernalde, S. 2000. A hardware-software partitioning and scheduling algorithm for dynamically reconfigurable embedded systems. In Proceedings of the 11th ProRISC Workshop on Circuits, Systems and Signal Processing.Google ScholarGoogle Scholar
  17. Shengchao, Q. and Jifeng, H. 2000. An algebraic approach to hardware/software partitioning. In Proceedings of the 7th IEEE International Conference on Electronics, Circuits and Systems. 1, 273--276.Google ScholarGoogle Scholar
  18. Srinivasan, V., Radhakrishnan, S., and Vemuri, R. 1998. Hardware/Software partitioning with integrated hardware design space exploration. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE '98). IEEE Computer Society, 28--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Stone, H. S. 1977. Multiprocessor scheduling with the aid of network flow algorithms. IEEE Trans. Softw. Engin. 3, 1, 85--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Tahaee, S. A. and Jahangir, A. H. 2007. Reducing the complexity of partitioning problem in high level synthesis. In Proceedings of the 5th IEEE East-West Design and Test Symposium. 556--562.Google ScholarGoogle Scholar
  21. Tahaee, S. A., Jahangir, A. H., and Habibi-Masouleh, H. 2008. Improving the performance of heuristic searches with judicious initial point selection. In Proceedings of the 5th IEEE International Symposium on Embedded Computing. 14--19. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Vahid, F. 1997. Modifying min-cut for hardware and software functional partitioning. In Proceedings of the 5th International Workshop on Hardware/Software Co-Design (CODES'97). IEEE Computer Society, 43. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Vahid, F. 2002. Partitioning sequential programs for cad using a three-step approach. ACM Trans. Des. Autom. Electron. Syst. 7, 3, 413--429. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Vahid, F. and Gajski, D. 1995. Clustering for improved system-level functional partitioning. In Proceedings of the 8th International Symposium on System Synthesis. 28--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Vallerio, K. and Jha, N. 2003. Task graph extraction for embedded system synthesis. In Proceedings of the 16th International Conference on VLSI Design. 480--486. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Wiangtong, T., Cheung, P. Y. K., and Luk, W. 2002. Comparing three heuristic search methods for functional partitioning in hardwaresoftware codesign. Des. Autom. Embed. Syst. 6, 4, 425--449.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A polynomial algorithm for partitioning problems

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!