HARDWARE SUPPORT FOR REAL TIME OPERATING SYSTEMS A presentation by: Jake Swart.

Slides:



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

Real Time Scheduling.
A Sample RTOS Presentation 4 Group A4: Sean Hudson, Manasi Kapadia Syeda Taib.
CPE555A: Real-Time Embedded Systems
Module 2 Priority Driven Scheduling of Periodic Task
Microarchitectural Approaches to Exceeding the Complexity Barrier © Eric Rotenberg 1 Microarchitectural Approaches to Exceeding the Complexity Barrier.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon, Dec 5, 2005 Topic: Intro to Multiprocessors and Thread-Level Parallelism.
ECEN 4623/5623 RT Embedded Systems Mid-Term Review Lecture.
Predictable Implementation of Real-Time Applications on Multiprocessor Systems-on-Chip Alexandru Andrei Embedded Systems Laboratory Linköping University,
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
Chapter Hardwired vs Microprogrammed Control Multithreading
Chapter 17 Parallel Processing.
OS Spring’03 Introduction Operating Systems Spring 2003.
Courseware Basics of Real-Time Scheduling Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building.
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
CprE 458/558: Real-Time Systems
Performance Evaluation of Real-Time Operating Systems
Introduction to Embedded Systems
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
1 Previous lecture review n Out of basic scheduling techniques none is a clear winner: u FCFS - simple but unfair u RR - more overhead than FCFS may not.
1 Multi-core processors 12/1/09. 2 Multiprocessors inside a single chip It is now possible to implement multiple processors (cores) inside a single chip.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Real Time Operating Systems Lecture 10 David Andrews
Scheduling policies for real- time embedded systems.
Real-Time Operating Systems for Embedded Computing 李姿宜 R ,06,10.
Hardware Multithreading. Increasing CPU Performance By increasing clock frequency By increasing Instructions per Clock Minimizing memory access impact.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
Operating Systems. Definition An operating system is a collection of programs that manage the resources of the system, and provides a interface between.
Real-Time Systems Mark Stanovich. Introduction System with timing constraints (e.g., deadlines) What makes a real-time system different? – Meeting timing.
Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.
Real Time Scheduling Telvis Calhoun CSc Outline Introduction Real-Time Scheduling Overview Tasks, Jobs and Schedules Rate/Deadline Monotonic Deferrable.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
6. Application mapping 6.1 Problem definition
NC STATE UNIVERSITY 1 Feedback EDF Scheduling w/ Async. DVS Switching on the IBM Embedded PowerPC 405 LP Frank Mueller North Carolina State University,
Real Time Operating Systems Michael Thomas Date: Rev. 1.00Date.
1 VxWorks 5.4 Group A3: Wafa’ Jaffal Kathryn Bean.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
1 Real-Time Scheduling. 2Today Operating System task scheduling –Traditional (non-real-time) scheduling –Real-time scheduling.
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
Real time scheduling G.Anuradha Ref:- Stallings. Real time computing Correctness of the system depends not only on the logical result of computation,
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Lecture 2, CS52701 The Real Time Computing Environment I CS 5270 Lecture 2.
Dynamic Priority Driven Scheduling of Periodic Task
For a good summary, visit:
1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
Unit - I Real Time Operating System. Content : Operating System Concepts Real-Time Tasks Real-Time Systems Types of Real-Time Tasks Real-Time Operating.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
VU-Advanced Computer Architecture Lecture 1-Introduction 1 Advanced Computer Architecture CS 704 Advanced Computer Architecture Lecture 1.
PipeliningPipelining Computer Architecture (Fall 2006)
Distributed Process Scheduling- Real Time Scheduling Csc8320(Fall 2013)
Real-Time Operating Systems RTOS For Embedded systems.
Embedded System Scheduling
EEE Embedded Systems Design Process in Operating Systems 서강대학교 전자공학과
Topics Covered What is Real Time Operating System (RTOS)
Wayne Wolf Dept. of EE Princeton University
Multi-core processors
EEE 6494 Embedded Systems Design
Chapter 2 Scheduling.
Real-time Software Design
Reconfigurable Hardware Scheduler for RTS
Hardware Multithreading
OverView of Scheduling
EE 472 – Embedded Systems Dr. Shwetak Patel.
CSCI1600: Embedded and Real Time Software
Processes and operating systems
Real-Time Process Scheduling Concepts, Design and Implementations
Real-Time Process Scheduling Concepts, Design and Implementations
Presentation transcript:

HARDWARE SUPPORT FOR REAL TIME OPERATING SYSTEMS A presentation by: Jake Swart

Questions Answered in the Presentation:  Describe a state-of-the-art solution that implements task scheduling, multiprocessor dispatch, time management and event management in hardware.  Are there any industrial solutions in which the scheduler is implemented in FPGA or ASIC?

Overview  Concepts & Definitions  Review of the ARPA-MT Processor  Review of the MERASA Processors  The review is performed on the following topics:  Task Management  Scheduling  Time management & event management in hardware

Concepts & Definitions [1]  A Real-Time Operating System (RTOS) is an operating system designed specifically to support real time operations  In order to be accepted as a RTOS, is must have:  Response time predictability  Determinism  A hard RTOS, ideally, must never miss a deadline  Only hard RTOS are considered in this presentation

Concepts & Definitions  Worst-Case Execution Time (WCET) [2]  The longest amount of execution time used to complete a task.  Task Management [3]  Process of determining which task should be running at any given time. The most commonly implemented approach to scheduling in commercial RTOSs is based on task priorities.  Task Control Block (TCB) [4]  A data structure containing information needed to manage a task  Simultaneous Multithreading (SMT) [5]  Multiple independent tasks are able to execute at one time in a modern multiprocessor architecture

A modern multiprocessor for real-time systems with hardware acceleration Advanced Real-time Processor Architecture-MultiThreaded The ARPA-MT Processor [5]

The ARPA-MT Embedded Project [5]  Focuses on providing specialized, time predictable, power efficient systems for hard real time systems  Uses a multiprocessor based implementation  Design process focused on WCET determinism, task scheduling and resource assignment  Xilinx XC3S1500 Spartan-3 FPGA used in implementation

Increasing Execution Time Determinism [5]  Uses a simple pipelining for instructions from each task and avoids complex superscalar techniques  Simultaneous task execution using SMT  Fine-grained time sharing of the processor  Interleaving order of issued instructions from tasks reduces global processor stalls caused by data and control hazards  Increasing processor availability by reducing context switching and operating system overhead using an “Operating System Co-Processor”

The ARPA-MT Processors [5]  Three Processors:  Design based off the MIPS32 architecture using SMT  Focus will be on Co-Processor-2 CPU – MIPS32 Integer instruction set Uses the five tradition pipeline stages (IF, ID, EX, MA, WB) Co-Processor-0 Memory manager Exception Processing Interrupt handling Co-Processor-2 RTOS hardware support High resolution real-time clock

Processor Communication [5]

Co-Processor-2: The Task Handling Unit [5]  All tasks are managed by a module called the Task Handling Unit  The Task Handling Unit performs the following:  Task handling  Implementation of specialized instructions  Scheduling  Dispatching  Management of interrupts  Timing constraints verification  Table storage for task parameters (TCB)

Co-Processor-2: Block Diagram [5]

Co-Processor-2: Task Management [5]  Application timing constraints are transparent to this processor allowing for real-time task management  Hard real-time tasks can be periodic or aperiodic  Task are synchronized using:  Pre-emption (LIFO or stack resource synchronization)  Binary semaphores (for simple access to shared resources)

Co-Processor-2: Task States and Transitions [5]  Two important states are excluded from this processors design  Blocked  Suspended/sleeping  Blocking is bad  Wait/Sleep states can be simulated using timers

Co-Processor-2: Scheduling [5]  Scheduling is done in hardware using priority criticality  Scheduling Decisions (in ascending order of priority):  Non real-time: First Come First Serve (FCFS)  Soft real-time: Rate Monotonic policy (RM)  Hard real-time: Earliest Deadline First (EDF)  In the case of EDF:  As a task comes closer to its deadline, its priority is raised  Maximizes processor utilization and ensure deadlines met

Co-Processor-2: Block Diagram [5]

Co-Processor-2: Time & Event Management [5]  A task can be event or time triggered  The Real-time Clock Unit  Generates periodic events assigned by the programmer  Triggers other scheduled tasks (most likely garbage handling)  External events are managed again by the Task Handling unit

Co-Processor-2 Block Diagram [5]

A state-of-the-art multiprocessor using SMT and hardware scheduling Multi-Core Execution of Hard Real-Time Applications Supporting Analysability The MERASA Project [6]

The MERASA Project [7] [8]  Aims to minimize the gap between the real and computed value for WCET  Embedded designs use multicore processors to enable:  Low WCET  Tight, or almost real, WCET Analysis  Uses WCET timing-focused system design to develop an FPGA based implementation with SMT  Provides developers with tools for WCET analysis  Works with industry partners in WCET and application development

MERASA Processor: Task Management [8]  Mixed tasks with criticality (only two classes)  Non hard-real time task (NHRTT)  Hard real time task (HRTT)  WCET estimation is considered independently from the workload a task performs  HRTTs execute in complete isolation

The MERASA Core [8]  4 core implementations on FPGA  16 core implementations on simulators  On each core:  1 HRTT using scratch pad memory  3 NHRTTs using I-caching and D-caching  *Provides transparent execution for determinism

The MERASA Chip [8]  Uses a real-time bus  A reconfigurable cache using dynamic partitioning  Real-time memory controller  *Controlled execution of interleaving tasks

MERASA Processor: Scheduling [8]  Hard real-time scheduler performs SMT  Priority is given to the HRTT to finish execution  A HRTT pre-empts a NHRTT in the pipeline  The pipelines are non-blocking  Time-bounded task synchronization

MERASA Processor: Implementation [8]  Honeywell International  Stereo navigation or GPS navigation (automotive)  Collision avoidance (aerospace)

References  [1] “RTOS Concepts“ [Online Article]. Available:  [2] Reinhard Wilhelm et al. The Worst-Case Execution Time Problem  [3] J. Liu. Reol-Time Systems. Prentice Hall, Upper Saddle River, NJ,  [4] Harvey M. Deitel An Introduction to Operating Systems (2nd Ed.). Addison- Wesley Longman Publishing Co., Inc., Boston, MA, USA.  [5] Oliveira, A. S. R.; Almeida, L; Ferrari, A. B.;, "The ARPA-MT Embedded SMT Processor and Its RTOS Hardware Accelerator," Industrial Electronics, IEEE Transactions on, vol.PP, no.99, pp.1-1, 0 [6] Prof. Dr. Theo Ungerer, “Multi-Core Execution of Hard Real-Time Applications Supporting Analysability (MERASA)” [Online Document]. Available: ftp://ftp.cordis.europa.eu/pub/fp7/ict/docs/computing/merasa-computing- frontiers08_en.pdf ftp://ftp.cordis.europa.eu/pub/fp7/ict/docs/computing/merasa-computing- frontiers08_en.pdf  [7] “The MERASA Project - Vision, Overview and Achievements” [Online Document]. Available: 01_overview.pdfhttp:// 01_overview.pdf  [8] “The MERASA Project - Vision, Overview and Achievements” [Online Document]. Available: 02_overview.pdfhttp:// 02_overview.pdf