Operating Systems for Reconfigurable Systems John Huisman ID:0208506.

Slides:



Advertisements
Similar presentations
1 (Review of Prerequisite Material). Processes are an abstraction of the operation of computers. So, to understand operating systems, one must have a.
Advertisements

Implementation Approaches with FPGAs Compile-time reconfiguration (CTR) CTR is a static implementation strategy where each application consists of one.
Helper Threads via Virtual Multithreading on an experimental Itanium 2 processor platform. Perry H Wang et. Al.
Fault Detection in a HW/SW CoDesign Environment Prepared by A. Gaye Soykök.
Chapter 13 Embedded Systems
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
Chapter 10 Operating Systems. 2 Chapter Goals Describe the two main responsibilities of an operating system Define memory and process management Explain.
Context Switch in Reconfigurable System Sun, Yuan-Ling ESL of CSIE, CCU
Chapter 13 Embedded Systems
Memory Management Chapter 5.
Chapter 11 Operating Systems
©Brooks/Cole, 2003 Chapter 7 Operating Systems Dr. Barnawi.
CS533 - Concepts of Operating Systems
CprE 458/558: Real-Time Systems
Chapter 3 Overview of Operating Systems Copyright © 2008.
HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.
Scheduling Parallel Task
Dr. Konstantinos Tatas ACOE201 – Computer Architecture I – Laboratory Exercises Background and Introduction.
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
 Introduction Introduction  Definition of Operating System Definition of Operating System  Abstract View of OperatingSystem Abstract View of OperatingSystem.
Computer Organization
Computer System Architectures Computer System Software
Chapter 10 Operating Systems *. 2 Chapter Goals Describe the main responsibilities of an operating system Define memory and process management Explain.
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
1 Operating Systems for Reconfigurable Computing Systems Xuequn(Robin) Li Instructor: Prof. Shawki Areibi School of Engineering School of Engineering.
RUNNING RECONFIGME OS OVER PETA LINUX OS MUHAMMED KHALID RAHIM DR. GRANT WIGLEY ID:
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
Chapter 10 Operating Systems.
High Performance Computing on Virtualized Environments Ganesh Thiagarajan Fall 2014 Instructor: Yuzhe(Richard) Tang Syracuse University.
Memory Management. Roadmap Basic requirements of Memory Management Memory Partitioning Basic blocks of memory management –Paging –Segmentation.
Embedding Constraint Satisfaction using Parallel Soft-Core Processors on FPGAs Prasad Subramanian, Brandon Eames, Department of Electrical Engineering,
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
1 Memory Management Chapter 7. 2 Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated to ensure a reasonable.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
Paper Review Presentation Paper Title: Hardware Assisted Two Dimensional Ultra Fast Placement Presented by: Mahdi Elghazali Course: Reconfigurable Computing.
Task Graph Scheduling for RTR Paper Review By Gregor Scott.
Rinoy Pazhekattu. Introduction  Most IPs today are designed using component-based design  Each component is its own IP that can be switched out for.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Operating Systems for Reconfigurable Embedded Platforms: Online Scheduling of Real-Time Tasks Jinxu Ding Ramón Mercado.
Operating Systems for Reconfigurable Embedded Platforms: Online Scheduling of Real-Time Tasks -Ramkumar Shankar.
Distributed System Services Fall 2008 Siva Josyula
Electronic Analog Computer Dr. Amin Danial Asham by.
1 Advanced Digital Design Reconfigurable Logic by A. Steininger and M. Delvai Vienna University of Technology.
Real-Time Operating System Design
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Virtual Machines Mr. Monil Adhikari. Agenda Introduction Classes of Virtual Machines System Virtual Machines Process Virtual Machines.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Multi-cellular paradigm The molecular level can support self- replication (and self- repair). But we also need cells that can be designed to fit the specific.
Memory management The main purpose of a computer system is to execute programs. These programs, together with the data they access, must be in main memory.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
Chapter 4: Threads Modified by Dr. Neerja Mhaskar for CS 3SH3.
Programmable Hardware: Hardware or Software?
Memory Management.
Resource Management IB Computer Science.
Chapter 2 Memory and process management
Dynamo: A Runtime Codesign Environment
Anne Pratoomtong ECE734, Spring2002
Reconfigurable Hardware Scheduler for RTS
Memory Management Lectures notes from the text supplement by Siberschatz and Galvin Modified by B.Ramamurthy Chapter 8 11/24/2018.
Memory Management Lectures notes from the text supplement by Siberschatz and Galvin Modified by B.Ramamurthy Chapter 9 12/1/2018.
Main Memory Background Swapping Contiguous Allocation Paging
Chapter 8: Memory management
Introduction to Operating Systems
Chapter 10 Operating Systems.
Introduction to Operating Systems
EE 472 – Embedded Systems Dr. Shwetak Patel.
Memory Management Lectures notes from the text supplement by Siberschatz and Galvin Modified by B.Ramamurthy Chapter 9 4/5/2019.
Chapter 1: Introduction
COMP755 Advanced Operating Systems
Presentation transcript:

Operating Systems for Reconfigurable Systems John Huisman ID:

John Huisman Operating Systems for Reconfigurable Systems 2 Topics Introduction & Background Problems facing OS development for Reconfigurable systems Changes to the usual development tools Unresolved Issues Conclusion

John Huisman Operating Systems for Reconfigurable Systems 3 Introduction The main purpose of an OS is to increase the abstraction between  The Application Designer  The System Software An OS would help  Reduce knowledge of hardware  Increase the runtime flexibility of reconfigurable programs

John Huisman Operating Systems for Reconfigurable Systems 4 Introduction cont… An OS would also allow for better portability of programs Resent developments in FPGA technology have allowed the exploration into an OS  Increases in the density of hardware  Selective reconfiguration of the hardware  Ability to support many dependent and independent circuits

John Huisman Operating Systems for Reconfigurable Systems 5 Background Few attempts to create a Reconfigurable System Operating Systems  The Xputer system OS had an extension added to communicate with reconfigurable hardware It could only handle one user at a time and used complete context switches  The SPACE.2 was also used to test an OS using multiple reconfigurable chips Used full context switching Each user had it’s own dedicated chip

John Huisman Operating Systems for Reconfigurable Systems 6 The challenges in developing an OS for reconfigurable systems Reconfigurable systems emulate circuits and this removes many elements from a conventional OS  Lack of a defined program counter  No conventional retrieve, decode, execute cycle  Can have a varying amount of pipelines, making it harder to know how to clear the system

John Huisman Operating Systems for Reconfigurable Systems 7 The challenges in developing an OS for reconfigurable systems In the Operating systems discussed the reconfigurable hardware  Is connected between the I/O devices and the Memory  Is a slave to the CPU, the CPU is the control of the system Makes the system very flexible Figure 1: Target Architecture composed of a host CPU, a reconfigurable device, and external components

John Huisman Operating Systems for Reconfigurable Systems 8 The challenges in developing an OS for reconfigurable systems It should be noted that tasks that makeup the programs that run on the operating systems need to be set in a general format Serves two purposes  Increase portability of the program  The OS becomes the interface between the task and applying it on the hardware, regardless of the hardware used

John Huisman Operating Systems for Reconfigurable Systems 9 Logic Frames To simplify the circuit outlook on the system FPGA area is viewed as a single block The block is broken into chips, then into logic frames This system works like virtual memory Figure 2: the FPGA Task Graph

John Huisman Operating Systems for Reconfigurable Systems 10 Scheduling To schedule circuits and other parts of a program each part is broken up into task  Each task is either placed on hardware or computed on a CPU  A program is then composed of a task graph By using tasks the program is already broken down and makes it easier to for multiple users

John Huisman Operating Systems for Reconfigurable Systems 11 Scheduling cont… With scheduling for a normal OS tasks are preempted for others all the time In a reconfigurable system it would be much harder know when to interrupt a task as the execution is more ambiguous One idea is to implement flags into the circuit to tell the OS when the circuit can be taken out

John Huisman Operating Systems for Reconfigurable Systems 12 Scheduling cont… As reconfigurable hardware is used multiple tasks can be run in parallel from multiple users To order tasks to execute many things can be taken into consideration, notably  Priority of the program  Size of the task  Task level

John Huisman Operating Systems for Reconfigurable Systems 13 Scheduling cont… Grouping can also be used in scheduling to help reduce communication between circuit swaps and resources needed in routing The algorithm used needs to be  Small  Deterministic  Bounded The above criteria needs to be true not only for grouping but for many of the OS operations

John Huisman Operating Systems for Reconfigurable Systems 14 Changes to the usual development tools An OS needs to be able to start processing tasks/programs as quickly as possible with as little overhead as possible To do this the development tools used to allocate, place, and route circuits needs to be changed to fit the requirements of an OS

John Huisman Operating Systems for Reconfigurable Systems 15 Allocation Before a circuit can be placed, adequate space needs to be found or made Two approaches to this problem  Track space taken by circuits as they are placed onto the reconfigurable hardware through an array  Scan the hardware for available space each time a new circuit is to be placed onto the hardware The first option is favorable as it would take less time to look up then scan the hardware

John Huisman Operating Systems for Reconfigurable Systems 16 Allocation cont… If there is not enough room for the circuit to be placed onto the hardware the OS has two options  Shelf the task to run later  Remove a current task and write in the task to be placed onto the system The scheduler can help avoid the first option but if circuits are to be removed the OS must decide what to remove

John Huisman Operating Systems for Reconfigurable Systems 17 Placement Current design tools create efficient, high quality solutions with no regard for time For an OS, the placement algorithm sacrifices the efficient use of space for speed As density of hardware increase the tradeoff of efficiency for speed can be justified

John Huisman Operating Systems for Reconfigurable Systems 18 Placement cont… To decrease the time taken by the placement algorithm is to simplify its execution To do this two approaches to placement have been looked at  1-D resource placement model  2-D resource placement model Figure 3: Reconfigurable resource models: (a) 1D area model; (b) 2D area model.

John Huisman Operating Systems for Reconfigurable Systems 19 Placement cont… 1-D placement  A fixed width for the reconfigurable area is used to place a circuit, dividing the area into strips  Each circuit gets its own strip of area  Simplifies the placement algorithm by increasing the constraints on the circuit  Increases the amount of unused space on the reconfigurable hardware

John Huisman Operating Systems for Reconfigurable Systems 20 Placement cont… 2-D placement  Circuits are placed as close as possible into a rectangle and placed onto the reconfigurable area  Rectangles are used as it is easy to track used space and place new circuits  This is more complex then the 1-D model and decreases the unusable area  Increases the amount of time needed for each placement

John Huisman Operating Systems for Reconfigurable Systems 21 Placement Results As seen above the 2-D placement method outperforms the 1- D placement in terms of tasks rejected Time increase is linearly as placement detail increases Figure 4: (a) 1D and 2D stuffing methods for different laxity classes, (b) Runtimes of the reference and stuffing schedulers to schedule one task, depending on the laxity class.

John Huisman Operating Systems for Reconfigurable Systems 22 Routing Like placing, the routing method needs to be quick and not as accurate as the current tools As routing is NP-Hard it is hard to create a quick algorithm that can consistently generate good solutions Two approaches to simplify routing  Use more area to increase the chance of success  Use predefined routing blocks provided to the OS

John Huisman Operating Systems for Reconfigurable Systems 23 Routing cont… Largest problem with the system is the fact that if routing a circuit fails new placements and routing needs to be done Each failure to route a circuit increases the overhead of the OS Both placement and routing methods need to be reliable else the system would be plagued by unpredictable overhead times

John Huisman Operating Systems for Reconfigurable Systems 24 OS Operation Time Results Results from one of the papers outlining a new reconfigurable OS As the characteristic dimension decreases and/or the number of tasks increase the time increases Figure 5: The total execution time for the complete process Characteristic Dimension

John Huisman Operating Systems for Reconfigurable Systems 25 Unresolved issues in the area No hard configuration standard for compiled general tasks representing circuits, this means OS for reconfigurable systems are only academic Most tests done on OS where done with small dependent and independent circuits, can it continue to operate when given large circuits As of yet there are no meaningful benchmarks to measure the effectiveness of a OS for reconfigurable systems

John Huisman Operating Systems for Reconfigurable Systems 26 Conclusion As discussed there have been forward steps to the creation of an OS for reconfigurable systems As reconfigurable hardware technology increases in density and complexity, an OS will be needed Advances the prospect of software/hardware co-design

John Huisman Operating Systems for Reconfigurable Systems 27 References 1. Steiger, C., Walder, H., Platzner, M., Operating Systems for Reconfigurable Embedded Platforms: Online Scheduling of Real-Time Tasks, IEEE Transactions on Computers, Vol 53, No. 11, 2004, pg Wigley, G., Kearney, D., The Development of an Operating System for Reconfigurable Computing, Proceedings. 20th International Parallel and Distributed Processing Symposium, 2006, pg Wigley, G., Kearney, D., The First Real Operating System for Reconfigurable Computers, Proceedings 6th Australasian Computer Systems Architecture Conference, 2001, pg

John Huisman Operating Systems for Reconfigurable Systems 28 End

John Huisman Operating Systems for Reconfigurable Systems 29 Current Project Progress Project is to create a co-processor to speedup the operation of the Scatter Search Algorithm Working on the 0-1 knapsack problem as described by “Scatter Search, methodology and implementations in C” by Manuel Langna and Rafael Marti

John Huisman Operating Systems for Reconfigurable Systems 30 Current Project Progress Currently working on the implementation of the scatter search algorithm for the MicroBlaze soft-core created by Xilinx Using the Sparta 3E starter board as the host unit the MicroBlaze is applied Profile the Scatter Search algorithm to find bottlenecks Create a co-processor based on the known bottlenecks in the system