skip to main content
10.1145/1366110.1366146acmconferencesArticle/Chapter ViewAbstractPublication PagesglsvlsiConference Proceedingsconference-collections
poster

Hardware/software partitioning with multi-version implementation exploration

Published:04 May 2008Publication History

ABSTRACT

Hardware/software partitioning is an increasingly common technique that maps critical regions of a software application into custom hardware to achieve application speedup. Most previous partitioning approaches assume that each application region has only a single hardware implementation. However, code regions typically can be implemented as many different versions that tradeoff performance and area, as in the case of a loop that can be unrolled by different amounts. We introduce a new formulation of hardware/software partitioning that integrates multiple versions of region implementations, improving performance by more than 27% on average compared to partitioning with a single implementation. We present an optimal ILP solution, and introduce an efficient heuristic that achieves solutions within 0% to 8% of the optimal while running in less than one second for large problem sizes.

References

  1. Chatha, K. and Vemuri, R. 2000. An iterative algorithm for partitioning, hardware design space exploration and scheduling of hardware-software systems. Design Automation for Embedded Systems Journal, No. 5, August 2000, pp 281--293,.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Chatha, K. and Vemuri, R. 2001. MAGELLAN: multiway hardware-software partitioning and scheduling for latency minimization of hierarchical control-dataflow task graphs. In Proceedings of the International Workshop on Hardware/Software Codesign (CODES), pp. 42--47. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. CriticalBlue. http://www.criticalblue.com.Google ScholarGoogle Scholar
  4. EEMBC. http://www.eembc.org.Google ScholarGoogle Scholar
  5. Eles, P., Peng, Z., Kuchchinski, K., and Doboli, A. 1997. System level hardware/software partitioning based on simulated annealing and tabu search. Journal on Design Automation for Embedded Systems, Vol. 2, No. 1, pp. 5--32.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Ernst, R. and Henkel, J. 1992. Hardware-software codesign of embedded controllers based on hardware extraction. In Proceedings of the International Workshop on Hardware/Software Codesign (CODES).Google ScholarGoogle Scholar
  7. Grode, J., Knudsen, P., and Madsen, J. 1998. Hardware resource allocation for hardware/software partitioning in the LYCOS system. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE), pp. 22---27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Gupta, R. and De Micheli, G. 1992. System-level synthesis using reprogrammable components. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE), pp. 2--7.Google ScholarGoogle Scholar
  9. Haubelt, C., Teich, J., Richter, K., and Ernst, R. 2002. System design for flexibility. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE), pp. 854--862. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Henkel, J. 1999. A low power hardware/software partitioning approach for core-based embedded systems. In Proceedings of the Design Automation Conference (DAC), pp. 122--127. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. ILOG CPLEX. http://www.ilog.com/products/cplex/Google ScholarGoogle Scholar
  12. Kalavade, A. and Lee, E. 1994. A global criticality/local phase driven algorithm for the constrained hardware/software partitioning problem. In Proceedings of the International Workshop on Hardware/Software Codesign (CODES), pp. 42--48. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Kalavade, A. and Subrahmanyam, P.A. 1997. Hardware/Software Partitioning for Multi-Function-Systems. In Proceedings of the International Conference on Computer-aided Design (ICCAD), pp.516--521. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Lee, C., Potkonjak, M., and Magione-Smith, W. 1997. MediaBench: A tool for evaluating and synthesizing multimedia and communication systems. In Proceedings of the International Symposium on Microarchitecture (MICRO), pp. 330--335. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Oh, H. and Ha, S. 2002. Hardware-software cosynthesis of multi-mode multi-task embedded systems with real-time constraints. In Proceedings of the International Workshop on Hardware/Software Codesign (CODES), pp.133--138. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Ozre, E., Nisbet, A., and Gregg, D. 2004. Fine-tuning loop-level parallelism for increasing performance of DSP applications on FPGAs, In Proceedings of Symposium on FPGAs for Custom Computing Machines (FCCM), pp. 273--274. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Pellerin, D. and Thibault, S. 2006. Evaluating hardware acceleration strategies using C-to-hardware tools. XCell Journal, Issue 58, pp. 16--18.Google ScholarGoogle Scholar
  18. Li, Y., Callahan, T., Darnell, E., Harr, R., Kurkure, U., and Stockwood, J. 2000. Hardware-software co-design of embedded reconfigurable architectures. In Proceedings of the Design Automation Conference (DAC), pp.507--512. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. So, B., Hall, M., and Diniz, P. 2002. A compiler approach to fast hardware design space exploration in FPGA-based systems. In Proceedings of the Conference on Programming Language Design and Implementation (PLDI ), pp. 165--176. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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), pp. 28--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Stitt, G. 2008. Hardware/software partitioning with multi-version implementation exploration. Technical Report, February 2008. University of Florida.Google ScholarGoogle Scholar
  22. Stitt, G., Lysecky, R., and Vahid, F. 2003. Dynamic hardware/software partitioning: a first approach. In Proceedings of the Design Automation Conference (DAC), pp. 250--255. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Stitt, G., Vahid, F., McGregor, G., and Einloth, B. 2005. Hardware/software partitioning of software binaries: a case study of H.264 decode. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis (CODES/ISSS), pp. 285--290. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Vahid, F. and Gajski, D. 1995. Incremental hardware estimation during hardware/software functional partitioning. IEEE Transactions on VLSI Systems, Vol. 3, No. 3, September 1995, pp. 459--464. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. XPRES Compiler. http://www.tensilica.com/html/xpres.html.Google ScholarGoogle Scholar
  26. Yamada, T., Kataoka, S., and Watanabe, K. 2002. Heuristic and exact algorithms for the disjunctively constrained knapsack problem. Information Processing Society of Japan Journal, Vol. 43, No. 9, pp. 2864--2870.Google ScholarGoogle Scholar

Index Terms

  1. Hardware/software partitioning with multi-version implementation exploration

      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
      • Published in

        cover image ACM Conferences
        GLSVLSI '08: Proceedings of the 18th ACM Great Lakes symposium on VLSI
        May 2008
        480 pages
        ISBN:9781595939999
        DOI:10.1145/1366110

        Copyright © 2008 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 4 May 2008

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • poster

        Acceptance Rates

        Overall Acceptance Rate312of1,156submissions,27%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader