Real-time management of hardware and software tasks for FPGA-based embedded systems

R Pellizzoni, M Caccamo - IEEE Transactions on Computers, 2007 - ieeexplore.ieee.org
IEEE Transactions on Computers, 2007ieeexplore.ieee.org
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). In this work, we consider real-time systems
subject to dynamic workloads and whose tasks can be computationally intensive. We
introduce a novel resource allocation scheme and an online admission control test that
achieve high performance and flexibility; in addition, runtime reconfiguration is used to …
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). In this work, we consider real-time systems subject to dynamic workloads and whose tasks can be computationally intensive. We introduce a novel resource allocation scheme and an online admission control test that achieve high performance and flexibility; in addition, runtime reconfiguration is used to maximize the number of admitted real-time tasks. Moreover, in detail, we first discuss a 1D system architecture and its prototype for a Xilinx Virtex-4 FPGA; then, we concentrate on the online admission control problem. Online task allocation and migration between the CPU and the reconfigurable device are discussed and sufficient feasibility tests are derived for both the commonly used slotted and 1D area models. Finally, the effectiveness of our admission control and relocation strategy is shown through a series of synthetic simulations.
ieeexplore.ieee.org