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

被引:14
作者
Rossi, Enrico [1 ]
Damschen, Marvin [2 ]
Bauer, Lars [2 ]
Buttazzo, Giorgio [1 ]
Henkel, Joerg [2 ]
机构
[1] Scuola Univ Super St Anna, Piazza Martiri Liberta 33, I-56127 Pisa, Italy
[2] Karlsruhe Inst Technol, Kaiserstr 12, D-76131 Karlsruhe, Germany
关键词
Field programmable gate array (FPGA); dynamic partial reconfiguration; real-time reconfiguration; preemptive reconfiguration; HARDWARE; TASKS;
D O I
10.1145/3182183
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页数:24
相关论文
共 17 条
[1]  
Benz F., 2012, 2012 22nd International Conference on Field Programmable Logic and Applications (FPL), P735, DOI 10.1109/FPL.2012.6339165
[2]  
Biondi A, 2016, PROCEEDINGS OF 2016 IEEE REAL-TIME SYSTEMS SYMPOSIUM (RTSS), P1, DOI [10.1109/RTSS.2016.37, 10.1109/RTSS.2016.010]
[3]  
Burns A., 1993, Preemptive priority based scheduling: An appropriate engineering approach
[4]  
Chanteperdrix Gilles, 2009, P REAL TIM LIN WORKS, P255
[5]   Extending the WCET Problem to Optimize for Runtime-Reconfigurable Processors [J].
Damschen, Marvin ;
Bauer, Lars ;
Henkel, Joerg .
ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2016, 13 (04)
[6]   Timing Analysis of Tasks on Runtime Reconfigurable Processors [J].
Damschen, Marvin ;
Bauer, Lars ;
Henkel, Joerg .
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, 2017, 25 (01) :294-307
[7]  
Damschen Marvin, 2017, IEEE EMBED SYST LETT
[8]  
Danne K, 2006, ACM SIGPLAN NOTICES, V41, P93, DOI 10.1145/1134650.1134665
[9]   The Instruction-Set Extension Problem: A Survey [J].
Galuzzi, Carlo ;
Bertels, Koen .
ACM TRANSACTIONS ON RECONFIGURABLE TECHNOLOGY AND SYSTEMS, 2011, 4 (02)
[10]  
Happe Markus, 2015, Applied Reconfigurable Computing. 11th International Symposium, ARC 2015. Proceedings: LNCS 9040, P79, DOI 10.1007/978-3-319-16214-0_7