Selected solutions for. TDDD07 Real-time Systems

Size: px
Start display at page:

Download "Selected solutions for. TDDD07 Real-time Systems"

Transcription

1 Selected solutions for TDDD07 Real-time Systems Massimiliano Raciti Jordi ucurull Simin Nadjm-Tehrani Scheduling and resource sharing Real-Time Systems Laboratory Department of omputer and Information Science Linköping University, Sweden November 20 opyright 20 Simin Nadjm-Tehrani

2 Suggested Solutions. Scheduling Q.: The task set is schedulable using cyclic scheduling, but the tasks suffer jitter. Here is an example of scheduling, in which you can see that tasks are affected by jitter Major cycle: lcm(50,0,20) = 00ms Minor cycle: gcd(50,0,20)=0ms You can try to change the order of execution of the tasks, but the jitter still remains. One of the possible ways to schedule this task set without jitter is by reducing the periods, thus executing tasks more frequently than required (see lternative 2 in the slides of Lecture ). Task New eriod (ms) Major cycle: lcm(0,20,20) = 0ms Minor cycle: gcd(0,20,20)=20ms

3 Q.2: a) Task eriod WET (Trajectory follower) (Sensor & measurement) (Disk storage) D (Ground communication) Major cycle: lcm(500,500,000,500) = 000ms Minor cycle: gcd(500,500,000,500)=500ms The task set is not schedulable. This is due to the disk storage task, that cannot be fitted in any place inside the major cycle. The task set becomes schedulable if we assume that the disk storage task can be divided into 6 processes as following: =00ms,2=200ms,=200ms,=00ms,5=200ms, 6=200ms. a) The new task set is: Task eriod WET Trajectory follower Sensor & measurement 000 (incr. from 500) 00 Disk storage Ground communication (reduc. from 200) RMS: U % G for tasks is: n G n( 2 ) (2 ) 75% The task set is then schedulable using RMS. However, the jitter requirements are not met. Since the trajectory follower is not the process with higher priority, it can be preempted by higher priority processes, thus causing jitter.

4 b) This phenomenon is the priority inversion. When the sensor recording task is blocked waiting for the busy resource hold by the disk storage (which has the lowest priority), middle priority processes can preempt this one causing the sensor recording to wait for them as well. This problem can be solved using the priority inheritance protocol or the priority ceiling protocol, although the second one is preferable since it prevents deadlocks. Q.: a) ccording to the description we have the following task set: rocess eriod WET Stabiliser 50ms 5ms 2 Star follower 20ms 5ms Energy manager 0ms 0ms Minor cycle: gcd (50, 20, 0) = 0ms Major cycle: lcm (50, 20, 0) = 00 ms b) rocess eriod WET Shares ritical Section riority (π) Time Stabiliser 50ms 5ms R2 osition ms 2 Star follower 20ms 5ms R Memory 2ms 5 (Highest) Energy manager 0ms 0ms - - icture storage 50ms - R Memory 2ms ommunication 00ms - R2 osition ms (Lowest) eiling (R) = max (π2, π) = 5 eiling (R2) = max (π, π5) =

5 The blocking times are calculated. In order to simplify the process it is recommended to go through the lower to higher priority processes. Let lp {Z} denote the set of processes with lower priority than Z: 5 : There is no process with lower priority lp { 5} {}. No process can block 5 then 5 0 ms. : In this case lp{ } { 5}. We have to check if can be blocked by the lower priority process 5: (i) rocess 5 locks R2 and eiling( R2) 5 2. rocess 5 can block. rocess can be blocked by process 5. The blocking time is max( t 5) ms. R2, : In this case lp{ } {, 5}. We have to check if can be blocked by any of these two lower priority processes: (i) rocess 5 locks R2 and eiling( R2). rocess 5 can block. (ii) rocess locks R and eiling( R) 5. rocess can block. rocess can be blocked by processes 5 and. Then, the blocking time is max( tr2, 5, tr, ) 2ms. : In this case lp{ } { 5,, }. We have to check if can be blocked by any of these lower priority processes: (i) rocess 5 locks R2 and eiling( R2). rocess 5 cannot block. (ii) rocess locks R and eiling( R) 5. rocess can block. (iii) rocess locks R and eiling( R2). rocess cannot block. rocess can only be blocked by process. Then, the blocking time is max( t ) ms. R, 2 2 : In this case lp{ 2} { 5,,, }. We have to check if 2 can be blocked by any of these lower priority processes: (i) rocess 5 locks R2 and eiling( R2) 2 5. rocess 5 cannot block 2. (ii) rocess locks R and eiling( R) rocess can block 2. (iii) rocess locks R and eiling( R2) 2 5. rocess cannot block 2. (iv) does not use resources hence it cannot block 2.

6 rocess 2 can only be blocked by process. Then, the blocking time is max( t ) ms. 2 R, 2 c) No, the schedulability test used for RMS cannot be applied because process 2 has a deadline D smaller than the period T. Q.: a) ccording to the description we have the following task set: rocess eriod WET Servo motor controller ms 0.5ms 2 Servo motor controller 2 ms 0.5ms Sensor analysis 0ms 2ms Decision maker 0ms ms 5 Logging? 2ms Since the scheduler used is EDF, we use the schedulability test formula to isolate the minimum possible period of the logging task: N i T i Ti 2 5 T 2 T T T T 5 T 5. ms The logging task could be run with a period of. ms or longer. ossible assumptions are:.system overheads are not considered 2.ontext switching is ignored. D T b) We calculate the major and minor cycles for the cyclic schedule: Minor cycle: gcd (,, 0, 0, 8) = 2ms Major cycle: lcm (,, 0, 0, 8) = 0ms

7 nd the resulting cycle schedule is: c) s the processes with the same period mixed this is the new task set: rocess eriod WET Locking riority (π) time M (shared memory) Servo motor controllers ms ms (Highest) 2 Sensor and decision maker 0ms ms 0.5ms (Lowest) Logging 8ms ms ms 2 To calculate the response time analysis we have to take into account the blocking times. Then, first we have to calculate the ceiling of the resource M: eiling (M) = max (π, π) = 2 The blocking times are calculated. In order to simplify the process it is recommended to go through the lower to higher priority processes. Let lp {Z} denote the set of processes with lower priority than Z: 2 : There is no process with lower priority lp { 2} {}. No process can block 2 then 2 0ms. : In this case lp{ } { 2}. We have to check if can be blocked by the lower priority process 2: (i) rocess 2 locks M and eiling( M ) 2 2. rocess 2 can block. rocess can be blocked by process 2. The blocking time is max( t 2) 0. ms. M, 5

8 : In this case lp{ } { 2, }. We have to check if can be blocked by any of these two lower priority processes: (i) rocess 2 locks M and eiling( M ) 2. rocess 2 cannot block. (ii) rocess locks M and eiling( M ) 2. rocess cannot block. rocess cannot be blocked by 2 neither. Then, the blocking time is 0ms. fter computing the blocking time, we have all we need to do the response time analysis. This time it is easier if we start with the highest priority task and we proceed down to the lowest. R : This is the process with highest priority, hence no other processes can interrupt it: R J 0 0 ms R : This process can be interrupted by. 0 w 0.5.5ms w T.5ms 2 w T 5.5ms w ms w w w T R w J ms R 2 : This process can be interrupted by and. 0 w ms 2 2 w 0 2 w 0 2 T T 0 8 7ms w 2 w 2 T T ms 2 2 w 2 2 w ms w 2 w 2 w 2 T R 2 w 2 J ms T

9 d) Sporadic task is a task that is not periodically scheduled, but for which we can set a minimum inter-arrival time. n example could be a task reacting to the external event produced by a user pressing the keys of a keyboard: here there is a minimum time we can consider before two consecutive events. Q.5: a) From the description we obtain the following set of tasks: rocess eriod WET ruise controller 0ms ms 2 Wheel pair regulators 5ms ms utomatic braking? ms In order to calculate the maximum possible period, we will create an equation with the formula that determines the U utilization of the task set and the maximum U utilisation allowed: N i T i Ti T 2 T T 0.7 T 5ms The period of must be equal or greater than 5ms. b) From the description we obtained the following set of tasks: rocess eriod WET ruise controller 0ms ms 2 Wheel pair regulators 5ms ms utomatic braking 5ms ms ower usage control 0ms 2ms Then we calculate the major and minor cycles: Minor cycle: gcd (0, 5, 5, 0) = 5ms Major cycle: lcm (0, 5, 5, 0) = 0ms

10 nd the resulting cycle schedule is: c) The task set table that we can extract from the exercise description is the following: rocess riority (π) Locking time R Locking time S 2 0.5ms 2 ms 2ms ms The ceiling of the two resources are calculated: eiling (R) = max (π, π2) = eiling (S) = max (π2, π) = The blocking times are calculated. In order to simplify the process it is recommended to go through the lower to higher priority processes. Let lp {Z} denote the set of processes with lower priority than Z: : There is no process with lower priority lp { } {}. No process can block then 0ms. : In this case lp{ } { }. We have to check if can be blocked by the lower priority process : (i) rocess locks S and eiling( S) 2. rocess can block. rocess can be blocked by process. The blocking time is max( t ) ms. S, 2 : In this case lp{ 2} {, }. We have to check if 2 can be blocked by any of these two lower priority processes: (i) rocess locks S and eiling( S) 2. rocess can block 2. (ii) rocess locks R and eiling( R) 2. rocess can block 2. rocess 2 can be blocked by processes and. Then, the blocking time is 2 max( ts,, tr, ) ms.

11 : In this case lp{ } {,, 2}. We have to check if can be blocked by any of these lower priority processes: Then (i) rocess locks S and eiling( S). rocess cannot block. (ii) rocess locks R and eiling( R). rocess cannot block. (iii) rocess 2 locks R and S, and eiling( R) and eiling( S). Then process 2 cannot block. 0ms. d) The statement is true because a task that is not periodic neither sporadic is aperiodic. n aperiodic task does not allow an execution time analysis because it does not present a minimum inter-arrival time. Q.6: a) Q.7: E b b a a E E a E b E 2 E a a b b E The priorities of the tasks, according to RMS, are: rocess riority (π) 2 D (a) The ceiling of a semaphore is the maximum priority of all processes that may lock the semaphore. Denoting X the ceiling of the resource X, we have that S max(, ) S2 max(, D) (b) The blocking time for each process can be calculated with the following algorithm. Let lp {Z} denote the set of processes with lower priority than Z. It is convenient to start from the lowest priority process to the highest.

12 D : D is the lowest priority process, thus no other lower priority processes can block it. lp { D} {} thus 0. D : lp{ } { D}. rocess D uses S2 and S 2 2 then D can block process since it can get a higher priority when blocking S2. The blocking time is. t S 2, D : lp{ } { D, }. Let s examine which process can block. S2. rocess D can block. (i) rocess D uses S2 and (ii) rocess uses S and S. rocess can block. Thus, process is blocked at most once by the processes D and. This means that max( ts 2, D, ts, ). : lp{ } { D,, }. (i) rocess D uses S2 and S 2. rocess D cannot block. (ii) rocess uses S and S. rocess can block. (iii) rocess uses S2 and S 2. rocess cannot block. Only process can block process, then. t S, Q.8: The priorities of the tasks, according to RMS, are: rocess riority (π) 2 Denoting X the ceiling of the resource X, we have that: S max(,, ) S2 max(, ) S max( ) s before, let lp {Z} denote the set of processes with lower priority than Z. : is the lowest priority of the set, thus lp { } {}. cannot be blocked by any lower priority process, 0. : lp{ } { }. rocess uses S and S 2 meaning that process can block process. The blocking time is. : lp{ } {, }. t S, (ii) rocess uses S and (iii) rocess uses S and semaphore S. S. rocess can block. S. rocess can block when using the

13 (iv) rocess uses S2 and 2 S. rocess can block when using the semaphore S2. Thus, process is blocked at most once by the processes D and. This means that max( t S,, t S,, t S 2, ). We can now calculate the response time by solving the equation: w w i i i i T j jhp(i ) j R i w i J i gain, it is convenient to start from the highest priority process down to the lowest. Response time R : hp()={} so the response time is not affected by interference from higher priority processes, then 2 R Response time R : Only process has higher priority than, hp()={}. Interference is caused by and the response time is: w 0 w w 0 6 T w 2 w 6 T R w 2 J Response time R : rocesses and have higher priority then, hp()={,}. Interference has the contribution from and and the response time is: w 0 w w 0 w 0 9 T T w 2 w w T T w w 2 w 2 T T w w w T R w J 0 T

CIS 4930/6930: Principles of Cyber-Physical Systems

CIS 4930/6930: Principles of Cyber-Physical Systems CIS 4930/6930: Principles of Cyber-Physical Systems Chapter 11 Scheduling Hao Zheng Department of Computer Science and Engineering University of South Florida H. Zheng (CSE USF) CIS 4930/6930: Principles

More information

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

Real-time Scheduling of Periodic Tasks (1) Advanced Operating Systems Lecture 2 Real-time Scheduling of Periodic Tasks (1) Advanced Operating Systems Lecture 2 Lecture Outline Scheduling periodic tasks The rate monotonic algorithm Definition Non-optimality Time-demand analysis...!2

More information

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

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013 Lecture 3 Real-Time Scheduling Daniel Kästner AbsInt GmbH 203 Model-based Software Development 2 SCADE Suite Application Model in SCADE (data flow + SSM) System Model (tasks, interrupts, buses, ) SymTA/S

More information

Shared resources. Sistemi in tempo reale. Giuseppe Lipari. Scuola Superiore Sant Anna Pisa -Italy

Shared resources. Sistemi in tempo reale. Giuseppe Lipari. Scuola Superiore Sant Anna Pisa -Italy istemi in tempo reale hared resources Giuseppe Lipari cuola uperiore ant Anna Pisa -Italy inher.tex istemi in tempo reale Giuseppe Lipari 7/6/2005 12:35 p. 1/21 Interacting tasks Until now, we have considered

More information

Embedded Systems Development

Embedded Systems Development Embedded Systems Development Lecture 3 Real-Time Scheduling Dr. Daniel Kästner AbsInt Angewandte Informatik GmbH kaestner@absint.com Model-based Software Development Generator Lustre programs Esterel programs

More information

Rate Monotonic Analysis (RMA)

Rate Monotonic Analysis (RMA) Rate Monotonic Analysis (RMA) ktw@csie.ntu.edu.tw (Real-Time and Embedded System Laboratory) Major References: An Introduction to Rate Monotonic Analysis Tutorial Notes SEI MU* Distributed Real-Time System

More information

Clock-driven scheduling

Clock-driven scheduling Clock-driven scheduling Also known as static or off-line scheduling Michal Sojka Czech Technical University in Prague, Faculty of Electrical Engineering, Department of Control Engineering November 8, 2017

More information

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

Real-Time Scheduling. Real Time Operating Systems and Middleware. Luca Abeni Real Time Operating Systems and Middleware Luca Abeni luca.abeni@unitn.it Definitions Algorithm logical procedure used to solve a problem Program formal description of an algorithm, using a programming

More information

Scheduling Slack Time in Fixed Priority Pre-emptive Systems

Scheduling Slack Time in Fixed Priority Pre-emptive Systems Scheduling Slack Time in Fixed Priority Pre-emptive Systems R.I.Davis Real-Time Systems Research Group, Department of Computer Science, University of York, England. ABSTRACT This report addresses the problem

More information

Real Time Operating Systems

Real Time Operating Systems Real Time Operating ystems hared Resources Luca Abeni Credits: Luigi Palopoli, Giuseppe Lipari, and Marco Di Natale cuola uperiore ant Anna Pisa -Italy Real Time Operating ystems p. 1 Interacting Tasks

More information

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

Non-Preemptive and Limited Preemptive Scheduling. LS 12, TU Dortmund Non-Preemptive and Limited Preemptive Scheduling LS 12, TU Dortmund 09 May 2017 (LS 12, TU Dortmund) 1 / 31 Outline Non-Preemptive Scheduling A General View Exact Schedulability Test Pessimistic Schedulability

More information

Real-Time Scheduling and Resource Management

Real-Time Scheduling and Resource Management ARTIST2 Summer School 2008 in Europe Autrans (near Grenoble), France September 8-12, 2008 Real-Time Scheduling and Resource Management Lecturer: Giorgio Buttazzo Full Professor Scuola Superiore Sant Anna

More information

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

TDDB68 Concurrent programming and operating systems. Lecture: CPU Scheduling II TDDB68 Concurrent programming and operating systems Lecture: CPU Scheduling II Mikael Asplund, Senior Lecturer Real-time Systems Laboratory Department of Computer and Information Science Copyright Notice:

More information

Real Time Operating Systems

Real Time Operating Systems Real Time Operating ystems Luca Abeni luca.abeni@unitn.it Interacting Tasks Until now, only independent tasks... A job never blocks or suspends A task only blocks on job termination In real world, jobs

More information

Lecture 6. Real-Time Systems. Dynamic Priority Scheduling

Lecture 6. Real-Time Systems. Dynamic Priority Scheduling Real-Time Systems Lecture 6 Dynamic Priority Scheduling Online scheduling with dynamic priorities: Earliest Deadline First scheduling CPU utilization bound Optimality and comparison with RM: Schedulability

More information

Lecture Note #6: More on Task Scheduling EECS 571 Principles of Real-Time Embedded Systems Kang G. Shin EECS Department University of Michigan

Lecture Note #6: More on Task Scheduling EECS 571 Principles of Real-Time Embedded Systems Kang G. Shin EECS Department University of Michigan Lecture Note #6: More on Task Scheduling EECS 571 Principles of Real-Time Embedded Systems Kang G. Shin EECS Department University of Michigan Note 6-1 Mars Pathfinder Timing Hiccups? When: landed on the

More information

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

Embedded Systems 15. REVIEW: Aperiodic scheduling. C i J i 0 a i s i f i d i Embedded Systems 15-1 - REVIEW: Aperiodic scheduling C i J i 0 a i s i f i d i Given: A set of non-periodic tasks {J 1,, J n } with arrival times a i, deadlines d i, computation times C i precedence constraints

More information

Real-time Systems: Scheduling Periodic Tasks

Real-time Systems: Scheduling Periodic Tasks Real-time Systems: Scheduling Periodic Tasks Advanced Operating Systems Lecture 15 This work is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International License. To view a copy of

More information

Real-Time and Embedded Systems (M) Lecture 5

Real-Time and Embedded Systems (M) Lecture 5 Priority-driven Scheduling of Periodic Tasks (1) Real-Time and Embedded Systems (M) Lecture 5 Lecture Outline Assumptions Fixed-priority algorithms Rate monotonic Deadline monotonic Dynamic-priority algorithms

More information

CSE 380 Computer Operating Systems

CSE 380 Computer Operating Systems CSE 380 Computer Operating Systems Instructor: Insup Lee & Dianna Xu University of Pennsylvania, Fall 2003 Lecture Note 3: CPU Scheduling 1 CPU SCHEDULING q How can OS schedule the allocation of CPU cycles

More information

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

EDF Scheduling. Giuseppe Lipari  CRIStAL - Université de Lille 1. October 4, 2015 EDF Scheduling Giuseppe Lipari http://www.lifl.fr/~lipari CRIStAL - Université de Lille 1 October 4, 2015 G. Lipari (CRIStAL) Earliest Deadline Scheduling October 4, 2015 1 / 61 Earliest Deadline First

More information

Andrew Morton University of Waterloo Canada

Andrew Morton University of Waterloo Canada EDF Feasibility and Hardware Accelerators Andrew Morton University of Waterloo Canada Outline 1) Introduction and motivation 2) Review of EDF and feasibility analysis 3) Hardware accelerators and scheduling

More information

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

EDF Scheduling. Giuseppe Lipari   May 11, Scuola Superiore Sant Anna Pisa EDF Scheduling Giuseppe Lipari http://feanor.sssup.it/~lipari Scuola Superiore Sant Anna Pisa May 11, 2008 Outline 1 Dynamic priority 2 Basic analysis 3 FP vs EDF 4 Processor demand bound analysis Generalization

More information

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

Process Scheduling for RTS. RTS Scheduling Approach. Cyclic Executive Approach Process Scheduling for RTS Dr. Hugh Melvin, Dept. of IT, NUI,G RTS Scheduling Approach RTS typically control multiple parameters concurrently Eg. Flight Control System Speed, altitude, inclination etc..

More information

On-line scheduling of periodic tasks in RT OS

On-line scheduling of periodic tasks in RT OS On-line scheduling of periodic tasks in RT OS Even if RT OS is used, it is needed to set up the task priority. The scheduling problem is solved on two levels: fixed priority assignment by RMS dynamic scheduling

More information

There are three priority driven approaches that we will look at

There are three priority driven approaches that we will look at Priority Driven Approaches There are three priority driven approaches that we will look at Earliest-Deadline-First (EDF) Least-Slack-Time-first (LST) Latest-Release-Time-first (LRT) 1 EDF Earliest deadline

More information

Schedulability Analysis for the Abort-and-Restart Model

Schedulability Analysis for the Abort-and-Restart Model Schedulability Analysis for the Abort-and-Restart Model Hing Choi Wong Doctor of Philosophy University of York Computer Science December 2014 Abstract In real-time systems, a schedulable task-set guarantees

More information

Real-Time Systems. Event-Driven Scheduling

Real-Time Systems. Event-Driven Scheduling Real-Time Systems Event-Driven Scheduling Hermann Härtig WS 2018/19 Outline mostly following Jane Liu, Real-Time Systems Principles Scheduling EDF and LST as dynamic scheduling methods Fixed Priority schedulers

More information

CPU Scheduling Exercises

CPU Scheduling Exercises CPU Scheduling Exercises NOTE: All time in these exercises are in msec. Processes P 1, P 2, P 3 arrive at the same time, but enter the job queue in the order presented in the table. Time quantum = 3 msec

More information

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

Real-Time Systems. Lecture #14. Risat Pathan. Department of Computer Science and Engineering Chalmers University of Technology Real-Time Systems Lecture #14 Risat Pathan Department of Computer Science and Engineering Chalmers University of Technology Real-Time Systems Specification Implementation Multiprocessor scheduling -- Partitioned

More information

Networked Embedded Systems WS 2016/17

Networked Embedded Systems WS 2016/17 Networked Embedded Systems WS 2016/17 Lecture 2: Real-time Scheduling Marco Zimmerling Goal of Today s Lecture Introduction to scheduling of compute tasks on a single processor Tasks need to finish before

More information

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

Real-time Scheduling of Periodic Tasks (2) Advanced Operating Systems Lecture 3 Real-time Scheduling of Periodic Tasks (2) Advanced Operating Systems Lecture 3 Lecture Outline The rate monotonic algorithm (cont d) Maximum utilisation test The deadline monotonic algorithm The earliest

More information

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

UC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara Operating Systems Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ Many processes to execute, but one CPU OS time-multiplexes the CPU by operating context switching Between

More information

CSC501 Operating Systems Principles. Deadlock

CSC501 Operating Systems Principles. Deadlock CSC501 Operating Systems Principles Deadlock 1 Last Lecture q Priority Inversion Q Priority Inheritance Protocol q Today Q Deadlock 2 The Deadlock Problem q Definition Q A set of blocked processes each

More information

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

System Model. Real-Time systems. Giuseppe Lipari. Scuola Superiore Sant Anna Pisa -Italy Real-Time systems System Model Giuseppe Lipari Scuola Superiore Sant Anna Pisa -Italy Corso di Sistemi in tempo reale Laurea Specialistica in Ingegneria dell Informazione Università di Pisa p. 1/?? Task

More information

Periodic scheduling 05/06/

Periodic scheduling 05/06/ Periodic scheduling T T or eriodic scheduling, the best that we can do is to design an algorithm which will always find a schedule if one exists. A scheduler is defined to be otimal iff it will find a

More information

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

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University } 2017/11/15 Midterm } 2017/11/22 Final Project Announcement 2 1. Introduction 2.

More information

Real-Time Systems. Event-Driven Scheduling

Real-Time Systems. Event-Driven Scheduling Real-Time Systems Event-Driven Scheduling Marcus Völp, Hermann Härtig WS 2013/14 Outline mostly following Jane Liu, Real-Time Systems Principles Scheduling EDF and LST as dynamic scheduling methods Fixed

More information

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

Scheduling. Uwe R. Zimmer & Alistair Rendell The Australian National University 6 Scheduling Uwe R. Zimmer & Alistair Rendell The Australian National University References for this chapter [Bacon98] J. Bacon Concurrent Systems 1998 (2nd Edition) Addison Wesley Longman Ltd, ISBN 0-201-17767-6

More information

Aperiodic Task Scheduling

Aperiodic Task Scheduling 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

More information

Real-Time Scheduling

Real-Time Scheduling 1 Real-Time Scheduling Formal Model [Some parts of this lecture are based on a real-time systems course of Colin Perkins http://csperkins.org/teaching/rtes/index.html] Real-Time Scheduling Formal Model

More information

Task Models and Scheduling

Task Models and Scheduling 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

More information

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

Bounding the End-to-End Response Times of Tasks in a Distributed. Real-Time System Using the Direct Synchronization Protocol. Bounding the End-to-End Response imes of asks in a Distributed Real-ime System Using the Direct Synchronization Protocol Jun Sun Jane Liu Abstract In a distributed real-time system, a task may consist

More information

CEC 450 Real-Time Systems

CEC 450 Real-Time Systems CEC 450 Real-Time Systems Lecture 3 Real-Time Services Part 2 (Rate Monotonic Theory - Policy and Feasibility for RT Services) September 7, 2018 Sam Siewert Quick Review Service Utility RM Policy, Feasibility,

More information

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

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts. TDDI4 Concurrent Programming, Operating Systems, and Real-time Operating Systems CPU Scheduling Overview: CPU Scheduling CPU bursts and I/O bursts Scheduling Criteria Scheduling Algorithms Multiprocessor

More information

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

Priority-driven Scheduling of Periodic Tasks (1) Advanced Operating Systems (M) Lecture 4 Priority-driven Scheduling of Periodic Tasks (1) Advanced Operating Systems (M) Lecture 4 Priority-driven Scheduling Assign priorities to jobs, based on their deadline or other timing constraint Make scheduling

More information

Design of Real-Time Software

Design of Real-Time Software 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

More information

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

Scheduling I. Today Introduction to scheduling Classical algorithms. Next Time Advanced topics on scheduling Scheduling I Today Introduction to scheduling Classical algorithms Next Time Advanced topics on scheduling Scheduling out there You are the manager of a supermarket (ok, things don t always turn out the

More information

Scheduling Algorithms for Multiprogramming in a Hard Realtime Environment

Scheduling Algorithms for Multiprogramming in a Hard Realtime Environment Scheduling Algorithms for Multiprogramming in a Hard Realtime Environment C. Liu and J. Layland Journal of the ACM, 20(1):46--61, January 1973. 2 Contents 1. Introduction and Background 2. The Environment

More information

Static priority scheduling

Static priority scheduling Static priority scheduling Michal Sojka Czech Technical University in Prague, Faculty of Electrical Engineering, Department of Control Engineering November 8, 2017 Some slides are derived from lectures

More information

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

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling Scheduling I Today! Introduction to scheduling! Classical algorithms Next Time! Advanced topics on scheduling Scheduling out there! You are the manager of a supermarket (ok, things don t always turn out

More information

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

Scheduling Periodic Real-Time Tasks on Uniprocessor Systems. LS 12, TU Dortmund Scheduling Periodic Real-Time Tasks on Uniprocessor Systems Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 08, Dec., 2015 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 38 Periodic Control System Pseudo-code

More information

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

Improved Priority Assignment for the Abort-and-Restart (AR) Model Improved Priority Assignment for the Abort-and-Restart (AR) Model H.C. Wong and A. Burns Department of Computer Science, University of York, UK. February 1, 2013 Abstract This paper addresses the scheduling

More information

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

Comp 204: Computer Systems and Their Implementation. Lecture 11: Scheduling cont d Comp 204: Computer Systems and Their Implementation Lecture 11: Scheduling cont d 1 Today Scheduling algorithms continued Shortest remaining time first (SRTF) Priority scheduling Round robin (RR) Multilevel

More information

Uniprocessor real-time scheduling

Uniprocessor real-time scheduling Uniprocessor real-time scheduling Julien Forget Université Lille 1 Ecole d Été Temps Réel - 30 Août 2017 Julien Forget (Université Lille 1) Uniprocessor real-time scheduling ETR 2017 1 / 67 Overview At

More information

CPU scheduling. CPU Scheduling

CPU scheduling. CPU Scheduling EECS 3221 Operating System Fundamentals No.4 CPU scheduling Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University CPU Scheduling CPU scheduling is the basis of multiprogramming

More information

Real-Time Software Transactional Memory: Contention Managers, Time Bounds, and Implementations

Real-Time Software Transactional Memory: Contention Managers, Time Bounds, and Implementations Real-Time Software Transactional Memory: Contention Managers, Time Bounds, and Implementations Mohammed El-Shambakey Dissertation Submitted to the Faculty of the Virginia Polytechnic Institute and State

More information

Schedulability of Periodic and Sporadic Task Sets on Uniprocessor Systems

Schedulability of Periodic and Sporadic Task Sets on Uniprocessor Systems Schedulability of Periodic and Sporadic Task Sets on Uniprocessor Systems Jan Reineke Saarland University July 4, 2013 With thanks to Jian-Jia Chen! Jan Reineke July 4, 2013 1 / 58 Task Models and Scheduling

More information

CEC 450 Real-Time Systems

CEC 450 Real-Time Systems E 450 Real-ime Systems Lecture 4 Rate Monotonic heory Part September 7, 08 Sam Siewert Quiz Results 93% Average, 75 low, 00 high Goal is to learn what you re not learning yet Motivation to keep up with

More information

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

Real-Time Systems. Lecture 4. Scheduling basics. Task scheduling - basic taxonomy Basic scheduling techniques Static cyclic scheduling Real-Time Systems Lecture 4 Scheduling basics Task scheduling - basic taxonomy Basic scheduling techniques Static cyclic scheduling 1 Last lecture (3) Real-time kernels The task states States and transition

More information

CPU Scheduling. CPU Scheduler

CPU Scheduling. CPU Scheduler CPU Scheduling These slides are created by Dr. Huang of George Mason University. Students registered in Dr. Huang s courses at GMU can make a single machine readable copy and print a single copy of each

More information

Tardiness Bounds under Global EDF Scheduling on a Multiprocessor

Tardiness Bounds under Global EDF Scheduling on a Multiprocessor Tardiness ounds under Global EDF Scheduling on a Multiprocessor UmaMaheswari C. Devi and James H. Anderson Department of Computer Science The University of North Carolina at Chapel Hill Abstract This paper

More information

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

Non-preemptive Fixed Priority Scheduling of Hard Real-Time Periodic Tasks Non-preemptive Fixed Priority Scheduling of Hard Real-Time Periodic Tasks Moonju Park Ubiquitous Computing Lab., IBM Korea, Seoul, Korea mjupark@kr.ibm.com Abstract. This paper addresses the problem of

More information

Resource Sharing Protocols for Real-Time Task Graph Systems

Resource Sharing Protocols for Real-Time Task Graph Systems Resource Sharing Protocols for Real-Time Task Graph Systems Nan Guan, Pontus Ekberg, Martin Stigge, Wang Yi Uppsala University, Sweden Northeastern University, China Abstract Previous works on real-time

More information

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

ENHANCING CPU PERFORMANCE USING SUBCONTRARY MEAN DYNAMIC ROUND ROBIN (SMDRR) SCHEDULING ALGORITHM ENHANCING CPU PERFORMANCE USING SUBCONTRARY MEAN DYNAMIC ROUND ROBIN (SMD) SCHEDULING ALGORITHM Sourav Kumar Bhoi *1, Sanjaya Kumar Panda 2 and Debashee Tarai 3 * 1 Department of Computer Science & Engineering,

More information

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

Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions Mitra Nasri Chair of Real-time Systems, Technische Universität Kaiserslautern, Germany nasri@eit.uni-kl.de

More information

CPU Scheduling. Heechul Yun

CPU Scheduling. Heechul Yun CPU Scheduling Heechul Yun 1 Recap Four deadlock conditions: Mutual exclusion No preemption Hold and wait Circular wait Detection Avoidance Banker s algorithm 2 Recap: Banker s Algorithm 1. Initialize

More information

Module 5: CPU Scheduling

Module 5: CPU Scheduling Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation 5.1 Basic Concepts Maximum CPU utilization obtained

More information

Operating Systems. VII. Synchronization

Operating Systems. VII. Synchronization Operating Systems VII. Synchronization Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ @OS Eurecom Outline Synchronization issues 2/22 Fall 2017 Institut

More information

Chapter 6: CPU Scheduling

Chapter 6: CPU Scheduling Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation 6.1 Basic Concepts Maximum CPU utilization obtained

More information

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

Paper Presentation. Amo Guangmo Tong. University of Taxes at Dallas January 24, 2014 Paper Presentation Amo Guangmo Tong University of Taxes at Dallas gxt140030@utdallas.edu January 24, 2014 Amo Guangmo Tong (UTD) January 24, 2014 1 / 30 Overview 1 Tardiness Bounds under Global EDF Scheduling

More information

Lec. 7: Real-Time Scheduling

Lec. 7: Real-Time Scheduling Lec. 7: Real-Time Scheduling Part 1: Fixed Priority Assignment Vijay Raghunathan ECE568/CS590/ECE495/CS490 Spring 2011 Reading List: RM Scheduling 2 [Balarin98] F. Balarin, L. Lavagno, P. Murthy, and A.

More information

Multiprocessor Scheduling of Age Constraint Processes

Multiprocessor Scheduling of Age Constraint Processes Multiprocessor Scheduling of Age Constraint Processes Lars Lundberg Department of Computer Science, University of Karlskrona/Ronneby, Soft Center, S-372 25 Ronneby, Sweden, email: Lars.Lundberg@ide.hk-r.se

More information

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

CycleTandem: Energy-Saving Scheduling for Real-Time Systems with Hardware Accelerators CycleTandem: Energy-Saving Scheduling for Real-Time Systems with Hardware Accelerators Sandeep D souza and Ragunathan (Raj) Rajkumar Carnegie Mellon University High (Energy) Cost of Accelerators Modern-day

More information

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

Paper Presentation. Amo Guangmo Tong. University of Taxes at Dallas February 11, 2014 Paper Presentation Amo Guangmo Tong University of Taxes at Dallas gxt140030@utdallas.edu February 11, 2014 Amo Guangmo Tong (UTD) February 11, 2014 1 / 26 Overview 1 Techniques for Multiprocessor Global

More information

CPU SCHEDULING RONG ZHENG

CPU SCHEDULING RONG ZHENG CPU SCHEDULING RONG ZHENG OVERVIEW Why scheduling? Non-preemptive vs Preemptive policies FCFS, SJF, Round robin, multilevel queues with feedback, guaranteed scheduling 2 SHORT-TERM, MID-TERM, LONG- TERM

More information

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

IN4343 Real Time Systems April 9th 2014, from 9:00 to 12:00 TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica IN4343 Real Time Systems April 9th 2014, from 9:00 to 12:00 Koen Langendoen Marco Zuniga Question: 1 2 3 4 5 Total Points:

More information

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

Real-time operating systems course. 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm Real-time operating systems course 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm Definitions Scheduling Scheduling is the activity of selecting which process/thread should

More information

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

3. Scheduling issues. Common approaches 3. Common approaches 1. Preemption vs. non preemption. Common approaches 2. Further definitions Common approaches 3 3. Scheduling issues Priority-driven (event-driven) scheduling This class of algorithms is greedy They never leave available processing resources unutilized An available resource may

More information

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

Dependency Graph Approach for Multiprocessor Real-Time Synchronization. TU Dortmund, Germany Dependency Graph Approach for Multiprocessor Real-Time Synchronization Jian-Jia Chen, Georg von der Bru ggen, Junjie Shi, and Niklas Ueter TU Dortmund, Germany 14,12,2018 at RTSS Jian-Jia Chen 1 / 21 Multiprocessor

More information

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

RUN-TIME EFFICIENT FEASIBILITY ANALYSIS OF UNI-PROCESSOR SYSTEMS WITH STATIC PRIORITIES RUN-TIME EFFICIENT FEASIBILITY ANALYSIS OF UNI-PROCESSOR SYSTEMS WITH STATIC PRIORITIES Department for Embedded Systems/Real-Time Systems, University of Ulm {name.surname}@informatik.uni-ulm.de Abstract:

More information

Cyclic Schedules: General Structure. Frame Size Constraints

Cyclic Schedules: General Structure. Frame Size Constraints CPSC-663: Real-ime Systems Cyclic Schedules: General Structure Scheduling decision is made periodically: Frame Scheduling decision is made periodically: choose which job to execute perorm monitoring and

More information

The FMLP + : An Asymptotically Optimal Real-Time Locking Protocol for Suspension-Aware Analysis

The FMLP + : An Asymptotically Optimal Real-Time Locking Protocol for Suspension-Aware Analysis The FMLP + : An Asymptotically Optimal Real-Time Locking Protocol for Suspension-Aware Analysis Björn B. Brandenburg Max Planck Institute for Software Systems (MPI-SWS) Abstract Multiprocessor real-time

More information

Reducing Tardiness Under Global Scheduling by Splitting Jobs

Reducing Tardiness Under Global Scheduling by Splitting Jobs Reducing Tardiness Under Global Scheduling by Splitting Jobs Jeremy P. Erickson and James H. Anderson The University of North Carolina at Chapel Hill Abstract Under current analysis, soft real-time tardiness

More information

EDF Feasibility and Hardware Accelerators

EDF Feasibility and Hardware Accelerators EDF Feasibility and Hardware Accelerators Andrew Morton University of Waterloo, Waterloo, Canada, arrmorton@uwaterloo.ca Wayne M. Loucks University of Waterloo, Waterloo, Canada, wmloucks@pads.uwaterloo.ca

More information

Lecture: Workload Models (Advanced Topic)

Lecture: Workload Models (Advanced Topic) Lecture: Workload Models (Advanced Topic) Real-Time Systems, HT11 Martin Stigge 28. September 2011 Martin Stigge Workload Models 28. September 2011 1 System

More information

Schedulability Analysis for the Abort-and-Restart (AR) Model

Schedulability Analysis for the Abort-and-Restart (AR) Model Schedulability Analysis for the Abort-and-Restart (AR) Model ABSTRACT H.C. Wong Real-Time Systems Research Group, Department of Computer Science, University of York, UK. hw638@york.ac.uk This paper addresses

More information

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

Optimal Utilization Bounds for the Fixed-priority Scheduling of Periodic Task Systems on Identical Multiprocessors. Sanjoy K. Optimal Utilization Bounds for the Fixed-priority Scheduling of Periodic Task Systems on Identical Multiprocessors Sanjoy K. Baruah Abstract In fixed-priority scheduling the priority of a job, once assigned,

More information

Chapter 5 A Modified Scheduling Algorithm for The FIP Fieldbus System

Chapter 5 A Modified Scheduling Algorithm for The FIP Fieldbus System Chapter 5 A Modified Scheduling Algorithm for The FIP Fieldbus System As we stated before FIP is one of the fieldbus systems, these systems usually consist of many control loops that communicate and interact

More information

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

Mixed Criticality in Safety-Critical Systems. LS 12, TU Dortmund Mixed Criticality in Safety-Critical Systems Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 18, July, 2016 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 25 Motivation today s embedded systems use complex

More information

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

Process Scheduling. Process Scheduling. CPU and I/O Bursts. CPU - I/O Burst Cycle. Variations in Bursts. Histogram of CPU Burst Times Scheduling The objective of multiprogramming is to have some process running all the time The objective of timesharing is to have the switch between processes so frequently that users can interact with

More information

Exam Spring Embedded Systems. Prof. L. Thiele

Exam Spring Embedded Systems. Prof. L. Thiele Exam Spring 20 Embedded Systems Prof. L. Thiele NOTE: The given solution is only a proposal. For correctness, completeness, or understandability no responsibility is taken. Sommer 20 Eingebettete Systeme

More information

Embedded Systems - FS 2018

Embedded Systems - FS 2018 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Embedded Systems - FS 2018 Sample solution to Exercise 3 Discussion Date: 11.4.2018 Aperiodic Scheduling Task 1: Earliest Deadline

More information

Dynamic-Priority Scheduling. CSCE 990: Real-Time Systems. Steve Goddard. Dynamic-priority Scheduling

Dynamic-Priority Scheduling. CSCE 990: Real-Time Systems. Steve Goddard. Dynamic-priority Scheduling CSCE 990: Real-Time Systems Dynamic-Priority Scheduling Steve Goddard goddard@cse.unl.edu htt://www.cse.unl.edu/~goddard/courses/realtimesystems Dynamic-riority Scheduling Real-Time Systems Dynamic-Priority

More information

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

Multiprocessor Scheduling II: Global Scheduling. LS 12, TU Dortmund Multiprocessor Scheduling II: Global Scheduling Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 28, June, 2016 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 42 Global Scheduling We will only focus on identical

More information

Exploiting Precedence Relations in the Schedulability Analysis of Distributed Real-Time Systems

Exploiting Precedence Relations in the Schedulability Analysis of Distributed Real-Time Systems Exploiting Precedence Relations in the Schedulability Analysis of Distributed Real-Time Systems By: J.C. Palencia and M. González Harbour Departamento de Electrónica y Computadores, Universidad de Cantabria,

More information

Design of Real-Time Software

Design of Real-Time Software Design of Real-Time Software Analysis of hard real-time tasks under fixed-priority pre-emptive scheduling Reinder J. Bril Technische Universiteit Eindhoven Department of Mathematics and Computer Science

More information

Reducing Tardiness Under Global Scheduling by Splitting Jobs

Reducing Tardiness Under Global Scheduling by Splitting Jobs Reducing Tardiness Under Global Scheduling by Splitting Jobs Jeremy P. Erickson and James H. Anderson The University of North Carolina at Chapel Hill Abstract Under current analysis, tardiness bounds applicable

More information

CS 453 Operating Systems. Lecture 7 : Deadlock

CS 453 Operating Systems. Lecture 7 : Deadlock CS 453 Operating Systems Lecture 7 : Deadlock 1 What is Deadlock? Every New Yorker knows what a gridlock alert is - it s one of those days when there is so much traffic that nobody can move. Everything

More information

Resource Sharing in an Enhanced Rate-Based Execution Model

Resource Sharing in an Enhanced Rate-Based Execution Model In: Proceedings of the 15th Euromicro Conference on Real-Time Systems, Porto, Portugal, July 2003, pp. 131-140. Resource Sharing in an Enhanced Rate-Based Execution Model Xin Liu Steve Goddard Department

More information