EE5900 Advanced Embedded System For Smart Infrastructure

Slides:



Advertisements
Similar presentations
Multiprocessor Scheduling
Advertisements

Fakultät für informatik informatik 12 technische universität dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund,
CprE 458/558: Real-Time Systems
Washington WASHINGTON UNIVERSITY IN ST LOUIS Real-Time: Periodic Tasks Fred Kuhns Applied Research Laboratory Computer Science Washington University.
Introduction Frank Drews
Using Hard Disks in Real-Time Systems Mark Stanovich.
Chapter 7 - Resource Access Protocols (Critical Sections) Protocols: No Preemptions During Critical Sections Once a job enters a critical section, it cannot.
Introduction to Embedded Systems Resource Management - III Lecture 19.
1 EE5900 Advanced Embedded System For Smart Infrastructure RMS and EDF Scheduling.
REAL TIME SYSTEMS – SCHEDULING ISSUES
CPE555A: Real-Time Embedded Systems
Real Time Scheduling Terminologies define Fixed Priority Scheduler
An Introduction to Real Time Systems
Is It Time Yet? Wing On Chan. Distributed Systems – Chapter 18 - Scheduling Hermann Kopetz.
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.
Module 2 Priority Driven Scheduling of Periodic Task
Real-Time Systems Introduction
Embedded and Real Time Systems Lecture #2 David Andrews
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
CprE 458/558: Real-Time Systems
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.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Real Time Process Control (Introduction)
MM Process Management Karrie Karahalios Spring 2007 (based off slides created by Brian Bailey)
Task Scheduling By Dr. Amin Danial Asham.
Introduction to Real-Time Systems
1. Introduction 1.1 Background 1.2 Real-time applications 1.3 Misconceptions 1.4 Issues in real-time computing 1.5 Structure of a real-time system.
Round Robin Scheduling A preemptive scheduling designed for Time Sharing Systems The Ready Queue is treated as a circular queue A small execution.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Scheduling policies for real- time embedded systems.
Multiprocessor Real-time Scheduling Jing Ma 马靖. Classification Partitioned Scheduling In the partitioned approach, the tasks are statically partitioned.
Real Time Scheduling Telvis Calhoun CSc Outline Introduction Real-Time Scheduling Overview Tasks, Jobs and Schedules Rate/Deadline Monotonic Deferrable.
Real-Time Scheduling CS4730 Fall 2010 Dr. José M. Garrido Department of Computer Science and Information Systems Kennesaw State University.
Prepare by : Ihab shahtout.  Overview  To give an overview of fixed priority schedule  Scheduling and Fixed Priority Scheduling.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Introduction to Real-Time Systems.
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)
Special Class on Real-Time Systems
Module 2 Overview of Real Time System Scheduling
1 Real-Time Scheduling. 2Today Operating System task scheduling –Traditional (non-real-time) scheduling –Real-time scheduling.
Real time scheduling G.Anuradha Ref:- Stallings. Real time computing Correctness of the system depends not only on the logical result of computation,
Introduction to Embedded Systems Rabie A. Ramadan 5.
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Real-Time Systems, Events, Triggers. Real-Time Systems A system that has operational deadlines from event to system response A system whose correctness.
Introduction to Real-Time Systems
For a good summary, visit:
Lecture 6: Real-Time Scheduling
Distributed Process Scheduling- Real Time Scheduling Csc8320(Fall 2013)
Real-Time Operating Systems RTOS For Embedded systems.
Embedded System Scheduling
REAL-TIME OPERATING SYSTEMS
Real-Time Embedded System
Operating Systems Design (CS 423)
Albert M. K. Cheng Embedded Real-Time Systems
Wayne Wolf Dept. of EE Princeton University
Unit OS9: Real-Time and Embedded Systems
EEE 6494 Embedded Systems Design
Chapter 2 Scheduling.
Lecture 4 Schedulability and Tasks
Real-time Software Design
Lecture 24: Process Scheduling Examples and for Real-time Systems
CprE 458/558: Real-Time Systems
Distributed Control Systems
Chapter 10 Multiprocessor and Real-Time Scheduling
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
Shortest-Job-First (SJR) Scheduling
Real-Time Process Scheduling Concepts, Design and Implementations
Real-Time Process Scheduling Concepts, Design and Implementations
Presentation transcript:

EE5900 Advanced Embedded System For Smart Infrastructure Introduction to Real-Time Embedded Systems

Definition Real-time embedded systems are defined as those systems in which the correctness of the system depends not only on the logical result of computation, but also on the time at which the results are produced. Hard real-time systems (e.g., Avionic control). Firm real-time systems (e.g., Banking). Soft real-time systems (e.g., Video on demand).

Deadline Hard deadline: penalty due to missing deadline is a higher order of magnitude than the reward in meeting the deadline Firm deadline: penalty and reward are in the same order of magnitude Soft deadline: penalty often lesser magnitude than reward

A typical real-time embedded system

Car example Mission: Reaching the destination safely. Controlled System: Car. Operating environment: Road conditions. Controlling System - Human driver: Sensors - Eyes and Ears of the driver. - Computer: Sensors - Cameras, Infrared receiver, and Laser telemeter. Controls: Accelerator, Steering wheel, Break-pedal. Actuators: Wheels, Engines, and Brakes.

Car example (contd) Critical tasks: Steering and breaking. Non-critical tasks: Turning on radio. Cost of fulfilling the mission → Efficient solution. Reliability of the driver → Fault-tolerance needs to be considered.

Real-Time Tasks Periodic tasks - Time-driven. Characteristics are known a priori - Task Ti is characterized by (pi, ci) E.g.: Task monitoring temperature of a patient. Aperiodic tasks - Event-driven. Characteristics are not known a priori - Task Ti is characterized by (ai, ri, ci, di) E.g.: Task activated upon detecting change in patient’s condition. Sporadic Tasks Aperiodic tasks with known minimum inter-arrival time. pi : task period    ai : arrival time    ri : ready time di : deadline     ci : worst case execution time.

Task constraints Deadline constraint Resource constraints Shared access Exclusive access Precedence constraints T1  T2: Task T2 can start executing only after T1 finishes its execution Fault-tolerant requirements To achieve higher reliability for task execution Redundancy in execution

Uniprocessor, multiprocessor, distributed system Computing systems Uniprocessor, multiprocessor, distributed system

Notion of Predictability The most common denominator that is expected from a real-time system is predictability. The behavior of the real-time system must be predictable which means that with certain assumptions about workload and failures, it should be possible to show at design time that all the timing constraints of the application will be met. For static systems, 100% guarantees can be given at design time. For dynamic systems, 100% guarantee cannot be given since the characteristics of tasks are not known a priori. In dynamic systems, predictability means that once a task is admitted into the system, its guarantee should never be violated as long as the assumptions under which the task was admitted hold.

Common Misconceptions Real-time computing is equivalent to fast computing. Real-time programming is assembly coding, priority interrupt programming, and writing device drivers. Real-time systems operate in a static environment. The problems in real-time system design have been solved in other areas of computer science and engineering.

Many existing scheduling techniques Major challenge The main challenge in real time embedded system design is real time scheduling Many existing scheduling techniques Round robin scheduling Planning scheduling Priority scheduling Static scheduling

Preemptive vs Non-preemptive scheduling Task execution is preempted and resumed later Preemption occurs to execute higher priority task. Offers higher schedulability Involves higher scheduling overhead due to context switching Non-preemptive Scheduling Once a task starts executing, it completes its full execution Offers lower schedulability Less overhead due to less context switching

Optimal scheduling -- definition A static scheduling algorithm is said to be optimal if, for any set of tasks, it always produces a feasible schedule (i.e., a schedule that satisfies the constraints of the tasks) whenever any other algorithm can do so. A dynamic scheduling algorithm is said to be optimal if it always produces a feasible schedule whenever a static algorithm with complete prior knowledge of all the possible tasks can do so. Static scheduling is used for scheduling periodic tasks, whereas dynamic scheduling is used to schedule both periodic and aperiodic tasks.

Summary Real-time embedded systems require logical correctness and timeliness. Real-time embedded system consists of a controlling system, controlled system, and the environment. Real-time systems are classified as: hard, firm, and soft real time systems. Tasks are periodic, aperiodic, sparodic. The notion of predictability is important in real-time systems and the major challenge is real time scheduling.