Reconfigurable Hardware Scheduler for RTS

Slides:



Advertisements
Similar presentations
Simulation of Feedback Scheduling Dan Henriksson, Anton Cervin and Karl-Erik Årzén Department of Automatic Control.
Advertisements

1 “Scheduling with Dynamic Voltage/Speed Adjustment Using Slack Reclamation In Multi-processor Real-Time Systems” Dakai Zhu, Rami Melhem, and Bruce Childers.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
HTR: On-Chip Hardware Task Relocation for Partially Reconfigurable FPGAs + Also Affiliated with NSF Center for High- Performance Reconfigurable Computing.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
An introduction to: The uRT51 Microprocessor and Real-Time Programming Suite.
Real-Time Systems Scheduling Tool Developed by Daniel Ghiringhelli Advisor: Professor Jiacun Wang December 19, 2005.
Lecture Objectives: 1)Explain the limitations of flash memory. 2)Define wear leveling. 3)Define the term IO Transaction 4)Define the terms synchronous.
Extensible Networking Platform 1 Liquid Architecture Cycle Accurate Performance Measurement Richard Hough Phillip Jones, Scott Friedman, Roger Chamberlain,
FPGA Implementation of Closed-Loop Control System for Small-Scale Robot.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Jonathan.
Network based System on Chip Students: Medvedev Alexey Shimon Ofir Supervisor: Walter Isaschar (Zigmond) Winter-Spring 2006.
OPERATING SYSTEM OVERVIEW
Context Switch in Reconfigurable System Sun, Yuan-Ling ESL of CSIE, CCU
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.
HARDWARE SUPPORT FOR REAL TIME OPERATING SYSTEMS A presentation by: Jake Swart.
1 A survey on Reconfigurable Computing for Signal Processing Applications Anne Pratoomtong Spring2002.
Networking Virtualization Using FPGAs Russell Tessier, Deepak Unnikrishnan, Dong Yin, and Lixin Gao Reconfigurable Computing Group Department of Electrical.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
 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.
Operating Systems for Reconfigurable Systems John Huisman ID:
Paper Review: XiSystem - A Reconfigurable Processor and System
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Mahesh Sukumar Subramanian Srinivasan. Introduction Embedded system products keep arriving in the market. There is a continuous growing demand for more.
Design of a Novel Bridge to Interface High Speed Image Sensors In Embedded Systems Tareq Hasan Khan ID: ECE, U of S Term Project (EE 800)
Part A Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
Task Graph Scheduling for RTR Paper Review By Gregor Scott.
NC STATE UNIVERSITY 1 Feedback EDF Scheduling w/ Async. DVS Switching on the IBM Embedded PowerPC 405 LP Frank Mueller North Carolina State University,
4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.
1: Operating Systems Overview 1 Jerry Breecher Fall, 2004 CLARK UNIVERSITY CS215 OPERATING SYSTEMS OVERVIEW.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Oindrila.
Jason Li Jeremy Fowers 1. Speedups and Energy Reductions From Mapping DSP Applications on an Embedded Reconfigurable System Michalis D. Galanis, Gregory.
Processes, Threads, and Process States. Programs and Processes  Program: an executable file (before/after compilation)  Process: an instance of a program.
1 Hardware-Software Co-Synthesis of Low Power Real-Time Distributed Embedded Systems with Dynamically Reconfigurable FPGAs Li Shang and Niraj K.Jha Proceedings.
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
Unit - I Real Time Operating System. Content : Operating System Concepts Real-Time Tasks Real-Time Systems Types of Real-Time Tasks Real-Time Operating.
System on a Programmable Chip (System on a Reprogrammable Chip)
Real-Time Operating Systems RTOS For Embedded systems.
Preventing Interrupt Overload Presented by Jiyong Park Seoul National University, Korea John Regehr, Usit Duogsaa, School of Computing, University.
LPC2148's RTOS Bruce Chhuon 4/10/07. What is a Real Time Operating System? ● A Real Time Operating System (RTOS) manages hardware and software resources.
Input/Output (I/O) Important OS function – control I/O
Reducing the Number of Preemptions in Real-Time Systems Scheduling by CPU Frequency Scaling Abhilash Thekkilakattil, Anju S Pillai, Radu Dobrin, Sasikumar.
Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir. A.C. Verschueren Eindhoven University of Technology Section of Digital.
EMERALDS Landon Cox March 22, 2017.
Dynamo: A Runtime Codesign Environment
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
Process Management Process Concept Why only the global variables?
Applied Operating System Concepts -
Wayne Wolf Dept. of EE Princeton University
System On Chip.
Paul Pop, Petru Eles, Zebo Peng
Intro to Processes CSSE 332 Operating Systems
Ming Liu, Wolfgang Kuehn, Zhonghai Lu, Axel Jantsch
Real-time Software Design
Improving java performance using Dynamic Method Migration on FPGAs
Anne Pratoomtong ECE734, Spring2002
CSCI 315 Operating Systems Design
Today’s agenda Hardware architecture and runtime system
A High Performance SoC: PkunityTM
EE 472 – Embedded Systems Dr. Shwetak Patel.
CSC3050 – Computer Architecture
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Department of Electrical Engineering Joint work with Jiong Luo
Implementing Processes, Threads, and Resources
Co-designed Virtual Machines for Reliable Computer Systems
Real-Time Process Scheduling Concepts, Design and Implementations
Real-Time Process Scheduling Concepts, Design and Implementations
Presentation transcript:

Reconfigurable Hardware Scheduler for RTS Chad Nelson, Brian Peck, Chetan Kumar N G

Motivation Scheduling overhead has been a major limiting factor in the implementation of dynamic priority scheduling algorithms in Real Time Application. Overhead due to: Time-tick processing Runtime priority calculation Context Switching Solution: Build the scheduler in hardware ASIC implementation is not flexible and difficult to modify.

Project Proposal To build Reconfigurable Hardware Scheduler to support multiple scheduling disciplines(EDF and RM) and make it runtime reconfigurable. Platform/Tools Xilinx Virtex-5 FXT FPGA ML507 Evaluation Platform, Xilinx ISE, Modelsim Advantages: Minimizes processor time wasted by scheduler Reduce time-tick processing overhead Provides accurate timing Task sets can be modified during runtime Supports multiple scheduling algorithms

High Level Design Clock Current Task Runtime Controller Processor CPU Interface Task Table Ready Queue Sleep Queue

Priority Queue Cell Task Register Comparator Multiplexor Data from Left Cell Data from Right Cell New Data

Task Registers Block RAM (Indexed by Task ID) Period WCET Priority Memory Address Status Ready Queue and Current Task Register Task Deadline Period Priority Task ID Status Sleep Queue Task Activation Time Task ID Status

Initialization

Task Preemption

Interconnection CPU Interface in fabric connected to PowerPC processor via Processor Local Bus (PLB). PowerPC Interrupt Handler CPU Interface SPLB plb_v46 MPLB SPLB

Slave Registers Use Slave Registers to communicate with Runtime Controller. Slave Registers CPU Interface Runtime Controller Reg0 RegN

Task Switching void RHS_CONT_Intr_Handler(void * baseaddr_p) { Xuint32 baseaddr; Xuint32 IpStatus; Xuint32 taskInfo; baseaddr = (Xuint32) baseaddr_p; IpStatus = RHS_CONT_mReadReg(baseaddr, RHS_CONT_INTR_IPISR_OFFSET); if (IpStatus) { taskInfo = RHS_CONT_mReadSlaveReg0(baseaddr, 0); // switch task. }

Interrupt Delay Important to keep delay minimal. Long interrupt handling delay would render use of hardware scheduler pointless.

EDF Simulator Written in C# Used to benchmark our hardware Gather data on the performance aspects of a software implementation of the EDF Scheduling algorithm # tasks utilization # preemptions # context switches

Simulator Data Test Tasks Calc Sched Total % Time used by Scheduler Preemptions Context Switches Utilization 1 11 455 535 990 54.04% 127 504 0.8961334 2 9 497 414 911 45.44% 86 344 0.9873123 3 438 141 579 24.35% 103 410 0.8726517 4 10 382 451 833 54.14% 102 0.787798 5 7 371 91 462 19.70% 60 236 0.715439 6 8 472 379 851 44.54% 82 324 0.9300474 513 133 646 20.59% 85 336 0.9945248 348 78 426 18.31% 47 184 0.6907637 346 269 615 43.74% 55 222 0.69879 13 503 1082 53.51% 130 0.9908324 16 492 276 768 35.94% 135 536 0.9956317 12 457 929 49.19% 93 370 0.9501581 490 478 968 49.38% 101 400 0.9570692 14 469 485 954 50.84% 0.9452977 15 486 1021 52.40% 116 460 0.9810402

Simulator Data # Tasks v. % Scheduler Time # Tasks v. # of Preemptions

Current Project Status What has been done? Design and Implementation of priority queues Block RAM module, which will be the task table. Controller and Timer Module. In Progress: CPU interface unit Software to simulate context switching

Future Work Implement Dynamic Scheduling Algorithms Dynamic scheduling algorithms like slack stealing algorithm which has large scheduler overhead could be implemented . Reduce processor power consumption Processor consumes considerable power to run the scheduler even when there are no tasks in the system. A low power scheduling co-processor can be used to put the processor in deep sleep mode when no active tasks are present in the system.

References P. Kuacharoen, M. Shalan, V. Mooney, “A Configurable Hardware Scheduler for Real-Time Systems” Center for Research on Embedded Systems and Technology School of Electrical and Computer Engineering Georgia Institute of Technology Atlanta, Georgia 30332, USA. S. Saez, J. Vila and A. Crespo, “A hardware Scheduler for Complex Real-Time Systems,” ISIE, pp. 43-48, 1999. S. Moon, J. Rexford and K. Shink, “Scalable hardware priority queue architectures for high-speed packet switches,” IEEE Transactions on Computer, vol. 49, no. 11, pp. 1215-1227, November 2000.

Questions/Comments/Suggestions ?