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.
- 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 Scholar
- 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 ScholarCross Ref
- Alan Burns. 1993. Preemptive Priority Based Scheduling: An Appropriate Engineering Approach. Department of Computer Science, University of York.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Russell Tessier, Kenneth Pocek, and Andre DeHon. 2015. Reconfigurable computing architectures. Proc. IEEE 103, 3, 332--354.Google ScholarCross Ref
- Emilio Vivancos, Christopher Healy, Frank Mueller, and David Whalley. 2001. Parametric timing analysis. ACM SIGPLAN Notices 36, 8, 88--93. Google ScholarDigital Library
- Xilinx Inc. 2016. 7 Series FPGAs Configuration User Guide. UG470. Xilinx Inc.Google Scholar
Index Terms
- Preemption of the Partial Reconfiguration Process to Enable Real-Time Computing With FPGAs
Recommendations
Exploiting Partial Runtime Reconfiguration for High-Performance Reconfigurable Computing
Runtime Reconfiguration (RTR) has been traditionally utilized as a means for exploiting the flexibility of High-Performance Reconfigurable Computers (HPRCs). However, the RTR feature comes with the cost of high configuration overhead which might ...
Performance bounds of partial run-time reconfiguration in high-performance reconfigurable computing
HPRCTA '07: Proceedings of the 1st international workshop on High-performance reconfigurable computing technology and applications: held in conjunction with SC07High-Performance Reconfigurable Computing (HPRC) systems have always been characterized by their high performance and flexibility. Flexibility has been traditionally exploited through the Run-Time Reconfiguration (RTR) provided by most of the available ...
Remote dynamic partial reconfiguration
The advent of the Internet of Things has motivated the use of Field Programmable Gate Array(FPGA) devices with Dynamic Partial Reconfiguration(DPR) capabilities for dynamic non-invasive modifications to circuits implemented on the FPGA. In particular, ...
Comments