Adaptive Allocation of Software and Hardware Real-Time Tasks for FPGA-based Embedded Systems

Operating systems for reconfigurable devices enable the development of embedded systems where software tasks, running on a CPU, can coexist with hardware tasks running on a reconfigurable hardware device (FPGA). Furthermore, in such systems relocatable tasks can be migrated from software to hardware and viceversa. The combination of high performance and predictability of hardware execution with software flexibility makes such architecture especially suitable to implement high-performance real-time embedded systems. In this work, we first discuss design and scheduling issues for relocatable tasks. We then concentrate on the on-line admission control problem. Task allocation and migration between the CPU and the reconfigurable device is discussed and sufficient feasibility tests are derived. Finally, the effectiveness of our relocation strategy is shown through a series of synthetic simulations.

[1]  Rudy Lauwereins,et al.  Designing an operating system for a heterogeneous reconfigurable SoC , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[2]  Deeparnab Chakrabarty,et al.  Knapsack Problems , 2008 .

[3]  Gaurav S. Sukhatme,et al.  An Incremental Self-Deployment Algorithm for Mobile Sensor Networks , 2002, Auton. Robots.

[4]  Marco Platzner,et al.  Online scheduling and placement of real-time tasks to partially reconfigurable devices , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

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

[6]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

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

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

[9]  Patrick Schaumont,et al.  Hardware/software partitioning of embedded system in OCAPI-xl , 2001, Ninth International Symposium on Hardware/Software Codesign. CODES 2001 (IEEE Cat. No.01TH8571).

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

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

[12]  S. Goddard,et al.  Proceedings of the twelfth IEEE Real-Time and Embedded Technology and Applications Symposium, 4-7, April 2006, San Jose, California , 2006 .

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

[14]  David A. Kearney,et al.  The Development of an Operating System for Reconfigurable Computing , 2001, The 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'01).

[15]  Giorgio C. Buttazzo,et al.  Integrating multimedia applications in hard real-time systems , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[16]  Rudy Lauwereins,et al.  Interconnection Networks Enable Fine-Grain Dynamic Multi-tasking on FPGAs , 2002, FPL.

[17]  Gyula Simon,et al.  Sensor network-based countersniper system , 2004, SenSys '04.

[18]  Matthew T. Keennon,et al.  Development of the Black Widow Micro Air Vehicle , 2001 .

[19]  Gustavo Ribeiro Alves,et al.  On-line Defragmentation for Run-Time Partially Reconfigurable FPGAs , 2002, FPL.

[20]  Rudy Lauwereins,et al.  Enabling hardware-software multitasking on a reconfigurable computing platform for networked portable multimedia appliances , 2002 .

[21]  Zhiyuan Li,et al.  Configuration relocation and defragmentation for run-time reconfigurable computing , 2002, IEEE Trans. Very Large Scale Integr. Syst..

[22]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[23]  Marco Platzner,et al.  Memory-demanding Periodic Real-time Applications on FPGA Computers , 2005 .

[24]  Rudy Lauwereins,et al.  Infrastructure for design and management of relocatable tasks in a heterogeneous reconfigurable system-on-chip , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.