Fault tolerant scheduling in real time systems
|
|
- Jesse Porter
- 6 years ago
- Views:
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
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 informationCS4514 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 informationEvent-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 informationOPERATING 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 information1.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 informationInternational 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 informationUniprocessor 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 informationA 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 informationSAFETY-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 informationMultiprocessor 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 informationCPU 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 informationConcurrent 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 informationScheduling. 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 informationIntroduction 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 informationMultiprocessor 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 informationSubject 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 informationScheduling 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 informationReal-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 information4/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 informationUniprocessor 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 informationTHE 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 informationLecture 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 informationOperating 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 informationLecture 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 informationFault-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 informationReal-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 informationCPU 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 informationIntroduction 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 informationPROCESS 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 informationChapter 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 informationScheduling. 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 informationRecap. 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 informationLast 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 informationProperties 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 informationIntroduction 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 informationCSE 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 informationUniprocessor 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 informationUniprocessor 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 informationAuthors 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 informationOverview 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 informationA 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 informationHomework 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 informationCh 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 informationUniprocessor 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 informationChapter 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 informationSimplified 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 informationComputer 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 informationWhat 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 informationLearning 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 informationScheduling 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 informationChapter -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 informationComparative 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 informationLecture 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 informationEmbedded 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 informationTitolo 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 informationCPU 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 informationChapter 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 informationMicrokernel/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 informationOverview. 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 informationPractice 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 informationFixed-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 informationSource 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 informationAn 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 informationDual-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 informationScheduling. 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 informationCPU 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 informationSchedulability 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 informationAn 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 information8th 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 informationUNIT: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 informationOn-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 informationIssues 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 informationOperating 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 informationControlled 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 informationDISTRIBUTED 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 informationUnit 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 informationEmbedded 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 informationrequests 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 informationOperating 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 informationChapter 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 informationAn 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 informationTasks. 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 informationCS 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 information8: 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 informationComparison 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 informationA 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 informationScheduling 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 informationEmbedded 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 informationSimulation 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 informationAperiodic 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 informationConstructing 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 informationCopyright 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 informationWhat 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 informationScheduling 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 informationImplementing 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 informationFixed-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 informationStart 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 informationMixed 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 informationMultiprocessor 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 informationCS370: 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