CHAPTER 4 CONTENT October :10 PM

Size: px
Start display at page:

Download "CHAPTER 4 CONTENT October :10 PM"

Transcription

1 CHAPTER 4 By Radu Muresan University of Guelph Page 1 CHAPTER 4 CONTENT October :10 PM UNIPROCESSOR SCHEDULING Real Time Task Model Concepts Types of Real Time Tasks and Their Characteristics Task Scheduling Clock Driven Scheduling Hybrid Schedulers Event Driven Scheduling Earliest Deadline First (EDF) Scheduling Rate Monotonic Algorithm (RMA) Some Issues Associated with RMA RMA in Practical Situations MULTI PROCESSOR SCHEDULING Multiprocessor Task Allocation Dynamic Allocation Tasks Fault Tolerant Scheduling of Tasks Clocks in Distributed Real Time Systems Centralized Clock Synchronization Distributed Clock Synchronization REFERENCES: Real Time Systems by Jane Liu; Real Time Systems by Krishna Shin Real Time Systems by Rajib Mall, 2008.

2 CHAPTER 4 By Radu Muresan University of Guelph Page 2 REAL TIME TASK SCHEDULING October :10 PM Assume only deadline constraints on real time tasks Other types of time constraints are related to performance constraints and behavioural constraints. Real time tasks get generated (issued or released) in response to some events that may be either internal or external to a system: Examples: internal clock interrupt; user pressing a switch. When a task gets generated, it is said to have arrived or released. Every real time system usually consists of a number of real time tasks the time bounds on different tasks may vary. Criticality of a real time task relates to the consequences of a task missing its time bounds. Appropriate scheduling of tasks is the basic mechanism adopted by a RTOS to meet the time constraints of a task. Therefore, selection of an appropriate task scheduling algorithm is central to the proper functioning of a real time system. Understanding the scheduling algorithms will help us appreciate the modern commercial RTOS.

3 CHAPTER 4 By Radu Muresan University of Guelph Page 3 REAL TIME TASK CONCEPTS October :26 PM Task instance: each time an event occurs, it triggers the task that handles this event to run (a task is generated when some specific event occurs). Real time tasks, therefore, normally recur a large number of times at different instants of time depending on the event occurrence time: At random instants Ex. A task handling a device interrupt Within certain fixed periods Temperature sensing task in a chemical plant The first time a task occurs is called the first instance of the task; the next occurrence is called the second instance and so on. The j th instance of a task T i would be denoted as T i (j). Each instance of a real time task is associated with a deadline by which it needs to complete and produce results. We can use interchangeably task instance or process.

4 CHAPTER 4 By Radu Muresan University of Guelph Page 4 RELATIVE AND ABSOLUTE DEADLINE OF A TASK PLUS THE RESPONSE TIME OF A TASK October :27 PM The absolute deadline of a task is the absolute time value (counted from time 0) by which the results from the task are expected. The Relative deadline is the time interval between the start of the task and the instant at which the deadline occurs. The response time is the time duration from the occurrence of the event generating the task to the time the task produces its result. 1) Note that for hard real time tasks, as long as all their deadlines are met, there is no special advantage of completing the tasks early. 2) For soft real time tasks, average response time of tasks is an important metric measure. As a result, the soft real time task execution should try to minimize the average response time.

5 CHAPTER 4 By Radu Muresan University of Guelph Page 5 TASK PRECEDENCE A task is said to precede another task, if the first task must complete before the second task can start When a task Ti precedes another task Tj, then each instance of Ti precedes the corresponding instance of Tj Ex. If T1 proceeds T2 then: T1(1) precedes T2(1); T1(2) precedes T2(2); etc. A precedence order defines a partial order among tasks a partial ordering relation is reflexive, antisymmetric, and transitive. Figure below is an example of partial ordering among tasks task T1 precedes T2, but we cannot relate T1 with either T3 or T4.

6 CHAPTER 4 By Radu Muresan University of Guelph Page 6 DATA SHARING AMONG TASKS Tasks often need to share their results among each other precedence relation between two tasks sometimes implies data sharing (not always true, sometimes we need to perform only actions without data sharing). Data sharing may occur not only when one tasks precedes another, but might occur among truly concurrent tasks, and overlapping tasks. In other words, data sharing among tasks does not necessarily impose any particular ordering among tasks. As a result, data sharing relation among tasks is represented using a dashed arrow as in the figure above where: T2 uses the results of T3, but T2 and T3 may execute concurrently, T2 may even start executing first, after sometimes it may receive some data from T3, and continue its execution, and so on.

7 CHAPTER 4 By Radu Muresan University of Guelph Page 7 TYPES OF REAL TIME TASKS AND THEIR CHARACTERISTICS Based on the task recurrence over a period of time the real time tasks are classified into 3 main categories: PERIODIC TASKS Periodic tasks repeat after a certain fixed time interval. SPORADIC TASKS Sporadic tasks recur at random instants. APERIODIC TASKS Same as sporadic except that minimum separation between two instances can be 0.

8 CHAPTER 4 By Radu Muresan University of Guelph Page 8 PERIODIC TASKS Formally, a periodic task Ti can be represented by a four tuple (Φi, pi, ei, di), where: Φi is the phase of task Ti and is the time from 0 until the first instance of Ti (i.e., Ti(1)); pi is the period of the task Ti; ei is the worst case execution time of Ti; di is the relative deadline of the task. The periods are usually demarcated by clock interrupts and the task are also called clock driven tasks.

9 CHAPTER 4 By Radu Muresan University of Guelph Page 9 A VAST MAJORITY OF TASKS present in a typical real time system are periodic the reason being many activities carried out by real time systems are periodic in nature. EXAMPLES are numerous in chemical plants In a chemical plant several temperature monitors, pressure monitors, and chemical concentration monitors periodically sample the current temperature, pressure, and chemical concentration values which are then communicated to the plant controller. The instance of the temperature, pressure, and chemical concentration monitoring tasks are normally generated through the interrupts received from a periodic timer the inputs are used to compute corrective actions required to maintain the chemical reaction at a certain rate. The corrective actions are then carried out through actuators. The periodic task in the above example exists from initialization however, periodic tasks can also come into existence dynamically. EXAMPLE the computation that occurs in air traffic monitors, once a flight is detected by the radar until the radar exits the radar signal zone is an a dynamically created periodic task.

10 CHAPTER 4 By Radu Muresan University of Guelph Page 10 SPORADIC TASKS A sporadic task is one that recurs at random instants. A sporadic task Ti can be represented by a three tuple: Ti = (ei, gi, di) Where: ei is the worst case execution time of an instance of the task; gi denotes the minimum separation between two consecutive instances of the task; di is the relative deadline. NOTE that gi restricts the rate at which sporadic tasks can arise. The first instance of a sporadic task Ti is denoted by Ti(1) and the successive instances by Ti(2), Ti(3), etc. Many sporadic tasks such as emergency message arrivals are highly critical in nature Ex. 1) In a robot a task that gets generated to handle an obstacle that suddenly appears is a sporadic task; 2) In a factory, the task that handles fire conditions is a sporadic task The criticality of sporadic tasks varies from highly critical to moderately critical Ex. 1) An I/O device interrupt, or a DMA interrupt is moderately critical; 2) a task handling the reporting of fire conditions is highly critical.

11 CHAPTER 4 By Radu Muresan University of Guelph Page 11 APERIODIC TASKS An aperiodic task is similar to a sporadic task in a sense that it can arise at random instances However, the minimum separation gi between two consecutive aperiodic tasks can be 0 => two or more instances of an aperiodic task might occur at the same time instant; The deadline for an aperiodic task is expressed as either an average value or is expressed statistically; Aperiodic tasks are generally soft real time tasks Aperiodic tasks can recur in quick succession; as a result, it becomes very difficult to meet the deadline of all instances of an aperiodic task. Example: 1) logging task in a distributed system the logging task can be started by different tasks running on different nodes; the logging requests from different tasks may arrive at the logger almost at the same time, or requests may be spaced in time; 2) operator requests, keyboard presses, mouse movements, etc. (all interactive commands issued by users are handled by aperiodic tasks.

12 CHAPTER 4 By Radu Muresan University of Guelph Page 12 TASK SCHEDULING Real Time task scheduling refers in general to determining the order in which the various tasks are to be taken up for execution by the operating system. Every operating system relies on one or more task schedulers to prepare the schedule of execution of various tasks it needs to run; Each scheduler is characterized by the scheduling algorithm it employs; Real time scheduling on uniprocessor is a mature discipline with most of the important results having been worked out in the early 1970s; We present broad scheduling classes and study the characteristics of a few algorithms

13 CHAPTER 4 By Radu Muresan University of Guelph Page 13 BASIC CONCEPTS AND TERMINOLOGIES VALID SCHEDULE: a valid schedule for a set of tasks is one where at most one task is assigned to a processor at a time, no task is scheduled before its arrival time, and the precedence and resource constraints of all tasks are satisfied. FEASIBLE SCHEDULE: a valid schedule is called a feasible schedule, only if all tasks meet their respective time constraints in the schedule. PROFICIENT SCHEDULER: a task scheduler SCH1 is said to be more proficient than another scheduler SCH2, if SCH1 can feasibly schedule all task sets that SCH2 can, but there is at least one task set that SCH2 can not feasibly schedule, whereas SCH1 can. If SCH1 can feasibly schedule all task sets that SCH2 can feasibly schedule and vice versa, then SCH1 and SCH2 are called equally proficient schedulers. OPTIMAL SCHEDULER: a real time scheduler is called optimal, if it can feasibly schedule any task set that can be feasibly scheduled by any other scheduler we can't find a more proficient scheduling algorithm than the optimal scheduler.

14 CHAPTER 4 By Radu Muresan University of Guelph Page 14 SCHEDULING POINTS: the scheduling points of a scheduler are the points on the time line where the scheduler makes decisions regarding which task is to be run next A task scheduler is activated by the OS only at the scheduling points to make decisions on which task needs to run next Ex. 1) in a clock driven scheduler the scheduling points are defined at the time instants marked by interrupts generated by a periodic timer; 2) in an event driven scheduler the scheduling points are determined by occurrence of certain events PREEMPTIVE SCHEDULER: See Chapter 2. UTILIZATION: the processor utilization of a task is the average time for which it executes per unit time interval 1) For a periodic task Ti: 2) For a set of periodic tasks {Ti}: JITTER: is the deviation of a periodic task from its strict periodic behaviour. ARRIVAL TIME JITTER is the deviation of the task from arriving at the precise periodic time of arrival. It may be caused by imprecise clocks, or other factors such as network congestions. COMPLETION TIME JITTER is the deviation of the completion of a task from precise periodic points. It may be cause by the specific algorithm employed for scheduling and the load at an instant.

15 CHAPTER 4 By Radu Muresan University of Guelph Page 15 CLASSIFICATION OF REAL TIME TASK SCHEDULING ALGORITHMS A) 1) 2) 3) B) 1) 2) COMMON CLASSIFICATIONS of real time task scheduling algorithms are based on: HOW THE SCHEDULING POINTS ARE DEFINED in this class we have the following types of schedulers: CLOCK DRIVEN a. Table driven b. Cyclic EVENT DRIVEN more complex, more proficient (they can schedule some task sets that clock driven can't), and more flexible (they can feasibly schedule sporadic and aperiodic tasks in addition to periodic tasks) than clock driven. EDF and RMA are the most popular scheduling algorithms that came as the result of intensive research during 1970s. These two algorithms form the basis of uniprocessor scheduling. a. Simple priority based; b. Rate Monotonic Analysis (RMA) c. Earliest Deadline First (EDF) HYBRID a. Round robin TYPE OF ACCEPTANCE TEST PERFORMED BY SCHEDULER in this class we have two broad categories Planning base Best effort

16 CHAPTER 4 By Radu Muresan University of Guelph Page 16 C) 1) 2) 3) Best effort no acceptance test is performed. All tasks that arrive are taken up for scheduling and best effort is made to meet their deadlines. But, no guarantee is given as to whether a task's deadline would be met. Planning Base the scheduler first determines whether the task can meet its deadlines and if does not cause other already scheduled tasks to miss their deadlines, before it is taken up for execution. THE TARGET PLATFORM on which the tasks are to be run. According to this scheme, we have the following classes of scheduling algorithms: Uniprocessor: are the simplest scheduling algorithms Multiprocessor: algorithms must first decide which task needs to run on which processor and then these tasks are scheduled. Distributed systems we need first to allocate tasks and we need carefully designed scheduling algorithms: a. In contrast to multiprocessor systems the processors in a distributed system: do not possess shared memory; there is no global up to date state information available. As a result, uniprocessor algorithms that assume a central state information of all tasks are unsuitable to be used in distributed systems. b. The communication among tasks in distributed systems is through message passing which is costly. As a result, the communication among tasks in distributed systems should be minimized.

17 CHAPTER 4 By Radu Muresan University of Guelph Page 17 ENGG4420 CHAPTER 4 LECTURE 2 and 3 November :51 PM CLOCK DRIVEN SCHEDULING Clock driven schedulers make their scheduling decisions regarding which task to run next, only at the clock interrupt points Scheduling points are determined by timer interrupts Clock driven schedulers are also called off line schedulers because these schedulers fix the schedule before the system starts to run (predetermines which task will run when). These schedulers incur very little run time overhead SHORTCOMING OF THIS CLASS OF SCHEDULERS is that they cannot satisfactorily handle aperiodic and sporadic tasks The exact time of occurrence of these tasks cannot be predicted. As a result, these schedulers are also called static schedulers. 1) 2) IMORTANT CLOCK DRIVEN SCHEDULERS ARE: Table driven Cyclic schedulers

18 CHAPTER 4 By Radu Muresan University of Guelph Page 18 TABLE DRIVEN SCHEDULING Table driven schedulers usually precompute which task would run and when and store this schedule in a table at the time the system is designed or configured. The application programmer can be given the freedom to select his own schedule for the set of tasks in the application and store the schedule in a table called schedule table to be used by the scheduler at the run time. An important question for this type of scheduler is what would be the SIZE OF THE SCHEDULE TABLE that would be required for a given set of tasks in system?

19 CHAPTER 4 By Radu Muresan University of Guelph Page 19 THE SIZE OF THE SCHEDULE TABLE Given a set of n tasks ST = {Ti}, then the entries in the schedule table will replicate themselves after the major cycle of the set ST. The major cycle of the set ST is the Least Common Multiple of the periods of all the tasks in ST: LCM(p1, p2,..., pn), where p1, p2,..., pn are the periods of T1, T2,..., Tn. For any given task set it is sufficient to store the entries only for LCM(p1, p2,..., pn) duration in the schedule table. DEFINITION: a major cycle of a set of tasks is an interval of time on the time line such that in each major cycle, the different tasks recur identically. The above reasoning assumed that all tasks are in phase meaning that Φi = 0.

20 CHAPTER 4 By Radu Muresan University of Guelph Page 20 THEOREM: The major cycle of a set of tasks ST = {T1, T2,..., Tn) is LCM{p1, p2,..., pn} even when the tasks have arbitrary phasing. PROOF. Let's assume that the occurrences of a task Ti in a major cycle are as shown below. In figure above there are k 1 occurrences of the task Ti in the major cycle M. The first occurrence of Ti starts at φ The major cycle M ends x time units after the last occurrence of Ti (i.e., Ti(k 1)). Of course this scenario must be the same in all major cycles. Inspecting the figure above we can conclude that for a task to repeat identically in each major cycle we need to have: M = (k 1)*pi + φ + x; (1) Now, for the task Ti to have identical occurrence times in each major cycle, φ + x must equal to pi. Substituting this in Eq. (1) we get: M = (k 1)*pi + pi = k*pi; (2) As a result of (2) M contains an integral multiple of pi and this argument holds for each task in the set. THEREFORE, M = LCM({p1, p2,..., pn}).

21 CHAPTER 4 By Radu Muresan University of Guelph Page 21 CYCLIC SCHEDULERS Many small embedded applications are based on cyclic schedulers that are simple, efficient, and easy to program. For example a temperature controller within a computer controlled air conditioner. A cyclic scheduler repeats a precomputed schedule that is stored for one major cycle. Each task in the task set to be scheduled repeats identically in every major cycle. The major cycle is divided into one or more minor cycles and each minor cycle is called a frame. THE SCHEDULING POINTS of a cyclic scheduler occur at frame boundaries. As a result, a task can start executing only at the beginning of a frame. The frame boundaries are defined through interrupts generated by a periodic timer. Each tasks is assigned to run in one or more frames The assignment of tasks to frames is stored in a schedule table.

22 CHAPTER 4 By Radu Muresan University of Guelph Page 22 SELECTING THE SIZE OF THE FRAME The size of the frame to be used by the scheduler is an important design parameter and needs to be chosen carefully. A frame size should satisfy the following 3 constraints: 1) Minimum context switching 2) Minimization of table size 3) Satisfaction of task deadline MINIMUM CONTEXT SWITCHING This constraint aims to minimize the number of context switching during task execution. As a result, a task should complete running within its assigned frame. Otherwise the task might have to be suspended and restarted in a later frame. To avoid unnecessary context switches, the selected frame size should be larger than the execution time of each task. FORMALLY the constraint is: max ({ei}) F (1) Where, ei is the execution time of the task Ti, and F is the frame size. Note that this constraint imposes a lower bound on frame size, i.e., the frame size F must not be smaller than max ({ei}).

23 CHAPTER 4 By Radu Muresan University of Guelph Page 23 MINIMIZATION OF TABLE SIZE The constraint 2 requires that the number of entries in the schedule table should be minimum in order to minimize the storage requirement of the schedule table. Minimization of the number of entries to be stored in the schedule table can be achieved when the minor cycle F squarely divides the major cycle M. No fractional minor cycles in M so we don't need to store the table for more than one M

24 CHAPTER 4 By Radu Muresan University of Guelph Page 24 SATISFACTION OF TASK DEADLINE Constraint 3 imposes that between the arrival of a task and its deadline, there must exist at least one full frame this constraint arises from the fact that a task can only be taken up for scheduling at the start of a frame. If between the arrival and completion of a task not even one frame exists, a situation as shown in figure above might arise in this case the task arrives a little after the k th frame and can't be taken for scheduling until frame (k+1). However, if the execution time e of T is greater than x then T misses its deadline. We therefore, need a full frame to exist between the arrival of a task and its deadline.

25 CHAPTER 4 By Radu Muresan University of Guelph Page 25 THE FORMULATION OF CONSTRAINT 3 Assume that a single frame is sufficient to complete T The task can complete before its deadline if: 2F Δt d; or 2F Δt + d The worst case scenario for a task to meet its deadline occurs for its instance that has the minimum separation from the start of frame (in this case the task would have to wait the longest before its execution can start) The determination of the minimum separation value (i.e., min(δt) for a task among all instances of the task would help in determining a feasible frame size. Next theorem shows that min(δt) = GCD(F, pi); => Here GCD is the greatest common multiple.

26 CHAPTER 4 By Radu Muresan University of Guelph Page 26 THEOREM MINIMUM SEPARATION Theorem. The minimum separation of the task arrival from the corresponding frame start time (min(δt)) considering all instances of a task Ti is equal to GCD(F, pi). (GCD means greatest common divisor) PROOF. Let g = GCD(F, pi) => g must divide squarely F and pi; Let Ti be a task with 0 phasing; Assume that the Theorem is violated for certain integers m and n, such that Ti(n) occurs in the m th frame and the difference between the start time of m th frame and the arrival of n th instance of the task Ti is less than g; That is, We proved that the minimum separation can't be smaller than GCD(F, pi).

27 CHAPTER 4 By Radu Muresan University of Guelph Page 27 SELECTING A FRAME SIZE For a given task set it is possible that more than one frame size satisfies all the 3 constraints. In such cases, it is better to choose the shortest frame size. This is because the schedulability of a task set increases as more number of frames become available in a major cycle. A suitable frame size for a task set does not assure a feasible schedule for the task set. It may so happen that there are not enough number of frames available in a major cycle to be assigned to all the task instances. Next we show 2 examples. In Example 1 we can find a suitable frame size that satisfies all 3 constraints. However, it is possible that a suitable frame size may not exist for many problems (Example 2): In such cases, to find a feasible frame size we might have to split the task (or a few tasks) that is (are) causing the violation of the constraints into smaller sub tasks that can be scheduled in different frames. It is difficult to come up with a set of guidelines to identify the exact task that is to be split, and the parts into which it needs to be split. This can therefore be done by trial and error.

28 CHAPTER 4 By Radu Muresan University of Guelph Page 28 EXAMPLE 1 A cyclic scheduler is to be used to run the following set of periodic tasks on a uniprocessor: T1:(4, 1); T2:(5, 1); T3:(20, 1); T4:(20, 1.5) Select an appropriate frame size. SOLUTION. For the given task set, an appropriate frame size is the one that satisfies all the 3 required constraints. Below we determine a suitable frame size F that satisfies all 3 constraints. Constraint 1. Let F be an appropriate frame size, then max {1, 1, 1, 1.5} F. From this constraint F 1.5; Constraint 2. The major cycle M for the given task set is given by M = LCM(4, 5, 20, 20) = 20. M should be an integral multiple of the frame size F, i.e., M mod F = 0. This consideration implies that F {2, 4, 5, 10, 20}. Note: Frame size of 1 has been ruled out since it would violate the constraint 1. Constraint 3. To satisfy this constraint, we need to check whether a selected frame size F satisfies the inequality: 2F GCD(F, pi) di; for each pi. Next page shows the calculations for Constraint 3.

29 CHAPTER 4 By Radu Muresan University of Guelph Page 29

30 CHAPTER 4 By Radu Muresan University of Guelph Page 30 EXAMPLE 2 Consider the following set of periodic real time tasks to be scheduled by a cyclic scheduler: T1:(4, 1); T2:(5, 2); T3:(20, 5). Determine the frame size for the task set. SOLUTION. Using Constraint 1 => F 5; Using Constraint 2 => M = LCM(4, 5, 20) = 20 As a result the set of values for F is {5, 10, 20}. Checking for a frame size that satisfies Constraint 3, we can find that no value of F is suitable. To overcome this problem, we need to split the task that is making the task set unschedulable; It is easy to observe that task T3 has the largest execution time, and consequently due to Constraint 1 makes the feasible frame size quite large. We try to split T3 into 3 sub tasks. After splitting T3 into 3 tasks, we have: T3,1 = (20, 1, 20); T3,2 = (20, 2, 20); T3,3 = (20, 2, 20). Now the new possible values of F are 2 and 4. We can check that after splitting the tasks, F = 2 and F = 4 are feasible frame sizes we pick the smallest one.

31 CHAPTER 4 By Radu Muresan University of Guelph Page 31 ALGORITHM FOR CONSTRUCTING STATIC SCHEDULES Scheduling Independent Preemptable Tasks; The Iterative Network-Flow (INF) Algorithm The general problem of choosing minor frame length for a given set of periodic tasks, segmenting the tasks if necessary, and scheduling the tasks that meet all their deadlines is NP-hard Step 1: Find all possible frame sizes of the system that meet the frame size constrains 2 and 3 but not necessarily constraint 1; Step 2: Apply INF algorithm starting with the largest possible frame; The INF algorithm iteratively tries to find a feasible cyclic schedule of the system for a possible frame size at a time, starting with the largest value Example that meets constraints (2) and (3) but not 1 T1=(4,1); T2=(5,2,7) and T3=(20,5) Frame sizes: 2 and 4 ENGG4420: Real-Time Systems Design; Developed by Radu Muresan 82 The INF algorithm iteratively tries to find a feasible cyclic schedule of the system for a possible frame size at a time, starting from the largest possible frame size in order of decreasing frame size. A feasible schedule thus found tells us how to decompose some tasks into subtasks if their decomposition is necessary. If the algorithm fails to find a feasible schedule after all the possible frame sizes have been tried, the given tasks do not have a feasible cyclic schedule that satisfies the frame size constraints even when tasks can be decomposed into subtasks.

32 CHAPTER 4 By Radu Muresan University of Guelph Page 32 Network-Flow Graph The algorithm used in each iteration is based on the network-flow formulation of the preemptive scheduling problem In this formulation we ignore the tasks to which the jobs belong we name the jobs in a major cycle of F frames as J1, J2,..., JN the constraints are represented by a graph The graph contains the following vertices, edges Job vertex Ji, i=1,..., N Frame vertex j, j=1,..., F Vertices source and sink Edges (Ji,j) if job Ji can be scheduled in frame j edge capacity = f Edges from source to every job vertex Ji edge capacity = ei Edges from every frame vertex to the sink edge capacity = f ENGG4420: Real-Time Systems Design; Developed by Radu Muresan 83 J1, J2,..., JN is an enumeration of all tasks instances that need to be scheduled in the major cycle M that contains F frames. Here a job can be understood as an instance of a task.

33 CHAPTER 4 By Radu Muresan University of Guelph Page 33 Network Flow Graph Algorithm Jobs/Major cycle J1 J2 JN Frames/Major cycle F A flow of an edge is a positive number that satisfies the following constraints: < the edge capacity (flow into vertexes) = (flow out) Flow of a networkflow graph = (all flows into the sink) Problem: Find the maximum flow of network-flow graph (e i ), e i Jobs J i (f), h x (f), e k source (e k ), e k (f), 0 ENGG4420: Real-Time Systems Design; Developed by Radu Muresan J k (f) e i -h Frames z y... F (f), h (f), e i +e k -h (f), 0 (f), 0 84 sink A flow of an edge is a nonnegative number that satisfies the following two constraints: (1) It is no greater than the capacity of the edge and (2) with the exception of the source and sink, the sum of the flows of all the edges into every vertex is equal to the sum of the flows of all the edges out of the vertex. This slide shows part of a network flow graph. The label (capacity), flow of each edge gives its capacity and flow. This graph indicates that job Ji can be scheduled in frames x and y and the job Jk can be scheduled in frames y and z. A flow of a network flow graph, or simply a flow, is the sum of the flows of all the edges from the source and it should equal to the sum of the flows of all the edges into the sink. There are many algorithms for finding the maximum flows of network flow graphs. The time complexity of the straightforward ones is O((N+F)^3).

34 CHAPTER 4 By Radu Muresan University of Guelph Page 34 Maximum Flow and Feasible Preemptive Schedule The flow of an edge (Ji,j) gives the amount of time in frame j allocated to job Ji The maximum flow (all job times per major cycle) The set of flows of edges from job vertices to frame vertices that gives the maximum flow represents a feasible preemptive schedule of the jobs in the frame source (1),1 (1), 1 (1),1 (1),1 (1),1 (2), 2 (2), 2 (2), 2 (2), 2 (2), 2 J 1+1 J 1+2 J 1+3 J 1+4 J 1+5 J 2+1 J 2+2 J 2+3 J 2+4 (4),2 (4),1 (4),1 (4),1 (4),0 (4),1 (4),2 (4),1 (4),2 (4),2 4 (4),2 (4),3 (4), (4),4 (4),4 (4),3 (4),3 (4),4 sink J 3+1 ENGG4420: Real-Time Systems Design; Developed by Radu Muresan (4), Clearly, the maximum flow of a network flow graph defined above is at most equal to the sum of the execution times of all the jobs to be scheduled in a major cycle. The set of flows of edges from job vertices to frame vertices that gives this maximum flow represents a feasible preemptible schedule of the jobs in the frames. Specifically, the flow of an edge (Ji, j) from a job vertex Ji to a frame vertex j gives the amount of time in frame j allocated to job Ji. This figure considers the previous example with tasks T1, T2, and T3. The possible frame sizes that satisfy Constraints 2 and 3 are f= 4 and 2. The network flow graph used in the first iteration when f=4 is shown in this figure. We want every job to be scheduled in a frame which begins no sooner than its release time and ends no later than its deadline. This is reason for the edges from the job vertices to the frame vertices. The maximum flow of this graph is 18, which is the total execution time of all the jobs in a hyperperiod. Hence, the flows of edges from the job vertices to the frame vertices represent a schedule of the tasks. It is possible that the maximum flow of a network flow graph is less than the sum of the execution times of all N jobs. This fact indicates that the given tasks have no feasible schedule with the frame size used to generate the graph.

35 WORK PAGE EXAMPLE CHAPTER 4 By Radu Muresan University of Guelph Page 35

36 CHAPTER 4 By Radu Muresan University of Guelph Page 36 ENGG4420 CHAPTER 4 LECTURE 4 November :49 PM GENERALIZED TASK SCHEDULER In practical applications we need to be able to schedule a mixture of periodic, aperiodic, and sporadic tasks. Assigning aperiodic and sporadic tasks to frames will affect the overall achievable utilization factor of the system. In a generalized scheduler, initially a schedule only for periodic tasks is developed; the sporadic and aperiodic tasks are scheduled in the slack time available in the frames. Slack time in a frame is the time left after the periodic tasks allocated to the frame complete. An arriving sporadic task is taken for scheduling only if enough slack time is available the task to complete before its deadline => acceptance test upon its arrival Aperiodic task do not have strict deadline The best effort can be made to schedule them in the available slack no guarantee for meeting deadlines. EFFICIENT IMPLEMETATION slack times for all frames are stored in a table and during acceptance test this table is used to check schedulability of the arriving tasks POPULAR ALTERNATIVE all sporadic and aperiodic tasks are accepted and best effort is made to meet their deadlines

37 CHAPTER 4 By Radu Muresan University of Guelph Page 37 PSEUDO CODE FOR A GENERALIZED SCHEDULER The generalized scheduler below schedules periodic, aperiodic, and sporadic tasks; it is assumed that the precomputed schedule for periodic tasks is stored in a schedulable table, and the sporadic tasks have been subjected to an acceptance test and only the tasks that have passed the test are available for scheduling cyclic-scheduler( ) { current-task T = Schedule-Table [k]; k = k + 1; //N is the total number of tasks k = k mod N; //in the schedule table dispatch-current-task (T); repeat above instruction for all tasks in period schedule-sporadic-tasks( ); //current task T //completed early, sporadic task can be taken schedule-aperiodic-tasks ( ); //at the end of the //frame, the running task is preempted, //if not complete idle ( ); //no task to run, idle } The cyclic scheduler routine cyclic scheduler() is activated at the end of every frame by a periodic timer

38 CHAPTER 4 By Radu Muresan University of Guelph Page 38 COMPARISON OF CYCLIC AND TABLE DRIVEN SCHEDULING A cyclic scheduler needs to set a periodic timer only once at the application initialization time; this timer continues to give an interrupt exactly at every frame boundary. In a table driven scheduling, a timer has to be set every time a task starts to run; the execution time of a typical real time task is usually of the order of a few milliseconds => a call to a timer is made every few milliseconds => degraded system performance. A CYCLIC SCHEDULER IS MORE EFFICIENT THAN A TABLE DRIVEN SCHEDULER If the overhead of setting a timer can be ignored A TABLE DRIVEN SCHEDULER IS MORE PROFICIENT than a cyclic scheduler because: The frame size must be chosen to be greater than the largest execution time of a task => processor time can be wasted when we execute tasks that have their execution times smaller than the frame size.

39 CHAPTER 4 By Radu Muresan University of Guelph Page 39 HYBRID SCHEDULERS In hybrid schedulers, the scheduling points are defined both through the clock interrupts and the event occurrences. Time-Sliced Round-Robin Scheduling Also, called processor-sharing algorithm Round-robin approach is used for scheduling time-shared applications jobs entering the queue FIFO Queue n n the job at the head of the queue enters execution for at most one time slice preempted Scheduling Algorithm ti time slice (xx ms) t1 t2 tn Job Completion Round period = n*t Where: n - number of jobs and t - time slice 1/n processor share/job ENGG4420: Real-Time Systems Design; Developed by Radu Muresan; Fall Time sliced round robin schedulers are commonly used in the traditional operating systems. A time sliced round robin scheduler is less proficient than table driven or cyclic scheduler This type of scheduler treats all task equally, and all tasks are assigned identical time slices irrespective of their priority, criticality, or closeness to their deadline. We can extend the round robins scheme and assign weights to tasks.

40 CHAPTER 4 By Radu Muresan University of Guelph Page 40 Weighted Round-Robin Approach WRR has been used for scheduling real-time traffic in high-speed switched networks jobs entering the queue FIFO Queue n n the job at the head of the queue enters execution for wt slices preempted Scheduling Algorithm t time slice (xx ms) w 1 t w 2 t w n t Job Completion Round length = (wi*t) ENGG4420: Real-Time Systems Design; Developed by Radu Muresan 29 The weighted round robin algorithm has been used for scheduling real time traffic in high speed switched networks. Rather than giving all the ready jobs equal shares of the processor, different jobs may be given different weights. Here, the weight of a job refers to the fraction of processor time allocated to the job. Specifically, a job with weight w gets w*t time slices every round, and the length of a round is equal to the sum of the weights of all the ready jobs. By adjusting the weights of the jobs, we can speed up or retard the progress of each job toward its completion.

41 CHAPTER 4 By Radu Muresan University of Guelph Page 41 EVENT DRIVEN SCHEDULING November :33 PM SHORTCOMINGS OF CYCLIC SCHEDULERS Difficult to determine a suitable frame size as well as a feasible schedule when the number of tasks is large. In almost every frame some processing time is wasted (as the frame size is larger than all task execution times) resulting in sub optimal schedules. Reduced proficiency in handling sporadic and aperiodic tasks. EVENT DRIVEN SCHEDULERS overcome these shortcomings, however they are less efficient as they deploy more complex scheduling algorithms => eventdriven schedulers are less suitable for embedded applications as they required to be of small size, low cost, and consume minimal amount of power. In event driven schedulers, the scheduling points are defined by tasks completion and task arrival events. These class of schedulers are normally preemptive, that is, a higher priority task when ready, preempts any lower priority task that may be running. WE DISCUSS 3 important examples of event driven schedulers: 1) foreground background; 2) EDF; 3) RMA

42 CHAPTER 4 By Radu Muresan University of Guelph Page 42 Priority-Driven Approach (Event-Driven) The term priority-driven algorithms refers to a large class of scheduling algorithms that never leave any resources idle intentionally Priority-driven algorithms are event-driven scheduling decisions are made when events such as release and completions of jobs occur A priority-driven algorithm is greedy because it tries to make locally optimal decisions A priority-driven algorithm is list scheduling because any prioritydriven algorithm can be implemented by assigning priorities to jobs greedy scheduling Resource Availability Data List of Priorities Queues list scheduling Releases and Completions of Jobs Events Priority Driven Scheduling Algorithms ENGG4420: Real-Time Systems Design; Developed by Radu Muresan 31 A resource (processor or other type) idles only when no job requiring the resource is ready for execution. Scheduling decisions are made when events such a release and completions of jobs occur. Hence, priority driven algorithm are event driven. Other commonly used names for this approach are greedy scheduling, list scheduling and work conserving scheduling. A priority driven algorithm is greedy because it tries to make locally optimal decisions. Leaving a processor or resource idle while some job is ready to use them is not locally optimal. However, sometimes it is better to have some jobs wait even when they are ready to execute and the resources they require are available. The term list scheduling implies assigning priorities to jobs. Jobs ready for execution are placed in one or more queues ordered by the priorities of the jobs. At any scheduling decision time, the jobs with the highest priorities are scheduled and executed on the available processors. Hence, a prioritydriven scheduling algorithm is defined to a great extent by the list of priorities it assigns to jobs; the priority list and other rules, such as whether preemption is allowed, define scheduling algorithm completely. Most scheduling algorithms used in non real time systems are priority driven. Examples include: FIFO (First In First Out), LIFO (Last In First Out) which assign priorities to jobs according to their release time; SETF (Shortest Execution Time First) and LEFT (Longest Execution Time First), which are algorithm that assign priorities based on the basis of job execution time.

43 CHAPTER 4 By Radu Muresan University of Guelph Page 43 Example of Priority-Driven Approach Schedule and execute the jobs J1,, J8 on 2 processors with shared memory Task graph: Ji, k i job number k execution time J5 released at 4; all other jobs at time 0 Priority list J i > J k if i < k (a) jobs are preemptable (b) jobs are nonpreemptable J 1,3 J 2,1 J 3,2 J 4,2 J 5,2 J 6,4 (J 1, J 2,,J 8 ) J 7,4 J 8,1 Priority list P 1 J 1 J 4 J 7 J P 2 J 2 J 3 J 7 J 5 J J 4 J 5 J 6 P 1 J P 2 J 2 J 3 J 7 J ENGG4420: Real-Time Systems Design; Developed by Radu Muresan 33 (a) (b) All edges in the task graph shown represent precedence constraints. The priority list is given next to the graph: Ji has a higher priority than Jk if i < k. All the jobs are preemptable; scheduling decisions are made whenever some job becomes ready for execution or some job completes. Schedule (a) shows the schedule of jobs on the two processors generated by the priority driven algorithm following this priority assignment. At time 0, jobs J1, J2, and J7 are ready for execution. They are the only jobs in the common priority queue at this time. J1 and J2 are scheduled. The following events occur and new scheduling decisions are made: At time 1, J2 completes and hence, J3 becomes ready; J3 is placed in the priority queue ahead of J7 and is scheduled on P2 (P2 was freed by J2). At time 3, both J1 and J3 complete; J5 is still not released; J4 and J7 are scheduled. At time 4, J5 is released. Now we have 3 jobs ready. J7 has the lowest priority; consequently it is preempted and J4 and J5 have the processors. At time 5, J4 completes; J7 resumes on processor P1. At time 6, J5 completes; because J7 is not yet completed, both J6 and J8 are not ready for execution; consequently, P2 becomes idle. J7 finally completes at time 8; J6 and J8 can now be scheduled. Schedule (b) shows a non preemptive schedule according to the same priority assignment. It turns out that for this system the postponment of J5 at time 4 benefits the set of jobs as a whole. In general, nonpreemptive scheduling is not better than preemptive scheduling.

44 CHAPTER 4 By Radu Muresan University of Guelph Page 44 FOREGROUND BACKGROUND SCHEDULER Simplest priority driven preemptive scheduler Real time tasks are run as foreground tasks; The sporadic, aperiodic, and non real time tasks are run as background tasks the background tasks run at the lowest priority. Assume that we have n foreground periodic tasks T1, T2,..., Tn and one background task T B with its execution time e B. In this case the completion time ct B for the background task is given by:

45 CHAPTER 4 By Radu Muresan University of Guelph Page 45 EXAMPLE 1 Consider a real time system in which tasks are scheduled using foreground background scheduling of one foreground task T f and one background task T B. Compute the completion time for the background task if:

46 CHAPTER 4 By Radu Muresan University of Guelph Page 46 ASSIGNMENTS PROBLEM 1. In a simple priority driven preemptive scheduler, two periodic tasks T1 and T2 and a background task T3 are scheduled. The periodic task T1 has the highest priority and executes once every 20 ms and requires 10 ms of execution time each time. T2 requires 20 ms of processing every 50 ms. T3, the background task, requires 100 ms to complete. Assuming that all the tasks start at time 0, determine the time at which T3 will complete. PROBLEM 2. Suppose that in PROBLEM 1, an overload of 1 ms on account of every context switch is to be taken into account. Compute the completion time of T3.

47 CHAPTER 4 By Radu Muresan University of Guelph Page 47 EARLIEST DEADLINE FIRST (EDF) SCHEDULING November :35 PM In EDF scheduling, at every scheduling point the task having the shortest absolute deadline is taken up for scheduling. A task set is schedulable under EDF, if and only if it satisfies the condition that the total processor utilization due to the task set is less than 1. For a set of periodic real time tasks {T1, T2,..., Tn}, EDF schedulability criterion can be expressed as: EDF has been proven to be an optimal uniprocessor scheduling algorithm. If pi > di, then each task needs ei execution time every min(pi, di). Therefore, Eq (2) can be rewritten as: However, if pi < di, it is possible that a set of tasks is EDF schedulable, even when the task set fails to meet Eq. (3). Therefore, Eq. (3) is conservative in this case and is not a necessary condition, but only a sufficient condition for a given task set to be EDF schedulable.

48 CHAPTER 4 By Radu Muresan University of Guelph Page 48 EXAMPLE OF EDF SCHEDULE Consider the following task set

49 CHAPTER 4 By Radu Muresan University of Guelph Page 49 MINIMUM LAXITY FIRST (MLF) scheduling is a variant of EDF. In MLF, at every scheduling point, a laxity value is computed for every task in the system, and the task having the minimum laxity is executed first. Laxity of a task measures the amount of time that would remain if the task is taken up for execution next laxity is a measure of the flexibility available for scheduling a task. Unlike EDF, MLF takes into consideration the execution time of a task Minimum Laxity First (MLF) Algorithm Scheduler checks the slack of all the ready jobs each time a new job is released (Slack = d-t-x) and schedules based: The smaller the slack the higher the priority Ex. {T1,T2} = {(2, 0.9), (5, 2.3)} => LST identical with EDF Ex.{T1,T2,T3} = {(2, 0.8), (5, 1.5), (5.1,1.5)} => Φi=0; Di=pi Decision Execution (Φi,pi,ei,Di) Φ=0 J 1,1 J 2,1 J 3,1 (p1,e1) (p2,e2) (p3,e3) Decision Execution J 1,2 J 2,1 J 3, ENGG4420: Real-Time Systems Design; Developed by Radu Muresan 96

50 CHAPTER 4 By Radu Muresan University of Guelph Page 50 EDF EXAMPLE Consider the 3 periodic real time tasks to be scheduled using EDF on a uniprocessor: T1:(20, 10); T:(50, 5); T3:(35, 10). Determine whether the task set is schedulable.

51 CHAPTER 4 By Radu Muresan University of Guelph Page 51 ENGG4420 CHAPTER 4 LECTURE 5 November :57 PM IS EDF REALLY A DYNAMIC PRIORITY SCHEDULING ALGORITHM If EDF were to be considered a dynamic priorityscheduling algorithm, we should be able to determine the priority value of each task at any point of time and also be able to show how it changes with time. As described, EDF scheduling does not require any priority value for any task to be computed at any time. Tasks are scheduled solely on their proximity to their deadlines. However, the longer the task waits in the ready queue, the higher the chance (probability) of being taken up for scheduling. As a result, a virtual priority value associated with a task keeps increasing with time until the task is taken up for scheduling. If we associate a priority to the task that is related to the proximity to the absolute deadline then EDF is a dynamic scheduling.

52 CHAPTER 4 By Radu Muresan University of Guelph Page 52 EDF Algorithm (b) RM-Schedule An earliest-deadline-first schedule of (2, 0.9) and (5, 2.3) EDF algorithm: dynamic-priority algorithm assigns priorities to individual jobs in the tasks according to their absolute deadlines task-level dynamic-priority (and job-level fixed-priority) algorithm once a job is placed in the ready queue according to its priority its order with respect to other jobs in the queue remains fixed Ex: Priority of T1 is > priority of T2 from time 0 until time 4 T2 starts to have higher priority at time 4 When job J2,2 is released, T2 again has a lower priority ENGG4420: Real-Time Systems Design; Developed by Radu Muresan 95 On the other hand, RM is a fixed priority algorithm at the task and job levels. The RM schedule above is not dynamic, the priority of the tasks is based on their frequency that is the inverse of the period.

53 CHAPTER 4 By Radu Muresan University of Guelph Page 53 IMPLEMENTATION OF EDF NAIVE IMPLEMENTATION OF EDF: a. b. c. d. e. a. b. c. Maintain all ready tasks in a queue Insert new freshly arriving tasks at the end of queue Every node in the queue will contain the Di (relative deadline) of tasks. At every preemption point the entire queue will be scanned from beginning to determine the task with the shortest deadline. Complexity of the scheme: insertion of a task is achieved in O(1) or constant time; task selection (to run next) and its deletion would require O(n) time sine it needs to scan the entire queue. EFFICIENT IMPLEMENTATION 1 OF EDF: a. b. c. d. Maintain all ready tasks in a sorted priority queue that can be efficiently implemented by using a heap data structure the sort criteria is in accordance to the tasks proximity to their deadline. When a task arrives, a record for it can be inserted into the heap in O(log 2 n) time. At every scheduling point, the next task to be run can be found at the top of the heap. So, in O(1) time. EFFICIENT IMPLEMENTATION 2 OF EDF: Assume that the number of distinct deadlines that tasks in an application can have are restricted. A separate FIFO queue is maintained for each distinct relative deadline. The scheduler inserts a newly arrived task at the end of the corresponding relative deadline queue. As a result, tasks in each queue are ordered according to their absolute deadline. Complexity: find the task to run is in O(1) time; time to insert a task is O(1).

54 CHAPTER 4 By Radu Muresan University of Guelph Page 54 SHORTCOMINGS OF EDF TRANSIENT OVERLOAD PROBLEM: denotes the overload of a system for a very short time. Transient overload occurs when some task takes more time to complete due to reasons such as, entering an infinite loop, entering a rarely used branch due to some abnormal input values, etc. a. When EDF is used to schedule a set of periodic real time tasks, a task overshooting its completion time can cause other task(s) to miss their deadlines. b. We can't predict which task will miss its deadline, and it can happen with the most critical task. RESOURCE SHARING PROBLEM: when EDF is used to schedule a set of real time tasks, unacceptably high overheads might have to be incurred to support resource sharing among the tasks without making tasks to miss their respective deadlines (later). EFFICIENT IMPLEMENTATION PROBLEM: the efficient implementation that assumes a restricted number of tasks with distinct deadlines is not always feasible. For a more flexible EDF algorithm, we need to keep the tasks ordered in terms of their deadlines using a priority queue.

Lecture Note #4: Task Scheduling (1) EECS 571 Principles of Real-Time Embedded Systems. Kang G. Shin EECS Department University of Michigan

Lecture Note #4: Task Scheduling (1) EECS 571 Principles of Real-Time Embedded Systems. Kang G. Shin EECS Department University of Michigan Lecture Note #4: Task Scheduling (1) EECS 571 Principles of Real-Time Embedded Systems Kang G. Shin EECS Department University of Michigan 1 Reading Assignment Liu and Layland s paper Chapter 3 of the

More information

Clock-Driven Scheduling

Clock-Driven Scheduling Integre Technical Publishing Co., Inc. Liu January 13, 2000 8:49 a.m. chap5 page 85 C H A P T E R 5 Clock-Driven Scheduling The previous chapter gave a skeletal description of clock-driven scheduling.

More information

Priority-Driven Scheduling of Periodic Tasks. Why Focus on Uniprocessor Scheduling?

Priority-Driven Scheduling of Periodic Tasks. Why Focus on Uniprocessor Scheduling? Priority-Driven Scheduling of Periodic asks Priority-driven vs. clock-driven scheduling: clock-driven: cyclic schedule executive processor tasks a priori! priority-driven: priority queue processor tasks

More information

Lecture 6: Scheduling. Michael O Boyle Embedded Software

Lecture 6: Scheduling. Michael O Boyle Embedded Software Lecture 6: Scheduling Michael O Boyle Embedded Software Overview Definitions of real time scheduling Classification Aperiodic no dependence No preemption EDD Preemption EDF Least Laxity Periodic Rate Monotonic

More information

Real-Time Systems. Modeling Real-Time Systems

Real-Time Systems. Modeling Real-Time Systems Real-Time Systems Modeling Real-Time Systems Hermann Härtig WS 2013/14 Models purpose of models describe: certain properties derive: knowledge about (same or other) properties (using tools) neglect: details

More information

Reference model of real-time systems

Reference model of real-time systems Reference model of real-time systems Chapter 3 of Liu Michal Sojka Czech Technical University in Prague, Faculty of Electrical Engineering, Department of Control Engineering November 8, 2017 Some slides

More information

Motivation. Types of Scheduling

Motivation. Types of Scheduling Motivation 5.1 Scheduling defines the strategies used to allocate the processor. Successful scheduling tries to meet particular objectives such as fast response time, high throughput and high process efficiency.

More information

Lecture 11: CPU Scheduling

Lecture 11: CPU Scheduling CS 422/522 Design & Implementation of Operating Systems Lecture 11: CPU Scheduling Zhong Shao Dept. of Computer Science Yale University Acknowledgement: some slides are taken from previous versions of

More information

Introduction to Real-Time Systems. Note: Slides are adopted from Lui Sha and Marco Caccamo

Introduction to Real-Time Systems. Note: Slides are adopted from Lui Sha and Marco Caccamo Introduction to Real-Time Systems Note: Slides are adopted from Lui Sha and Marco Caccamo 1 Overview Today: this lecture introduces real-time scheduling theory To learn more on real-time scheduling terminology:

More information

Chapter 6: CPU Scheduling. Basic Concepts. Histogram of CPU-burst Times. CPU Scheduler. Dispatcher. Alternating Sequence of CPU And I/O Bursts

Chapter 6: CPU Scheduling. Basic Concepts. Histogram of CPU-burst Times. CPU Scheduler. Dispatcher. Alternating Sequence of CPU And I/O Bursts Chapter 6: CPU Scheduling Basic Concepts Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation Maximum CPU utilization obtained

More information

Real-Time Scheduling Theory and Ada

Real-Time Scheduling Theory and Ada Technical Report CMU/SEI-88-TR-033 ESD-TR-88-034 Real-Time Scheduling Theory and Ada Lui Sha John B. Goodenough November 1988 Technical Report CMU/SEI-88-TR-033 ESD-TR-88-034 November 1988 Real-Time Scheduling

More information

Roadmap. Tevfik Koşar. CSE 421/521 - Operating Systems Fall Lecture - V CPU Scheduling - I. University at Buffalo.

Roadmap. Tevfik Koşar. CSE 421/521 - Operating Systems Fall Lecture - V CPU Scheduling - I. University at Buffalo. CSE 421/521 - Operating Systems Fall 2011 Lecture - V CPU Scheduling - I Tevfik Koşar University at Buffalo September 13 th, 2011 1 Roadmap CPU Scheduling Basic Concepts Scheduling Criteria & Metrics Different

More information

CPU Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Unix Scheduler

CPU Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Unix Scheduler CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms FCFS SJF RR Priority Multilevel Queue Multilevel Queue with Feedback Unix Scheduler 1 Scheduling Processes can be in one of several

More information

Intro to O/S Scheduling. Intro to O/S Scheduling (continued)

Intro to O/S Scheduling. Intro to O/S Scheduling (continued) Intro to O/S Scheduling 1. Intro to O/S Scheduling 2. What is Scheduling? 3. Computer Systems Scheduling 4. O/S Scheduling Categories 5. O/S Scheduling and Process State 6. O/S Scheduling Layers 7. Scheduling

More information

Advanced Types Of Scheduling

Advanced Types Of Scheduling Advanced Types Of Scheduling In the previous article I discussed about some of the basic types of scheduling algorithms. In this article I will discuss about some other advanced scheduling algorithms.

More information

Principles of Operating Systems

Principles of Operating Systems Principles of Operating Systems Lecture 9-10 - CPU Scheduling Ardalan Amiri Sani (ardalan@uci.edu) [lecture slides contains some content adapted from previous slides by Prof. Nalini Venkatasubramanian,

More information

New Results for Lazy Bureaucrat Scheduling Problem. fa Sharif University of Technology. Oct. 10, 2001.

New Results for Lazy Bureaucrat Scheduling Problem. fa  Sharif University of Technology. Oct. 10, 2001. New Results for Lazy Bureaucrat Scheduling Problem Arash Farzan Mohammad Ghodsi fa farzan@ce., ghodsi@gsharif.edu Computer Engineering Department Sharif University of Technology Oct. 10, 2001 Abstract

More information

Operating System 9 UNIPROCESSOR SCHEDULING

Operating System 9 UNIPROCESSOR SCHEDULING Operating System 9 UNIPROCESSOR SCHEDULING TYPES OF PROCESSOR SCHEDULING The aim of processor scheduling is to assign processes to be executed by the processor or processors over time, in a way that meets

More information

Preference-Oriented Fixed-Priority Scheduling for Real-Time Systems

Preference-Oriented Fixed-Priority Scheduling for Real-Time Systems Preference-Oriented Fixed-Priority Scheduling for Real-Time Systems Rehana Begam, Dakai Zhu University of Texas at San Antonio San Antonio, TX, 7829 rehan.sheta@gmail.com, dakai.zhu@utsa.edu Hakan Aydin

More information

Preemptive Scheduling of Multi-Criticality Systems with Varying Degrees of Execution Time Assurance

Preemptive Scheduling of Multi-Criticality Systems with Varying Degrees of Execution Time Assurance 28th IEEE International Real-Time Systems Symposium Preemptive Scheduling of Multi-Criticality Systems with Varying Degrees of Execution Time Assurance Steve Vestal steve.vestal@honeywell.com Honeywell

More information

A Reference Model of Real-Time Systems

A Reference Model of Real-Time Systems Integre Technical Publishing Co., Inc. Liu January 10, 2000 10:48 a.m. chap3 page 34 C H A P T E R 3 A Reference Model of Real-Time Systems When we study how given applications should be scheduled on a

More information

Technical Report CMU/SEI-89-TR-14 ESD-TR-89-; 022. Carnegie-Mellon University. Software Engineering Institute. Real-Time Scheduling Theory

Technical Report CMU/SEI-89-TR-14 ESD-TR-89-; 022. Carnegie-Mellon University. Software Engineering Institute. Real-Time Scheduling Theory ADA*H317 Technical Report CMU/SEI-89-TR-14 ESD-TR-89-; 022 Carnegie-Mellon University Software Engineering Institute Real-Time Scheduling Theory and Ada Lui Sha John B. Goodenough April 1989 Technical

More information

Real-time System Overheads: a Literature Overview

Real-time System Overheads: a Literature Overview Real-time System Overheads: a Literature Overview Mike Holenderski October 16, 2008 Abstract In most contemporary systems there are several jobs concurrently competing for shared resources, such as a processor,

More information

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

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

More information

Roadmap. Tevfik Ko!ar. CSC Operating Systems Spring Lecture - V CPU Scheduling - I. Louisiana State University.

Roadmap. Tevfik Ko!ar. CSC Operating Systems Spring Lecture - V CPU Scheduling - I. Louisiana State University. CSC 4103 - Operating Systems Spring 2008 Lecture - V CPU Scheduling - I Tevfik Ko!ar Louisiana State University January 29 th, 2008 1 Roadmap CPU Scheduling Basic Concepts Scheduling Criteria Different

More information

Slack Assessment of the Real Time Scheduling Algorithms

Slack Assessment of the Real Time Scheduling Algorithms International Journal of Control Theory and Applications ISSN : 0974-5572 International Science Press Volume 9 Number 43 2016 Slack Assessment of the Real Time Scheduling Algorithms P. Ramesh a and Uppu

More information

CRITICAL TASK RE-ASSIGNMENT UNDER HYBRID SCHEDULING APPROACH IN MULTIPROCESSOR REAL- TIME SYSTEMS

CRITICAL TASK RE-ASSIGNMENT UNDER HYBRID SCHEDULING APPROACH IN MULTIPROCESSOR REAL- TIME SYSTEMS CRITICAL TASK RE-ASSIGNMENT UNDER HYBRID SCHEDULING APPROACH IN MULTIPROCESSOR REAL- TIME SYSTEMS Gopalakrishnan T.R. Nair 1, Christy A. Persya 2 1 Saudi Aramco Endowed Chair - Technology, Prince Mohammad

More information

TRANSPORTATION PROBLEM AND VARIANTS

TRANSPORTATION PROBLEM AND VARIANTS TRANSPORTATION PROBLEM AND VARIANTS Introduction to Lecture T: Welcome to the next exercise. I hope you enjoyed the previous exercise. S: Sure I did. It is good to learn new concepts. I am beginning to

More information

CELLULAR BASED DISPATCH POLICIES FOR REAL-TIME VEHICLE ROUTING. February 22, Randolph Hall Boontariga Kaseemson

CELLULAR BASED DISPATCH POLICIES FOR REAL-TIME VEHICLE ROUTING. February 22, Randolph Hall Boontariga Kaseemson CELLULAR BASED DISPATCH POLICIES FOR REAL-TIME VEHICLE ROUTING February 22, 2005 Randolph Hall Boontariga Kaseemson Department of Industrial and Systems Engineering University of Southern California Los

More information

Asymptotic Analysis of Real-Time Queues

Asymptotic Analysis of Real-Time Queues Asymptotic Analysis of John Lehoczky Department of Statistics Carnegie Mellon University Pittsburgh, PA 15213 Co-authors: Steve Shreve, Kavita Ramanan, Lukasz Kruk, Bogdan Doytchinov, Calvin Yeung, and

More information

On-line Multi-threaded Scheduling

On-line Multi-threaded Scheduling Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Tesis de Licenciatura On-line Multi-threaded Scheduling por Marcelo Mydlarz L.U.: 290/93 Director Dr. Esteban

More information

Energy-Efficient Scheduling of Interactive Services on Heterogeneous Multicore Processors

Energy-Efficient Scheduling of Interactive Services on Heterogeneous Multicore Processors Energy-Efficient Scheduling of Interactive Services on Heterogeneous Multicore Processors Shaolei Ren, Yuxiong He, Sameh Elnikety University of California, Los Angeles, CA Microsoft Research, Redmond,

More information

Scheduling II. To do. q Proportional-share scheduling q Multilevel-feedback queue q Multiprocessor scheduling q Next Time: Memory management

Scheduling II. To do. q Proportional-share scheduling q Multilevel-feedback queue q Multiprocessor scheduling q Next Time: Memory management Scheduling II To do q Proportional-share scheduling q Multilevel-feedback queue q Multiprocessor scheduling q Next Time: Memory management Scheduling with multiple goals What if you want both good turnaround

More information

A Paper on Modified Round Robin Algorithm

A Paper on Modified Round Robin Algorithm A Paper on Modified Round Robin Algorithm Neha Mittal 1, Khushbu Garg 2, Ashish Ameria 3 1,2 Arya College of Engineering & I.T, Jaipur, Rajasthan 3 JECRC UDML College of Engineering, Jaipur, Rajasthan

More information

Swift mode changes in memory constrained real-time systems

Swift mode changes in memory constrained real-time systems Swift mode changes in memory constrained real-time systems Mike Holenderski, Reinder J. Bril and Johan J. Lukkien Eindhoven University of Technology Den Dolech 2, 5600 AZ Eindhoven, The Netherlands m.holenderski,

More information

Heuristic Techniques for Solving the Vehicle Routing Problem with Time Windows Manar Hosny

Heuristic Techniques for Solving the Vehicle Routing Problem with Time Windows Manar Hosny Heuristic Techniques for Solving the Vehicle Routing Problem with Time Windows Manar Hosny College of Computer and Information Sciences, King Saud University, Riyadh, Saudi Arabia mifawzi@ksu.edu.sa Keywords:

More information

SELF OPTIMIZING KERNEL WITH HYBRID SCHEDULING ALGORITHM

SELF OPTIMIZING KERNEL WITH HYBRID SCHEDULING ALGORITHM SELF OPTIMIZING KERNEL WITH HYBRID SCHEDULING ALGORITHM AMOL VENGURLEKAR 1, ANISH SHAH 2 & AVICHAL KARIA 3 1,2&3 Department of Electronics Engineering, D J. Sanghavi College of Engineering, Mumbai, India

More information

LEAST-MEAN DIFFERENCE ROUND ROBIN (LMDRR) CPU SCHEDULING ALGORITHM

LEAST-MEAN DIFFERENCE ROUND ROBIN (LMDRR) CPU SCHEDULING ALGORITHM LEAST-MEAN DIFFERENCE ROUND ROBIN () CPU SCHEDULING ALGORITHM 1 D. ROHITH ROSHAN, 2 DR. K. SUBBA RAO 1 M.Tech (CSE) Student, Department of Computer Science and Engineering, KL University, India. 2 Professor,

More information

The BEST Desktop Soft Real-Time Scheduler

The BEST Desktop Soft Real-Time Scheduler The BEST Desktop Soft Real-Time Scheduler Scott Banachowski and Scott Brandt sbanacho@cs.ucsc.edu Background/Motivation Best-effort Scheduling PROS: Simple, easy, flexible, no a priori information CONS:

More information

Pallab Banerjee, Probal Banerjee, Shweta Sonali Dhal

Pallab Banerjee, Probal Banerjee, Shweta Sonali Dhal Comparative Performance Analysis of Average Max Round Robin Scheduling Algorithm (AMRR) using Dynamic Time Quantum with Round Robin Scheduling Algorithm using static Time Quantum Pallab Banerjee, Probal

More information

CPU Scheduling. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

CPU Scheduling. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University CPU Scheduling Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu CPU Scheduling policy deciding which process to run next, given a set of runnable

More information

Towards the design of certifiable mixed-criticality systems

Towards the design of certifiable mixed-criticality systems Towards the design of certifiable mixed-criticality systems Sanjoy Baruah Haohan Li Department of Computer Science The University of North Carolina Chapel Hill, NC. USA Leen Stougie Division of Operations

More information

SINGLE MACHINE SEQUENCING. ISE480 Sequencing and Scheduling Fall semestre

SINGLE MACHINE SEQUENCING. ISE480 Sequencing and Scheduling Fall semestre SINGLE MACHINE SEQUENCING 2011 2012 Fall semestre INTRODUCTION The pure sequencing problem is a specialized scheduling problem in which an ordering of the jobs completely determines a schedule. Moreover,

More information

Journal of Global Research in Computer Science

Journal of Global Research in Computer Science Volume 2, No. 5, May 211 Journal of Global Research in Computer Science RESEARCH PAPER Available Online at www.jgrcs.info Weighted Mean Priority Based Scheduling for Interactive Systems H.S.Behera *1,

More information

9. Verification, Validation, Testing

9. Verification, Validation, Testing 9. Verification, Validation, Testing (a) Basic Notions (b) Dynamic testing. (c) Static analysis. (d) Modelling. (e) Environmental Simulation. (f) Test Strategies. (g) Tool support. (h) Independent Verification

More information

Resource Allocation Optimization in Critical Chain Method

Resource Allocation Optimization in Critical Chain Method Annales UMCS Informatica AI XII, 1 (2012) 17 29 DOI: 10.2478/v10065-012-0006-2 Resource Allocation Optimization in Critical Chain Method Grzegorz Pawiński 1, Krzysztof Sapiecha 1 1 Department of Computer

More information

Axiomatic Design of Manufacturing Systems

Axiomatic Design of Manufacturing Systems Axiomatic Design of Manufacturing Systems Introduction to Manufacturing System "What is a manufacturing system?" "What is an ideal manufacturing system?" "How should we design a manufacturing system?"

More information

Techniques of Operations Research

Techniques of Operations Research Techniques of Operations Research C HAPTER 2 2.1 INTRODUCTION The term, Operations Research was first coined in 1940 by McClosky and Trefthen in a small town called Bowdsey of the United Kingdom. This

More information

International ejournals

International ejournals ISSN 2249 5460 Available online at www.internationalejournals.com International ejournals International Journal of Mathematical Sciences, Technology and Humanities 21 (2011) 205 212 ENERGY CONTROL CENTER

More information

APPLIED A NEW METHOD FOR MULTI-MODE PROJECT SCHEDULING

APPLIED A NEW METHOD FOR MULTI-MODE PROJECT SCHEDULING project, project scheduling, resource-constrained project scheduling, project-driven manufacturing, multi-mode, heuristic, branch and bound scheme, make-to-order Iwona PISZ Zbigniew BANASZAK APPLIED A

More information

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017 CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 Page Replacement Policies 2 Review: Page-Fault Handler (OS) (cheap) (cheap) (depends) (expensive) (cheap) (cheap) (cheap) PFN = FindFreePage()

More information

Gang Scheduling Performance on a Cluster of Non-Dedicated Workstations

Gang Scheduling Performance on a Cluster of Non-Dedicated Workstations Gang Scheduling Performance on a Cluster of Non-Dedicated Workstations Helen D. Karatza Department of Informatics Aristotle University of Thessaloniki 54006 Thessaloniki, Greece karatza@csd.auth.gr Abstract

More information

Optimized Virtual Resource Deployment using CloudSim

Optimized Virtual Resource Deployment using CloudSim Optimized Virtual Resource Deployment using CloudSim Anesul Mandal Software Professional, Aptsource Software Pvt. Ltd., A-5 Rishi Tech Park, New Town, Rajarhat, Kolkata, India. Kamalesh Karmakar Assistant

More information

Fixed-Priority Preemptive Multiprocessor Scheduling: To Partition or not to Partition

Fixed-Priority Preemptive Multiprocessor Scheduling: To Partition or not to Partition Fixed-Priority Preemptive Multiprocessor Scheduling: To Partition or not to Partition Björn Andersson and Jan Jonsson Department of Computer Engineering Chalmers University of Technology SE 412 96 Göteborg,

More information

Technical Bulletin Comparison of Lossy versus Lossless Shift Factors in the ISO Market Optimizations

Technical Bulletin Comparison of Lossy versus Lossless Shift Factors in the ISO Market Optimizations Technical Bulletin 2009-06-03 Comparison of Lossy versus Lossless Shift Factors in the ISO Market Optimizations June 15, 2009 Comparison of Lossy versus Lossless Shift Factors in the ISO Market Optimizations

More information

Review of Round Robin (RR) CPU Scheduling Algorithm on Varying Time Quantum

Review of Round Robin (RR) CPU Scheduling Algorithm on Varying Time Quantum International Journal of Engineering Science Invention ISSN (Online): 2319 6734, ISSN (Print): 2319 6726 Volume 6 Issue 8 August 2017 PP. 68-72 Review of Round Robin (RR) CPU Scheduling Algorithm on Varying

More information

DEADLINE SCHEDULING FOR REAL-TIME SYSTEMS. EDF and Related Algorithms

DEADLINE SCHEDULING FOR REAL-TIME SYSTEMS. EDF and Related Algorithms DEADLINE SCHEDULING FOR REAL-TIME SYSTEMS EDF and Related Algorithms THE KLUWER INTERNATIONAL SERIES IN ENGINEERING AND COMPUTER SCIENCE REAL-TIME SYSTEMS Consulting Editor John A. Stankovic HARD REAL-TIME

More information

Introduction to software testing and quality process

Introduction to software testing and quality process Introduction to software testing and quality process Automated testing and verification J.P. Galeotti - Alessandra Gorla Engineering processes Engineering disciplines pair construction activities activities

More information

Recall: FCFS Scheduling (Cont.) Example continued: Suppose that processes arrive in order: P 2, P 3, P 1 Now, the Gantt chart for the schedule is:

Recall: FCFS Scheduling (Cont.) Example continued: Suppose that processes arrive in order: P 2, P 3, P 1 Now, the Gantt chart for the schedule is: CS162 Operating Systems and Systems Programming Lecture 10 Scheduling October 3 rd, 2016 Prof. Anthony D. Joseph http://cs162.eecs.berkeley.edu Recall: Scheduling Policy Goals/Criteria Minimize Response

More information

Job Scheduling in Cluster Computing: A Student Project

Job Scheduling in Cluster Computing: A Student Project Session 3620 Job Scheduling in Cluster Computing: A Student Project Hassan Rajaei, Mohammad B. Dadfar Department of Computer Science Bowling Green State University Bowling Green, Ohio 43403 Phone: (419)372-2337

More information

Attribute-Driven Design Method

Attribute-Driven Design Method 1 Attribute-Driven Design Method April 2014 Ying SHEN SSE, Tongji University 2 Lecture objectives This lecture will enable student to understand ADD steps design the architecture using ADD method 3 Architecture

More information

Discrete Event Simulation

Discrete Event Simulation Chapter 2 Discrete Event Simulation The majority of modern computer simulation tools (simulators) implement a paradigm, called discrete-event simulation (DES). This paradigm is so general and powerful

More information

SCHEDULING IN MANUFACTURING SYSTEMS

SCHEDULING IN MANUFACTURING SYSTEMS In process planning, the major issue is how to utilize the manufacturing system s resources to produce a part: how to operate the different manufacturing processes. In scheduling. The issue is when and

More information

Process Scheduling Course Notes in Operating Systems 1 (OPESYS1) Justin David Pineda

Process Scheduling Course Notes in Operating Systems 1 (OPESYS1) Justin David Pineda Process Scheduling Course Notes in Operating Systems 1 (OPESYS1) Justin David Pineda Faculty, Asia Pacific College November 2015 Introduction On the first half of the term, we discussed the conceptual

More information

Energy Aware Resource Allocation for Data Center

Energy Aware Resource Allocation for Data Center Advances in Computational Sciences and Technology ISSN 0973-6107 Volume 10, Number 1 (2017) pp. 1-9 Research India Publications http://www.ripublication.com Energy Aware Resource Allocation for Data Center

More information

Job Scheduling Challenges of Different Size Organizations

Job Scheduling Challenges of Different Size Organizations Job Scheduling Challenges of Different Size Organizations NetworkComputer White Paper 2560 Mission College Blvd., Suite 130 Santa Clara, CA 95054 (408) 492-0940 Introduction Every semiconductor design

More information

Rolling Horizon Approach for Aircraft Scheduling in the Terminal Control Area of Busy Airports

Rolling Horizon Approach for Aircraft Scheduling in the Terminal Control Area of Busy Airports Available online at www.sciencedirect.com Procedia - Social and Behavioral Scienc es 80 ( 2013 ) 531 552 20th International Symposium on Transportation and Traffic Theory (ISTTT 2013) Rolling Horizon Approach

More information

Application the Queuing Theory in the Warehouse Optimization Jaroslav Masek, Juraj Camaj, Eva Nedeliakova

Application the Queuing Theory in the Warehouse Optimization Jaroslav Masek, Juraj Camaj, Eva Nedeliakova Application the Queuing Theory in the Warehouse Optimization Jaroslav Masek, Juraj Camaj, Eva Nedeliakova Abstract The aim of optimization of store management is not only designing the situation of store

More information

Model of Grid Scheduling Problem

Model of Grid Scheduling Problem Model of Grid Scheduling Problem Pavel Fibich and Luděk Matyska and Hana Rudová Faculty of Informatics, Masaryk University Botanická 68a, Brno 602 00, Czech Republic {xfibich,ludek,hanka}@fi.muni.cz Abstract

More information

Modeling of competition in revenue management Petr Fiala 1

Modeling of competition in revenue management Petr Fiala 1 Modeling of competition in revenue management Petr Fiala 1 Abstract. Revenue management (RM) is the art and science of predicting consumer behavior and optimizing price and product availability to maximize

More information

10/1/2013 BOINC. Volunteer Computing - Scheduling in BOINC 5 BOINC. Challenges of Volunteer Computing. BOINC Challenge: Resource availability

10/1/2013 BOINC. Volunteer Computing - Scheduling in BOINC 5 BOINC. Challenges of Volunteer Computing. BOINC Challenge: Resource availability Volunteer Computing - Scheduling in BOINC BOINC The Berkley Open Infrastructure for Network Computing Ryan Stern stern@cs.colostate.edu Department of Computer Science Colorado State University A middleware

More information

Hadoop Fair Scheduler Design Document

Hadoop Fair Scheduler Design Document Hadoop Fair Scheduler Design Document August 15, 2009 Contents 1 Introduction The Hadoop Fair Scheduler started as a simple means to share MapReduce clusters. Over time, it has grown in functionality to

More information

Multi-Level µtesla: A Broadcast Authentication System for Distributed Sensor Networks

Multi-Level µtesla: A Broadcast Authentication System for Distributed Sensor Networks Multi-Level µtesla: A Broadcast Authentication System for Distributed Sensor Networks Donggang Liu Peng Ning Cyber Defense Laboratory Department of Computer Science North Carolina State University Raleigh,

More information

Mathematical Modeling and Analysis of Finite Queueing System with Unreliable Single Server

Mathematical Modeling and Analysis of Finite Queueing System with Unreliable Single Server IOSR Journal of Mathematics (IOSR-JM) e-issn: 2278-5728, p-issn: 2319-765X. Volume 12, Issue 3 Ver. VII (May. - Jun. 2016), PP 08-14 www.iosrjournals.org Mathematical Modeling and Analysis of Finite Queueing

More information

ure Outline edulability tests for fixed-priority systems ctical factors nues from material in lecturee 5, with the same assumption

ure Outline edulability tests for fixed-priority systems ctical factors nues from material in lecturee 5, with the same assumption riority-driven Scheduling f Periodic Ta asks (2) Embedded Softw ware Lectu ure 6 Real-Time ure Outline edulability tests for fixed-priority systems onditions for optimality and schedulability eneral schedulability

More information

What about streaming data?

What about streaming data? What about streaming data? 1 The Stream Model Data enters at a rapid rate from one or more input ports Such data are called stream tuples The system cannot store the entire (infinite) stream Distribution

More information

Multi-Dimensional, MultiStep Negotiation for Task Allocation in a Cooperative System

Multi-Dimensional, MultiStep Negotiation for Task Allocation in a Cooperative System Multi-Dimensional, MultiStep Negotiation for Task Allocation in a Cooperative System Xiaoqin Zhang Department of Computer and Information Science University of Massachusetts at Dartmouth Victor Lesser

More information

An Omniscient Scheduling Oracle for Systems with Harmonic Periods

An Omniscient Scheduling Oracle for Systems with Harmonic Periods Boston University OpenBU Computer Science http://open.bu.edu CAS: Computer Science: Technical Reports 1998-09-02 An Omniscient Scheduling Oracle for Systems with Harmonic Periods Atlas, Alia Boston University

More information

LOADING AND SEQUENCING JOBS WITH A FASTEST MACHINE AMONG OTHERS

LOADING AND SEQUENCING JOBS WITH A FASTEST MACHINE AMONG OTHERS Advances in Production Engineering & Management 4 (2009) 3, 127-138 ISSN 1854-6250 Scientific paper LOADING AND SEQUENCING JOBS WITH A FASTEST MACHINE AMONG OTHERS Ahmad, I. * & Al-aney, K.I.M. ** *Department

More information

FRAM First Steps How to Use FRAM and the FMV

FRAM First Steps How to Use FRAM and the FMV FRAM First Steps How to Use FRAM and the FMV Erik Hollnagel Professor, University of Southern Denmark Chief Consultant Center for Quality, RSD (DK) hollnagel.erik@gmail.com FRAM analysis steps 0 Describe

More information

THE LEAD PROFILE AND OTHER NON-PARAMETRIC TOOLS TO EVALUATE SURVEY SERIES AS LEADING INDICATORS

THE LEAD PROFILE AND OTHER NON-PARAMETRIC TOOLS TO EVALUATE SURVEY SERIES AS LEADING INDICATORS THE LEAD PROFILE AND OTHER NON-PARAMETRIC TOOLS TO EVALUATE SURVEY SERIES AS LEADING INDICATORS Anirvan Banerji New York 24th CIRET Conference Wellington, New Zealand March 17-20, 1999 Geoffrey H. Moore,

More information

Project Number D2.2 Soft Real-Time Dynamic Resource Allocation. Version December 2014 Final. Public Distribution. University of York

Project Number D2.2 Soft Real-Time Dynamic Resource Allocation. Version December 2014 Final. Public Distribution. University of York Project Number 611411 D2.2 Soft Real-Time Dynamic Resource Allocation Version 1.0 8 December 2014 Final Public Distribution University of York Project Partners: Aicas, Bosch, CNRS, Rheon Media, The Open

More information

Locational Marginal Pricing (LMP): Basics of Nodal Price Calculation

Locational Marginal Pricing (LMP): Basics of Nodal Price Calculation MRTU Locational Marginal Pricing (LMP): Basics of Nodal Price Calculation CRR Educational Class #2 CAISO Market Operations Why are LMPs important to the CRR Allocation & Settlement Process The CRR revenue

More information

Resource Allocation Strategies in a 2-level Hierarchical Grid System

Resource Allocation Strategies in a 2-level Hierarchical Grid System st Annual Simulation Symposium Resource Allocation Strategies in a -level Hierarchical Grid System Stylianos Zikos and Helen D. Karatza Department of Informatics Aristotle University of Thessaloniki 5

More information

Addressing UNIX and NT server performance

Addressing UNIX and NT server performance IBM Global Services Addressing UNIX and NT server performance Key Topics Evaluating server performance Determining responsibilities and skills Resolving existing performance problems Assessing data for

More information

An Application of Causal Analysis to the Software Modification Process

An Application of Causal Analysis to the Software Modification Process SOFTWARE PRACTICE AND EXPERIENCE, VOL. 23(10), 1095 1105 (OCTOBER 1993) An Application of Causal Analysis to the Software Modification Process james s. collofello Computer Science Department, Arizona State

More information

Tactical Planning using Heuristics

Tactical Planning using Heuristics Tactical Planning using Heuristics Roman van der Krogt a Leon Aronson a Nico Roos b Cees Witteveen a Jonne Zutt a a Delft University of Technology, Faculty of Information Technology and Systems, P.O. Box

More information

SPECIAL CONTROL CHARTS

SPECIAL CONTROL CHARTS INDUSTIAL ENGINEEING APPLICATIONS AND PACTICES: USES ENCYCLOPEDIA SPECIAL CONTOL CHATS A. Sermet Anagun, PhD STATEMENT OF THE POBLEM Statistical Process Control (SPC) is a powerful collection of problem-solving

More information

Efficient Round Robin Scheduling Algorithm with Dynamic Time Slice

Efficient Round Robin Scheduling Algorithm with Dynamic Time Slice I.J. Education and Management Engineering, 2015, 2, 10-19 Published Online June 2015 in MECS (http://www.mecs-press.net) DOI: 10.5815/ijeme.2015.02.02 Available online at http://www.mecs-press.net/ijeme

More information

Routing and Staffing in Customer Service Chat Systems with Impatient Customers

Routing and Staffing in Customer Service Chat Systems with Impatient Customers OPERATIONS RESEARCH Vol. 62, No. 4, July August 2014, pp. 943 956 ISSN 0030-364X (print) ó ISSN 1526-5463 (online) http://dx.doi.org/10.1287/opre.2014.1284 2014 INFORMS Routing and Staffing in Customer

More information

Mileage savings from optimization of coordinated trucking 1

Mileage savings from optimization of coordinated trucking 1 Mileage savings from optimization of coordinated trucking 1 T.P. McDonald Associate Professor Biosystems Engineering Auburn University, Auburn, AL K. Haridass Former Graduate Research Assistant Industrial

More information

DeltaV Control Module Execution

DeltaV Control Module Execution DeltaV Distributed Control System White Paper October 2016 DeltaV Control Module Execution This document explains how the execution of control modules is managed in the DeltaV controller. Table of Contents

More information

Online Student Guide Types of Control Charts

Online Student Guide Types of Control Charts Online Student Guide Types of Control Charts OpusWorks 2016, All Rights Reserved 1 Table of Contents LEARNING OBJECTIVES... 4 INTRODUCTION... 4 DETECTION VS. PREVENTION... 5 CONTROL CHART UTILIZATION...

More information

Toward Effective Multi-capacity Resource Allocation in Distributed Real-time and Embedded Systems

Toward Effective Multi-capacity Resource Allocation in Distributed Real-time and Embedded Systems Toward Effective Multi-capacity Resource Allocation in Distributed Real-time and Embedded Systems Nilabja Roy, John S. Kinnebrew, Nishanth Shankaran, Gautam Biswas, and Douglas C. Schmidt Department of

More information

Supply Planning in Microsoft

Supply Planning in Microsoft Supply Planning in Microsoft Dynamics NAV 2013 Technical White Paper Supply Planning in Microsoft Dynamics NAV 2013... 4 Central Concepts of the Planning System... 5 Planning Parameters... 5 Planning Starting

More information

Chapter 7 Entity Transfer and Steady-State Statistical Analysis

Chapter 7 Entity Transfer and Steady-State Statistical Analysis Chapter 7 Entity Transfer and Steady-State Statistical Analysis What We ll Do... Types of Entity Transfers Resource-Constrained Transfers Transporters (Model 7.1) Conveyors Non-accumulating (Model 7.2)

More information

Evolutionary Algorithms

Evolutionary Algorithms Evolutionary Algorithms Evolutionary Algorithms What is Evolutionary Algorithms (EAs)? Evolutionary algorithms are iterative and stochastic search methods that mimic the natural biological evolution and/or

More information

Get The Best Out Of Oracle Scheduler

Get The Best Out Of Oracle Scheduler Get The Best Out Of Oracle Scheduler Vira Goorah Oracle America Redwood Shores CA Introduction Automating the business process is a key factor in reducing IT operating expenses. The need for an effective

More information

Outline. Reference : Aho Ullman, Sethi

Outline. Reference : Aho Ullman, Sethi Outline Code Generation Issues Basic Blocks and Flow Graphs Optimizations of Basic Blocks A Simple Code Generator Peephole optimization Register allocation and assignment Instruction selection by tree

More information

Utilization vs. Throughput: Bottleneck Detection in AGV Systems

Utilization vs. Throughput: Bottleneck Detection in AGV Systems Utilization vs. Throughput: Bottleneck Detection in AGV Systems Christoph Roser Masaru Nakano Minoru Tanaka Toyota Central Research and Development Laboratories Nagakute, Aichi 480-1192, JAPAN ABSTRACT

More information