Designing an operating system for a heterogeneous reconfigurable soc
Download
1 / 21

Designing an Operating System for a Heterogeneous Reconfigurable SoC - PowerPoint PPT Presentation


  • 374 Views
  • Uploaded on

Create an Operating System that supports the use of Reconfigurable Logic. ... Operating System components. Operating System Structures. Inter-task ...

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Designing an Operating System for a Heterogeneous Reconfigurable SoC' - Kelvin_Ajay


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Designing an operating system for a heterogeneous reconfigurable soc l.jpg

Designing an Operating System for a HeterogeneousReconfigurableSoC

Vincent Nollet,

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

IMEC, Belgium


What is this all about l.jpg

+

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

What is this all about ?

RTOS

ISP

Reconfigurable Logic

Vincent Nollet – IMEC - RAW'03


Outline l.jpg
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

Vincent Nollet – IMEC - RAW'03


Outline4 l.jpg
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

Vincent Nollet – IMEC - RAW'03


Os introduction l.jpg

OS for Reconfigurable Systems (OS4RS)

RTOS

Hardware Abstraction Layer

ISP

Reconfigurable Logic

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

  • Vincent Nollet – IMEC - RAW'03


    Outline6 l.jpg
    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

    Vincent Nollet – IMEC - RAW'03


    Related work l.jpg

    No use of Tetris-like circuit transformations

    Use of hardware support to implement these services

    Task preemption/relocation based on cooperative scheduling

    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”

    Vincent Nollet – IMEC - RAW'03


    Outline8 l.jpg
    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

    Vincent Nollet – IMEC - RAW'03


    Os support implemented in hardware l.jpg
    OS support implemented in hardware

    • 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’

    OS4RS

    RTOS

    Hardware Abstraction Layer

    Hardware OS support structure

    InterConnection Network (ICN)

    ISP

    FPGA

    Vincent Nollet – IMEC - RAW'03


    Os support implemented in hardware10 l.jpg
    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

    Source: T. Marescaux

    Vincent Nollet – IMEC - RAW'03


    Outline11 l.jpg
    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

    Vincent Nollet – IMEC - RAW'03


    Os4rs structures l.jpg
    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

    Vincent Nollet – IMEC - RAW'03


    Os4rs task scheduling l.jpg

    ICN Tile1

    One task only

    ICN Tile2

    One task only

    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 Tile1 local

    scheduler

    Global

    task pool

    Top Scheduler

    ICN Tile2

    task pool

    ICN Tile2 local

    scheduler

    ISP

    task pool

    ISPlocal

    scheduler

    Vincent Nollet – IMEC - RAW'03


    Heterogeneous task relocation l.jpg

    switch

    switch signal

    ISP

    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).

    OS4RS

    FPGA

    Vincent Nollet – IMEC - RAW'03


    Inter task communication l.jpg

    OS4RS

    Communication API

    HAL

    ISP

    FPGA

    PA

    P3

    P2

    PC

    P1

    PN

    PB

    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 ?

    Vincent Nollet – IMEC - RAW'03


    Kindergarten components l.jpg
    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

    Vincent Nollet – IMEC - RAW'03


    Outline17 l.jpg
    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

    Vincent Nollet – IMEC - RAW'03


    Implementation details l.jpg
    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.

    Vincent Nollet – IMEC - RAW'03


    Outline19 l.jpg
    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

    Vincent Nollet – IMEC - RAW'03


    And to conclude l.jpg
    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

    Vincent Nollet – IMEC - RAW'03


    Slide21 l.jpg

    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


    ad