Scheduling for Embedded Real-Time Systems Amit Mahajan and Haibo.

Slides:



Advertisements
Similar presentations
CS5270 Lecture 31 Uppaal, and Scheduling, and Resource Access Protocols CS 5270 Lecture 3.
Advertisements

CPE555A: Real-Time Embedded Systems
Courseware Scheduling of Distributed Real-Time Systems Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens.
Tasks Periodic The period is the amount of time between each iteration of a regularly repeated task Time driven The task is automatically activated by.
Real-Time Kernels and Operating Systems Basic Issue - Purchase commercial “off-the- shelf” system or custom build one Basic Functions –Task scheduling.
1 EE249 Scheduling. 2 EE249 What’s the problem? l Have some work to do –know subtasks l Have limited resources l Have some constraints to meet l Want.
Online Performance Auditing Using Hot Optimizations Without Getting Burned Jeremy Lau (UCSD, IBM) Matthew Arnold (IBM) Michael Hind (IBM) Brad Calder (UCSD)
Synthesis of Embedded Software Using Free-Choice Petri Nets.
11 1 Hierarchical Coarse-grained Stream Compilation for Software Defined Radio Yuan Lin, Manjunath Kudlur, Scott Mahlke, Trevor Mudge Advanced Computer.
Vertically Integrated Analysis and Transformation for Embedded Software John Regehr University of Utah.
Project 2 – solution code
CS 3013 & CS 502 Summer 2006 Scheduling1 The art and science of allocating the CPU and other resources to processes.
OS Spring ’ 04 Scheduling Operating Systems Spring 2004.
Timed Simulation with Multiple Resource Schedulability Analysis Yang Zhao and Slobodan Matic University of California, BerkeleyDec 10, 2004.
Uniprocessor Scheduling Chapter 9. Aim of Scheduling The key to multiprogramming is scheduling Scheduling is done to meet the goals of –Response time.
Process Scheduling for Performance Estimation and Synthesis of Hardware/Software Systems Slide 1 Process Scheduling for Performance Estimation and Synthesis.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
1 Thursday, June 15, 2006 Confucius says: He who play in root, eventually kill tree.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Models of Computation for Embedded System Design Alvise Bonivento.
1 of 14 1 Analysis and Synthesis of Communication-Intensive Heterogeneous Real-Time Systems Paul Pop Computer and Information Science Dept. Linköpings.
Courseware Basics of Real-Time Scheduling Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building.
SEC PI Meeting Annapolis, May 8-9, 2001 Component-Based Design of Embedded Control Systems Edward A. Lee & Jie Liu UC Berkeley with thanks to the entire.
EE 249, Fall Discussion: Scheduling Haibo Zeng Amit Mahajan.
Wk 2 – Scheduling 1 CS502 Spring 2006 Scheduling The art and science of allocating the CPU and other resources to processes.
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
Misconceptions About Real-time Computing : A Serious Problem for Next-generation Systems J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious.
Real-Time Operating System Chapter – 8 Embedded System: An integrated approach.
Scheduling Parallel Task
Multiprocessor Real- Time Scheduling Aaron Harris CSE 666 Prof. Ganesan.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat.
Real-Time Scheduling CS4730 Fall 2010 Dr. José M. Garrido Department of Computer Science and Information Systems Kennesaw State University.
Scheduling policies for real- time embedded systems.
Real-Time Operating Systems for Embedded Computing 李姿宜 R ,06,10.
Welcome!. PhD Dissertation Defense PhD Candidate: Wenming Li Advisor: Dr. Krishna M. Kavi Committee: Dr. Krishna M. Kavi Dr. Robert Akl Dr. Phil Sweany.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 31 – Multimedia OS (Part 1) Klara Nahrstedt Spring 2011.
Real-Time Scheduling CS4730 Fall 2010 Dr. José M. Garrido Department of Computer Science and Information Systems Kennesaw State University.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Conformance Test Experiments for Distributed Real-Time Systems Rachel Cardell-Oliver Complex Systems Group Department of Computer Science & Software Engineering.
Uniprocessor Scheduling
5 May CmpE 516 Fault Tolerant Scheduling in Multiprocessor Systems Betül Demiröz.
Undergraduate course on Real-time Systems Linköping 1 of 45 Autumn 2009 TDDC47: Real-time and Concurrent Programming Lecture 5: Real-time Scheduling (I)
RTOS task scheduling models
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems RMS and EDF Schedulers.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Module 2 Overview of Real Time System Scheduling
Real-Time systems By Dr. Amin Danial Asham.
Chapter 3: Real-Time Scheduling and Schedulability Analysis Albert M. K. Cheng.
Introduction to Embedded Systems Rabie A. Ramadan 5.
Multimedia Computing and Networking Jan Reduced Energy Decoding of MPEG Streams Malena Mesarina, HP Labs/UCLA CS Dept Yoshio Turner, HP Labs.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 31 – Process Management (Part 1) Klara Nahrstedt Spring 2009.
Lecture Topics: 11/15 CPU scheduling: –Scheduling goals and algorithms.
CS333 Intro to Operating Systems Jonathan Walpole.
Real-Time Scheduling --- An Overview Real-Time Scheduling --- An Overview Xiaoping He.
High Performance Embedded Computing © 2007 Elsevier Lecture 10: Code Generation Embedded Computing Systems Michael Schulte Based on slides and textbook.
Undergraduate course on Real-time Systems Linköping University TDDD07 Real-time Systems Lecture 2: Scheduling II Simin Nadjm-Tehrani Real-time Systems.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 32 – Multimedia OS Klara Nahrstedt Spring 2010.
Distributed Process Scheduling- Real Time Scheduling Csc8320(Fall 2013)
Real-Time Operating Systems RTOS For Embedded systems.
Embedded System Scheduling
Code Optimization.
Uniprocessor Scheduling
Lecture 4 Schedulability and Tasks
CPU Scheduling G.Anuradha
Objective of This Course
CPU SCHEDULING.
Processes and operating systems
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
The End Of The Line For Static Cyclic Scheduling?
Presentation transcript:

Scheduling for Embedded Real-Time Systems Amit Mahajan and Haibo

Overview Real-Time Systems Scheduling problem in Real-Time Systems Control Dominated Systems Dataflow Systems Conclusions

Real-Time Systems Are composed of several distinct cooperating tasks Are usually non-terminating React faster than the rate of the environment i.e. the composing tasks have tight timing constraints

Scheduling problem in Real-Time Systems Given –A set processing units with “known” processing capabilities –A set of tasks with “known” characteristics and constraints on the completion time Derive an order of execution of these tasks

Overview Real-Time Systems Scheduling problem in Real-Time Systems Control Dominated Systems Dataflow Systems Conclusions

Static Scheduling Policies Tasks execute in a fixed order determined offline Suited best to the cases where the time when the tasks become enabled are known well in advance Easy to debug but usually give low processor usage

Static Scheduling Policies (contd.) Round Robin –Tasks checked for readiness in a predetermined order and executed immediately if they are ready –Easy to give bounds on the time between a request for an execution and the corresponding execution Cyclic Scheduling –Like round robin except that tasks may appear more than once in one cycle –Used in dataflow systems

Dynamic Scheduling Policies Order of task execution decided at runtime Usually based on some sort of priority of tasks May or may not be pre-emptive Suited for systems with irregular task activations High processor usage but difficult to debug

Dynamic Scheduling Policies (contd.) Work by Liu and Layland. Under strict assumptions –RMS Static priorities Priority of a task is proportional to its rate –EDF Dynamic priorities Priority of a task is inversely proportional to the time remaining to its deadline Under a set of relaxed conditions, Audsley et al. proposed an optimal priority assignment algorithm for static priority scheduling

Schedulability Analysis To determine if a set of tasks meets its timing constraints Common approach – worst case response time (WCRT) analysis –Once WCRT is computed, checking whether a task meets its deadline is trivial in many cases With Liu and Layland assumptions of preemptive static priority scheduling and independent periodic tasks with fixed runtimes, WCRT analysis is easy

WCRT analysis for realistic real-time embedded systems Real-time embedded systems frequently flout the Liu layland assumptions –state- dependent run-times, dependency between tasks and non-periodic events in the environment Balarin and Sangiovanni proposed a conservative extension to WCRT analysis for systems in which –Scheduling is either preemptive or nonpreemptive static priority –The environment only needs to respect the timing between successive occurrences of events FOR MOST SYSTEMS WITH STATE AND INPUT DEPENDENT RUNTIMES, TRACTABLE WCRT ANALYSIS IS A MYSTERY!

Synchronous Scheduling E.g Esterel Synchronous assumption –Given a set of communicating tasks, each represented by a FSM, the computation of the output as well as the communication among the FSMs takes place in zero time The synchronicity hypothesis reduces the set of FSMs to a single product machine For synchronous systems, the structure of the product machine is equivalent to the static scheduling of the component FSMs

Synchronous Scheduling (contd.) Advantages –Deterministic response –Ease of debugging and verification Problems –May lead to inefficient execution time as compared to task-based scheduling –Some tasks in a system may not be representable as FSM –Undelayed feedback loops are a cause of great trouble

Overview Real-Time Systems Scheduling problem in Real-Time Systems Control Dominated Systems Dataflow Systems Conclusions

Dataflow Systems Dataflow graphs used for scheduling purposes in DSP systems Explicit representation of interaction between tasks More emphasis on the throughput of the system Two types of dataflow models –SDF  static compile time scheduling possible –DDF or control DF  more powerful than SDF but require some dynamic scheduling Most DSP algorithms don’t require much decision making – SDF is a good enough model

SDF Used in many block-diagram based rapid prototyping and code generation for programmable DSPs For uniprocessor scheduling –Code generator steps through the schedule and generates a sequence of actor invocations –In-line code used instead of sub-routine calls –Loops used to prevent explosion in code size due to multiple appearances of an actor in a schedule

Research Issues in SDF scheduling Minimize code and buffer size used for actors. Approaches are –Minimizing for one of the criterions. Among the existing solutions, choosing the solution that minimizes the second criterion –Exploring solutions that optimize based on a tradeoff between the two constraints i.e. avoiding the extremes Minimizing activation schedules

Conclusions Dataflow systems –Regularity of inputs and control lends itself well to static scheduling –Good techniques exist scheduling on one or several processors with tradeoff between code-size, buffer size, execution time etc Control-dominated systems –Efficient scheduling schemes known for a very small class of systems –Lack of a good model to capture inter-task dependencies –Lack of good techniques to determine the WCRT on complex processors without making unrealistic assumptions