Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Designing an Operating System for a Heterogeneous Reconfigurable SoC Vincent Nollet, P. Coene, D. Verkest, S. Vernalde, R. Lauwereins IMEC, Belgium © imec 2003 What is this all about ? + RTOS ISP Reconfigurable Logic Create an Operating System that supports the use of Reconfigurable Logic. © imec 2003 Vincent Nollet – IMEC - RAW'03 2 Outline OS introduction What ? Why ? How ? Related work Who ? What ? OS support implemented in hardware What ? Why ? How ? Operating System components Operating System Structures Inter-task Communication Task Scheduling & Task Relocation Kindergarten Components Implementation details Conclusions & future work © imec 2003 Vincent Nollet – IMEC - RAW'03 3 Outline OS introduction What ? Why ? How ? Related work Who ? What ? OS support implemented in hardware What ? Why ? How ? Operating System components Operating System Structures Inter-task Communication Task Scheduling & Task Relocation Kindergarten components Implementation details Conclusions & future work © imec 2003 Vincent Nollet – IMEC - RAW'03 4 OS Introduction What ? A management infrastructure that enables a system to handle multiple, concurrently executing heterogeneous applications Why ? Heterogeneous applications should be able to benefit from the same OS abstractions/functionality as regular software applications Managing the available computing resources Providing a suited environment How ? By extending an existing Operating System OS for Reconfigurable Systems (OS4RS) Hardware Abstraction Layer RTOS Reconfigurable Logic ISP © imec 2003 Vincent Nollet – IMEC - RAW'03 5 Outline OS introduction What ? Why ? How ? Related work Who ? What ? OS support implemented in hardware What ? Why ? How ? Operating System components Operating System Structures Inter-task Communication Task Scheduling & Task Relocation Kindergarten components Implementation details Conclusions & future work © imec 2003 Vincent Nollet – IMEC - RAW'03 6 Related Work Burns et al. Having a set of run-time support functions commonly used by all applications: reconfigure the FPGA, reserve a chunk of FPGA area and the ability to transform a circuit. No use of Tetris-like circuit transformations Wigley et al. Java based OS, linked to Xilinx JBits Describe their fundamental OS services to manage the FPGA: resource allocation, application placement and routing Use of hardware support to implement these services Simmler et al. Preemptive multitasking on FPGAs through bitstream manipulation Controlled by “hardware manager software” Task preemption/relocation based on cooperative scheduling © imec 2003 Vincent Nollet – IMEC - RAW'03 7 Outline OS introduction What ? Why ? How ? Related work Who ? What ? OS support implemented in hardware What ? Why ? How ? Operating System components Operating System Structures Inter-task Communication Task Scheduling & Task Relocation Kindergarten components Implementation details Conclusions & future work © imec 2003 Vincent Nollet – IMEC - RAW'03 8 OS support implemented in hardware What ? It is quite common for contemporary microprocessors to have builtin Operating System support. Hardware support enables/facilitates certain OS functions Why ? Facilitate/accelerate the basic FPGA management functions like resource allocation, task placement and routing How ? By putting an extra layer of abstraction on top of the ‘bare FPGA’ RTOS ISP © imec 2003 Vincent Nollet – IMEC - RAW'03 OS4RS Hardware Abstraction Layer InterConnection Network (ICN) Hardware OS support structure FPGA 9 OS support implemented in hardware The Interconnection Network (ICN) On-FPGA packet switched network Provides a number of fixed sized hardware tiles that can be reconfigured by means of partial reconfiguration Communication is done through the fixed ICN-Tile interface by means of message passing Communication is handled by ICN routers, controlled by routing tables provided by the Operating System © imec 2003 Vincent Nollet – IMEC - RAW'03 Source: T. Marescaux 10 Outline OS introduction What ? Why ? How ? Related work Who ? What ? OS support implemented in hardware What ? Why ? How ? Operating System components Operating System Structures Task Scheduling & Task Relocation Inter-task Communication Kindergarten Components Implementation details Conclusions & future work © imec 2003 Vincent Nollet – IMEC - RAW'03 11 OS4RS Structures Processor Information Structure Represents an OS4RS computing resource (ISP, ICN Tile,…) Allows the OS4RS to manage and monitor the computing resources Enables support for Hot-Pluggable computing resources Task information structure Required to store OS4RS information List of available task representations Info about the task state (e.g. assigned, relocating, …etc) …etc Linked to the processor-local task structure © imec 2003 Vincent Nollet – IMEC - RAW'03 12 OS4RS Task Scheduling Task Scheduling Two level scheduling Top Scheduler is responsible for processor assignment Processor local schedulers handle local temporal scheduling ICN Tile1 task pool ICN ICN Tile Tile 1 local 1 One scheduler task only ICN Tile2 task pool ICN ICN TileTile 2 local 2 One scheduler task only ISP task pool ISP local scheduler Top Scheduler Global task pool © imec 2003 Vincent Nollet – IMEC - RAW'03 13 Heterogeneous Task Relocation What ? Relocating a task at run-time from one type of processor to another one (e.g. from reconfigurable logic to ISP) with minimal interference Why ? Optimal/Fair use of computing resources (e.g. according to a QoS) How ? Cooperative scheduling by means of switchpoints (i.e. dedicated points of preemption inserted by the application designer). switch OS4RS switch signal FPGA ISP © imec 2003 Vincent Nollet – IMEC - RAW'03 14 Inter-task communication Uniform Inter-Task Communication What ? Uniform communication scheme for all tasks Based on message passing Why ? Relocating a task should not affect communication Message passing is natively supported by the ICN How ? OS4RS Communication API P2 P1 © imec 2003 Vincent Nollet – IMEC - RAW'03 HAL PA P3 PC PN ISP FPGA PB 15 Kindergarten components Application Binary Interface Describes how a (binary) application gains access to the Operating System services How can tasks running on the FPGA make a system call ? How to incorporate and manage multiple binaries of the same task in a file ? OS security ? Still a need to enforce the classic OS protection mechanisms Allowing foreign hardware results in new security issues The OS4RS should be more than just a hardware loader © imec 2003 Vincent Nollet – IMEC - RAW'03 16 Outline OS introduction What ? Why ? How ? Related work Who ? What ? OS support implemented in hardware What ? Why ? How ? Operating System components Operating System Structures Task Scheduling & Task Relocation Inter-task Communication Kindergarten Components Implementation details Conclusions & future work © imec 2003 Vincent Nollet – IMEC - RAW'03 17 Implementation details OS4RS manages a proof-of-concept platform StrongARM-1110 ISP Xilinx Virtex II FPGA OS4RS implementation details Build as an extension to RTAI 24.1.9 for StrongARM Extension that creates a RTOS underneath Linux Minimal changes into RTAI (~ 150 lines source code) OS4RS is build using several (Linux) modules OS4RS core extensions are about 150kB OS4RS task setup: ~108 ms (ICN tile) ~100 s (ISP) The applications… 3D game: two ISP tasks, one heterogeneous task. Video decoding: two ISP tasks, one heterogeneous task. © imec 2003 Vincent Nollet – IMEC - RAW'03 18 Outline OS introduction What ? Why ? How ? Related work Who ? What ? OS support implemented in hardware What ? Why ? How ? Operating System components Operating System Structures Task Scheduling & Task Relocation Inter-task Communication Kindergarten Components Implementation details Conclusions & future work © imec 2003 Vincent Nollet – IMEC - RAW'03 19 And to conclude … What we have … The Operating System for Reconfigurable Systems provides an environment where heterogeneous applications can execute concurrently, with minimal interference between them, but with support for inter-task communication. Build as an extension to an existing OS Heterogeneous task scheduling/relocation Uniform inter-task communication …the show goes on… Continue development on the present OS4RS modules Raise the kindergarten modules Heterogeneous task design issues … © imec 2003 Vincent Nollet – IMEC - RAW'03 20 www.imec.be Worldwide collaboration with more than 450 companies and institutes. IMEC – Kapeldreef 75 – B-3001 Leuven – Belgium – Tel. +32 16 281211 – Fax +32 16 229400 – www.imec.be