An EDF schedulability test for periodic tasks on reconfigurable hardware devices

In this paper, we consider the scheduling of periodic real-time tasks on reconfigurable hardware devices. Such devices can execute several tasks in parallel. All executing tasks share the hardware resource, which makes the scheduling problem differ from single- and multiprocessor scheduling. We adapt the global EDF multiprocessor scheduling approach to the reconfigurable hardware execution model and define two preemptive scheduling algorithms, EDF-First-k-Fit and EDF-Next-Fit. For these algorithms, we present a novel linear-time schedulability test and give a proof based on a resource augmentation technique. Then, we propose a task placement and relocation scheme utilizing partial device reconfiguration. This scheme allows us to extend the schedulability test to include reconfiguration time overheads. Experiments with synthetic workloads compare the scheduling test with the actual scheduling performance of EDF-First-k-Fit and EDF-Next-Fit. The main evaluation result is that the reconfiguration overhead is acceptable if the task computation times are one order of magnitude higher than the device reconfiguration time.

[1]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[2]  Frank Vahid,et al.  Using on-chip configurable logic to reduce embedded system software energy , 2002, Proceedings. 10th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[3]  Jürgen Becker,et al.  An FPGA run-time system for dynamical on-demand reconfiguration , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[4]  Giuseppe Lipari,et al.  Improved schedulability analysis of EDF on multiprocessor platforms , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[5]  Klaus Danne Memory Management to Support Multitasking on FPGA Based Systems , 2004 .

[6]  Cynthia A. Phillips,et al.  Optimal Time-Critical Scheduling via Resource Augmentation , 1997, STOC '97.

[7]  Reiner W. Hartenstein,et al.  A decade of reconfigurable computing: a visionary retrospective , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[8]  Theodore P. Baker,et al.  Multiprocessor EDF and deadline monotonic schedulability analysis , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[9]  Alan Burns,et al.  Real Time Scheduling Theory: A Historical Perspective , 2004, Real-Time Systems.

[10]  Hossam ElGindy,et al.  Dynamic scheduling of tasks on partially reconfigurable FPGAs , 2000 .

[11]  Marco Platzner,et al.  Operating systems for reconfigurable embedded platforms: online scheduling of real-time tasks , 2004, IEEE Transactions on Computers.

[12]  Oliver Diessel,et al.  Run-time compaction of FPGA designs , 1997, FPL.

[13]  Sanjoy K. Baruah,et al.  Priority-Driven Scheduling of Periodic Task Systems on Multiprocessors , 2003, Real-Time Systems.

[14]  Marco Platzner,et al.  A Heuristic Approach to Schedule Periodic Real-Time Tasks on Reconfigurable Hardware , 2005, FPL.

[15]  Oliver Diessel,et al.  Chip-Based Reconfigurable Task Management , 2001, FPL.

[16]  Heiko Kalte,et al.  Context saving and restoring for multitasking in reconfigurable systems , 2005, International Conference on Field Programmable Logic and Applications, 2005..

[17]  Björn Andersson,et al.  Fixed-priority preemptive multiprocessor scheduling: to partition or not to partition , 2000, Proceedings Seventh International Conference on Real-Time Computing Systems and Applications.

[18]  Jürgen Teich,et al.  Optimization of Dynamic Hardware Reconfigurations , 2004, The Journal of Supercomputing.

[19]  Majid Sarrafzadeh,et al.  Fast Template Placement for Reconfigurable Computing Systems , 2000, IEEE Des. Test Comput..

[20]  Scott Hauck,et al.  Reconfigurable computing: a survey of systems and software , 2002, CSUR.

[21]  Markus Weinhardt,et al.  PACT XPP—A Self-Reconfigurable Data Processing Architecture , 2004, The Journal of Supercomputing.

[22]  Jack S. N. Jean,et al.  Dynamic Reconfiguration to Support Concurrent Applications , 1999, IEEE Trans. Computers.

[23]  L. Thiele,et al.  The case for reconfigurable hardware in wearable computing , 2003, Personal and Ubiquitous Computing.

[24]  Tobias Becker,et al.  Modular partial reconfigurable in Virtex FPGAs , 2005, International Conference on Field Programmable Logic and Applications, 2005..

[25]  Reinhard Männer,et al.  Multitasking on FPGA Coprocessors , 2000, FPL.

[26]  Mahmut T. Kandemir,et al.  Configuration-sensitive process scheduling for FPGA-based computing platforms , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[27]  Marco Platzner,et al.  A Runtime Environment for Reconfigurable Hardware Operating Systems , 2004, FPL.

[28]  Jürgen Teich,et al.  The Erlangen Slot Machine: a highly flexible FPGA-based reconfigurable platform , 2005, 13th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'05).