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

Designing an Operating System for a Heterogeneous Reconfigurable SoC

Jan 09, 2016

Download

Documents

ziazan

Designing an Operating System for a Heterogeneous Reconfigurable SoC. Vincent Nollet, P. Coene, D. Verkest, S. Vernalde, R. Lauwereins IMEC, Belgium. +. Create an Operating System that supports the use of Reconfigurable Logic. What is this all about ?. RTOS. ISP. Reconfigurable Logic. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003

Designing an Operating System for a Heterogeneous Reconfigurable SoC

Vincent Nollet,P. Coene, D. Verkest, S. Vernalde, R. Lauwereins

IMEC, Belgium

Page 2: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

2

What is this all about ?

RTOSISP

+

Reconfigurable Logic

Create an Operating System that supports the use of Reconfigurable Logic.

Page 3: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

3

Outline

OS introductionWhat ? Why ? How ?

Related workWho ? What ?

OS support implemented in hardwareWhat ? Why ? How ?

Operating System componentsOperating System Structures

Inter-task Communication

Task Scheduling & Task Relocation

Kindergarten Components

Implementation details

Conclusions & future work

Page 4: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

4

OS introductionWhat ? Why ? How ?

Related workWho ? What ?

OS support implemented in hardwareWhat ? Why ? How ?

Operating System componentsOperating System Structures

Inter-task Communication

Task Scheduling & Task Relocation

Kindergarten components

Implementation details

Conclusions & future work

Outline

Page 5: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

5

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

RTOSISP Reconfigurable Logic

Hardware Abstraction Layer

OS for Reconfigurable Systems (OS4RS)

Page 6: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

6

Outline

OS introductionWhat ? Why ? How ?

Related workWho ? What ?

OS support implemented in hardwareWhat ? Why ? How ?

Operating System componentsOperating System Structures

Inter-task Communication

Task Scheduling & Task Relocation

Kindergarten components

Implementation details

Conclusions & future work

Page 7: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

7

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 transformations

Use of hardware support to implement these services

Task preemption/relocation based on cooperative scheduling

Page 8: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

8

Outline

OS introductionWhat ? Why ? How ?

Related workWho ? What ?

OS support implemented in hardwareWhat ? Why ? How ?

Operating System componentsOperating System Structures

Inter-task Communication

Task Scheduling & Task Relocation

Kindergarten components

Implementation details

Conclusions & future work

Page 9: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

9

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 LayerHardware OS support structure

RTOS

ISP

OS4RS

InterConnection Network (ICN)

Page 10: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

10

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

Page 11: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

11

Outline

OS introductionWhat ? Why ? How ?

Related workWho ? What ?

OS support implemented in hardwareWhat ? Why ? How ?

Operating System componentsOperating System Structures

Task Scheduling & Task Relocation

Inter-task Communication

Kindergarten Components

Implementation details

Conclusions & future work

Page 12: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

12

OS4RS Structures

Processor Information StructureRepresents 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

Page 13: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

13

Global

task pool

OS4RS Task Scheduling

Task SchedulingTwo level scheduling

Top Scheduler is responsible for processor assignment

Processor local schedulers handle local temporal scheduling

ICN Tile1 task pool

ICN Tile1 local scheduler

ICN Tile2 task pool

ICN Tile2 local scheduler

ISP task pool

ISP local scheduler

Top Scheduler

ICN Tile1

One task only

ICN Tile2

One task only

Page 14: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

14

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

Page 15: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

15

Inter-task communication

Uniform Inter-Task CommunicationWhat ?

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 ?

ISPP1

P2

PN FPGA

PA

PB

HAL

Communication API

PC

P3

OS4RS

Page 16: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

16

Kindergarten components

Application Binary InterfaceDescribes 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

Page 17: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

17

Outline

OS introductionWhat ? Why ? How ?

Related workWho ? What ?

OS support implemented in hardwareWhat ? Why ? How ?

Operating System componentsOperating System Structures

Task Scheduling & Task Relocation

Inter-task Communication

Kindergarten Components

Implementation details

Conclusions & future work

Page 18: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

18

OS4RS manages a proof-of-concept platform

Implementation details

StrongARM-1110 ISP

Xilinx Virtex II FPGA

OS4RS implementation detailsBuild 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.

Page 19: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

19

Outline

OS introductionWhat ? Why ? How ?

Related workWho ? What ?

OS support implemented in hardwareWhat ? Why ? How ?

Operating System componentsOperating System Structures

Task Scheduling & Task Relocation

Inter-task Communication

Kindergarten Components

Implementation details

Conclusions & future work

Page 20: Designing an Operating System for a Heterogeneous Reconfigurable SoC

© imec 2003 Vincent Nollet – IMEC - RAW'03

20

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

Page 21: Designing an Operating System for a Heterogeneous Reconfigurable SoC

www.imec.beWorldwide 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