Task Models and Scheduling

Similar documents
Real-Time Systems. LS 12, TU Dortmund

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

Schedulability of Periodic and Sporadic Task Sets on Uniprocessor Systems

Networked Embedded Systems WS 2016/17

Aperiodic Task Scheduling

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

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

Embedded Systems 14. Overview of embedded systems design

Embedded Systems Development

CIS 4930/6930: Principles of Cyber-Physical Systems

Real-Time Systems. Event-Driven Scheduling

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

Andrew Morton University of Waterloo Canada

Real-Time and Embedded Systems (M) Lecture 5

Real-Time Systems. Event-Driven Scheduling

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

Clock-driven scheduling

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

Real-Time Scheduling and Resource Management

There are three priority driven approaches that we will look at

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

Multiprocessor Scheduling I: Partitioned Scheduling. LS 12, TU Dortmund

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

EDF Feasibility and Hardware Accelerators

Real-Time Scheduling

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

Scheduling Lecture 1: Scheduling on One Machine

Real-time Systems: Scheduling Periodic Tasks

Embedded Systems - FS 2018

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

Optimal Utilization Bounds for the Fixed-priority Scheduling of Periodic Task Systems on Identical Multiprocessors. Sanjoy K.

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

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

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

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

Real-Time Systems. Lecture #14. Risat Pathan. Department of Computer Science and Engineering Chalmers University of Technology

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

Scheduling Lecture 1: Scheduling on One Machine

Lecture 6. Real-Time Systems. Dynamic Priority Scheduling

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

Deadline-driven scheduling

Multiprocessor Scheduling II: Global Scheduling. LS 12, TU Dortmund

Priority-driven Scheduling of Periodic Tasks (1) Advanced Operating Systems (M) Lecture 4

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

Real-time scheduling of sporadic task systems when the number of distinct task types is small

Exact speedup factors and sub-optimality for non-preemptive scheduling

Paper Presentation. Amo Guangmo Tong. University of Taxes at Dallas February 11, 2014

CPU SCHEDULING RONG ZHENG

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

Design of Real-Time Software

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

EDF and RM Multiprocessor Scheduling Algorithms: Survey and Performance Evaluation

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

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

2.1 Task and Scheduling Model. 2.2 Definitions and Schedulability Guarantees

Module 5: CPU Scheduling

Chapter 6: CPU Scheduling

2/5/07 CSE 30341: Operating Systems Principles

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

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

CSE 380 Computer Operating Systems

Tardiness Bounds under Global EDF Scheduling on a Multiprocessor

On the Soft Real-Time Optimality of Global EDF on Multiprocessors: From Identical to Uniform Heterogeneous

Non-preemptive Fixed Priority Scheduling of Hard Real-Time Periodic Tasks

Cyclic Schedules: General Structure. Frame Size Constraints

Semi-Partitioned Fixed-Priority Scheduling on Multiprocessors

Schedulability analysis of global Deadline-Monotonic scheduling

Schedulability Analysis of the Linux Push and Pull Scheduler with Arbitrary Processor Affinities

Online Scheduling Switch for Maintaining Data Freshness in Flexible Real-Time Systems

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

Rate-monotonic scheduling on uniform multiprocessors

arxiv: v3 [cs.ds] 23 Sep 2016

Scheduling Slack Time in Fixed Priority Pre-emptive Systems

A Utilization Bound for Aperiodic Tasks and Priority Driven Scheduling

Bursty-Interference Analysis Techniques for. Analyzing Complex Real-Time Task Models

CEC 450 Real-Time Systems

arxiv: v1 [cs.os] 21 May 2008

Predictability of Least Laxity First Scheduling Algorithm on Multiprocessor Real-Time Systems

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

Contention-Free Executions for Real-Time Multiprocessor Scheduling

CHAPTER 5 - PROCESS SCHEDULING

TDDB68 Concurrent programming and operating systems. Lecture: CPU Scheduling II

CPU scheduling. CPU Scheduling

arxiv: v1 [cs.os] 25 May 2011

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

arxiv: v1 [cs.os] 6 Jun 2013

Semi-Partitioned Scheduling of Sporadic Task Systems on Multiprocessors

Partitioned scheduling of sporadic task systems: an ILP-based approach

arxiv: v1 [cs.os] 28 Feb 2018

A Dynamic Real-time Scheduling Algorithm for Reduced Energy Consumption

Static priority scheduling

Tardiness Bounds under Global EDF Scheduling on a. Multiprocessor

Improved Priority Assignment for the Abort-and-Restart (AR) Model

The Partitioned Dynamic-priority Scheduling of Sporadic Task Systems

Schedulability Analysis for the Abort-and-Restart Model

Design and Analysis of Time-Critical Systems Response-time Analysis with a Focus on Shared Resources

Scheduling Algorithms for Multiprogramming in a Hard Realtime Environment

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

An Optimal Real-Time Scheduling Algorithm for Multiprocessors

Comp 204: Computer Systems and Their Implementation. Lecture 11: Scheduling cont d

Transcription:

Task Models and Scheduling Jan Reineke Saarland University June 27 th, 2013 With thanks to Jian-Jia Chen at KIT! Jan Reineke Task Models and Scheduling June 27 th, 2013 1 / 36

Task Models and Scheduling Uniprocessor Systems Scheduling Theory in Real- Time Systems Schedulability Analysis Resource Sharing and Servers Partitioned Scheduling Multiprocessor Systems Semi- Partitioned Scheduling Global Scheduling Resource Sharing Jan Reineke Task Models and Scheduling June 27 th, 2013 2 / 36

Timing parameters of a job J j Arrival time (a j ) or release time (r j ) is the time at which the job becomes ready for execution Computation (execution) time (C j ) is the time necessary to the processor for executing the job without interruption (= WCET). Absolute deadline (d j ) is the time at which the job should be completed. Relative deadline (D j ) is the time length between the arrival time and the absolute deadline. Start time (s j ) is the time at which the job starts its execution. Finishing time (f j ) is the time at which the job finishes its execution. Response time (R j ) is the time length at which the job finishes its execution after its arrival, which is f j a j. C j a j s j f j d j R j D j time Jan Reineke Task Models and Scheduling June 27 th, 2013 3 / 36

Multi-Tasking (Recap) The execution entities (tasks, processes, threads, etc.) are competing with each other for shared resources Scheduling policy is needed When to schedule an entity? Which entity to schedule? Jan Reineke Task Models and Scheduling June 27 th, 2013 4 / 36

Scheduling Concepts Scheduling Algorithm: determines the order that jobs execute on the processor Jobs (a simplified version) may be in one of three states: activate schedule completion ready executing terminated preempt Jan Reineke Task Models and Scheduling June 27 th, 2013 5 / 36

Schedules for a set of jobs {J 1, J 2,..., J N } A schedule is an assignment of jobs to the processor, such that each job is executed until completion. A schedule can be defined as an integer step function σ : R N, where σ(t) = j denotes job J j is executed at time t, and σ(t) = 0 denotes the system is idle at time t. If σ(t) changes its value at some time t, then the processor performs a context switch at time t. Non-preemptive scheduling: there is only one interval with σ(t) = j for every J j. Preemptive scheduling: there can be more than one interval with σ(t) = j. Jan Reineke Task Models and Scheduling June 27 th, 2013 6 / 36

Scheduling Concept: Non-preemptive Schedule: σ : R N function of processor time to jobs σ(t) 3 J 1 J 2 2 1 Context Switches 0 1 2 3 4 5 6 7 8 9 10 s 1 s 2 = f 1 f 2 s 3 f 3 Jan Reineke Task Models and Scheduling June 27 th, 2013 7 / 36

Scheduling Concept: Non-preemptive Schedule: σ : R N function of processor time to jobs σ(t) 3 J 1 J 2 2 1 Context Switches 0 1 2 3 4 5 6 7 8 9 10 s 1 s 2 = f 1 f 2 s 3 f 3 Jan Reineke Task Models and Scheduling June 27 th, 2013 7 / 36

Scheduling Concept: Non-preemptive Schedule: σ : R N function of processor time to jobs σ(t) 3 J 1 J 2 2 1 Context Switches 0 1 2 3 4 5 6 7 8 9 10 s 1 s 2 = f 1 f 2 s 3 f 3 Jan Reineke Task Models and Scheduling June 27 th, 2013 7 / 36

Scheduling Concept: Preemptive Schedule: σ : R N function of processor time to jobs σ(t) 3 J 1 J 2 J 1 2 1 Context Switches 0 1 2 3 4 5 6 7 8 9 10 s 1 s 2 f 2 f 1 s 3 f 3 Jan Reineke Task Models and Scheduling June 27 th, 2013 8 / 36

Scheduling Concept: Preemptive Schedule: σ : R N function of processor time to jobs σ(t) 3 J 1 J 2 J 1 2 1 Context Switches 0 1 2 3 4 5 6 7 8 9 10 s 1 s 2 f 2 f 1 s 3 f 3 Jan Reineke Task Models and Scheduling June 27 th, 2013 8 / 36

Scheduling Concept: Preemptive Schedule: σ : R N function of processor time to jobs σ(t) 3 J 1 J 2 J 1 2 1 Context Switches 0 1 2 3 4 5 6 7 8 9 10 s 1 s 2 f 2 f 1 s 3 f 3 Jan Reineke Task Models and Scheduling June 27 th, 2013 8 / 36

Feasibility of Schedules and Schedulability A schedule is feasible if all jobs can be completed according to a set of specified constraints. A set of jobs is schedulable if there exists a feasible schedule for the set of jobs. A scheduling algorithm is optimal if it always produces a feasible schedule if the given set of jobs is schedulable. Jan Reineke Task Models and Scheduling June 27 th, 2013 9 / 36

Scheduling Algorithms Scheduling Algorithms Static Scheduling (offline, or clock-driven) Dynamic Scheduling (online, or priority-driven) Static-Priority Scheduling Dynamic-Priority Scheduling Preemptive vs. Non-preemptive Optimal vs. Non-optimal Jan Reineke Task Models and Scheduling June 27 th, 2013 10 / 36

Scheduling Algorithms Scheduling Algorithms Static Scheduling (offline, or clock-driven) Dynamic Scheduling (online, or priority-driven) Static-Priority Scheduling Dynamic-Priority Scheduling Preemptive vs. Non-preemptive Optimal vs. Non-optimal Jan Reineke Task Models and Scheduling June 27 th, 2013 10 / 36

Evaluating a Schedule For a job J j : Lateness L j : delay of job completion with respect to its deadline. L j = f j d j Tardiness E j : the time that a job stays active after its deadline. E j = max{0, L j } Laxity (or Slack Time)(X j ): The maximum time that a job can be delayed and still meet its deadline. X j = d j a j C j Jan Reineke Task Models and Scheduling June 27 th, 2013 11 / 36

Metrics of Scheduling Algorithms (for Jobs) Given a set J of n jobs, common metrics to minimize are Average response time: J j J f j a j J Makespan (total completion time): max f j min a j J j J J j J Maximum latency: L max = max J j J (f j d j ) Number of late jobs: N late = J j J miss(j j ), Total weighted response time: w j (f j a j ) J j J where miss(j j ) = 0 if f j d j, and miss(j j ) = 1 otherwise. Jan Reineke Task Models and Scheduling June 27 th, 2013 12 / 36

Hard/Soft Real-Time Systems Hard Real-Time Systems If any hard deadline is ever missed, then the system is incorrect The tardiness for any job must be 0 Examples: Nuclear power plant control, flight control Soft Real-Time Systems Deadline misses are undesired but do not have catastrophic consequences Possible goals: minimize the number of tardy jobs, minimize the maximum lateness, etc. Examples: Telephone switches, multimedia applications Jan Reineke Task Models and Scheduling June 27 th, 2013 13 / 36

An Example: Shortest-Job-First (SJF) At any moment, the system executes the job with the shortest remaining time among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 3C 2 = 0 C 1 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 1 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 14 / 36

An Example: Shortest-Job-First (SJF) At any moment, the system executes the job with the shortest remaining time among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 3C 2 = 0 C 1 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 1 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 14 / 36

An Example: Shortest-Job-First (SJF) At any moment, the system executes the job with the shortest remaining time among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 3C 2 = 0 C 1 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 1 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 14 / 36

An Example: Shortest-Job-First (SJF) At any moment, the system executes the job with the shortest remaining time among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 3C 2 = 0 C 1 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 1 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 14 / 36

An Example: Shortest-Job-First (SJF) At any moment, the system executes the job with the shortest remaining time among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 3C 2 = 0 C 1 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 1 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 14 / 36

An Example: Shortest-Job-First (SJF) At any moment, the system executes the job with the shortest remaining time among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 3C 2 = 0 C 1 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 1 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 14 / 36

An Example: Shortest-Job-First (SJF) At any moment, the system executes the job with the shortest remaining time among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 3C 2 = 0 C 1 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 1 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 14 / 36

An Example: Shortest-Job-First (SJF) At any moment, the system executes the job with the shortest remaining time among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 3C 2 = 0 C 1 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 1 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 14 / 36

An Example: Shortest-Job-First (SJF) At any moment, the system executes the job with the shortest remaining time among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 3C 2 = 0 C 1 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 1 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 14 / 36

An Example: Earliest-Deadline-First (EDF) At any moment, the system executes the job with the earliest absolute deadline among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 0C 2 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 15 / 36

An Example: Earliest-Deadline-First (EDF) At any moment, the system executes the job with the earliest absolute deadline among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 0C 2 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 15 / 36

An Example: Earliest-Deadline-First (EDF) At any moment, the system executes the job with the earliest absolute deadline among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 0C 2 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 15 / 36

An Example: Earliest-Deadline-First (EDF) At any moment, the system executes the job with the earliest absolute deadline among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 0C 2 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 15 / 36

An Example: Earliest-Deadline-First (EDF) At any moment, the system executes the job with the earliest absolute deadline among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 0C 2 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 15 / 36

An Example: Earliest-Deadline-First (EDF) At any moment, the system executes the job with the earliest absolute deadline among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 0C 2 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 15 / 36

An Example: Earliest-Deadline-First (EDF) At any moment, the system executes the job with the earliest absolute deadline among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 0C 2 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 15 / 36

An Example: Earliest-Deadline-First (EDF) At any moment, the system executes the job with the earliest absolute deadline among the jobs in the ready queue. J 1 J 2 J 4 J 5 a j 0 2 8 10 15 C j 5 2 6 3 4 d j 6 8 20 14 22 Exercise What is the average response time of the above schedule? C 1 = 0C 2 = 0 C 3 = 4 C 4 = 0C 3 = 2C 3 = 0 C 5 = 0 J 1 J 2 J 4 J 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Jan Reineke Task Models and Scheduling June 27 th, 2013 15 / 36

Recurrent Task Models When jobs (usually with the same computation requirement) are released recurrently, these jobs can be modeled by a recurrent task Periodic Task τ i : A job is released exactly and periodically by a period Ti A phase φi indicates when the first job is released A relative deadline D i for each job from task τ i (φ i, C i, T i, D i ) is the specification of periodic task τ i, where C i is the worst-case execution time. Sporadic Task τ i : T i is the minimal time between any two consecutive job releases A relative deadline D i for each job from task τ i (Ci, T i, D i ) is the specification of sporadic task τ i, where C i is the worst-case execution time. Aperiodic Task: Identical jobs released arbitrarily. Jan Reineke Task Models and Scheduling June 27 th, 2013 16 / 36

Recurrent Task Models When jobs (usually with the same computation requirement) are released recurrently, these jobs can be modeled by a recurrent task Periodic Task τ i : A job is released exactly and periodically by a period Ti A phase φi indicates when the first job is released A relative deadline D i for each job from task τ i (φ i, C i, T i, D i ) is the specification of periodic task τ i, where C i is the worst-case execution time. Sporadic Task τ i : T i is the minimal time between any two consecutive job releases A relative deadline D i for each job from task τ i (Ci, T i, D i ) is the specification of sporadic task τ i, where C i is the worst-case execution time. Aperiodic Task: Identical jobs released arbitrarily. Jan Reineke Task Models and Scheduling June 27 th, 2013 16 / 36

Recurrent Task Models When jobs (usually with the same computation requirement) are released recurrently, these jobs can be modeled by a recurrent task Periodic Task τ i : A job is released exactly and periodically by a period Ti A phase φi indicates when the first job is released A relative deadline D i for each job from task τ i (φ i, C i, T i, D i ) is the specification of periodic task τ i, where C i is the worst-case execution time. Sporadic Task τ i : T i is the minimal time between any two consecutive job releases A relative deadline D i for each job from task τ i (Ci, T i, D i ) is the specification of sporadic task τ i, where C i is the worst-case execution time. Aperiodic Task: Identical jobs released arbitrarily. Jan Reineke Task Models and Scheduling June 27 th, 2013 16 / 36

Examples of Recurrent Task Models Periodic task: (φ i, C i, T i, D i ) = (2, 2, 6, 6) release deadline J 1 J 1 J 1 J 1 J 1 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 Sporadic task: (C i, T i, D i ) = (2, 6, 6) J 1 J 1 J 1 J 1 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 Jan Reineke Task Models and Scheduling June 27 th, 2013 17 / 36

Example: Sporadic Control System Pseudo-code for this system while (true) start := get the system tick; perform analog-to-digital conversion to get y; compute control output u; Control System yk A/D Control law computation uk D/A output u and do digital-to-analog conversion; y(t) u(t) end := get the system tick; timetosleep := T (end start); sensor plant (The system being controlled) actuator sleep timetosleep; end while Jan Reineke Task Models and Scheduling June 27 th, 2013 18 / 36

Example: Periodic Control System Pseudo-code for this system set timer to interrupt periodically with period T ; Control System at each timer interrupt do A/D yk Control law computation uk D/A perform analog-to-digital conversion to get y; y(t) u(t) compute control output u; output u and do digital-to-analog conversion; sensor plant (The system being controlled) actuator od Jan Reineke Task Models and Scheduling June 27 th, 2013 19 / 36

Evaluating a Schedule for Tasks For a job J j : Lateness L j : delay of job completion with respect to its deadline. L j = f j d j Tardiness E j : the time that a job stays active after its deadline. E j = max{0, L j } Laxity (or Slack Time)(X j ): The maximum time that a job can be delayed and still meet its deadline. X j = d j a j C j For a task τ i : Lateness L i : maximum latency of jobs released by task τ i Tardiness E i : maximum tardiness of jobs released by task τ i Laxity X i : D i C i ; Jan Reineke Task Models and Scheduling June 27 th, 2013 20 / 36

Relative Deadline vs Period For a task set, we say that the task set is with implicit deadline when the relative deadline D i is equal to the period T i, i.e., D i = T i, for every task τ i, constrained deadline when the relative deadline D i is no more than the period T i, i.e., D i T i, for every task τ i, or arbitrary deadline when the relative deadline D i could be larger than the period T i for some task τ i. Jan Reineke Task Models and Scheduling June 27 th, 2013 21 / 36

Some Definitions for Periodic Tasks The jobs of task τ i are denoted J i,1, J i,2,....... Synchronous system: Each task has a phase of 0. Asynchronous system: Phases are arbitrary. Hyperperiod: Least common multiple (LCM) of T i. Task utilization of task τ i : u i = C i T i. System utilization: τ i u i. Jan Reineke Task Models and Scheduling June 27 th, 2013 22 / 36

Feasibility and Schedulability for Recurrent Tasks A schedule is feasible if all the jobs of all tasks can be completed according to a set of specified constraints. A set of tasks is schedulable if there exists a feasible schedule for the set of tasks. A scheduling algorithm is optimal if it always produces a feasible schedule if the set of tasks is schedulable. Jan Reineke Task Models and Scheduling June 27 th, 2013 23 / 36

Graham s Scheduling Algorithm Classification Classification: a b c a: machine environment (e.g., uniprocessor, multiprocessor, distributed,...) b: task and resource characteristics (e.g., preemptive, independent, synchronous,...) c: performance metric and objectives (e.g., L max, sum of finish times,...) Examples: 1 non-prem L max M Emax Jan Reineke Task Models and Scheduling June 27 th, 2013 24 / 36

Earliest Due Date Algorithm Theorem 1 sync L max : Given a set of n independent aperiodic jobs that arrive synchronously (release time is 0), any algorithm that executes tasks in order of non-decreasing deadlines is optimal with respect to minimizing the maximum lateness. Denoted as Earliest Due Date (EDD) Algorithm [Jackson, 1955] Proof Let σ be the schedule for J produced by scheduling algorithm A. We can transform A to EDD schedule A without increasing L max. Details are in the textbook by Buttazzo [Theorem 3.1]. Jan Reineke Task Models and Scheduling June 27 th, 2013 25 / 36

Optimality of EDF Theorem Given a set of n independent aperiodic jobs with arbitrary arrival times, if the aperiodic task set is schedulable on a single processor then any algorithm that executes jobs with earliest deadline (among the set of active jobs) is guaranteed to meet all jobs deadlines. What is the difference between EDD and EDF? Several proofs of optimality exist: Liu and Layland (1973), Horn (1974), and Dertouzos (1974). Similar to Jackson Algorithm proof of optimality, but need to account for preemption. Jan Reineke Task Models and Scheduling June 27 th, 2013 26 / 36

Monotonicity of Scheduling Algorithms A good scheduling algorithm should be monotonic If a scheduling algorithm derives a feasible schedule, it should also guarantee the feasibility with less execution time of a task/job, less number of tasks/jobs, or more number of processors/machines. Just as a processor should not exhibit timing anomalies. Jan Reineke Task Models and Scheduling June 27 th, 2013 27 / 36

Why is Real-Time Scheduling Hard? Multiprocessor (Graham 1976) Changing the priority order, increasing the number of processors, reducing execution times, or weakening precedence constraints can result in a deadline miss. Many Cases Scheduling problems in multiprocessor systems are usually N P-Hard. Jan Reineke Task Models and Scheduling June 27 th, 2013 28 / 36

Fundamentals: Computational Complexity N P-completeness of a problem Π: If Π can be solved in polynomial time by a non-deterministic Turing machine, the problem is in the computational complexity class N P. Π is N P-hard if any problem in the N P class can be reduced to Π in polynomial time. Π is N P-complete if Π is in N P and it is N P-hard. The computational complexity class P The computing machines we have developed so far are deterministic Turing machines. If Π can be solved in polynomial time by using a deterministic Turing machine, the problem is in the computational complexity class P. If a problem is N P-hard, there is no efficient (polynomial-time) algorithm to derive optimal/feasible solutions unless P = N P. The question about P = N P or P N P is an essential problem in Computer Science. Jan Reineke Task Models and Scheduling June 27 th, 2013 29 / 36

Fundamentals: Computational Complexity N P-completeness of a problem Π: If Π can be solved in polynomial time by a non-deterministic Turing machine, the problem is in the computational complexity class N P. Π is N P-hard if any problem in the N P class can be reduced to Π in polynomial time. Π is N P-complete if Π is in N P and it is N P-hard. The computational complexity class P The computing machines we have developed so far are deterministic Turing machines. If Π can be solved in polynomial time by using a deterministic Turing machine, the problem is in the computational complexity class P. If a problem is N P-hard, there is no efficient (polynomial-time) algorithm to derive optimal/feasible solutions unless P = N P. The question about P = N P or P N P is an essential problem in Computer Science. Jan Reineke Task Models and Scheduling June 27 th, 2013 29 / 36

Summary How to characterize jobs: arrival time a j, computation time C j, absolute/relative deadline d j /D j How to characterize schedules: start time s j, finishing time f j, response time R j Performance metrics for schedules: lateness L j, tardiness E j, laxity X j Properties of schedules, sets of jobs, and scheduling algorithms: feasibility of schedules schedulability of sets of jobs and tasks optimality of scheduling algorithms Recurrent task models: periodic, sporadic, aperiodic, synchronous vs asynchronous Scheduling algorithms: Shortest-Job-First (SJF) Earliest-Due-Date (EDD) Earliest-Deadline-First (EDF) Jan Reineke Task Models and Scheduling June 27 th, 2013 30 / 36

Appendix Some Examples for Multiprocessor Scheduling Jan Reineke Task Models and Scheduling June 27 th, 2013 31 / 36

Why is Real-Time Scheduling Hard? Multiprocessor Anomalies Partitioned scheduling (Each task/job is on a processor) As most partitioning algorithms are not optimal, a system might become infeasible with Less execution time of a task/job Less number of tasks/jobs More number of processors/machines Global scheduling As most priority-assignment algorithms are not optimal, a system might become infeasible with Less execution time of a task/job Less number of tasks/jobs More number of processors/machines Jan Reineke Task Models and Scheduling June 27 th, 2013 32 / 36

Precedence Constraints Jobs (and tasks) may have to execute in a pre-specified order. J 9 J 1 J 8 J 2 J 7 J 6 J 4 J 5 Jan Reineke Task Models and Scheduling June 27 th, 2013 33 / 36

Multiprocessor Anomaly: Case 1 J 1 J 9 J 1 (3) J 2 (2) (2) J 4 (2) J 9 (9) J 8 (4) J 7 (4) J 6 (4) J 5 (4) J 2 J 4 J 5 J 7 J 6 J 8 0 2 4 6 8 10 12 14 16 Removing the precedence constraints on J 4... J 1 J 6 J 9 J 2 J 4 J 7 J 5 J 8 On 3 processors 0 2 4 6 8 10 12 14 16 Jan Reineke Task Models and Scheduling June 27 th, 2013 34 / 36

Multiprocessor Anomaly: Case 1 J 1 J 9 J 1 (3) J 2 (2) (2) J 4 (2) J 9 (9) J 8 (4) J 7 (4) J 6 (4) J 5 (4) J 2 J 4 J 5 J 7 J 6 J 8 0 2 4 6 8 10 12 14 16 Removing the precedence constraints on J 4... J 1 J 6 J 9 J 2 J 4 J 7 J 5 J 8 On 3 processors 0 2 4 6 8 10 12 14 16 Jan Reineke Task Models and Scheduling June 27 th, 2013 34 / 36

Multiprocessor Anomaly: Case 2 J 9 (8) J 1 (2) J 2 (1) (1) J 4 (1) J 8 (3) J 7 (3) J 6 (3) J 5 (3) J 1 J 5 J 9 J 2 J 4 J 7 J 6 J 8 0 2 4 6 8 10 12 14 16 Reduce the execution time by 1, and schedule on 3 processors Jan Reineke Task Models and Scheduling June 27 th, 2013 35 / 36

Multiprocessor Anomaly: Case 3 J 1 J 9 J 1 (3) J 2 (2) (2) J 4 (2) J 9 (9) J 8 (4) J 7 (4) J 6 (4) J 5 (4) J 2 J 4 J 5 J 7 J 6 J 8 0 2 4 6 8 10 12 14 16 Use 4 processors J 1 J 7 J 2 J 6 J 5 On 4 processors J 4 J 8 J 9 Jan Reineke Task Models and Scheduling June 27 th, 2013 36 / 36

Multiprocessor Anomaly: Case 3 J 1 J 9 J 1 (3) J 2 (2) (2) J 4 (2) J 9 (9) J 8 (4) J 7 (4) J 6 (4) J 5 (4) J 2 J 4 J 5 J 7 J 6 J 8 0 2 4 6 8 10 12 14 16 Use 4 processors J 1 J 7 J 2 J 6 J 5 On 4 processors J 4 J 8 J 9 Jan Reineke Task Models and Scheduling June 27 th, 2013 36 / 36