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 2008 Publication 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,.
[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.
[3]
CriticalBlue. http://www.criticalblue.com.
[4]
EEMBC. http://www.eembc.org.
[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.
[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).
[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.
[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.
[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.
[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.
[11]
ILOG CPLEX. http://www.ilog.com/products/cplex/
[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.
[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.
[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.
[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.
[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.
[17]
Pellerin, D. and Thibault, S. 2006. Evaluating hardware acceleration strategies using C-to-hardware tools. XCell Journal, Issue 58, pp. 16--18.
[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.
[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.
[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.
[21]
Stitt, G. 2008. Hardware/software partitioning with multi-version implementation exploration. Technical Report, February 2008. University of Florida.
[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.
[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.
[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.
[25]
XPRES Compiler. http://www.tensilica.com/html/xpres.html.
[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.

Cited By

View all
  • (2014)Hardware/Software Partitioning for Embedded SystemsApplication of Evolutionary Algorithms for Multi-objective Optimization in VLSI and Embedded Systems10.1007/978-81-322-1958-3_2(21-36)Online publication date: 17-Jul-2014
  • (2012)Partitioning and Assignment Exploration for Multiple Modes of IEEE 802.11n Modem on Heterogeneous MPSoC PlatformsProceedings of the 2012 15th Euromicro Conference on Digital System Design10.1109/DSD.2012.102(608-615)Online publication date: 5-Sep-2012
  • (2011)High level analysis of trade-offs across different partitioning schemes for wireless applications2011 IEEE Workshop on Signal Processing Systems (SiPS)10.1109/SiPS.2011.6088967(156-162)Online publication date: Oct-2011

Recommendations

Comments

Information & Contributors

Information

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
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 May 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. fpga
  2. hardware/software codesign
  3. hardware/software partitioning
  4. synthesis

Qualifiers

  • Poster

Conference

GLSVLSI08
Sponsor:
GLSVLSI08: Great Lakes Symposium on VLSI 2008
May 4 - 6, 2008
Florida, Orlando, USA

Acceptance Rates

Overall Acceptance Rate 312 of 1,156 submissions, 27%

Upcoming Conference

GLSVLSI '25
Great Lakes Symposium on VLSI 2025
June 30 - July 2, 2025
New Orleans , LA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2014)Hardware/Software Partitioning for Embedded SystemsApplication of Evolutionary Algorithms for Multi-objective Optimization in VLSI and Embedded Systems10.1007/978-81-322-1958-3_2(21-36)Online publication date: 17-Jul-2014
  • (2012)Partitioning and Assignment Exploration for Multiple Modes of IEEE 802.11n Modem on Heterogeneous MPSoC PlatformsProceedings of the 2012 15th Euromicro Conference on Digital System Design10.1109/DSD.2012.102(608-615)Online publication date: 5-Sep-2012
  • (2011)High level analysis of trade-offs across different partitioning schemes for wireless applications2011 IEEE Workshop on Signal Processing Systems (SiPS)10.1109/SiPS.2011.6088967(156-162)Online publication date: Oct-2011

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media