Towards Real-Time Operating Systems for Heterogeneous Reconfigurable Platforms

Heterogeneous platforms equipped with processors and field programmable gate arrays (FPGA) can be exploited to accelerate specific functions triggered by software activities. Thanks to dynamic partial reconfiguration (DPR) capabilities of modern FPGAs, such functions can be programmed at run-time, thus opening a new dimension in the resource management problems for such platforms. To properly exploit the DPR feature, novel operating system supports are needed. With the aim of investigating this direction, we developed a prototype implementation of a timesharing mechanism that can be used to dynamically reconfigure predefined FPGA areas for accelerating different functions associated with real-time recurrent tasks. This work reports some preliminary experimental studies conducted to evaluate the feasibility of the proposed approach, profile the temporal parameters involved in such systems (e.g., reconfiguration and execution times) and identify possible bottlenecks. The achieved results are encouraging and clearly show that, in spite of the relatively high reconfiguration times of FPGAs, a timesharing mechanism can significantly improve the performance of real-time applications with respect to fully static approaches.

[1]  Luca Benini,et al.  Energy and performance exploration of accelerator coherency port using Xilinx ZYNQ , 2013 .

[2]  Enrico Bini,et al.  Optimizing the FPGA Implementation of HRT Systems , 2007, 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS'07).

[3]  Marco Platzner,et al.  Periodic real-time scheduling for FPGA computers , 2005, Third International Workshop on Intelligent Solutions in Embedded Systems, 2005..

[4]  Dirk Koch,et al.  Partial Reconfiguration on FPGAs - Architectures, Tools and Applications , 2012, Lecture Notes in Electrical Engineering.

[5]  Marco Caccamo,et al.  Real-Time Management of Hardware and Software Tasks for FPGA-based Embedded Systems , 2007, IEEE Transactions on Computers.

[6]  Tughrul Arslan,et al.  Microkernel Architecture and Hardware Abstraction Layer of a Reliable Reconfigurable Real-Time Operating System (R3TOS) , 2015, ACM Trans. Reconfigurable Technol. Syst..

[7]  Marco Platzner,et al.  ReconOS: Multithreaded programming for reconfigurable computers , 2009, TECS.

[8]  Florian Dittmann,et al.  Hard Real-Time Reconfiguration Port Scheduling , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[9]  Sebastian Altmeyer,et al.  WCET Analysis for Preemptive Scheduling , 2008, WCET.

[10]  Marco Platzner,et al.  Cooperative multithreading in dynamically reconfigurable systems , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[11]  Amlan Chakrabarti,et al.  Scheduling Dynamic Hard Real-Time Task Sets on Fully and Partially Reconfigurable Platforms , 2015, IEEE Embedded Systems Letters.

[12]  Sorin Cotofana,et al.  Bitstream compression techniques for Virtex 4 FPGAs , 2008, 2008 International Conference on Field Programmable Logic and Applications.