Design of Real-Time Software

Similar documents
Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013

Design of Real-Time Software

Embedded Systems Development

System Model. Real-Time systems. Giuseppe Lipari. Scuola Superiore Sant Anna Pisa -Italy

Task Models and Scheduling

Embedded Systems 14. Overview of embedded systems design

Andrew Morton University of Waterloo Canada

Aperiodic Task Scheduling

IN4343 Real Time Systems April 9th 2014, from 9:00 to 12:00

EDF Feasibility and Hardware Accelerators

A Theory of Rate-Based Execution. A Theory of Rate-Based Execution

Real-Time Systems. LS 12, TU Dortmund

Real-Time Scheduling. Real Time Operating Systems and Middleware. Luca Abeni

Real-Time Scheduling and Resource Management

CIS 4930/6930: Principles of Cyber-Physical Systems

Clock-driven scheduling

There are three priority driven approaches that we will look at

Scheduling. Uwe R. Zimmer & Alistair Rendell The Australian National University

Execution times and execution jitter analysis of real-time tasks under fixed-priority pre-emptive scheduling

Real-Time Systems. Event-Driven Scheduling

Real-time operating systems course. 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm

Lecture 6. Real-Time Systems. Dynamic Priority Scheduling

Networked Embedded Systems WS 2016/17

Real-time Scheduling of Periodic Tasks (1) Advanced Operating Systems Lecture 2

Real-Time Scheduling

RUN-TIME EFFICIENT FEASIBILITY ANALYSIS OF UNI-PROCESSOR SYSTEMS WITH STATIC PRIORITIES

Real-Time Systems. Event-Driven Scheduling

Converting existing analysis to the EDP resource model

Embedded Systems 15. REVIEW: Aperiodic scheduling. C i J i 0 a i s i f i d i

Scheduling Lecture 1: Scheduling on One Machine

Scheduling Periodic Real-Time Tasks on Uniprocessor Systems. LS 12, TU Dortmund

Cyclic Schedules: General Structure. Frame Size Constraints

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Scheduling Lecture 1: Scheduling on One Machine

Process Scheduling for RTS. RTS Scheduling Approach. Cyclic Executive Approach

On-line scheduling of periodic tasks in RT OS

Real Time Operating Systems

EDF Scheduling. Giuseppe Lipari CRIStAL - Université de Lille 1. October 4, 2015

EDF Scheduling. Giuseppe Lipari May 11, Scuola Superiore Sant Anna Pisa

Paper Presentation. Amo Guangmo Tong. University of Taxes at Dallas January 24, 2014

Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption revisited

Real-Time Systems. Lecture 4. Scheduling basics. Task scheduling - basic taxonomy Basic scheduling techniques Static cyclic scheduling

The Concurrent Consideration of Uncertainty in WCETs and Processor Speeds in Mixed Criticality Systems

Journal of Global Research in Computer Science

Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions

Scheduling Slack Time in Fixed Priority Pre-emptive Systems

Uniprocessor real-time scheduling

Bounding the Maximum Length of Non-Preemptive Regions Under Fixed Priority Scheduling

Bounding the End-to-End Response Times of Tasks in a Distributed. Real-Time System Using the Direct Synchronization Protocol.

Non-Preemptive and Limited Preemptive Scheduling. LS 12, TU Dortmund

3. Scheduling issues. Common approaches 3. Common approaches 1. Preemption vs. non preemption. Common approaches 2. Further definitions

Deadline-driven scheduling

Schedulability analysis of global Deadline-Monotonic scheduling

CycleTandem: Energy-Saving Scheduling for Real-Time Systems with Hardware Accelerators

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling

Scheduling Algorithms for Multiprogramming in a Hard Realtime Environment

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts.

A New Sufficient Feasibility Test for Asynchronous Real-Time Periodic Task Sets

UC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara

ENHANCING CPU PERFORMANCE USING SUBCONTRARY MEAN DYNAMIC ROUND ROBIN (SMDRR) SCHEDULING ALGORITHM

Real Time Operating Systems

The Rate-Based Execution Model

Tardiness Bounds under Global EDF Scheduling on a. Multiprocessor

Schedulability of Periodic and Sporadic Task Sets on Uniprocessor Systems

Scheduling I. Today Introduction to scheduling Classical algorithms. Next Time Advanced topics on scheduling

The preemptive uniprocessor scheduling of mixed-criticality implicit-deadline sporadic task systems

Embedded Systems - FS 2018

Multiprocessor Real-Time Scheduling Considering Concurrency and Urgency

Non-preemptive Scheduling of Distance Constrained Tasks Subject to Minimizing Processor Load

LSN 15 Processor Scheduling

Using Speed Diagrams for Symbolic Quality Management

Selected solutions for. TDDD07 Real-time Systems

A Dynamic Real-time Scheduling Algorithm for Reduced Energy Consumption

Time and Schedulability Analysis of Stateflow Models

A Response-Time Analysis for Non-preemptive Job Sets under Global Scheduling

Module 5: CPU Scheduling

CEC 450 Real-Time Systems

2/5/07 CSE 30341: Operating Systems Principles

Mixed Criticality in Safety-Critical Systems. LS 12, TU Dortmund

Multi-core Real-Time Scheduling for Generalized Parallel Task Models

Chapter 6: CPU Scheduling

Segment-Fixed Priority Scheduling for Self-Suspending Real-Time Tasks

Spare CASH: Reclaiming Holes to Minimize Aperiodic Response Times in a Firm Real-Time Environment

Multi-core Real-Time Scheduling for Generalized Parallel Task Models

The Quasi-Synchronous Approach to Distributed Control Systems

Schedulability and Optimization Analysis for Non-Preemptive Static Priority Scheduling Based on Task Utilization and Blocking Factors

Dependency Graph Approach for Multiprocessor Real-Time Synchronization. TU Dortmund, Germany

Conference Paper. A Response-Time Analysis for Non-Preemptive Job Sets under Global Scheduling. Mitra Nasri Geoffrey Nelissen Björn B.

Process Scheduling. Process Scheduling. CPU and I/O Bursts. CPU - I/O Burst Cycle. Variations in Bursts. Histogram of CPU Burst Times

N-Synchronous Kahn Networks A Relaxed Model of Synchrony for Real-Time Systems

CPU SCHEDULING RONG ZHENG

CS/IT OPERATING SYSTEMS

A gravitational task model for target sensitive real-time applications

An Efficient Energy-Optimal Device-Scheduling Algorithm for Hard Real-Time Systems

Periodic scheduling 05/06/

Scheduling Stochastically-Executing Soft Real-Time Tasks: A Multiprocessor Approach Without Worst-Case Execution Times

How to deal with uncertainties and dynamicity?

Semi-Partitioned Fixed-Priority Scheduling on Multiprocessors

Probabilistic Preemption Control using Frequency Scaling for Sporadic Real-time Tasks

Modeling Fixed Priority Non-Preemptive Scheduling with Real-Time Calculus

Transcription:

Design of Real-Time Software Reference model Reinder J. Bril Technische Universiteit Eindhoven Department of Mathematics and Computer Science System Architecture and Networking Group P.O. Box 513, 5600 MB Eindhoven, The Netherlands r.j.bril@tue.nl, http://www.win.tue.nl/~rbril January 2014 1

Model Model (of a system): Abstraction (of that system) leaving out details irrelevant to a given set of criteria preserving the properties of interest (Scope) Our reference model explicitly addresses relevant issues in real-time systems (in particular of the controlling software)...but must be mapped eventually onto an execution environment OS, hardware, run-time system,... 2

Events, responses and tasks Event: state change usually at the RTCS boundary, under control of the environment, or from a timer or a task an event indicates a state change that requires a response Recording external events: Informing (the controlling software); event-driven typically: changes in discrete environmental variables hazardous condition, packet passes a sensor Sampling (by the controlling software): time-driven typically: continuous external values temperature, humidity, pressure 3

Events, responses and tasks (cnt d) Task: the sequence of actions that must be carried out to respond to an event Recurring events perform task repeated Task instance, task execution or job: an instance of the action sequence of a task we can speak about the k th instance of task i an event generates a job ( releases a task )...often 1-1, sometimes 1-n correspondence Tasks must be scheduled appropriately such as to let instances meet their deadlines Tasks can be time-driven or event-driven 4

Task attributes job i,k T i a i,k b i,k C i A task has a name (the i th task) i a (worst-case) computation time C i a (relative, worst-case) deadline D i a (worst-case) period, sometimes T i a phase (start of job 0) j i A job i,k has an activation (or release) time a i,k an (absolute, worst-case) deadline d i,k a begin (or start) time b i,k a finalization (or end) time f i,k f i,k d i,k a i,k+1 time 5

Task deadlines (Worst-case) Deadline: the maximum time before a job must complete Relative: the value D to be added to the activation time a Absolute: the result d of the addition The value associated with the execution of a job after the deadline determines the type of deadline 6

Deadline types Soft A response is still valuable after the deadline, but value decreases steadily after that. Example: interaction with human users. People get impatient. Firm A response has no value after the deadline. Example: a video frame that cannot be shown in time can be skipped. Hard Damage is done if a response does not come in time. 7

Derived attributes R i,k = f i,k a i,k U i = C i / T i U = U i H = lcm (T 1, T 2,...) response time utilization for task i total utilization of task set hyperperiod L i,k = f i,k d i,k lateness E i,k = max {0, L i,k } tardiness (or exceeding time, i.e. active after deadline) X i,k = D i C i laxity (or slack time) See [Buttazzo] p. 24, 25, and 103. 8

Task (event) types arrival patterns (Strictly) Periodic a i,k = j i + k * T i Periodic with Activation Jitter AJ i redefinition of j i : the start of the arrival interval of job 0 j i + k * T i a i,k j i + k * T i +AJ i Sparse or sporadic: minimum inter-arrival time T i a i,k + T i a i,k+1 Elastic: min. and max. inter-arrival times WT i and BT i a i,k + WT i a i,k+1 a i,k + BT i 9

Job (task instance) constraints Precedence enforced limitations on order (producer/consumer relationships) AND-type (wait for a whole set), OR-type (wait for one of a set) typical example: only single task instance active generally: wait for a condition on the state Resource sharing mutual exclusion Data dependency implied limitations on data usage, e.g. ordering (unsynchronized producer/consumer through buffering) Temporal dependency limitation on time differences between job completions e.g. synchronizing audio/video 10

Scope of the model The overall task properties come from the system specification external events, response times All subsequent details represent design decomposition of tasks internal concurrency, specific implementations choice of preemptivity,... and are driven by an understanding of the building blocks where the task-set is to be mapped upon i.e., the resource model (model of the execution environment) processor(s), memory, size and number of resources, provided OS-type services,... pre-emptivity of resources the need to find a feasible schedule e.g. a task might need decomposition to make it schedulable 11