Fault tolerant scheduling in real time systems

Size: px
Start display at page:

Download "Fault tolerant scheduling in real time systems"

Transcription

1 tolerant scheduling in real time systems Afrin Shafiuddin Department of Electrical and Computer Engineering University of Wisconsin-Madison Swetha Srinivasan Department of Electrical and Computer Engineering University of Wisconsin-Madison Abstract tolerance in uniprocessor systems is usually handled by adding time redundancy in the schedule so that any task instance can be re-executed in presence of faults during the execution. In this paper, a comparison between tolerant versions of Earliest Deadline First (EDF) scheduling policy and a proposed scheduling algorithm based on Round Robin scheduling and shortest remaining time first scheduling for periodic real-time tasks is presented. This scheme can be used to tolerate transient faults during the execution of tasks. For performance evaluation of this idea, a tool is developed. Keywords Real-Time Systems, Periodic Task Scheduling, Uniprocessor, -Tolerant Scheduling, Earliest Deadline, time redundancy; I. INTRODUCTION Real time systems are systems in which there is a commitment for timely response by the computer to external stimuli. The correctness of the system depends not just on the logical result but the time at which the results arrive. Real-Time systems often have deadlines to be met during their operation. For instance, a missed deadline in hard real-time systems is catastrophic and in soft real-time systems it can lead to a significant loss. Predictability of the system behavior is the most important concern in these systems. Predictability is often achieved by either static or dynamic scheduling of real-time tasks to meet their deadlines. When the real time system is a hard one, being used for critical applications like Air Traffic Control, Control systems etc., tolerance becomes an integral part of the Real time system design. Different types of faults can occur in a Real time system like Transient faults, Permanent s, Intermittent faults. Permanent faults may be due to irreparable damage to the hardware etc., whereas transient faults can result from temporary environmental conditions. Intermittent faults are those that are only occasionally present due to unstable hardware or varying hardware or software states(e.g. as a function of load or activity). Transient faults and intermittent faults are the major source of system errors in real time systems. It is shown that transient faults are 30 times more frequent than permanent faults. Transient faults are generally tolerated by using time redundancy which involves re-execution of any task running during the occurrence of transient faults. In this paper, we are mainly concerned with providing fault tolerant real time scheduling to handle transient faults. We achieve this by adding enough and efficient time redundancy to the scheduling process to enable it to re-execute any faulty task and still be able to achieve a high utilization. II. A. Task TASKS,SYSTEM AND FAULT MODEL The basic component of scheduling is a task. A task is unit of work such as a program or code-block that when executed provides some service of an application. Examples of task are reading sensor data, a unit of data processing and transmission, etc. A periodic task system is a set of tasks in which each task is characterized by a period, deadline and worst-case execution time (WCET). Each task in periodic task system has an interarrival time of occurrence, called the period of the task. In each period, a job of the task is released. A job is ready to execute at the beginning of each period, called the released time, of the job. Each job of a task has a relative deadline that is the time by which the job must finish its execution relative to its released time. The relative deadlines of all the jobs of a particular periodic task are same. The absolute deadline of a job is the time instant equal to released time plus the relative deadline. Each periodic task has a WCET that is the maximum execution time that that each job of the task requires between its released time and absolute deadline. If the relative deadline of each task in a task set is less than or equal to its period, then the task set is called a constrained deadline periodic task system. If the relative deadline of each task in a constrained deadline task set is exactly equal to its period, then the task set is called an implicit deadline periodic task system. If a periodic task system is neither constrained nor implicit, then it is called an arbitrary deadline periodic task system. In this paper, scheduling of implicit deadline periodic task system is considered. The scheduling of n implicit-deadline periodic tasks in set ר = {τ1, τ2,..., τn} is considered. Each of the tasks τ i in set {τ1, τ2,..., τn} is characterized by a pair (C i, T i), where C i represents the WCET and T i is the period of task τi. Each task τi is released and ready for execution at the beginning of each period T i and requires at most C i units of execution time before next period. The relative deadline of a task τi is equal to its period T i, that is, ר is an implicit deadline task system. 1

2 III. EARLIEST DEADLINE FIRST B. Utilization The load or utilization is defined as the fraction of the processor executing the task. The load or utilization of a task τi is denoted by u i = C i/t i. The total load or total utilization of any task set A is U (A) = P i A u i. For example, the total utilization of the task set ר is U,(ר) which is the total load of the task set. C. System Model The system model considered in this paper is a uniprocessor system. The tasks are scheduled to execute one by one in this system. To allow overriding of tasks, preemption is allowed. A scheduling algorithm is preemptive if the release of a new job of a higher priority task can preempt the job of a currently running lower priority task. During runtime, task scheduling is essentially determining the highest priority active tasks and executing them in the processor. Tasks are assumed to be independent, that is, there is no resource sharing except for the processor. The cost of a preemption and context-switch is assumed to be negligible. A. Description In recent years, Earliest-Deadline-First (EDF) scheduling policy has been used to schedule real-time tasks in variety critical applications. Earliest deadline first is a dynamic priority driven scheduling algorithm which gives tasks priority based on deadline. The tasks are assumed to be independent, periodic tasks with implicit deadlines. The task with the currently earliest deadline during runtime is assigned the highest priority. That is, if a task is currently in execution, and a new task arrives that has an earlier deadline, then the new task gets the higher priority and therefore preempts the currently running task. EDF is an optimal dynamic priority driven scheduling algorithm with preemption for a real-time system on a uniprocessor. EDF is guaranteed to schedule periodic tasks with implicit deadlines and 100% utilization. If a task set T i is represented as (C i, T i) where C i is the Worst case Computation time and T i is the period or deadline of the task then the schedulability equation for EDF in terms of its utilization U is given as D. Model Designing fault-tolerant scheduling algorithm needs to guarantee that all tasks deadlines are met when faults occur even under the worst-case load condition. No fault-tolerant system can, however, tolerate an arbitrary number of faults within a particular time interval. The scheduling guarantee in fault-tolerant system is thus given under the assumption of a certain fault model. In this project, the fault model mainly assumes tolerating the faults due to which the error is transient. It is assumed that transient faults are short lived and would not reappear when re-executing the same task. If the effect of faults in software is manifested as transient error that would not reappear upon re-execution, then such faults can be tolerated using simple re-execution of the task. For example, due to changes in the environment or changes in the input parameters, the execution path a software takes could be different from one execution to another. In such case, it is expected that the same error would not occur (since a different execution path is taken) if the software is simply re-executed. Time redundancy is considered in this paper for tolerating transient faults. s are assumed to be detected at the end of execution of a task. When fault occurs during execution of a task and error is detected, the faulty task is re-executed. When a task is executed for the first time, it is called the primary copy of the task. After an error is detected, the re-execution is called the recovery copy of the task. The re-execution of the task is activated when an error is detected. It is also assumed that the error-detection and fault-tolerance mechanisms are themselves fault-tolerant. The faults are assumed to have occurred only once every hyper period and so only one task can be at fault at a time. In summary, the fault model considered in this paper has reasonable representativity and very general to tolerate a variety of transient faults in hardware/software. The above is called the Liu and Layland [1] bound of schedulability. However, EDF scheduling does not guarantee fault tolerance. It does not add any time redundancy to the schedule. When a task suffers a transient fault, adding time redundancy will provide enough time for the faulty task to reexecute so that it can complete before its deadline. Therefore, it is necessary to add appropriate and efficient time redundancy to the EDF scheduling policy for schedule periodic and preemptive tasks. In the EDF policy with utilization less than 100%, there is a natural amount of slack in uniprocessor. But this natural slack is not enough for re-executing faulty tasks. To have an efficient fault-tolerant mechanism in the schedule it is necessary that additional slack time is added to the schedule. The recovery mechanism ensures that the reserved slack can be used for task re-executing before its deadline, without causing other tasks to miss deadlines. B. tolerance in EDF In general, fault tolerance in uniprocessors is achieved by reexecuting the faulty task. Tasks are executed as per the EDF scheme. The priorities are dynamically determined i.e. the task with the shorter absolute deadline has the highest priority. When a fault occurs in the system, the system goes into fault recovery where the already executed task is added back to the schedule as if it has just arrived and the priorities are calculated once again. The tasks are again dynamically scheduled so the task with the highest priority will execute and so the other tasks will be delayed. If the utilization of the tasks was nearly 100% there will not be enough slack to re-execute the tasks again. Therefore a slack needs to be added to the schedule. This slack or time redundancy will make sure that the task has enough time to re-execute without missing its deadline. But adding this time redundancy will also reduce the utilization. 2

3 C. Time redundancy in EDF Increasing the value of time redundancy has a considerable impact on the efficiency of scheduling and recovering tasks. Adding less time redundancy implies more tasks can be scheduled and utilization will be high but this will also lead to lesser tasks that can be recovered after a fault. Adding more time redundancy will make recovery easier but will lead to lower utilization. Hence, it is important to find efficient value of time redundancy. For the fault model considered in this paper, i.e, only a single fault will occur in a hyper period, the time redundancy can be considered to be the worst WCET of the task set. This allows us to recover the task with the worst WCET and also other tasks that have a lower WCET. D. Utilization The utilization now involves adding the C i/t i of all tasks along with twice the C i/t i of the WCET of the longest task. Hence the schedulability bound will be calculated as Where C lng and T lng correspond to the WCET and period/deadline of the task with worst WCET. The task set can be scheduled if the actual utilization of the task set is U = 1-. Here, is the backup utilization U B of the system. Therefore, according to Liu and Layland [1], the schedulability bound for fault-tolerant EDF becomes 1-U B. E. Typical Execution Consider the task set (C i/t i) given as T1 (1, 5), T2 (5, 7). This task set has an actual utilization of U=0.825 and so will be schedulable. The schedule without fault tolerance is given in Fig.1a. The tasks are represented as T ij were i is the task ID and j is the instant of the task. If a fault were to occur at time instant 12, the task T 12 can be re-executed at time 13 and still complete before its deadline at time 15. But if a fault were to occur when the longer task T 21 is executing i.e. at time 5 as shown in Fig.1a, the task has already executed 4 units and cannot re-execute as it will miss its deadline at time 7. schedule for the task is given in Fig.2a. Now if a fault were to occur at time 3 as shown in Fig.2b, the task T21 can still reexecute before its deadline. Hence, it is necessary to provide sufficient slack so that the longest task can be re-executed. Since as per the fault model only one fault can occur per hyper period only one task will have to be re-executed. IV. PROPOSED ALGORITHM A. Description The proposed algorithm combines the principle of Round Robin scheduling and shortest remaining time first scheduling. Shortest remaining time first (SRTF), is a scheduling method in which, the process with the smallest amount of time remaining until completion is selected to execute. Since the currently executing process is the one with the shortest amount of time remaining by definition, and that time should only reduce as execution progresses, processes will always run until they complete or a new process is added that requires a smaller amount of time. Shortest remaining time is advantageous because short processes are handled very quickly. The system also requires very little overhead since it only makes a decision when a process completes or a new process is added, and when a new process is added the algorithm only needs to compare the currently executing process with the new process, ignoring all other processes currently waiting to execute. In Round-robin (RR), time slices are assigned to each process in equal portions and in circular order. In order to schedule processes fairly, a round-robin scheduler generally employs time-sharing, giving each job a time slot or quantum, and interrupting the job if it is not completed by then. The job is resumed next time a time slot is assigned to that process. In order to increase the utilization of the task set and enable to schedule more tasks the Round Robin and shortest remaining algorithm are combined in the following way. Consider a task set of the form (C i, T i) where C i is the computation time and T i is the period of the task. The tasks are sorted in increasing order in terms of their shortest remaining time to deadline. The RR time slice is taken as the WCET of the shortest job. In this algorithm, each task executes in a RR fashion with the chosen time slice unless it is preempted by a task with a high urgency. The urgency factor for each task can be calculated as follows WCET j- CEU j TIME-T j =0 where WCET j is the Worst Case Execution Time, CEU j is the current executed units of the task so far, T j is the deadline and TIME is the current time instant. The task that satisfies this urgency is given the highest priority and preempts any other task currently executing. Fig.1 & Fig.2 Now consider a task set T1 (1, 5), T2 (4, 10) with utilization calculated by the tolerant EDF. (1/5) + 2(4/10) = 1. The B. tolerance in algorithm tolerance against transient faults is achieved by reexecuting the faulty task. For every fault occurring in a RR time slice the entire time slice is re-executed. The urgency of the task are dynamically determined i.e. the task that is most 3

4 urgent has the highest priority. When a fault occurs in the system, the system goes into fault recovery where the already executed task is added back to the schedule as if it has just arrived and the urgency factors of all tasks are calculated once again. The tasks are again dynamically scheduled in each time slice so the task with the highest urgency will execute. C. Checkpointing overhead The proposed algorithm assumes that the fault can be eliminated by re-execution of only the RR time slice due to checkpoint done at every RR slice time instant. There is only one task that executes during a single RR slice. Hence, the checkpoint overhead is assumed to saving the state of a single task during a RR time slice. If a task completes execution during a RR time slice, there is no need to save the state of that task. An arbitrary factor of 0.05 is taken into account to calculate the checkpoint overhead. The checkpoint overhead is given by This additional overhead is added to the total utilization and schedulability is determined. D. Time Redundancy in algorithm Similar to adding time redundancy in EDF scheme, an efficient value of time redundancy is also added to the proposed algorithm. In case of EDF, the longest WCET of the task was chosen as the slack needed for re-execution. In this algorithm, the shortest WCET time is chosen. Since the algorithm works in time slices where each RR time slice is equal to the shortest WCET of a task, in presence of a fault, only the time slice of the faulty task will have to be re-executed due to the check pointing done above. Therefore, it will be sufficient to add only the shortest WCET as the time redundancy. E. Utilization. The utilization is given by the adding the C i/t i ratio of all the tasks in addition to the checkpoint overhead.we also add twice of the C i/t i of the shortest executing task to provide enough slack to achieve fault tolerance. Hence the utilization will now become overhead and so the schedulability bound now becomes Where + checkpoint + CP overhead is the backup utilization (U B) of the system and C sh and T sh are the WCET and period of the shortest task.the task can be scheduled if the actual utilization of the system is U = 1 - ( + CP overhead). The schedulability bound for fault-tolerant algorithm is 1-U B. F. Typical Execution For example consider the task set (C i /T i) given as T1 (2, 8), T2 (5, 10). The actual utilization of the task set is U=0.75 and so is schedulable. Fig 2 The schedule using the proposed algorithm without any fault is shown in Fig.2.a.The tasks are sorted in terms of shortest remaining and so T2 will have the shortest remaining time and so is chosen to execute first. The task with shortest WCET is T1 with C i=2. The time slice of the RR will be 2 units. T2 is executed for 2 units and T1 will be executed for the next 2 units. Then once again T2 is executed for two units. In the next time slice since no other task other than T2 is available, T2 is executed to completion. Now, if a fault were to occur at time 5 as shown in Fig 2b, then the task T2 will have to be reexecuted for the RR time slice. The EDF schedule for the same task set is shown in Fig.2.c. It can be seen from the figure that if a fault occurred at time instant 5 then, the entire task T2 with computation time 5 units will have to be re-executed. V. SIMULATION Both the algorithms have been implemented in the C++ programming language. An event driven simulator is designed and implemented. A task vector is maintained by the simulator and the events are handled according to their order. The simulator can execute either of the algorithms by giving appropriate input vales. The simulation works as follows: * Scheduling of tasks: The Earliest-Deadline-First (EDF) scheduling policy or the proposed algorithm is used to schedule tasks. * injection: s are injected into the schedule while tasks are running. s are generated based on a value of MTTF specified by the user. * recovery: The recovery scheme used here is reexecution for tolerating transient faults. Determine the utilization and schedulability. If schedulable, Create an event by ordering the tasks Start time at 0. Loop while (time < Simulation End time) Execute the task every time instant for EDF or every RR time slice for the proposed algorithm 4

5 At every time (instant for EDF, slice for the proposed algorithm), order the tasks based on priority or urgency as explained above Check for faults at the end of every time instant If fault has occurred, re-execute the entire task for EDF or re-execute time slice for the proposed algorithm Use time redundancy as a recovery mechanism and re-execute the faulty task by adding it to the queue again. VI. RESULTS The results are tabulated as follows: The scenarios investigated are as follows: 1) Completed execution with Tolerance 2) Missed deadline due to faults - MD 3) Unable to Schedule - UTS All faults injected are at random time intervals by the simulator. Fig.3 & Fig.4 Scenario Name Actual utilizat ion Utilization Checkpoint Overhead Single EDF Single EDF Model (s per LCM) Task set Execution details fault (1,6,18), (2,2,19) (1,6,18), (2,2,19) (1,2,7), (2,5,22), (3,4,24) (1,2,7), (2,5,22), (3,4,24) With a utilization of 50%, the new algorithm is fault tolerant with the fault occurring at any instant during the execution. 342 EDF is fault tolerant when the fault occurs at a time when recovery (enough time redundancy to the deadline to allow re-execution) is possible since the utilization is 70% 342 The proposed algorithm is fault tolerant with double faults in the LCM. Consider two faults occurring at time 5 and 15, the algorithm is fault tolerant even though the utilization is 98%. This shows that the ratio of C i/t i also plays a significant in determining whether the execution of the task set will be fault tolerant or not. (See Fig.3a) 1848 EDF is fault tolerant with double faults in the LCM. Consider two faults occurring at time 5 and 15, the algorithm is fault tolerant but the tasks finish closer to their deadline due to re-execution of the whole task again. (See Fig.3b) 1848 Simulation time(lcm) 5

6 Scenario Name Actual utilizat ion Utilization MD EDF UTS Checkpoint Overhead Model (s per LCM) Task set Execution details fault Single EDF Single UTS Single fault MD EDF Single fault MD UTS EDF Single fault Single fault Single fault (1,1,7), (2,6,22), (3,5,24) (1,1,7), (2,6,22), (3,5,24) (1,1,5), (2,1,5), (3,1,5), (4,1,5) (1,1,5), (2,1,5), (3,1,5), (4,1,5) (1,10,15), (2,7,25), (3,6,19) (1,10,15), (2,7,25), (3,6,19) (1,8,16), (2,2,15), (3,7,35) (1,8,16), (2,2,15), (3,7,35) (1,8,16), (2,2,15), (3,7,35) In Fig.4a, consider faults occurring at time instants 3 and 13, the proposed algorithm had enough slack to re-execute the time slice and still meet the deadline 1848 In Fig.4b, consider faults occurring at time instants 3 and 13, T3 had to miss its deadline due to re-execution of T2 twice Unable to schedule the task set due to high checkpoint overhead involved. 5 This task set is schedulable by EDF though it failed for the proposed algorithm because of the extra overhead. 5 Unable to schedule the task set because the Ratio of C i/t i is very less for the task with minimum WCET 950 This task set is schedulable by EDF and for a fault occurring at time 9, the task 1 and 3 will miss their deadlines 950 For a occurring at the start of execution, at Time 2, the RR time slice is reexecuted for task 1 and it does not miss its deadline and is tolerant 1200 Task 1 missed deadline due to the fault encountered at Time 15, the RR time slice is 2, the task does not have enough slack for re-executing the RR time slice 1200 Unable to schedule EDF because twice the C i/t i of the task with the longest WCET is itself Simulation time(lcm) 6

7 VII. CONCLUSIONS We used a diverse set of tasks to fully compare the functionality of EDF with the proposed algorithm. The results are summarized as follows: For fault tolerant EDF, the slack is the WCET of the longest executing task. This slack is enough to handle any faults that occur during other tasks as long as they are not close to their deadline. If a fault occurs right before the deadline, the task will miss its deadline. The proposed algorithm works well when the ratio between the Ci and Ti is large enough. Additionally, check pointing overhead might not allow for scheduling for task sets that will be schedulable by EDF. The proposed algorithm can guarantee fault tolerance as long as the fault occurs atleast one RR slice of execution before its deadline. REFERENCES [1] 2. C.Liu and J.Layland, "Scheduling algorithms for Multiprogramming in a Hard Real-Time Environment", Journal of the ACM, vol. 20, no.1, pp , January [2] 3. Hakem Beitollahi, Seyed Ghassem Miremadi and Geert Deconinck, -Tolerant Earliest-Deadline-First Scheduling, Parallel and Distributed Processing Symposium, IPDPS IEEE International [3] 1. Ghosh, R.Melhem and D.Mosse, "-Tolerant Rate Monotonic Scheduling", Journal of Real Time Systems, 15(2): , Sept [4] 4. Hakem Beitollahi and Geert Deconinck, -Tolerant Rate- Monotonic Scheduling in Uniprocessor Embedded Systems, 12th Pacific Rim International Symposium on Dependable Computing (PRDC'06) [5] 5. A.Christy Persya and T.R.Gopalakrishnan Nair, Tolerant Real time systems, International Conference on Managing Next Generation Software Application (MNGSA-08), Coimbatore,

Survey of different Task Scheduling Algorithm

Survey of different Task Scheduling Algorithm 2014 IJEDR Volume 2, Issue 1 ISSN: 2321-9939 Survey of different Task Scheduling Algorithm 1 Viral Patel, 2 Milin Patel 1 Student, 2 Assistant Professor 1 Master in Computer Engineering, Parul Institute

More information

CS4514 Real Time Scheduling

CS4514 Real Time Scheduling CS4514 Real Time Scheduling Jose M. Garrido Fall 2015 Department of Computer Science 1 Periodic Tasks Typical real-time application has many tasks that need to be executed periodically Reading sensor data

More information

Event-Driven Scheduling. (closely following Jane Liu s Book)

Event-Driven Scheduling. (closely following Jane Liu s Book) Event-Driven Scheduling (closely following Jane Liu s Book) Real-Time Systems, 2006 Event-Driven Systems, 1 Principles Assign priorities to Jobs At events, jobs are scheduled according to their priorities

More information

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5 OPERATING SYSTEMS CS3502 Spring 2018 Processor Scheduling Chapter 5 Goals of Processor Scheduling Scheduling is the sharing of the CPU among the processes in the ready queue The critical activities are:

More information

1.1 CPU I/O Burst Cycle

1.1 CPU I/O Burst Cycle PROCESS SCHEDULING ALGORITHMS As discussed earlier, in multiprogramming systems, there are many processes in the memory simultaneously. In these systems there may be one or more processors (CPUs) but the

More information

International Journal of Advanced Research in Computer Science and Software Engineering

International Journal of Advanced Research in Computer Science and Software Engineering Volume 3, Issue 4, April 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Reducing the Number

More information

Uniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling

Uniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling Uniprocessor Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Three level scheduling 2 1 Types of Scheduling 3 Long- and Medium-Term Schedulers Long-term scheduler Determines which programs

More information

A Modified Maximum Urgency First Scheduling Algorithm for Real-Time Tasks

A Modified Maximum Urgency First Scheduling Algorithm for Real-Time Tasks Vol:, o:9, 2007 A Modified Maximum Urgency irst Scheduling Algorithm for Real-Time Tasks Vahid Salmani, Saman Taghavi Zargar, and Mahmoud aghibzadeh International Science Index, Computer and Information

More information

SAFETY-CRITICAL applications have to function correctly

SAFETY-CRITICAL applications have to function correctly IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 17, NO. 3, MARCH 2009 389 Design Optimization of Time- and Cost-Constrained Fault-Tolerant Embedded Systems With Checkpointing and

More information

Multiprocessor and Real-Time Scheduling. Chapter 10

Multiprocessor and Real-Time Scheduling. Chapter 10 Multiprocessor and Real-Time Scheduling Chapter 10 1 Roadmap Multiprocessor Scheduling Real-Time Scheduling Linux Scheduling Unix SVR4 Scheduling Windows Scheduling Classifications of Multiprocessor Systems

More information

CPU Scheduling. Daniel Mosse. (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013)

CPU Scheduling. Daniel Mosse. (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013) CPU Scheduling Daniel Mosse (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013) Basic Concepts Maximum CPU utilization obtained with multiprogramming CPU I/O Burst Cycle Process

More information

Concurrent activities in daily life. Real world exposed programs. Scheduling of programs. Tasks in engine system. Engine system

Concurrent activities in daily life. Real world exposed programs. Scheduling of programs. Tasks in engine system. Engine system Real world exposed programs Programs written to interact with the real world, outside the computer Programs handle input and output of data in pace matching the real world processes Necessitates ability

More information

Scheduling. The Basics

Scheduling. The Basics The Basics refers to a set of policies and mechanisms to control the order of work to be performed by a computer system. Of all the resources in a computer system that are scheduled before use, the CPU

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Sanjit A. Seshia UC Berkeley EECS 9/9A Fall 0 008-0: E. A. Lee, A. L. Sangiovanni-Vincentelli, S. A. Seshia. All rights reserved. Chapter : Operating Systems, Microkernels,

More information

Multiprocessor and Real- Time Scheduling. Chapter 10

Multiprocessor and Real- Time Scheduling. Chapter 10 Multiprocessor and Real- Time Scheduling Chapter 10 Classifications of Multiprocessor Loosely coupled multiprocessor each processor has its own memory and I/O channels Functionally specialized processors

More information

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date: Subject Name: OPERATING SYSTEMS Subject Code: 10EC65 Prepared By: Kala H S and Remya R Department: ECE Date: Unit 7 SCHEDULING TOPICS TO BE COVERED Preliminaries Non-preemptive scheduling policies Preemptive

More information

Scheduling of processes

Scheduling of processes Scheduling of processes Processor scheduling Schedule processes on the processor to meet system objectives System objectives: Assigned processes to be executed by the processor Response time Throughput

More information

Real-Time and Concurrent Programming Lecture 6 (F6): Scheduling and bounded response times

Real-Time and Concurrent Programming Lecture 6 (F6): Scheduling and bounded response times http://cs.lth.se/eda040 Real-Time and Concurrent Programming Lecture 6 (F6): Scheduling and bounded response times Klas Nilsson 2015-10-06 http://cs.lth.se/eda040 F6: Scheduling and bounded response times

More information

4/6/2011. Informally, scheduling is. Informally, scheduling is. More precisely, Periodic and Aperiodic. Periodic Task. Periodic Task (Contd.

4/6/2011. Informally, scheduling is. Informally, scheduling is. More precisely, Periodic and Aperiodic. Periodic Task. Periodic Task (Contd. So far in CS4271 Functionality analysis Modeling, Model Checking Timing Analysis Software level WCET analysis System level Scheduling methods Today! erformance Validation Systems CS 4271 Lecture 10 Abhik

More information

Uniprocessor Scheduling. Chapter 9

Uniprocessor Scheduling. Chapter 9 Uniprocessor Scheduling Chapter 9 1 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency 2 3 4 Long-Term Scheduling Determines which programs

More information

THE integration of multiple functionalities on a single

THE integration of multiple functionalities on a single Scheduling Mixed-Criticality Real-Time Tasks with Fault Tolerance Jian (Denny) Lin 1, Albert M. K. Cheng 2, Douglas Steel 1, Michael Yu-Chi Wu 1 1 Department of Management Information Systems, University

More information

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter Lecture Topics Today: Uniprocessor Scheduling (Stallings, chapter 9.1-9.3) Next: Advanced Scheduling (Stallings, chapter 10.1-10.4) 1 Announcements Self-Study Exercise #10 Project #8 (due 11/16) Project

More information

Operating System Concepts Ch. 5: Scheduling

Operating System Concepts Ch. 5: Scheduling Operating System Concepts Ch. 5: Scheduling Silberschatz, Galvin & Gagne Scheduling In a multi-programmed system, multiple processes may be loaded into memory at the same time. We need a procedure, or

More information

Lecture 12: An Overview of Scheduling Theory

Lecture 12: An Overview of Scheduling Theory Lecture 12: An Overview of Scheduling Theory [RTCS Ch 8] Introduction Execution Time Estimation Basic Scheduling Approaches Static Cyclic Scheduling Fixed Priority Scheduling Rate Monotonic Analysis Earliest

More information

Fault-tolerant techniques

Fault-tolerant techniques What are the effects if the hardware or software is not fault-free in a real-time system? What causes component faults? Specification or design faults: Incomplete or erroneous models Lack of techniques

More information

Real-time operating systems and scheduling

Real-time operating systems and scheduling Real-time operating systems and scheduling Problem 21 Consider a real-time operating system (OS) that has a built-in preemptive scheduler. Each task has a unique priority and the lower the priority id,

More information

CPU Scheduling Algorithms

CPU Scheduling Algorithms CPU Scheduling Algorithms Notice: The slides for this lecture have been largely based on those accompanying the textbook Operating Systems Concepts with Java, by Silberschatz, Galvin, and Gagne (2007).

More information

Introduction to Real-time Systems. Advanced Operating Systems (M) Lecture 2

Introduction to Real-time Systems. Advanced Operating Systems (M) Lecture 2 Introduction to Real-time Systems Advanced Operating Systems (M) Lecture 2 Introduction to Real-time Systems Real-time systems deliver services while meeting some timing constraints Not necessarily fast,

More information

PROCESS SCHEDULING II. CS124 Operating Systems Fall , Lecture 13

PROCESS SCHEDULING II. CS124 Operating Systems Fall , Lecture 13 PROCESS SCHEDULING II CS124 Operating Systems Fall 2017-2018, Lecture 13 2 Real-Time Systems Increasingly common to have systems with real-time scheduling requirements Real-time systems are driven by specific

More information

Chapter 5: CPU Scheduling

Chapter 5: CPU Scheduling Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating Systems Examples Algorithm Evaluation Chapter 5: CPU Scheduling

More information

Scheduling. CSC400 - Operating Systems. 7: Scheduling. J. Sumey. one of the main tasks of an OS. the scheduler / dispatcher

Scheduling. CSC400 - Operating Systems. 7: Scheduling. J. Sumey. one of the main tasks of an OS. the scheduler / dispatcher CSC400 - Operating Systems 7: Scheduling J. Sumey Scheduling one of the main tasks of an OS the scheduler / dispatcher concerned with deciding which runnable process/thread should get the CPU next occurs

More information

Recap. Run to completion in order of arrival Pros: simple, low overhead, good for batch jobs Cons: short jobs can stuck behind the long ones

Recap. Run to completion in order of arrival Pros: simple, low overhead, good for batch jobs Cons: short jobs can stuck behind the long ones Recap First-Come, First-Served (FCFS) Run to completion in order of arrival Pros: simple, low overhead, good for batch jobs Cons: short jobs can stuck behind the long ones Round-Robin (RR) FCFS with preemption.

More information

Last Class: Processes

Last Class: Processes Last Class: Processes A process is the unit of execution. Processes are represented as Process Control Blocks in the OS PCBs contain process state, scheduling and memory management information, etc A process

More information

Properties of Processes

Properties of Processes CPU Scheduling Properties of Processes CPU I/O Burst Cycle Process execution consists of a cycle of CPU execution and I/O wait. CPU burst distribution: CPU Scheduler Selects from among the processes that

More information

Introduction to Real-Time Systems ECE 397-1

Introduction to Real-Time Systems ECE 397-1 Introduction to Real-Time Systems ECE 97-1 Northwestern University Department of Computer Science Department of Electrical and Computer Engineering Teachers: Robert Dick Peter Dinda Office: L477 Tech 8,

More information

CSE 4/521 Introduction to Operating Systems

CSE 4/521 Introduction to Operating Systems CSE 4/521 Introduction to Operating Systems Lecture 9 CPU Scheduling II (Scheduling Algorithms, Thread Scheduling, Real-time CPU Scheduling) Summer 2018 Overview Objective: 1. To describe priority scheduling

More information

Uniprocessor Scheduling. Aim of Scheduling

Uniprocessor Scheduling. Aim of Scheduling Uniprocessor Scheduling Chapter 9 Aim of Scheduling Response time Throughput Processor efficiency Types of Scheduling Long-Term Scheduling Determines which programs are admitted to the system for processing

More information

Uniprocessor Scheduling. Aim of Scheduling. Types of Scheduling. Long-Term Scheduling. Chapter 9. Response time Throughput Processor efficiency

Uniprocessor Scheduling. Aim of Scheduling. Types of Scheduling. Long-Term Scheduling. Chapter 9. Response time Throughput Processor efficiency Uniprocessor Scheduling Chapter 9 Aim of Scheduling Response time Throughput Processor efficiency Types of Scheduling Long-Term Scheduling Determines which programs are admitted to the system for processing

More information

Authors Abugchem, F. (Fathi); Short, M. (Michael); Xu, D. (Donglai)

Authors Abugchem, F. (Fathi); Short, M. (Michael); Xu, D. (Donglai) TeesRep - Teesside's Research Repository A Note on the Suboptimality of Nonpreemptive Real-time Scheduling Item type Article Authors Abugchem, F. (Fathi); Short, M. (Michael); Xu, D. (Donglai) Citation

More information

Overview of Scheduling a Mix of Periodic and Aperiodic Tasks

Overview of Scheduling a Mix of Periodic and Aperiodic Tasks Overview of Scheduling a Mix of Periodic and Aperiodic Tasks Minsoo Ryu Department of Computer Science and Engineering 2 Naive approach Background scheduling Algorithms Under static priority policy (RM)

More information

A Fuzzy-based Multi-criteria Scheduler for Uniform Multiprocessor Real-time Systems

A Fuzzy-based Multi-criteria Scheduler for Uniform Multiprocessor Real-time Systems 10th International Conference on Information Technology A Fuzzy-based Multi-criteria Scheduler for Uniform Multiprocessor Real-time Systems Vahid Salmani Engineering, Ferdowsi University of salmani@um.ac.ir

More information

Homework index. Processing resource description. Goals for lecture. Communication resource description. Graph extensions. Problem definition

Homework index. Processing resource description. Goals for lecture. Communication resource description. Graph extensions. Problem definition Introduction to Real-Time Systems ECE 97-1 Homework index 1 Reading assignment.............. 4 Northwestern University Department of Computer Science Department of Electrical and Computer Engineering Teachers:

More information

Ch 4 : CPU scheduling

Ch 4 : CPU scheduling Ch 4 : CPU scheduling It's the basis of multiprogramming operating systems. By switching the CPU among processes, the operating system can make the computer more productive In a single-processor system,

More information

Uniprocessor Scheduling

Uniprocessor Scheduling Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall CPU- and I/O-bound processes

More information

Chapter 9 Uniprocessor Scheduling

Chapter 9 Uniprocessor Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 9 Uniprocessor Scheduling Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall Aim of Scheduling Assign

More information

Simplified design flow for embedded systems

Simplified design flow for embedded systems Simplified design flow for embedded systems 2005/12/02-1- Reuse of standard software components Knowledge from previous designs to be made available in the form of intellectual property (IP, for SW & HW).

More information

Computer Science 4500 Operating Systems

Computer Science 4500 Operating Systems Computer Science 4500 Operating Systems Module 6 Process Scheduling Methods Updated: September 25, 2014 2008 Stanley A. Wileman, Jr. Operating Systems Slide 1 1 In This Module Batch and interactive workloads

More information

What s an Operating System? Real-Time Operating Systems. Cyclic Executive. Do I Need One? Handling an Interrupt. Interrupts

What s an Operating System? Real-Time Operating Systems. Cyclic Executive. Do I Need One? Handling an Interrupt. Interrupts What s an Operating System? Real-Time Operating Systems Provides environment for executing programs Prof. Stephen A. Edwards Process abstraction for multitasking/concurrency Scheduling Hardware abstraction

More information

Learning Outcomes. Scheduling. Is scheduling important? What is Scheduling? Application Behaviour. Is scheduling important?

Learning Outcomes. Scheduling. Is scheduling important? What is Scheduling? Application Behaviour. Is scheduling important? Learning Outcomes Scheduling Understand the role of the scheduler, and how its behaviour influences the performance of the system. Know the difference between I/O-bound and CPU-bound tasks, and how they

More information

Scheduling Algorithm for Hard Real-Time Communication in Demand Priority Network

Scheduling Algorithm for Hard Real-Time Communication in Demand Priority Network Scheduling Algorithm for Hard Real-Time Communication in Demand Priority Network Taewoong Kim, Heonshik Shin, and Naehyuck Chang Department of Computer Engineering Seoul National University, Seoul 151-742,

More information

Chapter -5 QUALITY OF SERVICE (QOS) PLATFORM DESIGN FOR REAL TIME MULTIMEDIA APPLICATIONS

Chapter -5 QUALITY OF SERVICE (QOS) PLATFORM DESIGN FOR REAL TIME MULTIMEDIA APPLICATIONS Chapter -5 QUALITY OF SERVICE (QOS) PLATFORM DESIGN FOR REAL TIME MULTIMEDIA APPLICATIONS Chapter 5 QUALITY OF SERVICE (QOS) PLATFORM DESIGN FOR REAL TIME MULTIMEDIA APPLICATIONS 5.1 Introduction For successful

More information

Comparative evaluation of limited preemptive methods

Comparative evaluation of limited preemptive methods Comparative evaluation of limited preemptive methods Gang Yao, Giorgio Buttazzo and Marko Bertogna Scuola Superiore Sant Anna, Pisa, Italy, {g.yao, g.buttazzo, m.bertogna}@sssup.it Abstract Schedulability

More information

Lecture 5 / Chapter 6 (CPU Scheduling) Basic Concepts. Scheduling Criteria Scheduling Algorithms

Lecture 5 / Chapter 6 (CPU Scheduling) Basic Concepts. Scheduling Criteria Scheduling Algorithms Operating System Lecture 5 / Chapter 6 (CPU Scheduling) Basic Concepts Scheduling Criteria Scheduling Algorithms OS Process Review Multicore Programming Multithreading Models Thread Libraries Implicit

More information

Embedded Systems: OS. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Embedded Systems: OS. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Embedded Systems: OS Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Standalone Applications Often no OS involved One large loop Microcontroller-based

More information

Titolo presentazione. Scheduling. sottotitolo A.Y Milano, XX mese 20XX ACSO Tutoring MSc Eng. Michele Zanella

Titolo presentazione. Scheduling. sottotitolo A.Y Milano, XX mese 20XX ACSO Tutoring MSc Eng. Michele Zanella Titolo presentazione Scheduling sottotitolo A.Y. 2017-18 Milano, XX mese 20XX ACSO Tutoring MSc Eng. Michele Zanella Process Scheduling Goals: Multiprogramming: having some process running at all times,

More information

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections )

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections ) CPU Scheduling CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections 6.7.2 6.8) 1 Contents Why Scheduling? Basic Concepts of Scheduling Scheduling Criteria A Basic Scheduling

More information

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time

More information

Microkernel/OS and Real-Time Scheduling

Microkernel/OS and Real-Time Scheduling Chapter 12 Microkernel/OS and Real-Time Scheduling Hongwei Zhang http://www.cs.wayne.edu/~hzhang/ Ack.: this lecture is prepared in part based on slides of Lee, Sangiovanni-Vincentelli, Seshia. Outline

More information

Overview. Sporadic tasks. Recall. Aperiodic tasks. Real-time Systems D0003E 2/26/2009. Loosening D = T. Aperiodic tasks. Response-time analysis

Overview. Sporadic tasks. Recall. Aperiodic tasks. Real-time Systems D0003E 2/26/2009. Loosening D = T. Aperiodic tasks. Response-time analysis Overview Real-time Systems D0003E Lecture 11: Priority inversion Burns/Wellings ch. 13 (except 13.12) Aperiodic tasks Response time analysis Blocking Priority inversion Priority inheritance Priority ceiling

More information

Practice Exercises 305

Practice Exercises 305 Practice Exercises 305 The FCFS algorithm is nonpreemptive; the RR algorithm is preemptive. The SJF and priority algorithms may be either preemptive or nonpreemptive. Multilevel queue algorithms allow

More information

Fixed-Priority Multiprocessor Scheduling

Fixed-Priority Multiprocessor Scheduling Fixed-Priority Multiprocessor Scheduling Real-time Systems N periodic tasks (of different rates/periods) r i T i C i T i C C J i Ji i ij i r i r i r i Utilization/workload: How to schedule the jobs to

More information

Source EE 4770 Lecture Transparency. Formatted 16:43, 30 April 1998 from lsli

Source EE 4770 Lecture Transparency. Formatted 16:43, 30 April 1998 from lsli 17-3 17-3 Rate Monotonic Priority Assignment (RMPA) Method for assigning priorities with goal of meeting deadlines. Rate monotonic priority assignment does not guarantee deadlines will be met. A pure periodic

More information

An Approach to Task Attribute Assignment for Uniprocessor Systems

An Approach to Task Attribute Assignment for Uniprocessor Systems An Approach to ttribute Assignment for Uniprocessor Systems I. Bate and A. Burns Real-Time Systems Research Group Department of Computer Science University of York York, United Kingdom e-mail: fijb,burnsg@cs.york.ac.uk

More information

Dual-Processor Design of Energy Efficient Fault-Tolerant System

Dual-Processor Design of Energy Efficient Fault-Tolerant System Dual-Processor Design of Energy Efficient Fault-Tolerant System Shaoxiong Hua Synopsys Inc. 7 E. Middlefield Road Mountain View, CA 9443 huas@synopsys.com Pushkin R. Pari Intel Technology India Pvt. Ltd.

More information

Scheduling. Scheduling. Scheduling. Scheduling Criteria. Priorities. Scheduling

Scheduling. Scheduling. Scheduling. Scheduling Criteria. Priorities. Scheduling scheduling: share CPU among processes scheduling should: be fair all processes must be similarly affected no indefinite postponement aging as a possible solution adjust priorities based on waiting time

More information

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou (  Zhejiang University Operating Systems (Fall/Winter 2018) CPU Scheduling Yajin Zhou (http://yajin.org) Zhejiang University Acknowledgement: some pages are based on the slides from Zhi Wang(fsu). Review Motivation to use threads

More information

Schedulability with resource sharing. Priority inheritance protocol Priority ceiling protocol Stack resource policy

Schedulability with resource sharing. Priority inheritance protocol Priority ceiling protocol Stack resource policy Schedulability with resource sharing Priority inheritance protocol Priority ceiling protocol Stack resource policy 1 Lecture overview We have discussed the occurrence of unbounded priority inversion We

More information

An Improved Priority Dynamic Quantum Time Round-Robin Scheduling Algorithm

An Improved Priority Dynamic Quantum Time Round-Robin Scheduling Algorithm An Improved Priority Dynamic Quantum Time Round-Robin Scheduling Algorithm Nirali A. Patel PG Student, Information Technology, L.D. College Of Engineering,Ahmedabad,India ABSTRACT In real-time embedded

More information

8th Slide Set Operating Systems

8th Slide Set Operating Systems Prof. Dr. Christian Baun 8th Slide Set Operating Systems Frankfurt University of Applied Sciences SS2016 1/56 8th Slide Set Operating Systems Prof. Dr. Christian Baun Frankfurt University of Applied Sciences

More information

UNIT:2. Process Management

UNIT:2. Process Management 1 UNIT:2 Process Management SYLLABUS 2.1 Process and Process management i. Process model overview ii. Programmers view of process iii. Process states 2.2 Process and Processor Scheduling i Scheduling Criteria

More information

On-Line Scheduling Algorithm for Real-Time Multiprocessor Systems with ACO and EDF

On-Line Scheduling Algorithm for Real-Time Multiprocessor Systems with ACO and EDF On-Line Scheduling Algorithm for Real-Time Multiprocessor Systems with ACO and EDF Cheng Zhao, Myungryun Yoo, Takanori Yokoyama Department of computer science, Tokyo City University 1-28-1 Tamazutsumi,

More information

Issues in Programming Language Design for Embedded RT Systems

Issues in Programming Language Design for Embedded RT Systems CSE 237B Fall 2009 Issues in Programming Language Design for Embedded RT Systems Reliability and Fault Tolerance Exceptions and Exception Handling Rajesh Gupta University of California, San Diego ES Characteristics

More information

Operating Systems ECE344. Ding Yuan

Operating Systems ECE344. Ding Yuan Operating Systems ECE344 Ding Yuan Announcement & Reminder Midterm exam Will grade them this Friday Will post the solution online before next lecture Will briefly go over the common mistakes next Monday

More information

Controlled duplication for scheduling real-time precedence tasks on heterogeneous multiprocessors

Controlled duplication for scheduling real-time precedence tasks on heterogeneous multiprocessors Controlled duplication for scheduling real-time precedence tasks on heterogeneous multiprocessors Jagpreet Singh* and Nitin Auluck Department of Computer Science & Engineering Indian Institute of Technology,

More information

DISTRIBUTED REAL-TIME SYSTEMS

DISTRIBUTED REAL-TIME SYSTEMS Distributed Systems Fö 11/12-1 Distributed Systems Fö 11/12-2 DISTRIBUTED REAL-TIME SYSTEMS What is a Real-Time System? 1. What is a Real-Time System? 2. Distributed Real Time Systems 3. Predictability

More information

Unit 3 : Process Management

Unit 3 : Process Management Unit : Process Management Processes are the most widely used units of computation in programming and systems, although object and threads are becoming more prominent in contemporary systems. Process management

More information

Embedded Systems: OS

Embedded Systems: OS Embedded Systems: OS Jinkyu Jeong (Jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu) Standalone

More information

requests or displaying activities, hence they usually have soft deadlines, or no deadlines at all. Aperiodic tasks with hard deadlines are called spor

requests or displaying activities, hence they usually have soft deadlines, or no deadlines at all. Aperiodic tasks with hard deadlines are called spor Scheduling Aperiodic Tasks in Dynamic Priority Systems Marco Spuri and Giorgio Buttazzo Scuola Superiore S.Anna, via Carducci 4, 561 Pisa, Italy Email: spuri@fastnet.it, giorgio@sssup.it Abstract In this

More information

Operating Systems. Lecture Process Scheduling. Golestan University. Hossein Momeni

Operating Systems. Lecture Process Scheduling. Golestan University. Hossein Momeni Operating Systems Lecture 2.2 - Process Scheduling Golestan University Hossein Momeni momeni@iust.ac.ir Scheduling What is scheduling? Goals Mechanisms Scheduling on batch systems Scheduling on interactive

More information

Chapter 9. Uniprocessor Scheduling

Chapter 9. Uniprocessor Scheduling Operating System Chapter 9. Uniprocessor Scheduling Lynn Choi School of Electrical Engineering Scheduling Processor Scheduling Assign system resource (CPU time, IO device, etc.) to processes/threads to

More information

An application-based EDF scheduler for OSEK/VDX

An application-based EDF scheduler for OSEK/VDX An application-based EDF scheduler for OSEK/VDX Claas Diederichs INCHRON GmbH 14482 Potsdam, Germany claas.diederichs@inchron.de Ulrich Margull 1 mal 1 Software GmbH 90762 Fürth, Germany margull@1mal1.com

More information

Tasks. Task Implementation and management

Tasks. Task Implementation and management Tasks Task Implementation and management Tasks Vocab Absolute time - real world time Relative time - time referenced to some event Interval - any slice of time characterized by start & end times Duration

More information

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University CS 571 Operating Systems Midterm Review Angelos Stavrou, George Mason University Class Midterm: Grading 2 Grading Midterm: 25% Theory Part 60% (1h 30m) Programming Part 40% (1h) Theory Part (Closed Books):

More information

8: Scheduling. Scheduling. Mark Handley

8: Scheduling. Scheduling. Mark Handley 8: Scheduling Mark Handley Scheduling On a multiprocessing system, more than one process may be available to run. The task of deciding which process to run next is called scheduling, and is performed by

More information

Comparison of scheduling in RTLinux and QNX. Andreas Lindqvist, Tommy Persson,

Comparison of scheduling in RTLinux and QNX. Andreas Lindqvist, Tommy Persson, Comparison of scheduling in RTLinux and QNX Andreas Lindqvist, andli299@student.liu.se Tommy Persson, tompe015@student.liu.se 19 November 2006 Abstract The purpose of this report was to learn more about

More information

A COMPARATIVE STUDY OF CPU SCHEDULING POLICIES IN OPERATING SYSTEMS

A COMPARATIVE STUDY OF CPU SCHEDULING POLICIES IN OPERATING SYSTEMS VSRD International Journal of Computer Science &Information Technology, Vol. IV Issue VII July 2014 / 119 e-issn : 2231-2471, p-issn : 2319-2224 VSRD International Journals : www.vsrdjournals.com REVIEW

More information

Scheduling Hard-Real-Time Tasks with Backup Phasing Delay

Scheduling Hard-Real-Time Tasks with Backup Phasing Delay Scheduling Hard-Real-Time Tasks with Backup Phasing Delay Alan A. Bertossi 1 Luigi V. Mancini 2 Alessandra Menapace 1 Dipartimento di Scienze dell Informazione Università di Bologna, Bologna, Italy bertossi@cs.unibo.it

More information

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, IIT Delhi

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, IIT Delhi Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, IIT Delhi Lecture - 20 Fundamentals of Embedded Operating Systems In today s class, we shall

More information

Simulation of Priority Driven Algorithms to Schedule Real-Time Systems T.S.M.Priyanka a*, S.M.K.Chaitanya b

Simulation of Priority Driven Algorithms to Schedule Real-Time Systems T.S.M.Priyanka a*, S.M.K.Chaitanya b International Journal of Current Science, Engineering & Technology Original Research Article Open Access Simulation of Priority Driven Algorithms to Schedule Real-Time Systems T.S.M.Priyanka a*, S.M.K.Chaitanya

More information

Aperiodic Task Scheduling

Aperiodic Task Scheduling Aperiodic Task Scheduling Radek Pelánek Preemptive Scheduling: The Problem 1 processor arbitrary arrival times of tasks preemption performance measure: maximum lateness no resources, no precedence constraints

More information

Constructing and Verifying Cyber Physical Systems

Constructing and Verifying Cyber Physical Systems Constructing and Verifying Cyber Physical Systems Mixed Criticality Scheduling and Real-Time Operating Systems Marcus Völp Overview Introduction Mathematical Foundations (Differential Equations and Laplace

More information

Copyright Notice. COMP9242 Advanced Operating Systems S2/2014 Week 9: Real-Time Systems. Real-Time System: Definition

Copyright Notice. COMP9242 Advanced Operating Systems S2/2014 Week 9: Real-Time Systems. Real-Time System: Definition Copyright Notice These slides are distributed under the Creative Commons Attribution.0 License COMP94 Advanced Operating Systems S/014 Week 9: Real- Systems @GernotHeiser You are free: to share to copy,

More information

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable What s An OS? Provides environment for executing programs Process abstraction for multitasking/concurrency scheduling Hardware abstraction layer (device drivers) File systems Communication Do we need an

More information

Scheduling Algorithms to Minimize Session Delays

Scheduling Algorithms to Minimize Session Delays Scheduling Algorithms to Minimize Session Delays Nandita Dukkipati and David Gutierrez A Motivation I INTRODUCTION TCP flows constitute the majority of the traffic volume in the Internet today Most of

More information

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9 Implementing Scheduling Algorithms Real-Time and Embedded Systems (M) Lecture 9 Lecture Outline Implementing real time systems Key concepts and constraints System architectures: Cyclic executive Microkernel

More information

Fixed-Priority Multiprocessor Scheduling. Real-time Systems. N periodic tasks (of different rates/periods) i Ji C J. 2 i. ij 3

Fixed-Priority Multiprocessor Scheduling. Real-time Systems. N periodic tasks (of different rates/periods) i Ji C J. 2 i. ij 3 0//0 Fixed-Priority Multiprocessor Scheduling Real-time Systems N periodic tasks (of different rates/periods) r i T i C i T i C C J i Ji i ij i r i r i r i Utilization/workload: How to schedule the jobs

More information

Start of Lecture: February 10, Chapter 6: Scheduling

Start of Lecture: February 10, Chapter 6: Scheduling Start of Lecture: February 10, 2014 1 Reminders Exercise 2 due this Wednesday before class Any questions or comments? 2 Scheduling so far First-Come-First Serve FIFO scheduling in queue without preempting

More information

Mixed Criticality Scheduling in Time-Triggered Legacy Systems

Mixed Criticality Scheduling in Time-Triggered Legacy Systems Mixed Criticality Scheduling in Time-Triggered Legacy Systems Jens Theis and Gerhard Fohler Technische Universität Kaiserslautern, Germany Email: {jtheis,fohler}@eit.uni-kl.de Abstract Research on mixed

More information

Multiprocessor scheduling

Multiprocessor scheduling Chapter 10 Multiprocessor scheduling When a computer system contains multiple processors, a few new issues arise. Multiprocessor systems can be categorized into the following: Loosely coupled or distributed.

More information

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University Frequently asked questions from the previous class survey CS 370: SYSTEM ARCHITECTURE & SOFTWARE [CPU SCHEDULING] Shrideep Pallickara Computer Science Colorado State University OpenMP compiler directives

More information