Adaptive Real-Time Management of Relocatable Tasks for FPGA-based Embedded Systems Rodolfo Pellizzoni and Marco Caccamo Department of Computer Science University of Illinois at Urbana-Champaign October 16, 2005 Abstract 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). Further- more, 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 es- pecially 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 Introduction As systems-on-chips (SoCs) become more widely used due to their improved performance, both in term of speed and power consuption, reconfigurable devices and in particular field-programmable gate arrays (FPGAs) are becom- ing more and more popular in the development of embedded systems where issues such as short time-to-market and update capabilities after deployment are critical. Recent developments in the field of operating systems for reconfig- urable devices (OSRD) [18, 24, 25] enable a highly dynamic use of partially reconfigurable FPGAs, running multiple concurrent circuits (hardware tasks) with full multitasking capabilities. Furthermore, the introduction of embedded devices comprised of an FPGA and one or possibly several CPUs permits to run both software and hardware tasks on the same silicon device, achieving even greater flexibility. While a lot of work has been done in the design of suitable operating system abstractions and in the development of working prototypes for OSRD, much more remains to be done to obtain a feasibly usable platform. In particular, the important topic of real-time resource management has received little attention. In this work, we first introduce our vision for a reconfigurable platform that enables relocation (i.e. task migration between software and hardware) as a way to improve the system ability to cope with dynamic workloads. We then propose a novel allocation and admission control scheme that is able to improve the usage of system resources while preserving all timing constraints. In particular, our main contribution is the development of a relocation scheme with proven feasibility conditions that is suitable for real-time applications. The paper is organized as follows. In Section 2 we introduce our system abstraction, discussing its applicability and practical limitations, and we further describe our resource management scheme. In Section 3 and 4 we present 1