skip to main content
research-article

Preemption of the Partial Reconfiguration Process to Enable Real-Time Computing With FPGAs

Published:26 July 2018Publication History
Skip Abstract Section

Abstract

To improve computing performance in real-time applications, modern embedded platforms comprise hardware accelerators that speed up the task’s most compute-intensive parts. A recent trend in the design of real-time embedded systems is to integrate field-programmable gate arrays (FPGA) that are reconfigured with different accelerators at runtime, to cope with dynamic workloads that are subject to timing constraints. One of the major limitations when dealing with partial FPGA reconfiguration in real-time systems is that the reconfiguration port can only perform one reconfiguration at a time: if a high-priority task issues a reconfiguration request while the reconfiguration port is already occupied by a lower-priority task, the high-priority task has to wait until the current reconfiguration is completed (a phenomenon known as priority inversion), unless the current reconfiguration is aborted (introducing unbounded delays in low-priority tasks, a phenomenon known as starvation). This article shows how priority inversion and starvation can be solved by making the reconfiguration process preemptive—that is, allowing it to be interrupted at any time and resumed at a later time without restarting it from scratch. Such a feature is crucial for the design of runtime reconfigurable real-time systems but not yet available in today’s platforms. Furthermore, the trade-off of achieving a guaranteed bound on the reconfiguration delay for low-priority tasks and the maximum delay induced for high-priority tasks when preempting an ongoing reconfiguration has been identified and analyzed. Experimental results on the Xilinx Zynq-7000 platform show that the proposed implementation of preemptive reconfiguration introduces a low runtime overhead, thus effectively solving priority inversion and starvation.

References

  1. Florian Benz, André Seffrin, and Sorin A. Huss. 2012. Bil: A tool-chain for bitstream reverse-engineering. In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL’12). 735--738.Google ScholarGoogle Scholar
  2. Alessandro Biondi, Alessio Balsini, Marco Pagani, Enrico Rossi, Mauro Marinoni, and Giorgio Buttazzo. 2016. A framework for supporting real-time applications on dynamic reconfigurable FPGAs. In Proceedings of the Real-Time Systems Symposium (RTSS’16). 1--12.Google ScholarGoogle ScholarCross RefCross Ref
  3. Alan Burns. 1993. Preemptive Priority Based Scheduling: An Appropriate Engineering Approach. Department of Computer Science, University of York.Google ScholarGoogle Scholar
  4. Gilles Chanteperdrix and Richard Cochran. 2009. The ARM fast context switch extension for Linux. In Proceedings of the Real Time Linux Workshop. 255--262.Google ScholarGoogle Scholar
  5. Marvin Damschen, Lars Bauer, and Jörg Henkel. 2016. Extending the WCET problem to optimize for runtime-reconfigurable processors. ACM Trans. Architect. Code Optim. 13, 4, Article 45, 24 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Marvin Damschen, Lars Bauer, and Jörg Henkel. 2016. Timing analysis of tasks on runtime reconfigurable processors. IEEE Trans. Very Large Scale Integr. Syst. 25, 1, 294--307. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Marvin Damschen, Lars Bauer, and Jörg Henkel. 2017. CoRQ: Enabling runtime reconfiguration under WCET guarantees for real-time systems. IEEE Embed. Syst. Lett. To appear.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Klaus Danne and Marco Platzner. 2006. An EDF schedulability test for periodic tasks on reconfigurable hardware devices. ACM SIGPLAN Notices 41, 7, 93--102. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Carlo Galuzzi and Koen Bertels. 2011. The instruction-set extension problem: A survey. ACM Trans. Reconfigur. Technol. Syst. 4, 2, Article 18, 28 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Markus Happe, Andreas Traber, and Ariane Keller. 2015. Preemptive hardware multitasking in ReconOS. In Proceedings of the International Symposium on Applied Reconfigurable Computing (ARC’15). 79--90.Google ScholarGoogle ScholarCross RefCross Ref
  11. Rodolfo Pellizzoni and Marco Caccamo. 2007. Real-time management of hardware and software tasks for FPGA-based embedded systems. IEEE Trans. Comput. 56, 12, 1666--1680. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Sangeet Saha, Arnab Sarkar, and Amlan Chakrabarti. 2015. Scheduling dynamic hard real-time task sets on fully and partially reconfigurable platforms. IEEE Embed. Syst. Lett. 7, 1, 23--26.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Kentaro Sano, Dimitrios Soudris, Michael Hübner, and Pedro C. Diniz. 2015. In Proceedings of the 11th International Symposium on Applied Reconfigurable Computing (ARC’15), Vol. 9040.Google ScholarGoogle Scholar
  14. Christoph Steiger, Herbert Walder, and Marco Platzner. 2004. Operating systems for reconfigurable embedded platforms: Online scheduling of real-time tasks. IEEE Trans. Comput. 53, 11, 1393--1407. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Russell Tessier, Kenneth Pocek, and Andre DeHon. 2015. Reconfigurable computing architectures. Proc. IEEE 103, 3, 332--354.Google ScholarGoogle ScholarCross RefCross Ref
  16. Emilio Vivancos, Christopher Healy, Frank Mueller, and David Whalley. 2001. Parametric timing analysis. ACM SIGPLAN Notices 36, 8, 88--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Xilinx Inc. 2016. 7 Series FPGAs Configuration User Guide. UG470. Xilinx Inc.Google ScholarGoogle Scholar

Index Terms

  1. Preemption of the Partial Reconfiguration Process to Enable Real-Time Computing With FPGAs

          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 Transactions on Reconfigurable Technology and Systems
            ACM Transactions on Reconfigurable Technology and Systems  Volume 11, Issue 2
            June 2018
            109 pages
            ISSN:1936-7406
            EISSN:1936-7414
            DOI:10.1145/3242893
            • Editor:
            • Steve Wilton
            Issue’s Table of Contents

            Copyright © 2018 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: 26 July 2018
            • Accepted: 1 January 2018
            • Revised: 1 December 2017
            • Received: 1 September 2017
            Published in trets Volume 11, Issue 2

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader