Aperiodic Task Scheduling

Similar documents
Embedded Systems 14. Overview of embedded systems design

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

Task Models and Scheduling

Real-Time Systems. Event-Driven Scheduling

Embedded Systems Development

Real-Time Systems. Event-Driven Scheduling

Networked Embedded Systems WS 2016/17

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

Lecture 6. Real-Time Systems. Dynamic Priority Scheduling

CIS 4930/6930: Principles of Cyber-Physical Systems

Clock-driven scheduling

Andrew Morton University of Waterloo Canada

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

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

There are three priority driven approaches that we will look at

Real-Time Scheduling

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

Real-Time and Embedded Systems (M) Lecture 5

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

Real-Time Systems. LS 12, TU Dortmund

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

Embedded Systems - FS 2018

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

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

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

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

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

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

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

EDF Feasibility and Hardware Accelerators

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

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

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

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

Simple Dispatch Rules

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

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

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

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

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

Real-Time Scheduling and Resource Management

Cyclic Schedules: General Structure. Frame Size Constraints

Module 5: CPU Scheduling

Design of Real-Time Software

Periodic scheduling 05/06/

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

Chapter 6: CPU Scheduling

Evaluation and Validation

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

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

2/5/07 CSE 30341: Operating Systems Principles

CPU scheduling. CPU Scheduling

Schedulability analysis of global Deadline-Monotonic scheduling

A Dynamic Real-time Scheduling Algorithm for Reduced Energy Consumption

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

Schedulability of Periodic and Sporadic Task Sets on Uniprocessor Systems

Static priority scheduling

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #7: More on Uniprocessor Scheduling

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

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

D/A-Converters. Jian-Jia Chen (slides are based on Peter Marwedel) Informatik 12 TU Dortmund Germany

Resource Sharing in an Enhanced Rate-Based Execution Model

Deadline-driven scheduling

Multiprocessor Scheduling of Age Constraint Processes

On Non-Preemptive Scheduling of Periodic and Sporadic Tasks

CSE 380 Computer Operating Systems

Scheduling Slack Time in Fixed Priority Pre-emptive Systems

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

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

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

Tardiness Bounds under Global EDF Scheduling on a Multiprocessor

Controlling Preemption for Better Schedulability in Multi-Core Systems

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

EDF and RM Multiprocessor Scheduling Algorithms: Survey and Performance Evaluation

Performance-based Dynamic Scheduling of Hybrid Real-time Applications on a Cluster of Heterogeneous Workstations 1

Scheduling Lecture 1: Scheduling on One Machine

arxiv: v1 [cs.os] 6 Jun 2013

CPU Scheduling. Heechul Yun

CPU Scheduling. CPU Scheduler

CHAPTER 5 - PROCESS SCHEDULING

An Improved Schedulability Test for Uniprocessor. Periodic Task Systems

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

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

The Rate-Based Execution Model

Algorithm Design and Analysis

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

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

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

arxiv: v1 [cs.os] 28 Feb 2018

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

LSN 15 Processor Scheduling

CSCE 313 Introduction to Computer Systems. Instructor: Dezhen Song

Real-time Systems: Scheduling Periodic Tasks

Task Reweighting under Global Scheduling on Multiprocessors

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

An Optimal Real-Time Scheduling Algorithm for Multiprocessors

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

Multiprocessor Real-Time Scheduling Considering Concurrency and Urgency

CSE 421 Greedy Algorithms / Interval Scheduling

Scheduling Algorithms for Multiprogramming in a Hard Realtime Environment

Transcription:

Aperiodic Task Scheduling Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 Germany Springer, 2010 2017 年 11 月 29 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply.

Structure of this course Application Knowledge 2: Specification 3: ES-hardware 4: system software (RTOS, middleware, ) Design repository 6: Application mapping 7: Optimization 5: Evaluation & validation & (energy, cost, performance, ) Design 8: Test Numbers denote sequence of chapters - 2 -

Real-time scheduling Assume that we are given a task graph G=(V,E). Def.: A schedule S of G is a mapping V D t of a set of tasks V to start times from domain D t. G=(V,E) V1 V2 V3 V4 S D t t Typically, schedules have to respect a number of constraints, incl. resource constraints, dependency constraints, deadlines. Scheduling = finding such a mapping. - 3 -

Hard and soft deadlines Def.: A time-constraint (deadline) is called hard if not meeting that constraint could result in a catastrophe [Kopetz, 1997]. All other time constraints are called soft. We will focus on hard deadlines. - 4 -

Periodic and aperiodic tasks Def.: Tasks which must be executed once every T units of time are called periodic tasks. T is called their period. Each execution of a periodic task is called a job. Def.: Tasks requesting the processor at unpredictable times are called sporadic, if there is a minimum separation between the times at which they request the processor. All other tasks are called aperiodic. - 5 -

Preemptive and non-preemptive scheduling Non-preemptive schedulers: Jobs are executed until they are done. Response time for external events may be quite long. Preemptive schedulers: To be used if - some tasks have long execution times or - if the response time for external events to be short. - 6 -

Dynamic/online scheduling Dynamic/online scheduling: Processor allocation decisions (scheduling) at run-time;; based on the information about the tasks arrived so far. - 7 -

Static/offline scheduling Static/offline scheduling: Scheduling taking a priori knowledge about arrival times, execution times, and deadlines into account. Dispatcher allocates processor when interrupted by timer. Timer controlled by a table generated at design time. Start Task 1 Start Task 3 Start Task 2-8 -

Time-triggered systems (1) In an entirely time-triggered system, the temporal control structure of all tasks is established a priori by off-line support-tools. This temporal control structure is encoded in a Task-Descriptor List (TDL) that contains the cyclic schedule for all activities of the node. This schedule considers the required precedence and mutual exclusion relationships among the tasks such that an explicit coordination of the tasks by the operating system at run time is not necessary... The dispatcher is activated by the synchronized clock tick. It looks at the TDL, and then performs the action that has been planned for this instant [Kopetz]. Start Task 1 Start Task 3 Start Task 2-9 -

Time-triggered systems (2) pre-run-time scheduling is often the only practical means of providing predictability in a complex system. [Xu, Parnas]. It can be easily checked if timing constraints are met. The disadvantage is that the response to sporadic events may be poor. - 10 -

Centralized and distributed scheduling Mono- and multi-processor scheduling: - Simple scheduling algorithms handle single processors, - more complex algorithms handle multiple processors. algorithms for homogeneous multi-processor systems algorithms for heterogeneous multi-processor systems (includes HW accelerators as special case). Centralized and distributed scheduling: Multiprocessor scheduling either locally on 1 or on several processors. - 11 -

Schedulability Set of tasks is schedulable under a set of constraints, if a schedule exists for that set of tasks & constraints. Exact tests are NP-hard in many situations. Sufficient tests: sufficient conditions for schedule checked. Necessary tests: checking necessary conditions. Used to show no schedule exists. There may be cases in which no schedule exists & we cannot prove it. sufficient schedulable necessary - 12 -

Classical scheduling algorithms for aperiodic systems Graphics: Alexandra Nolte, Gesine Marwedel, 2003 These slides use Microsoft clip arts. Microsoft copyright restrictions apply.

Aperiodic scheduling: - Scheduling with no precedence constraints - Let {τ i } be a set of tasks. Let: c i be the execution time of τ i, d i be the absolute deadline I will use deadline in this case when we have only aperiodic tasks r i be the arrive time l i be the laxity or slack, defined as l i = d i - c i f i be the finishing time. - 14 -

Cost functions Cost function: Different algorithms aim at minimizing different functions. Def.: Maximum lateness = max all tasks (completion time deadline) Is <0 if all tasks complete before deadline. Task 1 Task 2 t - 15 -

Uniprocessor with equal arrival times Preemption is useless. Earliest Due Date (EDD): Execute task with earliest due date (deadline) first. f i f i f i EDD requires all tasks to be sorted by their (absolute) deadlines. Hence, its complexity is O(n log(n)). - 16 -

Optimality of EDD EDD is optimal for minimizing the maximum lateness: Given a set of n independent tasks, any algorithm that executes the tasks in order of non-decreasing (absolute) deadlines is optimal with respect to minimizing the maximum lateness. Proof (See Buttazzo, 2002): Let S be a schedule produced by any algorithm A If S the schedule of EDD τ a, τ b, d a d b, τ b immediately precedes τ a in S. Let S' be the schedule obtained by exchanging τ a and τ b. - 17 -

Exchanging τ a and τ b cannot increase lateness Max. lateness for τ a and τ b in S is L max (a,b)=f a -d a Max. lateness for τ a and τ b in S' is L' max (a,b)=max(l' a, L' b ) Two possible cases 1. L' a L' b : L' max (a,b) = f' a d a < f a d a = L max (a,b) since T a starts earlier in schedule S'. 2. L' a < L' b : L' max (a,b) = f' b d b = f a d b f a d a = L max (a,b) since f a =f' b and d a d b F L' max (a,b) L max (a,b) S S' τ b τ a τ a τ b f a =f' b - 18 -

EDD is optimal F Any schedule S with lateness L can be transformed into an EDD schedule S n with lateness L n L, which is the minimum lateness. F EDD is optimal for minimizing the maximum lateness (q.e.d.) F EDD is optimal for meeting the deadlines F Note that EDD is not always optimal for other cost functions - 19 -

Sufficient and Necessary Schedulability Tests for EDD F A set of aperiodic tasks arriving at the same time (says, 0) is schedulable (by EDD) if and only if k, τ j :d j d k c j d k o Proof for if: this simply comes from the evaluation of EDD o Proof for only if: this simply comes from the fact that the demand must be no more than the available time - 20 -

Earliest Deadline First (EDF): - Horn s Theorem - Different arrival times: Preemption potentially reduces lateness. Theorem [Horn74]: Given a set of n independent tasks with arbitrary arrival times, any algorithm that at any instant executes the task with the earliest absolute deadline among all the ready tasks is optimal with respect to minimizing the maximum lateness. - 21 -

Earliest Deadline First (EDF): - Algorithm - Earliest deadline first (EDF) algorithm: Each time a new ready task arrives: It is inserted into a queue of ready tasks, sorted by their absolute deadlines. Task at head of queue is executed. If a newly arrived task is inserted at the head of the queue, the currently executing task is preempted. Straightforward approach with sorted lists (full comparison with existing tasks for each arriving task) requires run-time O(n 2 );; (less with binary search or bucket arrays). Sorted queue Executing task - 22 -

Earliest Deadline First (EDF): Example - τ 1 τ 2 τ 3 τ 1 τ 2 τ 3 Earlier deadline F preemption Later deadline F no preemption - 23 -

Optimality of EDF To be shown: EDF minimizes maximum lateness. Proof (Buttazzo, 2002): Let S be a schedule produced by generic schedule A Let S EDF : schedule produced by EDF Preemption allowed: tasks executed in disjoint time intervals S divided into time slices of 1 time unit each Time slices denoted by [t, t+1) Let S(t): task executing in [t, t+1) Let E(t): the unfinished task which, at time t, has the earliest absolute deadline Let t E (t): time ( t) at which the next slice of task E(t) begins its execution in schedule S - 24 -

Optimality of EDF (2) If S S EDF, then there exists time t: S(t) E(t) Idea: swapping S(t) and E(t) cannot increase max. lateness. τ 1 τ 2 τ 3 τ 1 τ 2 τ 3 [Buttazzo, -2002] 25 -

Optimality of EDF (3) Algorithm interchange: { for (t=0 to D-1) { if (S(t) E(t)) { S(t E (t)) = S(t);; S(t) = E(t); }}} Using the same argument as in the proof of EDD, it is easy to show that swapping cannot increase maximum lateness;; hence EDF is optimal for minimizing the maximum lateness. Does interchange preserve schedulability? No, the argument is slightly buggy. Why not? How to fix it? q.e.d. [Buttazzo, 2002] - 26 -

Sufficient and Necessary Schedulability Tests for EDF F A set of aperiodic tasks is schedulable (by EDD) if and only if r i < d k, τ j :r i r j and d j d k c j d k r i o Proof for only if (necessary test): this simply comes from the fact that the demand must be no more than the available time o Proof for if (sufficient test) - 27 -

Proof: Sufficient Schedulability Test for EDF Proof by contrapositive: Suppose that EDF schedule does not meet the deadline Let task τ k be the first task which misses its absolute deadline d k Let t 0 be the last instant before d k, at which either the processor is idle or the processor executes a task with absolute deadline larger than d k By EDF, t 0 must be an arrival time of a job, called τ i Therefore, t 0 is equal to r i Due to the deadline miss of τ k, the processor must be busy between r i and d k The processor executes only the jobs arriving no earlier than r i and with absolute deadline less than or equal to d k Therefore, we conclude the proof by showing that r i < d k, τ j :r i r j and d j d k c j > d k r i - 28 -

Least laxity (LL), Least Slack Time First (LST) Priorities = decreasing function of the laxity (lower laxity F higher priority);; changing priority;; preemptive. τ 1 τ 2 τ 3 τ 1 τ 2 τ 3-29 -

Properties Not sufficient to call scheduler & re-compute laxity just at task arrival times. Overhead for calls of the scheduler. Many context switches. Detects missed deadlines early. LL is also an optimal scheduling for mono-processor systems to meet the deadlines. Dynamic priorities F cannot be used with a fixed prio OS. LL scheduling requires the knowledge of the execution time. - 30 -

Scheduling without preemption (1) Lemma: If preemption is not allowed, optimal schedules may have to leave the processor idle at certain times. Proof: Suppose: optimal schedulers never leave processor idle. - 31 -

Scheduling without preemption (2) τ 1 : periodic, available at times 4*n, c 1 = 2, T 1 = 4, D 1 = 4 τ 2 : periodic, available at times 4*n+1, c 2 = 1, T 1 = 4, D 2 = 1 τ 1 has to start at t =0 F deadline missed, but schedule is possible (start τ 2 first) F scheduler is not optimal F contradiction! q.e.d. τ 1 τ 2-32 -

Scheduling without preemption Preemption not allowed: F optimal schedules may leave processor idle to finish tasks with early deadlines arriving late. F Knowledge about the future is needed for optimal scheduling algorithms F No online algorithm can decide whether or not to keep idle. EDF is optimal among all scheduling algorithms not keeping the processor idle at certain times. If arrival times are known a priori, the scheduling problem becomes NP-hard in general. B&B typically used. - 33 -

Summary Hard vs. soft deadlines Static vs. dynamic F TT-OS Schedulability Classical scheduling Aperiodic tasks No precedences - Simultaneous (F EDD) & Asynchronous Arrival Times (F EDF, LL) - No preemption (brief) - 34 -