# Real-Time Scheduling 1 / 39

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Real-Time Scheduling 1 / 39 Multiple Real-Time Processes A runs every 30 msec; each time it needs 10 msec of CPU time B runs 25 times/sec for 15 msec C runs 20 times/sec for 5 msec For our equation, A uses 10/30 of the CPU, B uses 15/40, and C uses 5/50; that s about 81% 2 / 39 1

2 Diagram A1 A2 A3 A B1 B2 B3 C1 C A1 must finish before A2 starts, B1 before B2,... 3 / 39 2

3 Other Issues Some real-time systems permit preemption; some do not Desirability depends on system type (text s discussion is for multimedia system, which are usually preemptible May have aperiodic processes in the mix Static or dynamic scheduling 4 / 39 Rate Monotonic Scheduling A static scheduling algorithm by Lieu and Layland (1973) Conditions: 1. Each periodic process completes within its slot 2. No interprocess dependencies 3. Each process needs the same amount of CPU each time 4. Non-periodic processes have no deadlines 5. Preemption happens instantly with no overhead Yes, this is an oversimplified model... 5 / 39 3

4 Algorithm Assign a process priority equal to its frequency: A = 33, B = 25, C = 20 Always run the highest-priority runnable process Thus, A can preempt B or C; B can preempt C Proved optimal among class of static algorithms 6 / 39 4

5 RMS A1 A2 A3 A4 B1 B2 B3 C1 C2 C3 RMS A1 B1 C1 A2 B2 C2 A3 B3 A4 B3C Note that B3 is preempted to let A4 run 7 / 39 5

6 Earliest Deadline First More general model Supports aperiodic events, non-identical CPU bursts Dynamic priority assignment When a process starts, it announces its deadline Priorities are assigned in order of deadline Initially, A goes first, because it has to finish by T = 30; B s deadline is T = 40 and C s is T = 50 8 / 39 6

7 EDF A1 A2 A3 A4 B1 B2 B3 C1 C2 C3 EDF A1 B1 C1 A2 B2 C2 A3 B3 A4 C At T = 80, it gives B priority 9 / 39 7

8 RMS Doesn t Always Work Suppose that A needs 15 msec each time Our formula says we re ok: (15/ /40 + 5/50) = 97.5% But it fails A1 runs from T = 0 to T = 15; B1 runs from T = 15 to T = 30 At that point, A2 is ready, and has a higher priority than C1; B2 follows it There s no time for C1 before C2 has to start 10 / 39 8

9 RMS Failure A1 A2 A3 A4 B1 B2 B3 C1 C2 C3 RMS A1 B1 A2 B2? C1 can t run before C2 has to start 11 / 39 9

10 Why Did it Fail? RMS is only guaranteed to work if m i=1 C i P i m(2 1/m 1) As m, utilization approaches ln 2 = For m = 3, it can fail (though won t always) at 78% Maximum allowed utilization goes down as m increases EDF will succeed for this example The CPU idle period 2.5% will occur every 200 msec 12 / 39 10

11 EDF Succeeds A1 A2 A3 A4 B1 B2 B3 C1 C2 C3 RMS A1 B1 C1 A2 B2 A3 C2 B3 A4 C Note that C1 runs before A2 13 / 39 11

12 Gantt Charts The diagrams I ve been using are called Gantt Charts Useful tool for modeling process scheduling Especially useful with an automated tool 14 / 39 Other Issues 15 / 39 Scheduling Threads With user-level threads, there is no interaction with the scheduler A kernel-level thread implementation relies on the system s scheduler It s often beneficial to schedule several threads from the same process consecutively avoid changes to the memory map Similar logic says keep threads from the same process on a single CPU, if feasible Application-level thread scheduler can handle priorities more easily, though kernel-level priorities aren t hard to set 16 / 39 12

13 Scheduling and Multiprocessor Systems What processes run on which processor? Does it matter? What are the implications? 17 / 39 Asymmetric Multiprocessing All kernel functions are handled by the master CPU The only thing the other CPUs do in the kernel is pull processes off the run queue and do context switches Simplifies OS design locking is much simpler Common first step in OS conversion for multiprocessor use 18 / 39 13

14 Symmetric Multiprocessing Each processor can do anything Possible to have more than one CPU in the kernel simultaneously Need fine-grained locking; single big lock is almost the same as asymmetric MP Locking is a very important issue for multiprocessors; we ll discuss this more on Wednesday 19 / 39 Processor Affinity Sometimes, it s better (or necessary) for a given process to execute on a specific CPU Example cited earlier: memory map (and cache) I/O issues sometimes a specific I/O devices is on a local bus 20 / 39 14

15 How Do We Measure CPU Time? Early clocks were low resolution Unix classic: 60 Hz Too coarse to measure a fraction of a quantum Besides, the clock was an I/O device, hence slow to access 21 / 39 Statistical Time At each clock tick, add 1 to the current process CPU counter Actually, two counters, one for user mode and one for kernel mode Not accurate over short periods: A process may run for too short a time and not get charged A process may start its quantum right before the timer tick and be charged too much Statistically, though, it s good enough 22 / 39 15

16 I/O and Memory CPU time isn t the only scarce resource Especially today, total system performance is limited by I/O bandwidth and memory availability Must read programs in from disk Must have memory for them That may mean paging out another process, which puts more load on the disk The scheduler should interact with the I/O subsystem and the memory subsystem 23 / 39 Different Schedulers 24 / 39 Scheduler Algorithms Modern systems may have many processes running At this instant, for example, cluster is running 525 processes Even on modern CPUs, we don t want scheduling algorithms that iterate over all processes Linux uses a O(1) scheduler scheduling decisions take constant time, regardless of the number of processes 25 / 39 16

17 Policy versus Mechanism Put some basic mechanism (or mechanisms) in the kernel Permit user processes to set parameters that control scheduling Simplest example: nice command Solaris permits much more control: three classes of scheduler, and parameters within that class 26 / 39 Solaris Scheduler Scheduler classes: real-time, time-sharing, interactive Parameters: Real-Time priority, quantum Kernel threads (System only) Timesharing priority, priority limit Interactive priority, priority limit Newer versions of Solaris have fair-share scheduling and fixed-priority scheduling 27 / 39 17

18 Solaris Priorities Priority Quantum New Priority After Sleep Higher priority processes get shorter quanta. Process get a lower priority when they use up their quantum, and higher priority after blocking for I/O. 28 / 39 Linux Scheduler Both real-time and priority Real-time scheduling can be round-robin or FCFS Dynamic timeslice (quantum) computation Kernel preemption possible if no locks are held 29 / 39 18

19 Windows XP Real-time and priority scheduling Priority classes: Real-time, High, Above Normal, Normal, Below Normal, Idle Relative priority within class: Time-critical, Highest, Above Normal, Normal, Below Normal, Idle Effective priority calculated from this matrix Priority lowered on quantum expiration Extra priority boost for process associated with current window Unix can t easily do that the window manager knows nothing of processes 30 / 39 Evaluating Scheduler Algorithms 31 / 39 Algorithm Evaluation First question: what criteria do you want to optimize for? Possibilities include CPU utilization, responsiveness, real-time scheduling, etc. Several ways to do the evaluation 32 / 39 19

20 Deterministic Modeling Start with a specific workload, i.e., of process CPU demands and arrival times Model them with Gantt charts, as we ve seen Evaluate according to desired metric Simple and fast and only useful for loads that look a lot like what you model 33 / 39 Queueing Theory Start with probability distributions of CPU requests, arrival times, etc. Common assumption: arrivals are distributed according to a Poisson distribution Sample (and simple) result: Let n be the average queue length, W the average queue wait time, and λ the mean interarrival time (regardless of distribution). Then n = λ W 34 / 39 20

21 Simulation Build a simulator of the scheduling algorithm Feed in simulated inputs and see what happens Simulations can be fed by probability distributions or by trace data from real systems Such trace data is an excellent way to compare two different simulators 35 / 39 Metacomment Trace data is always useful Instruction traces, network packet traces, CPU load traces, etc. Some such datasets become the way to evaluate new schemes 36 / 39 21

22 Build It and Try It Build a real system and see what happens But what s the load? Real users? If you re lucky, you have trace data to feed in (and a system amenable to such replays) 37 / 39 Limits of Evaluation Load changes Sometimes, load changes because of scheduler changes Example: if a process gets the CPU more quickly after a disk I/O request, it may be able to issue the next requiest within the rotational delay of the disk Conclusion: we need flexible scheduling algorithms that can be tuned at each site 38 / 39 22

23 Summary Scheduling is a complex matter The criteria and algorithms have changed somewhat, but the problem remains Any time you click on something and it doesn t respond immediately, there s a scheduler problem 39 / 39 23

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

SFWR ENG 3BB4 Software Design 3 Concurrent System Design 2 SFWR ENG 3BB4 Software Design 3 Concurrent System Design 11.8 10 CPU Scheduling Chapter 11 CPU Scheduling Policies Deciding which process to run

### CPU Scheduling Outline

CPU Scheduling Outline What is scheduling in the OS? What are common scheduling criteria? How to evaluate scheduling algorithms? What are common scheduling algorithms? How is thread scheduling different

### Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum

Scheduling Yücel Saygın These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum 1 Scheduling Introduction to Scheduling (1) Bursts of CPU usage alternate with periods

### Chapter 5: CPU Scheduling. Operating System Concepts 8 th Edition

Chapter 5: CPU Scheduling Silberschatz, Galvin and Gagne 2009 Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating

### ICS 143 - Principles of Operating Systems

ICS 143 - Principles of Operating Systems Lecture 5 - CPU Scheduling Prof. Nalini Venkatasubramanian nalini@ics.uci.edu Note that some slides are adapted from course text slides 2008 Silberschatz. Some

### Scheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances:

Scheduling Scheduling Scheduling levels Long-term scheduling. Selects which jobs shall be allowed to enter the system. Only used in batch systems. Medium-term scheduling. Performs swapin-swapout operations

### Chapter 5 Process Scheduling

Chapter 5 Process Scheduling CPU Scheduling Objective: Basic Scheduling Concepts CPU Scheduling Algorithms Why Multiprogramming? Maximize CPU/Resources Utilization (Based on Some Criteria) CPU Scheduling

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

Import Settings: Base Settings: Brownstone Default Highest Answer Letter: D Multiple Keywords in Same Paragraph: No Chapter: Chapter 5 Multiple Choice 1. Which of the following is true of cooperative scheduling?

### Objectives. Chapter 5: Process Scheduling. Chapter 5: Process Scheduling. 5.1 Basic Concepts. To introduce CPU scheduling

Objectives To introduce CPU scheduling To describe various CPU-scheduling algorithms Chapter 5: Process Scheduling To discuss evaluation criteria for selecting the CPUscheduling algorithm for a particular

### Readings for this topic: Silberschatz/Galvin/Gagne Chapter 5

77 16 CPU Scheduling Readings for this topic: Silberschatz/Galvin/Gagne Chapter 5 Until now you have heard about processes and memory. From now on you ll hear about resources, the things operated upon

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

Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems Based on original slides by Silberschatz, Galvin and Gagne 1 Basic Concepts CPU I/O Burst Cycle Process execution

### Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann Andre.Brinkmann@uni-paderborn.de Universität Paderborn PC² Agenda Multiprocessor and

### Announcements. Basic Concepts. Histogram of Typical CPU- Burst Times. Dispatcher. CPU Scheduler. Burst Cycle. Reading

Announcements Reading Chapter 5 Chapter 7 (Monday or Wednesday) Basic Concepts CPU I/O burst cycle Process execution consists of a cycle of CPU execution and I/O wait. CPU burst distribution What are the

### Process Scheduling CS 241. February 24, 2012. Copyright University of Illinois CS 241 Staff

Process Scheduling CS 241 February 24, 2012 Copyright University of Illinois CS 241 Staff 1 Announcements Mid-semester feedback survey (linked off web page) MP4 due Friday (not Tuesday) Midterm Next Tuesday,

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

Operatin g Systems: Internals and Design Principle s Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Bear in mind,

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

Overview of Real-Time Scheduling Embedded Real-Time Software Lecture 3 Lecture Outline Overview of real-time scheduling algorithms Clock-driven Weighted round-robin Priority-driven Dynamic vs. static Deadline

### Operating Systems. III. Scheduling. http://soc.eurecom.fr/os/

Operating Systems Institut Mines-Telecom III. Scheduling Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ Outline Basics of Scheduling Definitions Switching

### Operating Systems Concepts: Chapter 7: Scheduling Strategies

Operating Systems Concepts: Chapter 7: Scheduling Strategies Olav Beckmann Huxley 449 http://www.doc.ic.ac.uk/~ob3 Acknowledgements: There are lots. See end of Chapter 1. Home Page for the course: http://www.doc.ic.ac.uk/~ob3/teaching/operatingsystemsconcepts/

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

Objectives Chapter 5: CPU Scheduling Introduce CPU scheduling, which is the basis for multiprogrammed operating systems Describe various CPU-scheduling algorithms Discuss evaluation criteria for selecting

### CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS

CPU SCHEDULING CPU SCHEDULING (CONT D) Aims to assign processes to be executed by the CPU in a way that meets system objectives such as response time, throughput, and processor efficiency Broken down into

### Predictable response times in event-driven real-time systems

Predictable response times in event-driven real-time systems Automotive 2006 - Security and Reliability in Automotive Systems Stuttgart, October 2006. Presented by: Michael González Harbour mgh@unican.es

### Comp 204: Computer Systems and Their Implementation. Lecture 12: Scheduling Algorithms cont d

Comp 204: Computer Systems and Their Implementation Lecture 12: Scheduling Algorithms cont d 1 Today Scheduling continued Multilevel queues Examples Thread scheduling 2 Question A starvation-free job-scheduling

### Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.

Road Map Scheduling Dickinson College Computer Science 354 Spring 2010 Past: What an OS is, why we have them, what they do. Base hardware and support for operating systems Process Management Threads Present:

### CPU Scheduling. Core Definitions

CPU Scheduling General rule keep the CPU busy; an idle CPU is a wasted CPU Major source of CPU idleness: I/O (or waiting for it) Many programs have a characteristic CPU I/O burst cycle alternating phases

### W4118 Operating Systems. Instructor: Junfeng Yang

W4118 Operating Systems Instructor: Junfeng Yang Outline Introduction to scheduling Scheduling algorithms 1 Direction within course Until now: interrupts, processes, threads, synchronization Mostly mechanisms

### CPU Scheduling. CSC 256/456 - Operating Systems Fall 2014. TA: Mohammad Hedayati

CPU Scheduling CSC 256/456 - Operating Systems Fall 2014 TA: Mohammad Hedayati Agenda Scheduling Policy Criteria Scheduling Policy Options (on Uniprocessor) Multiprocessor scheduling considerations CPU

### Linux Scheduler. Linux Scheduler

or or Affinity Basic Interactive es 1 / 40 Reality... or or Affinity Basic Interactive es The Linux scheduler tries to be very efficient To do that, it uses some complex data structures Some of what it

### 4003-440/4003-713 Operating Systems I. Process Scheduling. Warren R. Carithers (wrc@cs.rit.edu) Rob Duncan (rwd@cs.rit.edu)

4003-440/4003-713 Operating Systems I Process Scheduling Warren R. Carithers (wrc@cs.rit.edu) Rob Duncan (rwd@cs.rit.edu) Review: Scheduling Policy Ideally, a scheduling policy should: Be: fair, predictable

### Processor Scheduling. Queues Recall OS maintains various queues

Processor Scheduling Chapters 9 and 10 of [OS4e], Chapter 6 of [OSC]: Queues Scheduling Criteria Cooperative versus Preemptive Scheduling Scheduling Algorithms Multi-level Queues Multiprocessor and Real-Time

### CS4410 - Fall 2008 Homework 2 Solution Due September 23, 11:59PM

CS4410 - Fall 2008 Homework 2 Solution Due September 23, 11:59PM Q1. Explain what goes wrong in the following version of Dekker s Algorithm: CSEnter(int i) inside[i] = true; while(inside[j]) inside[i]

### OPERATING SYSTEMS SCHEDULING

OPERATING SYSTEMS SCHEDULING Jerry Breecher 5: CPU- 1 CPU What Is In This Chapter? This chapter is about how to get a process attached to a processor. It centers around efficient algorithms that perform

### Lecture 3 Theoretical Foundations of RTOS

CENG 383 Real-Time Systems Lecture 3 Theoretical Foundations of RTOS Asst. Prof. Tolga Ayav, Ph.D. Department of Computer Engineering Task States Executing Ready Suspended (or blocked) Dormant (or sleeping)

### CPU Scheduling. CPU Scheduling

CPU Scheduling Electrical and Computer Engineering Stephen Kim (dskim@iupui.edu) ECE/IUPUI RTOS & APPS 1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling

### Scheduling 0 : Levels. High level scheduling: Medium level scheduling: Low level scheduling

Scheduling 0 : Levels High level scheduling: Deciding whether another process can run is process table full? user process limit reached? load to swap space or memory? Medium level scheduling: Balancing

### Job Scheduling Model

Scheduling 1 Job Scheduling Model problem scenario: a set of jobs needs to be executed using a single server, on which only one job at a time may run for theith job, we have an arrival timea i and a run

### Operating System: Scheduling

Process Management Operating System: Scheduling OS maintains a data structure for each process called Process Control Block (PCB) Information associated with each PCB: Process state: e.g. ready, or waiting

### Operating Systems, 6 th ed. Test Bank Chapter 7

True / False Questions: Chapter 7 Memory Management 1. T / F In a multiprogramming system, main memory is divided into multiple sections: one for the operating system (resident monitor, kernel) and one

### Linux Process Scheduling Policy

Lecture Overview Introduction to Linux process scheduling Policy versus algorithm Linux overall process scheduling objectives Timesharing Dynamic priority Favor I/O-bound process Linux scheduling algorithm

### ò Paper reading assigned for next Thursday ò Lab 2 due next Friday ò What is cooperative multitasking? ò What is preemptive multitasking?

Housekeeping Paper reading assigned for next Thursday Scheduling Lab 2 due next Friday Don Porter CSE 506 Lecture goals Undergrad review Understand low-level building blocks of a scheduler Understand competing

### 4. Fixed-Priority Scheduling

Simple workload model 4. Fixed-Priority Scheduling Credits to A. Burns and A. Wellings The application is assumed to consist of a fixed set of tasks All tasks are periodic with known periods This defines

### Linux scheduler history. We will be talking about the O(1) scheduler

CPU Scheduling Linux scheduler history We will be talking about the O(1) scheduler SMP Support in 2.4 and 2.6 versions 2.4 Kernel 2.6 Kernel CPU1 CPU2 CPU3 CPU1 CPU2 CPU3 Linux Scheduling 3 scheduling

### Improvement of Scheduling Granularity for Deadline Scheduler

Improvement of Scheduling Granularity for Deadline Scheduler Yoshitake Kobayashi Advanced Software Technology Group Corporate Software Engineering Center TOSHIBA CORPORATION Copyright 2012, Toshiba Corporation.

### W4118 Operating Systems. Instructor: Junfeng Yang

W4118 Operating Systems Instructor: Junfeng Yang Outline Advanced scheduling issues Multilevel queue scheduling Multiprocessor scheduling issues Real-time scheduling Scheduling in Linux Scheduling algorithm

### ò Scheduling overview, key trade-offs, etc. ò O(1) scheduler older Linux scheduler ò Today: Completely Fair Scheduler (CFS) new hotness

Last time Scheduling overview, key trade-offs, etc. O(1) scheduler older Linux scheduler Scheduling, part 2 Don Porter CSE 506 Today: Completely Fair Scheduler (CFS) new hotness Other advanced scheduling

### CPU Scheduling 101. The CPU scheduler makes a sequence of moves that determines the interleaving of threads.

CPU Scheduling CPU Scheduling 101 The CPU scheduler makes a sequence of moves that determines the interleaving of threads. Programs use synchronization to prevent bad moves. but otherwise scheduling choices

### Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 26 Real - Time POSIX. (Contd.) Ok Good morning, so let us get

### The simple case: Cyclic execution

The simple case: Cyclic execution SCHEDULING PERIODIC TASKS Repeat a set of aperiodic tasks at a specific rate (cycle) 1 2 Periodic tasks Periodic tasks (the simplified case) Scheduled to run Arrival time

Aperiodic Task Scheduling Gerhard Fohler Mälardalen University, Sweden gerhard.fohler@mdh.se Real-Time Systems Gerhard Fohler 2005 Non Periodic Tasks So far periodic events and tasks what about others?

CPU Scheduling The scheduler is the component of the kernel that selects which process to run next. The scheduler (or process scheduler, as it is sometimes called) can be viewed as the code that divides

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

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

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

A Survey of Fitting Device-Driver Implementations into Real-Time Theoretical Schedulability Analysis Mark Stanovich Florida State University, USA Contents 1 Introduction 2 2 Scheduling Theory 3 2.1 Workload

### Overview of Presentation. (Greek to English dictionary) Different systems have different goals. What should CPU scheduling optimize?

Overview of Presentation (Greek to English dictionary) introduction to : elements, purpose, goals, metrics lambda request arrival rate (e.g. 200/second) non-preemptive first-come-first-served, shortest-job-next

### Priority-Driven Scheduling

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

### 3 - Introduction to Operating Systems

3 - Introduction to Operating Systems Mark Handley What is an Operating System? An OS is a program that: manages the computer hardware. provides the basis on which application programs can be built and

### Windows Server Performance Monitoring

Spot server problems before they are noticed The system s really slow today! How often have you heard that? Finding the solution isn t so easy. The obvious questions to ask are why is it running slowly

### Operating System Tutorial

Operating System Tutorial OPERATING SYSTEM TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Operating System Tutorial An operating system (OS) is a collection

### An Implementation Of Multiprocessor Linux

An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than

### Main Points. Scheduling policy: what to do next, when there are multiple threads ready to run. Definitions. Uniprocessor policies

Scheduling Main Points Scheduling policy: what to do next, when there are multiple threads ready to run Or multiple packets to send, or web requests to serve, or Definitions response time, throughput,

### UNIVERSITY OF WISCONSIN-MADISON Computer Sciences Department A. Arpaci-Dusseau

CS 537 Spring 2000 UNIVERSITY OF WISCONSIN-MADISON Computer Sciences Department A. Arpaci-Dusseau Multilevel Feedback Queue Schedulers In this handout, we give a brief overview of the behavior of the Solaris

### Scheduling Algorithms

Scheduling Algorithms List Pros and Cons for each of the four scheduler types listed below. First In First Out (FIFO) Simplicity FIFO is very easy to implement. Less Overhead FIFO will allow the currently

### White Paper Perceived Performance Tuning a system for what really matters

TMurgent Technologies White Paper Perceived Performance Tuning a system for what really matters September 18, 2003 White Paper: Perceived Performance 1/7 TMurgent Technologies Introduction The purpose

### Modular Real-Time Linux

Modular Real-Time Linux Shinpei Kato Department of Information and Computer Science, Keio University 3-14-1 Hiyoshi, Kohoku, Yokohama, Japan shinpei@ny.ics.keio.ac.jp Nobuyuki Yamasaki Department of Information

### Scheduling Aperiodic and Sporadic Jobs in Priority- Driven Systems

Scheduling Aperiodic and Sporadic Jobs in Priority- Driven Systems Ingo Sander ingo@kth.se Liu: Chapter 7 IL2212 Embedded Software 1 Outline l System Model and Assumptions l Scheduling Aperiodic Jobs l

### CHAPTER 15: Operating Systems: An Overview

CHAPTER 15: Operating Systems: An Overview The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint

### Scheduling. Monday, November 22, 2004

Scheduling Page 1 Scheduling Monday, November 22, 2004 11:22 AM The scheduling problem (Chapter 9) Decide which processes are allowed to run when. Optimize throughput, response time, etc. Subject to constraints

### Completely Fair Scheduler and its tuning 1

Completely Fair Scheduler and its tuning 1 Jacek Kobus and Rafał Szklarski 1 Introduction The introduction of a new, the so called completely fair scheduler (CFS) to the Linux kernel 2.6.23 (October 2007)

### Konzepte von Betriebssystem-Komponenten. Linux Scheduler. Valderine Kom Kenmegne Valderinek@hotmail.com. Proseminar KVBK Linux Scheduler Valderine Kom

Konzepte von Betriebssystem-Komponenten Linux Scheduler Kenmegne Valderinek@hotmail.com 1 Contents: 1. Introduction 2. Scheduler Policy in Operating System 2.1 Scheduling Objectives 2.2 Some Scheduling

Aperiodic Task Scheduling Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 Germany Springer, 2010 2014 年 11 月 19 日 These slides use Microsoft clip arts. Microsoft copyright

### CHAPTER 4: SOFTWARE PART OF RTOS, THE SCHEDULER

CHAPTER 4: SOFTWARE PART OF RTOS, THE SCHEDULER To provide the transparency of the system the user space is implemented in software as Scheduler. Given the sketch of the architecture, a low overhead scheduler

### STEPPING TOWARDS A NOISELESS LINUX ENVIRONMENT

ROSS 2012 June 29 2012 Venice, Italy STEPPING TOWARDS A NOISELESS LINUX ENVIRONMENT Hakan Akkan*, Michael Lang, Lorie Liebrock* Presented by: Abhishek Kulkarni * New Mexico Tech Ultrascale Systems Research

### REAL TIME OPERATING SYSTEMS. Lesson-10:

REAL TIME OPERATING SYSTEMS Lesson-10: Real Time Operating System 1 1. Real Time Operating System Definition 2 Real Time A real time is the time which continuously increments at regular intervals after

### Embedded Systems. 6. Real-Time Operating Systems

Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic

### Multi-core Programming System Overview

Multi-core Programming System Overview Based on slides from Intel Software College and Multi-Core Programming increasing performance through software multi-threading by Shameem Akhter and Jason Roberts,

### Chapter 1: Introduction. What is an Operating System?

Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments

### EECS 750: Advanced Operating Systems. 01/28 /2015 Heechul Yun

EECS 750: Advanced Operating Systems 01/28 /2015 Heechul Yun 1 Recap: Completely Fair Scheduler(CFS) Each task maintains its virtual time V i = E i 1 w i, where E is executed time, w is a weight Pick the

### CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what

### Chapter 2: OS Overview

Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:

### Types Of Operating Systems

Types Of Operating Systems Date 10/01/2004 1/24/2004 Operating Systems 1 Brief history of OS design In the beginning OSes were runtime libraries The OS was just code you linked with your program and loaded

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

Module 6 Embedded System Software Version 2 EE IIT, Kharagpur 1 Lesson 30 Real-Time Task Scheduling Part 2 Version 2 EE IIT, Kharagpur 2 Specific Instructional Objectives At the end of this lesson, the

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

Real-Time Software Basic Scheduling and Response-Time Analysis René Rydhof Hansen 21. september 2010 TSW (2010e) (Lecture 05) Real-Time Software 21. september 2010 1 / 28 Last Time Time in a real-time

### Real- Time Scheduling

Real- Time Scheduling Chenyang Lu CSE 467S Embedded Compu5ng Systems Readings Ø Single-Processor Scheduling: Hard Real-Time Computing Systems, by G. Buttazzo. q Chapter 4 Periodic Task Scheduling q Chapter

### Chapter 5 Linux Load Balancing Mechanisms

Chapter 5 Linux Load Balancing Mechanisms Load balancing mechanisms in multiprocessor systems have two compatible objectives. One is to prevent processors from being idle while others processors still

Periodic Task Scheduling Radek Pelánek Motivation and Assumptions Examples of Periodic Tasks sensory data acquisition control loops action planning system monitoring Motivation and Assumptions Simplifying

### Scheduling in Distributed Systems

Scheduling in Distributed Systems Dongning Liang, Pei-Jung Ho, Bao Liu Department of Computer Science and Engineering University of California, San Diego Abstract This paper presents several scheduling/coscheduling

### SYSTEM ecos Embedded Configurable Operating System

BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original

### Threads Scheduling on Linux Operating Systems

Threads Scheduling on Linux Operating Systems Igli Tafa 1, Stavri Thomollari 2, Julian Fejzaj 3 Polytechnic University of Tirana, Faculty of Information Technology 1,2 University of Tirana, Faculty of

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

Module 8 Industrial Embedded and Communication Systems Version 2 EE IIT, Kharagpur 1 Lesson 37 Real-Time Operating Systems: Introduction and Process Management Version 2 EE IIT, Kharagpur 2 Instructional

### A Group based Time Quantum Round Robin Algorithm using Min-Max Spread Measure

A Group based Quantum Round Robin Algorithm using Min-Max Spread Measure Sanjaya Kumar Panda Department of CSE NIT, Rourkela Debasis Dash Department of CSE NIT, Rourkela Jitendra Kumar Rout Department

### Scheduling policy. ULK3e 7.1. Operating Systems: Scheduling in Linux p. 1

Scheduling policy ULK3e 7.1 Goals fast process response time good throughput for background jobs avoidance of process starvation reconciliation of needs of low- and high-priority processes Operating Systems:

### Understanding Linux on z/vm Steal Time

Understanding Linux on z/vm Steal Time June 2014 Rob van der Heij rvdheij@velocitysoftware.com Summary Ever since Linux distributions started to report steal time in various tools, it has been causing

### Effective Computing with SMP Linux

Effective Computing with SMP Linux Multi-processor systems were once a feature of high-end servers and mainframes, but today, even desktops for personal use have multiple processors. Linux is a popular

### Operating Systems Lecture #6: Process Management

Lecture #6: Process Written by based on the lecture series of Dr. Dayou Li and the book Understanding 4th ed. by I.M.Flynn and A.McIver McHoes (2006) Department of Computer Science and Technology,., 2013

### Jorix kernel: real-time scheduling

Jorix kernel: real-time scheduling Joris Huizer Kwie Min Wong May 16, 2007 1 Introduction As a specialized part of the kernel, we implemented two real-time scheduling algorithms: RM (rate monotonic) and

### A Survey of Parallel Processing in Linux

A Survey of Parallel Processing in Linux Kojiro Akasaka Computer Science Department San Jose State University San Jose, CA 95192 408 924 1000 kojiro.akasaka@sjsu.edu ABSTRACT Any kernel with parallel processing

### Why Relative Share Does Not Work

Why Relative Share Does Not Work Introduction Velocity Software, Inc March 2010 Rob van der Heij rvdheij @ velocitysoftware.com Installations that run their production and development Linux servers on

### Running a Workflow on a PowerCenter Grid

Running a Workflow on a PowerCenter Grid 2010-2014 Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise)

### Performance Comparison of RTOS

Performance Comparison of RTOS Shahmil Merchant, Kalpen Dedhia Dept Of Computer Science. Columbia University Abstract: Embedded systems are becoming an integral part of commercial products today. Mobile