Priority-Driven Scheduling



Similar documents
Commonly Used Approaches to Real-Time Scheduling

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses

Periodic Task Scheduling

Scheduling Aperiodic and Sporadic Jobs in Priority- Driven Systems

Common Approaches to Real-Time Scheduling

4. Fixed-Priority Scheduling

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

3. Scheduling issues. Common approaches /1. Common approaches /2. Common approaches / /13 UniPD / T. Vardanega 23/01/2013. Real-Time Systems 1

Aperiodic Task Scheduling

Real-Time Scheduling (Part 1) (Working Draft) Real-Time System Example

Lecture 3 Theoretical Foundations of RTOS

Partition Scheduling in APEX Runtime Environment for Embedded Avionics Software

Module 6. Embedded System Software. Version 2 EE IIT, Kharagpur 1

A Survey of Fitting Device-Driver Implementations into Real-Time Theoretical Schedulability Analysis

Scheduling Real-time Tasks: Algorithms and Complexity

Real-Time Software. Basic Scheduling and Response-Time Analysis. René Rydhof Hansen. 21. september 2010

Real-Time Scheduling 1 / 39

Real-time scheduling algorithms, task visualization

Multi-core real-time scheduling

Real Time Scheduling Basic Concepts. Radek Pelánek

LAB 5: Scheduling Algorithms for Embedded Systems

174: Scheduling Systems. Emil Michta University of Zielona Gora, Zielona Gora, Poland 1 TIMING ANALYSIS IN NETWORKED MEASUREMENT CONTROL SYSTEMS

ICS Principles of Operating Systems

Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration

The simple case: Cyclic execution

Operating System Aspects. Real-Time Systems. Resource Management Tasks

CPU Scheduling. Multitasking operating systems come in two flavours: cooperative multitasking and preemptive multitasking.

Improvement of Scheduling Granularity for Deadline Scheduler

2. is the number of processes that are completed per time unit. A) CPU utilization B) Response time C) Turnaround time D) Throughput

Real- Time Scheduling

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

Real-Time Database Systems: Concepts and Design

Modular Real-Time Linux

SOFTWARE VERIFICATION RESEARCH CENTRE THE UNIVERSITY OF QUEENSLAND. Queensland 4072 Australia TECHNICAL REPORT. No Real-Time Scheduling Theory

CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS

A Comparative Study of Scheduling Algorithms for Real Time Task

A Comparative Performance Analysis of Load Balancing Algorithms in Distributed System using Qualitative Parameters

W4118 Operating Systems. Instructor: Junfeng Yang

Real-Time Multi-Core Virtual Machine Scheduling in Xen

Predictable response times in event-driven real-time systems

On-line scheduling algorithm for real-time multiprocessor systems with ACO

/ Operating Systems I. Process Scheduling. Warren R. Carithers Rob Duncan

Real-Time Multi-Core Virtual Machine Scheduling in Xen

DYNAMIC SCHEDULING STRATEGIES FOR AVIONICS MISSION COMPUTING. David L. Levine, Christopher D. Gill, and Douglas C. Schmidt

Grant Agreement FP7-ICT

Objectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts

Hardware Task Scheduling and Placement in Operating Systems for Dynamically Reconfigurable SoC

Processor Scheduling. Queues Recall OS maintains various queues

Improved Handling of Soft Aperiodic Tasks in Offline Scheduled Real-Time Systems using Total Bandwidth Server

Aperiodic Task Scheduling

CHAPTER 4: SOFTWARE PART OF RTOS, THE SCHEDULER

Performance of Algorithms for Scheduling Real-Time Systems with Overrun and Overload

Konzepte von Betriebssystem-Komponenten. Linux Scheduler. Valderine Kom Kenmegne Proseminar KVBK Linux Scheduler Valderine Kom

Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing

The Design and Implementation of Real-Time Schedulers in RED-Linux

Operating Systems, 6 th ed. Test Bank Chapter 7

CPU Scheduling Outline

Real Time Scheduling Theory: A Historical Perspective

OPERATING SYSTEMS SCHEDULING

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6

Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings

CPU Scheduling. CPU Scheduling

Chapter 5 Process Scheduling

CPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

Least Slack Time Rate First: an Efficient Scheduling Algorithm for Pervasive Computing Environment

Scheduling Algorithms For Fault-Tolerant Real-Time Systems

Partitioned EDF Scheduling for Multiprocessors using a C=D Scheme

Aperiodic Task Scheduling for Real-Time Systems. Brinkley Sprunt

Module 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1

HARD REAL-TIME SCHEDULING: THE DEADLINE-MONOTONIC APPROACH 1. Department of Computer Science, University of York, York, YO1 5DD, England.

RT-Xen: Towards Real-time Hypervisor Scheduling in Xen

Operating Systems. III. Scheduling.

Real-Time Task Scheduling for Energy-Aware Embedded Systems 1

Real-Time Databases and Data Services

Enhancing the Monitoring of Real-Time Performance in Linux

Comparison between scheduling algorithms in RTLinux and VxWorks

Methods and Tools For Embedded Distributed System Scheduling and Schedulability Analysis

Performance Analysis of Load Balancing Algorithms in Distributed System

Job Scheduling Model

Introduction. Scheduling. Types of scheduling. The basics

Transcription:

Priority-Driven Scheduling

Advantages of Priority-Driven Scheduling Priority-driven scheduling is easy to implement. It does not require the information on the release times and execution times of the jobs a priori. The run-time overhead due to maintaining a priority queue of ready jobs can be made small.

On-Line Scheduling The priority-driven algorithms are on-line scheduling algorithms. The scheduler of on-line scheduling makes each decision without knowledge about the jobs that are released in the future. The parameters of each job become known to the online scheduler only after the job is released. On-line scheduling is the only option in a system whose future workload is unpredictable.

Disadvantages of Priority-Driven Scheduling However, the timing behavior of a prioritydriven system is nondeterministic. It is difficult to validate that all jobs scheduled in a priority-driven manner meet their deadlines when the job parameters vary.

Assumptions of Priority-Driven Scheduling Every job is ready for execution as soon as it is released, and can be preempted at any time. Scheduling decisions are made immediately upon job releases and completions. The context switch overhead is negligibly small compared with execution times. The number of priority levels is unlimited.

Scheduling on Uniprocessor Systems In a static system, all the tasks are partitioned into subsystems. Each subsystem is assigned to a processor, and tasks on each processor are scheduled by themselves. In a dynamic system, jobs ready for execution are placed in one common priority queue and dispatched to processors for execution as the processors become available. Most hard real-time systems built and in use to date are static. In the case when tasks in a static system are independent, we consider scheduling jobs to a single processor.

Fixed versus Dynamic Priority Algorithms A fixed-priority algorithm assigns the same priority to all the jobs in each task. A dynamic-priority algorithm assigns different priorities to the individual jobs in each task. By dynamic, we mean task-level dynamic and job level fixed. Most real-time scheduling algorithms of practical interests assign job-level fixed priorities.

Fixed-Priority Algorithms Rate-monotonic (RM) algorithm: It assigns priorities to tasks based on their periods: the shorter the period, the higher the priority. Hence, the higher the rate, the higher the priority. Deadline-monotonic (DM) algorithm: It assigns priorities to jobs according to their relative deadlines: the shorter the relative deadline, the higher the priority.

Dynamic-Priority Algorithms Jobs are assigned different priority-level in different tasks. Once a job is placed in the ready job queue according to the priority assigned to it, its order with respect to other jobs in the queue remains fixed.

EDF Algorithm Earliest-Deadline-First (EDF) algorithm assigns priorities to jobs according to their deadlines. The earlier the deadline, the higher the priority. This algorithm is optimal when used to schedule jobs on a processor as long as preemption is allowed and jobs do not contend for resources. Definition of optimal : can produce a feasible schedule of a set of jobs with arbitrary release times and deadlines on a processor if a feasible schedule exists.

LST Algorithm Least-Slack-Time-First (LST) algorithm, a.k.a. Minimum- Laxity-First (MLF) algorithm, assigns priorities to jobs based on their slacks: the smaller the slack, the higher the priority. At any time t, the slack (or laxity) of a job with deadline at d is equal to d t minus the time required to complete the remaining portion of the job. EDF and LST algorithms are optimal only when preemption is allowed.

Overloaded Systems The system is overloaded if the jobs offered to the scheduler cannot be feasibly scheduled by any scheduler. During an overload, some jobs must be discarded in order to allow other jobs to complete in time. EDF and LST algorithms are optimal under the condition that the jobs are preemptive, there is only one processor, and the processor is not overloaded. EDF and LST algorithms performance poorly when the system is overloaded.

Maximum Schedulable Utilization A system of independent, preemptive tasks with relative deadlines equal to their respective periods can be feasibly scheduled on one processor if and only if its total utilization is equal to or less than 1. A system of simply periodic, independent, preemptive tasks whose relative deadlines are equal to or larger than their periods is schedulable on one processor according to the RM algorithm if and only if its total utilization is equal to or less than 1.

Maximum Schedulable Utilization A system of independent, preemptive periodic tasks that are in phase and have relative deadlines equal to or less than their respective periods can be feasibly scheduled on one processor according to the DM algorithm whenever it can be feasibly scheduled according to any fixed-priority algorithm.