Overview of the Linux Scheduler Framework
|
|
|
- Kerry Willis
- 10 years ago
- Views:
Transcription
1 Overview of the Linux Scheduler Framework WORKSHOP ON REAL-TIME SCHEDULING IN THE LINUX KERNEL Pisa, June 27th, 2014 Marco Cesati University of Rome Tor Vergata Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
2 Goals of the Linux scheduler Select the right task to run on each available CPU when a task terminates, blocks, or becomes runnable and when requested by the time-sharing policy Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
3 Goals of the Linux scheduler (2) Select the right task to run in such a way to be fair to tasks and users respect relative priorities among tasks minimize task response times maximize system throughput (tasks completed per unit time) balance load among CPUs minimize power consumption have small overhead degrade gracefully on highest loads Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
4 Why scheduling is so difficult, anyway? We cannot optimize for any given goal fairness vs priority throughput vs response time load balancing vs power consumption Many scheduling algorithms rely on heuristic rules Practical definition of heuristic rule This is black magic, please don t ask, it s not your business anyway! Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
5 One Sched to rule them all! The Linux scheduler must achieve good results in High-performance clusters, mainframes High-end servers Desktop computers Laptops, tablets, smartphones Embedded devices Any change of the scheduler must not impair performance for each class of machines with any realistic usage pattern Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
6 Tasks A task is an execution flow that can be scheduled on a CPU In Linux: Task is equivalent to Process A multi-threaded program runs as a group of related light-weight processes Basic data structure for a task: struct task_struct Its address is the main task identifier inside the kernel Includes hundreds of fields and pointers to other task-related data structures current identifies the task in execution Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
7 Unix tasks Unix normal tasks Arbitrary execution times Relative priorities Starvation-free time-sharing scheduling algorithms POSIX real-time tasks Arbitrary execution times Absolute priorities Round-robin or FIFO scheduling algorithms for tasks of equal priority Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
8 Real-time tasks Real-time tasks Deadlines on completion times Absolute priorities based on temporal parameters Usually periodic or sporadic tasks Dedicated priority-based scheduling algorithms (EDF, RM,... ) Since version 3.14, Linux supports native real-time tasks There is an on-going global effort to make Linux usable in real-time systems (see also RTAI, CONFIG_PREEMPT_RT patch,... ) Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
9 Current scheduler framework Introduced by Ingo Molnar in kernel (2007) Based on different scheduling policies included in scheduling classes Original design assumptions: Partitioned scheduler (decisions are local to each CPU) If necessary, tasks can be migrated among the CPUs Each scheduling class has a unique priority On some CPU, no task of a given class can be run if tasks of classes with higher priorities are runnable Real-time policies break some of these assumptions Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
10 Scheduling classes and policies Class Policy stop_sched_class dl_sched_class rt_sched_class fair_sched_class SCHED_DEADLINE SCHED_FIFO SCHED_RR SCHED_NORMAL SCHED_BATCH SCHED_IDLE idle_sched_class Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
11 Class stop_sched_class Highest priority scheduling class Mechanism to force running a function on some CPU(s) by preempting and freezing any other task Not associated with a scheduling policy just one kernel thread per CPU (migration/n) Used by task migration, RCU, CPU unplugging,... Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
12 Class dl_sched_class By Dario Faggioli & Juri Lelli, kernel version 3.14 (Nov. 2013) Scheduling policy SCHED_DEADLINE Highest priority tasks in the system Further details in another talk! Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
13 Class rt_sched_class POSIX real-time tasks 99 absolute priorities Scheduling policies for tasks of equal priority: SCHED_FIFO: cooperative scheduling, First Come First Served SCHED_RR: round-robin scheduling, 100 ms timeslice by default Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
14 Class fair_sched_class By Ingo Molnar, kernel version (July 2007) Completely Fair Scheduler (CFS) Three scheduling policies: SCHED_NORMAL: normal Unix tasks SCHED_BATCH: batch (non-interactive) tasks SCHED_IDLE: low-priority tasks Further details in another talk! Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
15 Class idle_sched_class Lowest priority scheduling class Not associated with a scheduling policy just one task per CPU ( idle thread swapper/n) Executed only when no other task is runnable Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
16 The scheduling class Implemented by struct sched_class Basically a collection of function pointers (methods) Each structure is linked to the next lower class in the hierarchy by a next pointer the for_each_class macro iterates over all classes stop dl rt fair idle Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
17 Main methods of the scheduling class enqueue_task: invoked when a task becomes runnable dequeue_task: invoked when a task is no longer runnable pick_next_task: select the best task to be run next (scheduling decision) return NULL if no runnable task was found return RETRY_TASK if a runnable task appeared in a higher-priority class check_preempt_curr: check if the new runnable task should preempt the current one task_tick: periodically invoked to update task parameters (for time sharing) Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
18 The schedule() function Executed on a CPU to select the best task to be run next schedule() picks the best runnable task starting from the highest-priority scheduler class again: for_each_class(class) { p = class->pick_next_task(rq, prev); if (p) { if (p == RETRY_TASK) goto again; return p; } } Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
19 Runqueues Runnable tasks are included in a runqueue: struct rq There is a runqueue for each CPU in the system Lots of information available here: number of runnable tasks in queue current and past CPU load information specific to each scheduling class also lists or trees collecting tasks various statistics and accounting information Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
20 Example: two runqueues RQ (CPU0) stop dl rt fair idle stop dl rt fair idle RQ (CPU1) Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
21 Reserved CPU bandwidth SCHED_DEADLINE, SCHED_FIFO, and SCHED_RR tasks may easily starve normal tasks To make life easier for RT developers, some CPU bandwidth can be reserved to normal tasks: In an interval of time of length P µs, at least N µs are reserved for normal tasks P /proc/sys/kernel/sched_rt_period_us P N /proc/sys/kernel/sched_rt_runtime_us The reserved CPU bandwidth mechanism can also be applied to real-time scheduling groups Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
22 Important scheduler topics deserving further discussions CFS and deadline schedulers (stay tuned!) Load balancing and scheduling domains Per-entity load tracking Group scheduling Power-aware CPU scheduling Linsched and other scheduler testing frameworks Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
23 Thank you! Marco Cesati (Univ. of Rome Tor Vergata) Overview of the Linux scheduler framework RTS-LIKE June 27th, / 23
Linux Process Scheduling. sched.c. schedule() scheduler_tick() hooks. try_to_wake_up() ... CFS CPU 0 CPU 1 CPU 2 CPU 3
Linux Process Scheduling sched.c schedule() scheduler_tick() try_to_wake_up() hooks RT CPU 0 CPU 1 CFS CPU 2 CPU 3 Linux Process Scheduling 1. Task Classification 2. Scheduler Skeleton 3. Completely Fair
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.
Process Scheduling in Linux
The Gate of the AOSP #4 : Gerrit, Memory & Performance Process Scheduling in Linux 2013. 3. 29 Namhyung Kim Outline 1 Process scheduling 2 SMP scheduling 3 Group scheduling - www.kandroid.org 2/ 41 Process
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
Linux process scheduling
Linux process scheduling David Morgan General neediness categories realtime processes whenever they demand attention, need it immediately other processes interactive care about responsiveness demand no
Process Scheduling II
Process Scheduling II COMS W4118 Prof. Kaustubh R. Joshi [email protected] hdp://www.cs.columbia.edu/~krj/os References: OperaWng Systems Concepts (9e), Linux Kernel Development, previous W4118s Copyright
Linux Scheduler Analysis and Tuning for Parallel Processing on the Raspberry PI Platform. Ed Spetka Mike Kohler
Linux Scheduler Analysis and Tuning for Parallel Processing on the Raspberry PI Platform Ed Spetka Mike Kohler Outline Abstract Hardware Overview Completely Fair Scheduler Design Theory Breakdown of the
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
Linux Plumbers 2010. API for Real-Time Scheduling with Temporal Isolation on Linux
Linux Plumbers 2010 November 3rd, Boston API for Real-Time Scheduling with Temporal Isolation on Linux Tommaso Cucinotta, Cucinotta, Dhaval Giani, Dario Faggioli, Fabio Checconi Real-Time Systems Lab (RETIS)
Hard Real-Time Linux
Hard Real-Time Linux (or: How to Get RT Performances Using Linux) Andrea Bastoni University of Rome Tor Vergata System Programming Research Group [email protected] Linux Kernel Hacking Free Course
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
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 [email protected] Universität Paderborn PC² Agenda Multiprocessor and
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
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
Konzepte von Betriebssystem-Komponenten. Linux Scheduler. Valderine Kom Kenmegne [email protected]. Proseminar KVBK Linux Scheduler Valderine Kom
Konzepte von Betriebssystem-Komponenten Linux Scheduler Kenmegne [email protected] 1 Contents: 1. Introduction 2. Scheduler Policy in Operating System 2.1 Scheduling Objectives 2.2 Some Scheduling
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
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
Linux O(1) CPU Scheduler. Amit Gud amit (dot) gud (at) veritas (dot) com http://amitgud.tk
Linux O(1) CPU Scheduler Amit Gud amit (dot) gud (at) veritas (dot) com http://amitgud.tk April 27, 2005 Agenda CPU scheduler basics CPU scheduler algorithms overview Linux CPU scheduler goals What is
A complete guide to Linux process scheduling. Nikita Ishkov
A complete guide to Linux process scheduling Nikita Ishkov University of Tampere School of Information Sciences Computer Science M.Sc. Thesis Supervisor: Martti Juhola February 2015 University of Tampere
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
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/
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?
Process Scheduling in Linux
Process Scheduling in Linux This document contains notes about how the Linux kernel handles process scheduling. They cover the general scheduler skeleton, scheduling classes, the completely fair scheduling
Project No. 2: Process Scheduling in Linux Submission due: April 28, 2014, 11:59pm
Project No. 2: Process Scheduling in Linux Submission due: April 28, 2014, 11:59pm PURPOSE Getting familiar with the Linux kernel source code. Understanding process scheduling and how different parameters
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 [email protected] Nobuyuki Yamasaki Department of Information
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)
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
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
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
Operating Systems. III. Scheduling. http://soc.eurecom.fr/os/
Operating Systems Institut Mines-Telecom III. Scheduling Ludovic Apvrille [email protected] Eurecom, office 470 http://soc.eurecom.fr/os/ Outline Basics of Scheduling Definitions Switching
Real-Time Scheduling 1 / 39
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
ò 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
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
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
ò 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
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 [email protected]
ChronOS Linux: A Best-Effort Real-Time Multiprocessor Linux Kernel
ChronOS Linux: A Best-Effort Real-Time Multiprocessor Linux Kernel Matthew Dellinger, Piyush Garyali, and Binoy Ravindran ECE Dept., Virgina Tech Blacksburg, VA 2461, USA {mdelling,piyushg,binoy}@vt.edu
Task Scheduling for Multicore Embedded Devices
Embedded Linux Conference 2013 Task Scheduling for Multicore Embedded Devices 2013. 02. 22. Gap-Joo Na ([email protected]) Contents 2 What is multicore?? 1. Multicore trends 2. New Architectures 3. Software
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,
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
CPU Scheduling. CPU Scheduling
CPU Scheduling Electrical and Computer Engineering Stephen Kim ([email protected]) ECE/IUPUI RTOS & APPS 1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling
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
Chapter 19: Real-Time Systems. Overview of Real-Time Systems. Objectives. System Characteristics. Features of Real-Time Systems
Chapter 19: Real-Time Systems System Characteristics Features of Real-Time Systems Chapter 19: Real-Time Systems Implementing Real-Time Operating Systems Real-Time CPU Scheduling VxWorks 5.x 19.2 Silberschatz,
CPU Scheduling. Multitasking operating systems come in two flavours: cooperative multitasking and preemptive multitasking.
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
Multilevel Load Balancing in NUMA Computers
FACULDADE DE INFORMÁTICA PUCRS - Brazil http://www.pucrs.br/inf/pos/ Multilevel Load Balancing in NUMA Computers M. Corrêa, R. Chanin, A. Sales, R. Scheer, A. Zorzo Technical Report Series Number 049 July,
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
Using EDF in Linux: SCHED DEADLINE. Luca Abeni [email protected]
Using EDF in Linux: Luca Abeni [email protected] Using Fixed Priorities in Linux SCHED FIFO and SCHED RR use fixed priorities They can be used for real-time tasks, to implement RM and DM Real-time tasks
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 [email protected] ABSTRACT Any kernel with parallel processing
Tasks Schedule Analysis in RTAI/Linux-GPL
Tasks Schedule Analysis in RTAI/Linux-GPL Claudio Aciti and Nelson Acosta INTIA - Depto de Computación y Sistemas - Facultad de Ciencias Exactas Universidad Nacional del Centro de la Provincia de Buenos
Asymmetric Scheduling and Load Balancing for Real-Time on Linux SMP
Asymmetric Scheduling and Load Balancing for Real-Time on Linux SMP Éric Piel, Philippe Marquet, Julien Soula, and Jean-Luc Dekeyser {Eric.Piel,Philippe.Marquet,Julien.Soula,Jean-Luc.Dekeyser}@lifl.fr
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
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
ICS 143 - Principles of Operating Systems
ICS 143 - Principles of Operating Systems Lecture 5 - CPU Scheduling Prof. Nalini Venkatasubramanian [email protected] Note that some slides are adapted from course text slides 2008 Silberschatz. Some
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
Linux Load Balancing
Linux Load Balancing Hyunmin Yoon 2 Load Balancing Linux scheduler attempts to evenly distribute load across CPUs Load of CPU (run queue): sum of task weights Load balancing is triggered by Timer interrupts
Understanding the Linux 2.6.8.1 CPU Scheduler
Understanding the Linux 2.6.8.1 CPU Scheduler By Josh Aas c 2005 Silicon Graphics, Inc. (SGI) 17th February 2005 Contents 1 Introduction 3 1.1 Paper Overview............................ 3 1.2 Linux Kernel
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
Understanding the Linux 2.6.8.1 CPU Scheduler
Understanding the Linux 2.6.8.1 CPU Scheduler By Josh Aas c 2005 Silicon Graphics, Inc. (SGI) 17th February 2005 Contents 1 Introduction 3 1.1 Paper Overview............................................
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
Real- Time Mul,- Core Virtual Machine Scheduling in Xen
Real- Time Mul,- Core Virtual Machine Scheduling in Xen Sisu Xi 1, Meng Xu 2, Chenyang Lu 1, Linh Phan 2, Chris Gill 1, Oleg Sokolsky 2, Insup Lee 2 1 Washington University in St. Louis 2 University of
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
Process Scheduling in Linux
Process Scheduling in Linux Scheduling Mechanism: how to switch. Scheduling Policy: when to switch and what process to choose. Some scheduling objectives: fast process response time avoidance of process
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
Real-Time Multi-Core Virtual Machine Scheduling in Xen
Real-Time Multi-Core Virtual Machine Scheduling in Xen Sisu Xi Meng Xu Chenyang Lu Linh T.X. Phan Christopher Gill Oleg Sokolsky Insup Lee Washington University in St. Louis University of Pennsylvania
POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)
RTOSes Part I Christopher Kenna September 24, 2010 POSIX Portable Operating System for UnIX Application portability at source-code level POSIX Family formally known as IEEE 1003 Originally 17 separate
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,
RT-Xen: Towards Real-time Hypervisor Scheduling in Xen
RT-Xen: Towards Real-time Hypervisor Scheduling in Xen Sisu Xi, Justin Wilson, Chenyang Lu, and Christopher Gill Department of Computer Science and Engineering Washington University in St. Louis {xis,
Quality of Service su Linux: Passato Presente e Futuro
Quality of Service su Linux: Passato Presente e Futuro Luca Abeni [email protected] Università di Trento Quality of Service su Linux:Passato Presente e Futuro p. 1 Quality of Service Time Sensitive applications
Capacity Estimation for Linux Workloads
Capacity Estimation for Linux Workloads Session L985 David Boyes Sine Nomine Associates 1 Agenda General Capacity Planning Issues Virtual Machine History and Value Unique Capacity Issues in Virtual Machines
Load-Balancing for Improving User Responsiveness on Multicore Embedded Systems
Load-Balancing for Improving User Responsiveness on Multicore Embedded Systems 2012 Linux Symposium Geunsik Lim Sungkyungkwan University Samsung Electronics [email protected] [email protected]
Real-Time Multi-Core Virtual Machine Scheduling in Xen
Department of Computer Science & Engineering 23-9 Real-Time Multi-Core Virtual Machine Scheduling in Xen Authors: Sisu Xi, Meng Xu, Chenyang Lu, Linh T.X. Phan, Christopher Gill, Oleg Sokolsky, Insup Lee
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
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:
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
Scheduling Aperiodic and Sporadic Jobs in Priority- Driven Systems
Scheduling Aperiodic and Sporadic Jobs in Priority- Driven Systems Ingo Sander [email protected] Liu: Chapter 7 IL2212 Embedded Software 1 Outline l System Model and Assumptions l Scheduling Aperiodic Jobs l
Multi-core and Linux* Kernel
Multi-core and Linux* Kernel Suresh Siddha Intel Open Source Technology Center Abstract Semiconductor technological advances in the recent years have led to the inclusion of multiple CPU execution cores
Understanding the Linux 2.6.8.1 CPU Scheduler
Understanding the Linux 2.6.8.1 CPU Scheduler Contents By Josh Aas c 2005 Silicon Graphics, Inc. (SGI) 17th February 2005 1 Introduction 3 1.1 Paper Overview............................ 3 1.2 Linux Kernel
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)
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
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
Android Operating System
Prajakta S.Adsule Student-M.B.A.[I.T.] BharatiVidyapeeth Deemed University,Pune(india) [email protected] Mob. No. 9850685985 Android Operating System Abstract- Android operating system is one
10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details
Thomas Fahrig Senior Developer Hypervisor Team Hypervisor Architecture Terminology Goals Basics Details Scheduling Interval External Interrupt Handling Reserves, Weights and Caps Context Switch Waiting
Testing task schedulers on Linux system
Testing task schedulers on Linux system Leonardo Jelenković, Stjepan Groš, Domagoj Jakobović University of Zagreb, Croatia Faculty of Electrical Engineering and Computing Abstract Testing task schedulers
Real-Time Operating Systems. http://soc.eurecom.fr/os/
Institut Mines-Telecom Ludovic Apvrille [email protected] Eurecom, office 470 http://soc.eurecom.fr/os/ Outline 2/66 Fall 2014 Institut Mines-Telecom Definitions What is an Embedded
Introduction. Application Performance in the QLinux Multimedia Operating System. Solution: QLinux. Introduction. Outline. QLinux Design Principles
Application Performance in the QLinux Multimedia Operating System Sundaram, A. Chandra, P. Goyal, P. Shenoy, J. Sahni and H. Vin Umass Amherst, U of Texas Austin ACM Multimedia, 2000 Introduction General
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
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
KairosVM: Deterministic Introspection for Real-time Virtual Machine Hierarchical Scheduling
KairosVM: Deterministic Introspection for Real-time Virtual Machine Hierarchical Scheduling Kevin Burns, Antonio Barbalace, Vincent Legout, Binoy Ravindran Department of Electrical and Computer Engineering
