skip to main content
research-article

Runtime multitasking support on polymorphic platforms

Authors Info & Claims
Published:14 January 2011Publication History
Skip Abstract Section

Abstract

General purpose computers are moving towards employing reconfigurable fabrics in order to achieve higher performance. In such systems, serving several applications at runtime is a challenging problem in which the reconfigurable fabric has to be shared among competing tasks. Because of the inherent complexity of mapping the computation intensive tasks into the FPGA, a comprehensive runtime system is required to address all the conflicting issues between competing applications' demands and to keep the system performance at the required level. In this paper, we present a runtime environment wherein a number of components introduced to handle the task assignment problem in a very low overhead manner. This runtime system completely virtualizes the underlying hardware and thus relieve the program developers from the difficulties of hardware design issues. More specifically, we discuss the design and implementation of the scheduler as the fundamental component as well as the profiler and the runtime binding mechanism in our runtime system.

References

  1. http://www.hartes.org/, 2010.Google ScholarGoogle Scholar
  2. http://euler.slu.edu/~fritts/mediabench, 2010.Google ScholarGoogle Scholar
  3. http://www.coremark.org/, 2010.Google ScholarGoogle Scholar
  4. http://www.eembc.org/, 2010.Google ScholarGoogle Scholar
  5. M. Arnold and B. G. Ryder. A framework for reducing the cost of instrumented code. ACM SIGPLAN Notices, Vol 36, No. 5, pages 168--179, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. C. Augonnet, S. Thibault, R. Namyst, and P. Wacrenier. Starpu: A unified platform for task scheduling on heterogeneous multicore architectures. In 15th International Euro-Par Conference, pages 863--874. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. G. Barnett. Cpu scheduling simulator. cpuss.codeplex.com, 2009.Google ScholarGoogle Scholar
  8. N. Een and N. Sorensson. An extensible sat-solver. In Theory and Applications of Satisfiability Testing, pages 333--336, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  9. W. Fu and K. Compton. An execution environment for reconfigurable computing. In 13th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2005. FCCM 2005, pages 149--158, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. S. Huang, A. Hormati, D. Bacon, and R. Rabbah. Liquid metal: Object-oriented programming across the hardware/software boundary. In Proceedings of the 22nd European conference on Object-Oriented Programming, pages 76--103. Springer-Verlag, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. G. Hunt,, G. Hunt, and D. Brubacher. Detours: Binary interception of win32 functions. In In Proceedings of the 3rd USENIX Windows NT Symposium, pages 135--143, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. Kelm and S. Lumetta. Hybridos: Runtime support for reconfigurable accelerators. In Proceedings of the 16th International ACM/SIGDA Symposium on Field Programmable Gate Arrays, pages 212--221. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. E. Lubbers and M. Platzner. Reconos: An operating system for dynamically reconfigurable hardware. Dynamically Reconfigurable Systems, pages 269--290, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  14. K. Olukotun et al. Towards pervasive parallelism. In Barcelona Multicore Workshop (BMW2008), Jun 2008.Google ScholarGoogle Scholar
  15. E. Panainte, K. Bertels, and S. Vassiliadis. The Molen compiler for reconfigurable processors. ACM Transactions on Embedded Computing Systems (TECS), 6(1):6, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. M. Sabeghi and K. Bertels. Toward a runtime system for reconfigurable computers: A virtualization approach. In Design, Automation and Test in Europe (DATE09), April 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Sabeghi and K. Bertels. Interfacing operating systems and polymorphic computing platforms based on the molen programming paradigm. In Sixth Annual Workshop on the Interaction between Operating Systems and Computer Architecture, June 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. Sabeghi, V. Sima, and K. Bertels. Compiler assisted runtime task scheduling on a reconfigurable computer. In 19th International Conference on Field Programmable Logic and Applications (FPL09), August 2009.Google ScholarGoogle ScholarCross RefCross Ref
  19. H. So and R. Brodersen. A unified hardware/software runtime environment for fpga-based reconfigurable computers using borph. ACM Transactions on Embedded Computing Systems (TECS), 7(2):14, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Vassiliadis, S. Wong, G. Gaydadjiev, K. Bertels, G. Kuzmanov, and E. M. Panainte. The molen polymorphic processor. IEEE Transactions on Computers, Vol 53, No. 11, pages 1363--1375, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Runtime multitasking support on polymorphic platforms

    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

    • Published in

      cover image ACM SIGARCH Computer Architecture News
      ACM SIGARCH Computer Architecture News  Volume 38, Issue 4
      September 2010
      96 pages
      ISSN:0163-5964
      DOI:10.1145/1926367
      Issue’s Table of Contents

      Copyright © 2011 Authors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 14 January 2011

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader