Skip to main content
Log in

Dynamo: a runtime partitioning system for FPGA-based HW/SW image processing systems

  • Special Issue
  • Published:
Journal of Real-Time Image Processing Aims and scope Submit manuscript

Abstract

The Dynamo system provides a runtime environment for mapping image processing applications to hardware/software platforms that contain a mix of processors and reconfigurable hardware. Dynamo can be used by an image analyst with no knowledge of HW/SW design. The analyst specifies the algorithms implemented in a processing pipeline and the input data. Dynamo dynamically selects the most efficient combination of hardware and software component implementations to minimize pipeline runtime, generates the source code that implements the pipeline, processes the input data using the implementation, and returns the results. We present the design and implementation of Dynamo. Our target domain is image processing pipelines. We chose image processing (IP) because many IP algorithms benefit from acceleration using reconfigurable hardware and many IP applications are structured as a pipeline, where each component can be implemented in software or hardware. Our performance modeling incorporates profiles based on experimental results and on overhead costs. Our results show that modeling of overhead costs is essential to choosing the correct implementation. We illustrate how Dynamo chooses a mix of hardware and software implementations to minimize runtime for several different image processing applications.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. This processor was selected because the technology matches that of the target hardware. The techniques presented here will work with any generation of hardware technology.

  2. Note that bitstream names have the form bitstreamName.x86.

References

  1. ACCP.: Altera Accelchip. http://www.accelchip.com, last visited May 2007 (2006)

  2. Annapolis Microsystems.: Annapolis wildcard. http://annapmicro.com/wce.html, last visited May 2007 (2006)

  3. Banerjee, S., Bozorgzadeh, E., Dutt, N.: Physically-aware HW–SW partitioning for reconfigurable architectures with partial dynamic reconfiguration. In: Design Automation Conference (DAC), pp. 335–340 (2005)

  4. Bobda, C., Ahmadinia, A.: Dynamic interconnection of reconfigurable modules on reconfigurable devices. Des. Test Comput. 22, 443– 451 (2005)

    Article  Google Scholar 

  5. CEL.: Celoxica. http://www.celoxica.com, last visited May 2007 (2007)

  6. DBLD.: Altera DSP Builder. http://www.altera.com/products/software/products/dsp/dsp-builder.html, last visited May 2007 (2007)

  7. Eclipse.: Eclipse. http://www.eclipse.org/, last visited May 2007 (2006)

  8. Eclipsecolorer.: Eclipsecolorer profiling tool. http://sourceforge.net/ projects/eclipsecolorer/, last visited May 2007 (2006)

  9. Fu, W., Compton, K.: An execution environment for reconfigurable computing. In: Field-programmable Custom Computing Machines (FCCM), pp. 149–158 (2005)

  10. Gupta, R.K., Jr CJNC, Micheli, G.D.: Synthesis and simulation of digital systems containing interacting hardware and software components. In: Design Automation Conference (DAC), pp. 225–230 (1992)

  11. Kalavade, A., Lee, E.: A gobal criticality/local phase driven algorithm for the constrainted hardware/software partitioning problem. In: Third International Workshop on Hardware/Software Co-design (Codes/CASHE ’94), pp. 42–48 (1994)

  12. King, L.A.S, Quinn, H., Leeser, M., et al.: Run-time execution of reconfigurable hardware in a Java environment. In: International Conference on Computer Design (ICCD), pp. 380–387 (2001)

  13. King, L.A.S., Leeser, M., Quinn, H.: Dynamo: A runtime partitioning system. In: International Conference on Engineering of Reconfigurable Systems and Algorithms (ERSA), pp. 145–154 (2004)

  14. Levine, B.A., Schmit, H.: Efficient application representation for HASTE: hybrid architectures with a single, transformable executable. In: Field Programmable Custom Computing Machines (FCCM), pp. 101–110 (2003)

  15. Maestre, R., Kurdahi, F.J., Fernandez, M., Hermida, R., Bagherzadeh, N., Singh, H.: A framework for reconfigurable computing: task scheduling and context management. IEEE Transactions on very Large Scale Integration (VLSI) Systems 9(6), 858–873 (2001). doi:10.1109/92.974899

    Article  Google Scholar 

  16. Mittal, G., Zaretsky, D., Tang, X., Banerjee, P.: Automatic translation of software binaries onto FPGAs. In: 41st Design Automation Conference (DAC), pp. 389–394 (2004)

  17. Niemann, R., Marwedel, P.: Hardware/software partitioning using Integer Programming. In: European Design and Test Conference, pp. 473–480 (1996)

  18. Noguera, J., Badia, R.M.: Hw/sw codesign techniques for dynamically reconfigurable architectures. IEEE Transactions on very Large Scale Integration (VLSI) Systems 10(4), 399–415 (2002). doi:10.1109/TVLSI.2002.801575

    Article  Google Scholar 

  19. Ong, S., Kerkiz, N., Srijanto, B., Tan, C., Langston, M., Newport, D., Bouldin, D.: Automatic mapping of multiple applications to multiple adaptive computing systems. In: Field-programmable Custom Computing Machines (FCCM), pp. 218–227 (2001)

  20. Passerone, R., Rowson, J.A., Sangiovanni-Vincentelli, A.L.: Automatic synthesis of interfaces between incompatible protocols. In: Design Automation Conference (DAC), pp. 8–13 (1998)

  21. Quinn, H.: Runtime tools for hardware/software systems with reconfigurable hardware. PhD thesis, Department of Electrical and Computer Engineering, Northeastern University, available from http://www.ece.neu.edu/groups/rcl/publications.html (2004)

  22. Quinn, H., King, L.A.S, Leeser, M., Meleis, W.: Runtime assignment of reconfigurable hardware components for image processing pipelines. In: Field Programmable Custom Computing Machines (FCCM), pp. 173–184 (2003)

  23. SGEN.: Xilinx System Generator. http://www.xilinx.com/ise/optional_prod/system_generator.htm, last visited May 2007 (2007)

  24. Siozios, K., Koutroumpezis, G., Tatas, K., Soudris, D., Thanailakis, A.: Dagger: A novel generic methodology for fpga bitstream generation and its software tool implementation. In: 19th International Parallel and Distributed Processing Symposium (IPDPS) (2005)

  25. Srivastava, M.B., Yanbing, L., Callahan, T., Darnell, E., Harr, R., Kurkure, U., Stockwood, J.: Hardware–software co-design of embedded reconfigurable architectures. In: Design Automation Conference, IEEE (2000)

  26. Stitt, G., Lysecky, R., Vahid, F.: Dynamic hardware/software partitioning: A first approach. In: Design Automation Conference, pp. 250–255 (2003)

  27. Stitt, G., Vahid, F., McGregor, G., Einloth, B.: Hardware/software partitioning of software binaries: a case study of H.264 decode. In: 3rd IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES + ISSS), pp. 285–290 (2005)

  28. STRTCH.: Stretch s5000 Software-configurable Processors. http://www.stretchinc.com/products/, last visited May 2007 (2007)

  29. V2PRO.:Xilinx Virtex-II Pro. http://www.xilinx.com/products/silicon_solutions/fpgas/virtex/virtex_ii_pro_fpgas/, last visited May 2007 (2007)

  30. Wiangtong, T., Cheung, P., Luk, W.: Tabu search with intensification strategy for functional partitioning in hardware–software codesign. In: Field-programmable Custom Computing Machines (FCCM), pp. 297–298 (2002)

  31. XTREM.: Xtremedata. http://www.xtremedatainc.com/, last visited May 2007 (2007)

Download references

Acknowledgments

Heather Quinn was supported under a Graduate Student Researchers Program Fellowship through NASA’s Goddard Space Flight Center when this research was conducted. This work was supported in part by CenSSIS, the Center for Subsurface Sensing and Imaging Systems, under the Engineering Research Centers Program of the National Science Foundation (award number EEC-9986821). This research was also supported in part by NSF award number EHS-0410246. Heather Quinn is currently employed at Los Alamos National Laboratory. This paper was cleared for public release as LA-UR-06-3434; distribution is unlimited. Los Alamos National Laboratory, an affirmative action/equal opportunity employer, is operated by the University of California for the U.S. Department of Energy under contract W-7405-ENG-36. By acceptance of this article, the publisher recognizes that US Government retains a nonexclusive, royalty-free license to publish or reproduce the published form of this contribution, or to allow others to do so, for US Government purposes. Los Alamos National Laboratory requests that the publisher identify this article as work performed under the auspices of the US Department of Energy. Los Alamos National Laboratory strongly supports academic freedom and a researcher’s right to publish; as an institution, however, the Laboratory does not endorse the viewpoint of a publication or guarantee its technical correctness.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Miriam Leeser.

Additional information

This research was done while Heather Quinn was a PhD student at Northeastern University.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Quinn, H., Leeser, M. & Smith King, L. Dynamo: a runtime partitioning system for FPGA-based HW/SW image processing systems. J Real-Time Image Proc 2, 179–190 (2007). https://doi.org/10.1007/s11554-007-0050-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11554-007-0050-0

Keywords

Navigation