The First Real Operating System for Reconfigurable Computers - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

The First Real Operating System for Reconfigurable Computers

Description:

Why multitask a RC and why use an operating system (OS)? Issues in an OS4RC? ... Multitasking a RC will have the ability to concurrently execute more than one ... – PowerPoint PPT presentation

Number of Views:112
Avg rating:3.0/5.0
Slides: 26
Provided by: grantw9
Category:

less

Transcript and Presenter's Notes

Title: The First Real Operating System for Reconfigurable Computers


1
The First Real Operating System for
Reconfigurable Computers
Advanced Computing Research Centre University of
South Australia
The Development an Operating System for a
Reconfigurable Computer (OS4RC)
Grant Wigley PhD. Student Assoc. Prof. David
Kearney Supervisor University of South
Australia Mawson Lakes SA 5095 Grant.Wigley_at_unis
a.edu.au
Combinational Logic Circuit
SPACE.2 RC
2
Overview
  • What is a Reconfigurable Computer (RC)?
  • Why multitask a RC and why use an operating
    system (OS)?
  • Issues in an OS4RC?
  • What are the major design stages in creating FPGA
    applications and how must they be modified when
    used in conjunction with an OS.
  • Our OS specific.
  • Experiments and Results.
  • Conclusions and future Work.

3
What Is an RC?
  • RC Systems are those platforms whose architecture
    can be modified by software to suit the
    application at hand.
  • Includes reconfigurable logic, currently
    Field-Programmable Gate Array (FPGA) technology,
    as part of the processing resource.
  • Speeds up computations by implementing algorithms
    as circuits, thereby eliminating fetch and decode
    cycles while exploiting parallelism.
  • Three types of reconfigurable hardware Logic,
    Embedded control, and Computer based RC.

4
Example SPACE.2 System
  • PCI Bus based co-processing board
  • Alpha UNIX host
  • Controlled via device driver
  • Array of XC6200 FPGAs

Inter-board network on secondary backplane
Computing surface 8 x XC6200 FPGAs
Clock module
Buffer RAM module
Control logic module
SPACE.2 board
64 bit PCI local bus on host motherboard
5
Why Multi-task a RC?
  • With the development of the partially
    reconfigurable FPGA, it is now possible to truly
    multi-task a RC. (Load and remove applications
    without interrupting other executing
    applications).
  • Multitasking a RC will have the ability to
    concurrently execute more than one dependent or
    independent task thus potentially increasing the
    RC throughput and reducing the average
    application waiting time.

6
Why an OS for RC?
  • Multitasking an FPGA will require management of
    the FPGA resources.
  • Management tasks include access, application
    loading, application scheduling, and garbage
    collection.
  • Shift some design reasonability's from the
    designer to the OS, therefore reducing the level
    of difficulty in designing applications.
  • For RC to become mainstream then it must have
    appropriate OS support.

7
Issues for OS4RC
  • Current FPGAs applications are designed offline
    as the resources will be guaranteed to be
    available at run time.
  • As the status of the FPGA changes in time, the
    applications will have to be completed at
    run-time, and not statically compiled.
  • This requires parts of the design process
    (partitioning, placement and routing) to be
    handled at run-time, by an OS.

8
Issues for OS4RC (cont)
  • Developing algorithms for partitioning, placement
    and routing to suit OS needs.
  • As an OS is a direct overhead, the minimization
    of these tasks run-time is essential.
  • Traditionally these tasks have long execution
    times and new or modified algorithms need to be
    developed if they are to execute at run-time.
  • Whether to use pre-compiled modules instead of
    working at the CLB level.

9
The Design Stages
  • Allocation
  • Deciding which part of the FPGA is available and
    can accommodate the incoming task

New application requiring six contiguous spaces
FPGA Surface
10
Dynamic Partitioning
  • Breaking a task graph down into smaller
    components so they are able to fit onto an
    available space on the FPGA surface

Circuit Design
11
Placement
  • What nodes of the application get mapped to what
    FPGA cells?

3
2
4
1
5
6
3
6
5
1
4
2
Allocated, Partitioned Circuit
FPGA partition
12
Routing
  • Determining a path between two points to create
    an electrical connection

C
B
A
13
Our OS Specifics
  • Based on the Client/Server model.
  • Uses message passing to communicate.
  • Input files are simple task graph
    representations.
  • Compiled under gcc, using Linux 2.2.15-5.0 OS
    running on a 433 Mhz Celeron Laptop.

14
Allocation Algorithm
  • Determines the total area required for the
    application and calculates the optimal circuit
    dimensions (the OS limits it to rectangles).
  • Determines if there is available FPGA logic.
  • If the circuit is unable to be allocated in its
    current shape it calculates the largest FPGA
    logic area available.

15
Dynamic Partitioning
  • The algorithm is based on the Temporal
    Partitioning algorithm by Purna.
  • Aims to break a netlist into segments that might
    be dynamically reconfigured by a process
    analogous to time-slicing.
  • This has been adopted for space slicing.

16
The Partitioning Algorithm
  • Calculates the As Soon As Possible (ASAP)
    execution levels of each node.
  • Uses these levels to allocate the nodes to the
    desired partition until the partition reaches the
    user selected capacity.
  • Invokes the placement algorithm and if the
    placement fails, the OS reduces the user selected
    capacity and attempts to re-partition and
    re-place the application.
  • Once the placement has succeeded the OS attempted
    to route the application.

17
Modifications to the Algorithm
  • Interfaced to a deterministic placement
    algorithm.
  • Interaction between the partitioner and the
    placer.
  • Control variable to allow the user to select the
    level of interaction (target fragmentation).
  • Selectable partition size.

18
Placement Algorithm
  • Constructive Deterministic placement.
  • Places the first node to the right of the parent.
  • Places the second node on top of the parent.
  • Adopted from The Trianus System by Gehring.

19
Routing Algorithm
  • Simple rule-based router.
  • Route all nearest-neighbor connections first.
  • Route all non nearest-neighbor connections
    (according to a set of rules).
  • Saves details of the routes for easy removal.
  • Doesnt route inter-partition, only within the
    one partition.

20
Experiments
  • Two factors that have been investigated are
  • The effect of the size of the application.
  • The degree of partition fragmentation.
  • Generated by applications not being tightly
    packed onto the FPGA surface
  • Fragmentation is a measure of resource usage.

21
Characteristic Dimension
  • Used to measure the usefulness of particular
    partitioned area.
  • Ratio of the shortest and the longest dimension
    of the allocated area multiplied by the area.
  • Basic measurement of usefulness as it considers
    both size and dimension.
  • Larger characteristic dimension is a more useful
    allocation of area.

22
Results
23
Conclusions
  • Fundamental services that must be provided by an
    OS are allocation, partitioning, placement and
    routing.
  • Willing to trade the lose in performance for an
    increase in ease of use.
  • Results have been positive and shown that an
    OS4RC is possible.
  • For FPGAs to become mainstream an appropriate OS
    must be developed.

24
Future work
  • Possible developed for use with real circuit
    formats (XNF, Netlist) as circuits are currently
    just represented as task graphs.
  • The creation of a benchmark suite for OS4RC.
  • Development of applications that would utilize an
    OS4RC.
  • Integration to a current OS such as Linux.

25
Questions
The First Real Operating System for
Reconfigurable Computers
The Development an Operating System for a
Reconfigurable Computer (OS4RC)
Grant Wigley - PhD. Student Assoc. Prof. David
Kearney - Supervisor University of South
Australia Mawson Lakes SA 5095 Grant.Wigley_at_unis
a.edu.au David.Kearney_at_unisa.edu.au
Write a Comment
User Comments (0)
About PowerShow.com