Scalable Linux Scheduling (Paper # 9)
|
|
- Doreen Dean
- 5 years ago
- Views:
Transcription
1 Scalable Linux Scheduling (Paper # 9) Scalability: the ability to support large number of threads. 30% of the total CPU time is spent in the scheduler when the number of running threads is high. Linux scheduler use expensive and redundant algorithm for task selection. How to improve?
2 Linux Thread Model Kernel thread and user-level thread Many established operating systems support many-to-one or manyto-many thread models. In such model, a kernel-level thread has many user-level threads mapped to it. A secondary scheduler chooses which of the mapped user level threads to run. The multi-tie scheduling approach of these models assures a manageable number of kernel threads. Linux use a one-to-one model: every user-level thread has its own kernel thread. One-to-one mapping usually generate too many kernel level thread. Linux scheduler evaluate each runnable threads to pick the bestone
3 Many of the calculation is simple repeating of its last evaluation. The computation proportionally increases at the number of kernel-level threads.
4 Current Default Linux Scheduler Task Structure: maintaining a task s address space information, memory management, file descriptors, and other information. volatile long state blocking, sleeping... unsigned long policy FIFO, round robin, or other long counter remaining time of current quantum, 10ms tick long priority 1 to 40, long rt priority 1 to 99 struct list head run list int has cpu 1 when is executing int processor on which processor it is executing Table 1: Task structure Run Queue: a circular linked list containing all tasks in the running state. The scheduler traverses this list when it looks for a task to run. The list is not sorted.
5 when the scheduler finds a tie in priority, the one closer to the front of the list is chosen. New task or awakened tasks are placed at the head. schedule(): THE kernel function do the actual scheduling. called from over 500 places within the kernel. is called when a task yields the processor, blocks for I/O, expires its quantum, or is preempted by another (higher priority) task. Goodness calculation: For FIFO or RT tasks, 1000+rt priority. For others, =0, if counter=0 =counter+priority, else 15 points bonus if last run was on the current processor (processor affinity bonus).
6 schedule() in kernel * * Note! there may appear new tasks on the run-queue during this, as * interrupts are enabled. However, they will be put on front of the * list, so our list starting at "p" is essentially fixed. */ /* this is the scheduler proper: */ { int c = -1000; next = idle_task; while (p!= &init_task) { if (can_schedule(p)) { int weight = goodness(p, prev, this_cpu); if (weight > c) c = weight, next = p; } p = p->next_run; } } } /* Do we need to re-calculate counters? */ if (!c) { struct task_struct *p; read_lock(&tasklist_lock); for_each_task(p) p->counter = (p->counter >> 1) + p->priority; read_unlock(&tasklist_lock); }
7 Performance Evaluation with Java Thread (paper # 10) Threads are an essential part of programming in Java: Java language lacks an interface for non-blocking I/O. Multi-thread are especially necessary in communication intensive applications. Typically at least one or more thread are created for each communication stream. Java thread implementation: Java thread is defined in the context of Java Virtual Machine, it can be mapped to kernel thread in different ways. Some Java VM use many-to-one mapping, such as Blackdown JDK. Java threads are not visible to kernel scheduler Blocking calls have to be trapped by the Java run environment, and go through a user-level scheduler in the Java VM. Otherwise, it will block other runnable java threads.
8 This is also called user-level thread support, it provides a multithread programming even the OS does not support thread. Not able to take full advantage of multiple processor. IBM Java VM uses a one-to-one mapping. Benchmark: VolanoMark Simulation of chat service. Simulating parameters: chat room number and number of messages per user. Each simulated user establishes a socket connection to the server, and exchange messages with the server. The number of Java thread vary from 400 to Key statistic: message throughput. Benchmark results: Up to 24% reduction in message throughput. Amount of kernel time spent in schedule is from 30% to 50%. Highest run queue length is 414. Proposed improvement by IBM:
9 Reduce the calculation cost for goodness() function reduce the cache misses during the goodness calculation. average cycle for goodness() reduced from 167 CPU cycles to 108 cycles. message throughput increased by 7%.
10 Improvement Proposed by Paper #9: ELSC Scheduler Goals: Keep changes local to the scheduler. Keep the concept and implementation simple. Behave like the current scheduler as much as possible. Maintain existing performance for light loads, and scale gracefully under heavy loads. ELSC keeps the run queue in a sorted order to make a quick scheduling decision. To reduce cost associated with sorting, ELSC uses a table based structure instead of linked list. Observation of the goodness calculation: Static goodness: a task s counter and priority does not change if a task is on the run queue but not running on a processor.
11 Dynamic goodness: related to memory map and processor affinity depends on which task and processor are calling schedule().
12 Implementation of ELSC Use an array of 30 double linked list as runnable queues. Each list in the array is used to hold tasks in a certain static goodness range. List head (a) Run queue for default linux scheduler List head List head List head (a) Run queue for ELSC scheduler queue array manipulation: Figure 1: Run queue table
13 add to runqueue(): put a task into a proper list according to its priority value. Queue array searching algorithm Try to limit its search to one list in its table Worst case: all threads are put in the same queue. Limit the number of tasks examined in each list to half the number of processors in the system plus 5. The rest of the list is not considered, as all tasks in the list have about the same static goodness. For real-time tasks, the search is much simpler, and the ELSC simply run the task with the highest rt priority value. Might schedule a task that is not highest in priority. Performance results
14 Scheduler in Kernel Multiple runqueue, each per processor. Load balancing consideration. Each runqueue contain a table of list. The size of table is maximum priority value. Priority value only calculated whenever necessary, thus there are no recalculation of priority value in schedule(). Select the first task of highest priority Fast searching algorithm: how many instruction needed to find the location of a given priority?
15 static inline int effective_prio(task_t *p) { int bonus, prio; /* * Here we scale the actual sleep average [0... MAX_SLEEP_AVG] * into the bonus/penalty range. * * We use 25% of the full priority range so that: * * 1) nice +19 interactive tasks do not preempt nice 0 CPU hogs. * 2) nice -20 CPU hogs do not get preempted by nice 0 tasks. * * Both properties are important to certain workloads. */ bonus = MAX_USER_PRIO*PRIO_BONUS_RATIO*p->sleep_avg/MAX_SLEEP_AVG/100 - MAX_USER_PRIO*PRIO_BONUS_RATIO/100/2; } prio = p->static_prio - bonus; if (prio < MAX_RT_PRIO) prio = MAX_RT_PRIO; if (prio > MAX_PRIO-1) prio = MAX_PRIO-1; return prio; asmlinkage void schedule(void) {... array = rq->active;... idx = sched_find_first_bit(array->bitmap); queue = array->queue + idx; next = list_entry(queue->next, task_t, run_list);...
16 } static inline int _sched_find_first_bit(unsigned long *b) { if (unlikely(b[0])) return ffs(b[0]); if (unlikely(b[1])) return ffs(b[1]) + 32; if (unlikely(b[2])) return ffs(b[2]) + 64; if (b[3]) return ffs(b[3]) + 96; return ffs(b[4]) + 128; }
Scheduling policy. Reference: ULK3e 7.1. Scheduling in Linux 1 / 20
Scheduling policy Reference: 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
More informationComputer Systems Laboratory Sungkyunkwan University
CPU Scheduling Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics General scheduling concepts Scheduling algorithms Case studies Linux
More informationScheduling: Case Studies. CS 161: Lecture 5 2/14/17
Scheduling: Case Studies CS 161: Lecture 5 2/14/17 Scheduling Basics Goal of scheduling: Pick the best task to run on a CPU Often a good idea to prioritize IO-bound tasks If IO comes from user (e.g., keyboard,
More informationHigh level scheduling: Medium level scheduling: Low level scheduling. Scheduling 0 : Levels
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
More informationW4118: advanced scheduling
W4118: advanced scheduling Instructor: Junfeng Yang References: Modern Operating Systems (3 rd edition), Operating Systems Concepts (8 th edition), previous W4118, and OS at MIT, Stanford, and UWisc Outline
More informationLinux Linux #! "! Linux
#!! ! 2.5.X % Understanding the Kernel &! 2.5.X kernel/sched.cinclude/linux/sched.h'! Ingo Molnar' ) time! sharing!! &! & Preemptive multitasking SCHED_OTHER * ( & *& real-time!!, & '!! ) TASK_RUNNING!
More informationEnhancing Linux Scheduler Scalability
Enhancing Linux Scheduler Scalability Mike Kravetz IBM Linux Technology Center Hubertus Franke, Shailabh Nagar, Rajan Ravindran IBM Thomas J. Watson Research Center {mkravetz,frankeh,nagar,rajancr}@us.ibm.com
More informationCSCI-GA Operating Systems Lecture 3: Processes and Threads -Part 2 Scheduling Hubertus Franke
CSCI-GA.2250-001 Operating Systems Lecture 3: Processes and Threads -Part 2 Scheduling Hubertus Franke frankeh@cs.nyu.edu Processes Vs Threads The unit of dispatching is referred to as a thread or lightweight
More informationLinux Scheduler. OS 323 (Spring 2013)
Linux Scheduler OS 323 (Spring 2013) Process states CPU scheduler Makes the computer more productive by switching the CPU among processes CPU scheduling may take place when a process: 1. Switches from
More informationò mm_struct represents an address space in kernel ò task represents a thread in the kernel ò A task points to 0 or 1 mm_structs
Last time We went through the high-level theory of scheduling algorithms Scheduling Today: View into how Linux makes its scheduling decisions Don Porter CSE 306 Lecture goals Understand low-level building
More informationScheduling. Don Porter CSE 306
Scheduling Don Porter CSE 306 Last time ò We went through the high-level theory of scheduling algorithms ò Today: View into how Linux makes its scheduling decisions Lecture goals ò Understand low-level
More informationSMP Scheduling RT Scheduling Examples. December Winter Term 2008/09 Gerd Liefländer
System Architecture 14 Scheduling (2) SMP Scheduling RT Scheduling Examples December 17 2008 Winter Term 2008/09 Gerd Liefländer 2008 Universität Karlsruhe (TH), System Architecture Group 1 SMP Classification
More informationCS 4284 Systems Capstone. Resource Allocation & Scheduling Godmar Back
CS 4284 Systems Capstone Resource Allocation & Scheduling Godmar Back Resource Allocation and Scheduling Resource Allocation & Scheduling Resource management is primary OS function Involves resource allocation
More information238P: Operating Systems. Lecture 14: Process scheduling
238P: Operating Systems Lecture 14: Process scheduling This lecture is heavily based on the material developed by Don Porter Anton Burtsev November, 2017 Cooperative vs preemptive What is cooperative multitasking?
More informationScheduling in the Supermarket
Scheduling in the Supermarket Consider a line of people waiting in front of the checkout in the grocery store. In what order should the cashier process their purchases? Scheduling Criteria CPU utilization
More informationOperating Systems 16 - CS 323 Assignment #2
Operating Systems 16 - CS 323 Assignment #2 Scheduler March 18, 2016 1 Objectives 1. Learn about scheduling in the Linux kernel 2. Understand the tradeoffs involved in scheduling 3. Work on the codebase
More informationò Paper reading assigned for next Tuesday ò Understand low-level building blocks of a scheduler User Kernel ò Understand competing policy goals
Housekeeping Paper reading assigned for next Tuesday Scheduling Don Porter CSE 506 Memory Management Logical Diagram Binary Memory Formats Allocators Threads Today s Lecture Switching System to CPU Calls
More informationScheduling - Overview
Scheduling - Overview Quick review of textbook scheduling Linux 2.4 scheduler implementation overview Linux 2.4 scheduler code Modified Linux 2.4 scheduler Linux 2.6 scheduler comments Possible Goals of
More informationCourse Syllabus. Operating Systems
Course Syllabus. Introduction - History; Views; Concepts; Structure 2. Process Management - Processes; State + Resources; Threads; Unix implementation of Processes 3. Scheduling Paradigms; Unix; Modeling
More informationSFO The Linux Kernel Scheduler. Viresh Kumar (PMWG)
SFO17-421 The Linux Kernel Scheduler Viresh Kumar (PMWG) Topics CPU Scheduler The O(1) scheduler Current scheduler design Scheduling classes schedule() Scheduling classes and policies Sched class: STOP
More informationPROCESS SCHEDULING Operating Systems Design Euiseong Seo
PROCESS SCHEDULING 2017 Operating Systems Design Euiseong Seo (euiseong@skku.edu) Histogram of CPU Burst Cycles Alternating Sequence of CPU and IO Processor Scheduling Selects from among the processes
More informationChapter 5: CPU Scheduling
COP 4610: Introduction to Operating Systems (Fall 2016) Chapter 5: CPU Scheduling Zhi Wang Florida State University Contents Basic concepts Scheduling criteria Scheduling algorithms Thread scheduling Multiple-processor
More informationScalable Linux Scheduling
CITI Technical Report 01-7 Scalable Linux Scheduling Stephen P. Molloy, Peter Honeyman {smolloy,honey}@citi.umich.edu ABSTRACT For most of its existence, Linux has been used primarily as a personal desktop
More informationChapter 10: Case Studies. So what happens in a real operating system?
Chapter 10: Case Studies So what happens in a real operating system? Operating systems in the real world Studied mechanisms used by operating systems Processes & scheduling Memory management File systems
More informationAnnouncements. Reading. Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) CMSC 412 S14 (lect 5)
Announcements Reading Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) 1 Relationship between Kernel mod and User Mode User Process Kernel System Calls User Process
More informationECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Processes and threads
ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part I: Operating system overview: Processes and threads 1 Overview Process concept Process scheduling Thread
More informationChapter 5: CPU Scheduling
Chapter 5: CPU Scheduling Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating Systems Examples Algorithm Evaluation
More informationChapter 5: CPU Scheduling. Operating System Concepts Essentials 8 th Edition
Chapter 5: CPU Scheduling Silberschatz, Galvin and Gagne 2011 Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating
More informationProcess Scheduling. Copyright : University of Illinois CS 241 Staff
Process Scheduling Copyright : University of Illinois CS 241 Staff 1 Process Scheduling Deciding which process/thread should occupy the resource (CPU, disk, etc) CPU I want to play Whose turn is it? Process
More informationAnalysis of the BFS Scheduler in FreeBSD
CS2106R Final Report Analysis of the BFS Scheduler in FreeBSD By Vaarnan Drolia Department of Computer Science School of Computing National University of Singapore 2011/12 CS2106R Final Report Analysis
More informationProject No. 2: Process Scheduling in Linux Submission due: April 12, 2013, 11:59pm
Project No. 2: Process Scheduling in Linux Submission due: April 12, 2013, 11:59pm PURPOSE Getting familiar with the Linux kernel source code. Understanding process scheduling and how different parameters
More informationCS 378 (Spring 2003)
Department of Computer Sciences THE UNIVERSITY OF TEXAS AT AUSTIN CS 378 (Spring 2003) Linux Kernel Programming Yongguang Zhang (ygz@cs.utexas.edu) Copyright 2003, Yongguang Zhang This Lecture Last Lecture:
More informationScheduling II. ! Multilevel queue scheduling. ! Multiprocessor scheduling issues. ! Real-time scheduling. ! Linux scheduling
Scheduling II! Multilevel queue scheduling! Multiprocessor scheduling issues! Real-time scheduling! Linux scheduling 1 Motivation! No one-size-fits-all scheduler " Different workloads " Different environment!
More informationCS 326: Operating Systems. CPU Scheduling. Lecture 6
CS 326: Operating Systems CPU Scheduling Lecture 6 Today s Schedule Agenda? Context Switches and Interrupts Basic Scheduling Algorithms Scheduling with I/O Symmetric multiprocessing 2/7/18 CS 326: Operating
More informationCS2506 Quick Revision
CS2506 Quick Revision OS Structure / Layer Kernel Structure Enter Kernel / Trap Instruction Classification of OS Process Definition Process Context Operations Process Management Child Process Thread Process
More informationComparison of soft real-time CPU scheduling in Linux kernel 2.6 series with Solaris 10
Comparison of soft real-time CPU scheduling in Linux kernel 2.6 series with Solaris 10 Kristoffer Eriksson Philip Frising Department of Computer and Information Science Linköping University 1(15) 1. About
More informationOperating Systems CS 323 Ms. Ines Abbes
Taibah University College of Community of Badr Computer Science Department Operating Systems CS71/CS72 جامعة طيبة كلية المجتمع ببدر قسم علوم الحاسب مقرر: نظم التشغيل Operating Systems CS 323 Ms. Ines Abbes
More informationChapter 5 CPU scheduling
Chapter 5 CPU scheduling Contents Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Thread Scheduling Operating Systems Examples Java Thread Scheduling
More informationCPU Scheduling. The scheduling problem: When do we make decision? - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s)
CPU Scheduling The scheduling problem: - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s) When do we make decision? 1 / 31 CPU Scheduling new admitted interrupt exit terminated
More informationAnnouncements. Program #1. Reading. Due 2/15 at 5:00 pm. Finish scheduling Process Synchronization: Chapter 6 (8 th Ed) or Chapter 7 (6 th Ed)
Announcements Program #1 Due 2/15 at 5:00 pm Reading Finish scheduling Process Synchronization: Chapter 6 (8 th Ed) or Chapter 7 (6 th Ed) 1 Scheduling criteria Per processor, or system oriented CPU utilization
More informationIntroduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras
Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 05 Lecture - 21 Scheduling in Linux (O(n) and O(1) Scheduler)
More informationNative POSIX Thread Library (NPTL) CSE 506 Don Porter
Native POSIX Thread Library (NPTL) CSE 506 Don Porter Logical Diagram Binary Memory Threads Formats Allocators Today s Lecture Scheduling System Calls threads RCU File System Networking Sync User Kernel
More informationAnnouncements. Program #1. Program #0. Reading. Is due at 9:00 AM on Thursday. Re-grade requests are due by Monday at 11:59:59 PM.
Program #1 Announcements Is due at 9:00 AM on Thursday Program #0 Re-grade requests are due by Monday at 11:59:59 PM Reading Chapter 6 1 CPU Scheduling Manage CPU to achieve several objectives: maximize
More informationKernel Korner What's New in the 2.6 Scheduler
Kernel Korner What's New in the 2.6 Scheduler When large SMP systems started spending more time scheduling processes than running them, it was time for a change. by Rick Lindsley As work began on the 2.5
More informationSMD149 - Operating Systems
SMD149 - Operating Systems Roland Parviainen November 3, 2005 1 / 45 Outline Overview 2 / 45 Process (tasks) are necessary for concurrency Instance of a program in execution Next invocation of the program
More informationScheduling. CS 161: Lecture 4 2/9/17
Scheduling CS 161: Lecture 4 2/9/17 Where does the first process come from? The Linux Boot Process Machine turned on; BIOS runs BIOS: Basic Input/Output System Stored in flash memory on motherboard Determines
More informationLECTURE 3:CPU SCHEDULING
LECTURE 3:CPU SCHEDULING 1 Outline Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time CPU Scheduling Operating Systems Examples Algorithm Evaluation 2 Objectives
More informationProcesses, Context Switching, and Scheduling. Kevin Webb Swarthmore College January 30, 2018
Processes, Context Switching, and Scheduling Kevin Webb Swarthmore College January 30, 2018 Today s Goals What is a process to the OS? What are a process s resources and how does it get them? In particular:
More informationCPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University
Operating Systems (Fall/Winter 2018) CPU Scheduling Yajin Zhou (http://yajin.org) Zhejiang University Acknowledgement: some pages are based on the slides from Zhi Wang(fsu). Review Motivation to use threads
More informationChapter 6: CPU Scheduling
Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Thread Scheduling Operating Systems Examples Java Thread Scheduling
More informationPeriodic scheduler for Linux OS. Mike Athanasakis Operating System TA Winter
Periodic scheduler for Linux OS Mike Athanasakis michath@csd.uoc.gr Operating System TA Winter 2015-2016 History Linux v1.2 Round Robin Linux v2.2 Scheduling Classes & Policies Linux v2.4 Division in epochs,
More informationScheduling. Today. Next Time Process interaction & communication
Scheduling Today Introduction to scheduling Classical algorithms Thread scheduling Evaluating scheduling OS example Next Time Process interaction & communication Scheduling Problem Several ready processes
More informationLecture 17: Threads and Scheduling. Thursday, 05 Nov 2009
CS211: Programming and Operating Systems Lecture 17: Threads and Scheduling Thursday, 05 Nov 2009 CS211 Lecture 17: Threads and Scheduling 1/22 Today 1 Introduction to threads Advantages of threads 2 User
More informationScheduling, part 2. Don Porter CSE 506
Scheduling, part 2 Don Porter CSE 506 Logical Diagram Binary Memory Formats Allocators Threads Today s Lecture Switching System to CPU Calls RCU scheduling File System Networking Sync User Kernel Memory
More informationScheduling. Scheduling 1/51
Scheduling 1/51 Scheduler Scheduling Scheduler allocates cpu(s) to threads and processes. This action is known as scheduling. The scheduler is a part of the process manager code that handles scheduling.
More informationProcesses. Overview. Processes. Process Creation. Process Creation fork() Processes. CPU scheduling. Pål Halvorsen 21/9-2005
INF060: Introduction to Operating Systems and Data Communication Operating Systems: Processes & CPU Pål Halvorsen /9-005 Overview Processes primitives for creation and termination states context switches
More informationMultithreading Pearson Education, Inc. All rights reserved.
1 23 Multithreading 2 23.1 Introduction Multithreading Provides application with multiple threads of execution Allows programs to perform tasks concurrently Often requires programmer to synchronize threads
More informationScheduling. Scheduling 1/51
Scheduling 1/51 Learning Objectives Scheduling To understand the role of a scheduler in an operating system To understand the scheduling mechanism To understand scheduling strategies such as non-preemptive
More informationOperating Systems. Process scheduling. Thomas Ropars.
1 Operating Systems Process scheduling Thomas Ropars thomas.ropars@univ-grenoble-alpes.fr 2018 References The content of these lectures is inspired by: The lecture notes of Renaud Lachaize. The lecture
More informationChapter 5 Process Scheduling
Chapter 5 Process Scheduling Da-Wei Chang CSIE.NCKU Source: Abraham Silberschatz, Peter B. Galvin, and Greg Gagne, "Operating System Concepts", 9th Edition, Wiley. 1 Outline Basic Concepts Scheduling Criteria
More informationReview: Program Execution. Memory program code program data program stack containing procedure activation records
Threads and Concurrency 1 Review: Program Execution Registers program counter, stack pointer,... Memory program code program data program stack containing procedure activation records CPU fetches and executes
More informationCPU Scheduling. The scheduling problem: When do we make decision? - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s)
CPU Scheduling The scheduling problem: - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s) When do we make decision? 1 / 39 CPU Scheduling new admitted interrupt exit terminated
More informationChapter 5: CPU Scheduling. Operating System Concepts 9 th Edit9on
Chapter 5: CPU Scheduling Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling 1. Basic Concepts 2. Scheduling Criteria 3. Scheduling Algorithms 4. Thread
More informationThreads, SMP, and Microkernels. Chapter 4
Threads, SMP, and Microkernels Chapter 4 Processes Resource ownership - process is allocated a virtual address space to hold the process image Dispatched - process is an execution path through one or more
More informationCPU Scheduling. The scheduling problem: When do we make decision? - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s)
1/32 CPU Scheduling The scheduling problem: - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s) When do we make decision? 2/32 CPU Scheduling Scheduling decisions may take
More informationChapter 5: CPU Scheduling. Operating System Concepts 8 th Edition,
Chapter 5: CPU Scheduling Operating System Concepts 8 th Edition, Hanbat National Univ. Computer Eng. Dept. Y.J.Kim 2009 Chapter 5: Process Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms
More informationProcess Characteristics. Threads Chapter 4. Process Characteristics. Multithreading vs. Single threading
Process Characteristics Threads Chapter 4 Reading: 4.1,4.4, 4.5 Unit of resource ownership - process is allocated: a virtual address space to hold the process image control of some resources (files, I/O
More informationThreads Chapter 4. Reading: 4.1,4.4, 4.5
Threads Chapter 4 Reading: 4.1,4.4, 4.5 1 Process Characteristics Unit of resource ownership - process is allocated: a virtual address space to hold the process image control of some resources (files,
More informationOperating System. Hanyang University. Hyunmin Yoon Operating System Hanyang University
Hyunmin Yoon (fulcanelli86@gmail.com) 2 General concept SCHEDULING 2 3 Process Program consists of processes A process includes Program code Data section Global variables Current activity PC (program counter)
More informationCS307: Operating Systems
CS307: Operating Systems Chentao Wu 吴晨涛 Associate Professor Dept. of Computer Science and Engineering Shanghai Jiao Tong University SEIEE Building 3-513 wuct@cs.sjtu.edu.cn Download Lectures ftp://public.sjtu.edu.cn
More informationContext Switching & CPU Scheduling
Context Switching & CPU Scheduling Nima Honarmand Administrivia Midterm: next Tuesday, 10/17, in class Will include everything discussed until then Will cover: Class lectures, slides and discussions All
More informationby Maria Lima Term Paper for Professor Barrymore Warren Mercy College Division of Mathematics and Computer Information Science
by Maria Lima Term Paper for Professor Barrymore Warren Mercy College Division of Mathematics and Computer Information Science Table of Contents 1. Introduction...1 2. CPU Scheduling Overview...1 3. Processes
More informationLast Class: Processes
Last Class: Processes A process is the unit of execution. Processes are represented as Process Control Blocks in the OS PCBs contain process state, scheduling and memory management information, etc A process
More informationCPU/Process Management : Objectives & Challenges. Data Structures for CPU Management
CPU/Process Management : Objectives & Challenges Scheduling Determine the order in which processes get to use the CPU Prevent starvation, ensure fairness, be efficient Allow processes to communicate efficiently
More informationMulti-Level Feedback Queues
CS 326: Operating Systems Multi-Level Feedback Queues Lecture 8 Today s Schedule Building an Ideal Scheduler Priority-Based Scheduling Multi-Level Queues Multi-Level Feedback Queues Scheduling Domains
More informationAsynchronous Events on Linux
Asynchronous Events on Linux Frederic.Rossi@Ericsson.CA Open System Lab Systems Research June 25, 2002 Ericsson Research Canada Introduction Linux performs well as a general purpose OS but doesn t satisfy
More informationCPU Scheduling. Basic Concepts. Histogram of CPU-burst Times. Dispatcher. CPU Scheduler. Alternating Sequence of CPU and I/O Bursts
CS307 Basic Concepts Maximize CPU utilization obtained with multiprogramming CPU Scheduling CPU I/O Burst Cycle Process execution consists of a cycle of CPU execution and I/O wait CPU burst distribution
More informationChap 7, 8: Scheduling. Dongkun Shin, SKKU
Chap 7, 8: Scheduling 1 Introduction Multiprogramming Multiple processes in the system with one or more processors Increases processor utilization by organizing processes so that the processor always has
More informationChapter 5: CPU Scheduling
Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating Systems Examples Algorithm Evaluation Chapter 5: CPU Scheduling
More informationFall 2014:: CSE 506:: Section 2 (PhD) Threading. Nima Honarmand (Based on slides by Don Porter and Mike Ferdman)
Threading Nima Honarmand (Based on slides by Don Porter and Mike Ferdman) Threading Review Multiple threads of execution in one address space Why? Exploits multiple processors Separate execution stream
More informationCPU Scheduling. Daniel Mosse. (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013)
CPU Scheduling Daniel Mosse (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013) Basic Concepts Maximum CPU utilization obtained with multiprogramming CPU I/O Burst Cycle Process
More informationCS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University
CS 571 Operating Systems Midterm Review Angelos Stavrou, George Mason University Class Midterm: Grading 2 Grading Midterm: 25% Theory Part 60% (1h 30m) Programming Part 40% (1h) Theory Part (Closed Books):
More informationComparison of scheduling in RTLinux and QNX. Andreas Lindqvist, Tommy Persson,
Comparison of scheduling in RTLinux and QNX Andreas Lindqvist, andli299@student.liu.se Tommy Persson, tompe015@student.liu.se 19 November 2006 Abstract The purpose of this report was to learn more about
More informationOperating Systems Design Fall 2010 Exam 1 Review. Paul Krzyzanowski
Operating Systems Design Fall 2010 Exam 1 Review Paul Krzyzanowski pxk@cs.rutgers.edu 1 Question 1 To a programmer, a system call looks just like a function call. Explain the difference in the underlying
More informationXen scheduler status. George Dunlap Citrix Systems R&D Ltd, UK
Xen scheduler status George Dunlap Citrix Systems R&D Ltd, UK george.dunlap@eu.citrix.com Goals for talk Understand the problem: Why a new scheduler? Understand reset events in credit1 and credit2 algorithms
More informationThread and Synchronization
Thread and Synchronization Task Model (Module 18) Yann-Hang Lee Arizona State University yhlee@asu.edu (480) 727-7507 Summer 2014 Real-time Systems Lab, Computer Science and Engineering, ASU Why Talk About
More informationSection 7: Scheduling and Fairness
March 1-2, 2018 Contents 1 Warmup 2 2 Vocabulary 2 3 Problems 3 3.1 Scheduling............................................. 3 3.2 Simple Priority Scheduler.................................... 4 3.2.1 Fairness..........................................
More informationScheduling Mar. 19, 2018
15-410...Everything old is new again... Scheduling Mar. 19, 2018 Dave Eckhardt Brian Railing Roger Dannenberg 1 Outline Chapter 5 (or Chapter 7): Scheduling Scheduling-people/textbook terminology note
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 10 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Chapter 6: CPU Scheduling Basic Concepts
More informationCMPS 111 Spring 2003 Midterm Exam May 8, Name: ID:
CMPS 111 Spring 2003 Midterm Exam May 8, 2003 Name: ID: This is a closed note, closed book exam. There are 20 multiple choice questions and 5 short answer questions. Plan your time accordingly. Part I:
More informationComp 310 Computer Systems and Organization
Comp 310 Computer Systems and Organization Lecture #9 Process Management (CPU Scheduling) 1 Prof. Joseph Vybihal Announcements Oct 16 Midterm exam (in class) In class review Oct 14 (½ class review) Ass#2
More informationLecture Topics. Announcements. Today: Advanced Scheduling (Stallings, chapter ) Next: Deadlock (Stallings, chapter
Lecture Topics Today: Advanced Scheduling (Stallings, chapter 10.1-10.4) Next: Deadlock (Stallings, chapter 6.1-6.6) 1 Announcements Exam #2 returned today Self-Study Exercise #10 Project #8 (due 11/16)
More informationUniversity of Waterloo Midterm Examination Model Solution CS350 Operating Systems
University of Waterloo Midterm Examination Model Solution CS350 Operating Systems Fall, 2003 1. (10 total marks) Suppose that two processes, a and b, are running in a uniprocessor system. a has three threads.
More informationThe different Unix contexts
The different Unix contexts User-level Kernel top half - System call, page fault handler, kernel-only process, etc. Software interrupt Device interrupt Timer interrupt (hardclock) Context switch code Transitions
More informationChapter 6: CPU Scheduling. Operating System Concepts 9 th Edition
Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time
More informationProcess- Concept &Process Scheduling OPERATING SYSTEMS
OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne PROCESS MANAGEMENT Current day computer systems allow multiple
More informationLecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter
Lecture Topics Today: Uniprocessor Scheduling (Stallings, chapter 9.1-9.3) Next: Advanced Scheduling (Stallings, chapter 10.1-10.4) 1 Announcements Self-Study Exercise #10 Project #8 (due 11/16) Project
More informationChapter 5: Process Scheduling
Chapter 5: Process Scheduling Chapter 5: Process Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Thread Scheduling Operating Systems Examples Algorithm
More informationThreads and Concurrency
Threads and Concurrency 1 Threads and Concurrency key concepts threads, concurrent execution, timesharing, context switch, interrupts, preemption reading Three Easy Pieces: Chapter 26 (Concurrency and
More informationELEC 377 Operating Systems. Week 1 Class 2
Operating Systems Week 1 Class 2 Labs vs. Assignments The only work to turn in are the labs. In some of the handouts I refer to the labs as assignments. There are no assignments separate from the labs.
More information