Presentation is loading. Please wait.

Presentation is loading. Please wait.

© imec 2003 Designing an Operating System for a Heterogeneous Reconfigurable SoC Vincent Nollet, P. Coene, D. Verkest, S. Vernalde, R. Lauwereins IMEC,

Similar presentations


Presentation on theme: "© imec 2003 Designing an Operating System for a Heterogeneous Reconfigurable SoC Vincent Nollet, P. Coene, D. Verkest, S. Vernalde, R. Lauwereins IMEC,"— Presentation transcript:

1 © imec 2003 Designing an Operating System for a Heterogeneous Reconfigurable SoC Vincent Nollet, P. Coene, D. Verkest, S. Vernalde, R. Lauwereins IMEC, Belgium

2 © imec 2003 Vincent Nollet – IMEC - RAW'032 What is this all about ? RTOS ISP + Reconfigurable Logic Create an Operating System that supports the use of Reconfigurable Logic.

3 © imec 2003 Vincent Nollet – IMEC - RAW'033 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

4 © imec 2003 Vincent Nollet – IMEC - RAW'034 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 Outline

5 © imec 2003 Vincent Nollet – IMEC - RAW'035 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 RTOS ISP Reconfigurable Logic Hardware Abstraction Layer OS for Reconfigurable Systems (OS4RS)

6 © imec 2003 Vincent Nollet – IMEC - RAW'036 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

7 © imec 2003 Vincent Nollet – IMEC - RAW'037 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. 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 Simmler et al. Preemptive multitasking on FPGAs through bitstream manipulation Controlled by “hardware manager software” No use of Tetris-like circuit transformationsUse of hardware support to implement these servicesTask preemption/relocation based on cooperative scheduling

8 © imec 2003 Vincent Nollet – IMEC - RAW'038 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

9 © imec 2003 Vincent Nollet – IMEC - RAW'039 What ? It is quite common for contemporary microprocessors to have built- in 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’ OS support implemented in hardware FPGA Hardware Abstraction Layer Hardware OS support structure RTOS ISP OS4RS InterConnection Network (ICN)

10 © imec 2003 Vincent Nollet – IMEC - RAW'0310 OS support implemented in hardware The Interconnection Network (ICN) Source: T. Marescaux On-FPGA packet switched network Communication is done through the fixed ICN-Tile interface by means of message passing Provides a number of fixed sized hardware tiles that can be reconfigured by means of partial reconfiguration Communication is handled by ICN routers, controlled by routing tables provided by the Operating System

11 © imec 2003 Vincent Nollet – IMEC - RAW'0311 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

12 © imec 2003 Vincent Nollet – IMEC - RAW'0312 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

13 © imec 2003 Vincent Nollet – IMEC - RAW'0313 Global task pool OS4RS Task Scheduling Task Scheduling Two level scheduling Top Scheduler is responsible for processor assignment Processor local schedulers handle local temporal scheduling ICN Tile 1 task pool ICN Tile 1 local scheduler ICN Tile 2 task pool ICN Tile 2 local scheduler ISP task pool ISP local scheduler Top Scheduler ICN Tile 1 One task only ICN Tile 2 One task only

14 © imec 2003 Vincent Nollet – IMEC - RAW'0314 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). FPGA switch signal OS4RS switch ISP

15 © imec 2003 Vincent Nollet – IMEC - RAW'0315 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 ? ISP P1P1 P2P2 PNPN FPGA PAPA PBPB HAL Communication API PCPC P3P3 OS4RS

16 © imec 2003 Vincent Nollet – IMEC - RAW'0316 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

17 © imec 2003 Vincent Nollet – IMEC - RAW'0317 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

18 © imec 2003 Vincent Nollet – IMEC - RAW'0318 OS4RS manages a proof-of-concept platform Implementation details 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.

19 © imec 2003 Vincent Nollet – IMEC - RAW'0319 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

20 © imec 2003 Vincent Nollet – IMEC - RAW'0320 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 …

21 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


Download ppt "© imec 2003 Designing an Operating System for a Heterogeneous Reconfigurable SoC Vincent Nollet, P. Coene, D. Verkest, S. Vernalde, R. Lauwereins IMEC,"

Similar presentations


Ads by Google