Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler Jason Nieh, Chris Vaill, Hua Zhong Columbia University Presented by Adam Binford.

Slides:



Advertisements
Similar presentations
Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler Jason Nieh; Chris Vaill; & Hua Zhong Columbia University Presented By: Parang Saraf.
Advertisements

Topic : Process Management Lecture By: Rupinder Kaur Lecturer IT, SRS Govt. Polytechnic College for Girls,Ludhiana.
BFS: Brain F*ck Scheduler Jacob Chan. Objectives  Brain F*ck Scheduling  What it is  How it works  Features  Scalability  Limitations  Definition.
Scheduling Algorithms
Chapter 5 CPU Scheduling. CPU Scheduling Topics: Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
Day 25 Uniprocessor scheduling. Algorithm: Selection function Selection function – which process among ready processes to select. w – time spent in system,
Operating Systems 1 K. Salah Module 2.1: CPU Scheduling Scheduling Types Scheduling Criteria Scheduling Algorithms Performance Evaluation.
Chapter 6: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 6: CPU Scheduling Basic.
1 Thursday, June 15, 2006 Confucius says: He who play in root, eventually kill tree.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Job scheduling Queue discipline.
 Scheduling  Linux Scheduling  Linux Scheduling Policy  Classification Of Processes In Linux  Linux Scheduling Classes  Process States In Linux.
CSC 360- Instructor: K. Wu CPU Scheduling. CSC 360- Instructor: K. Wu Agenda 1.What is CPU scheduling? 2.CPU burst distribution 3.CPU scheduler and dispatcher.
Operating System Concepts and Techniques Lecture 5 Scheduling-1 M. Naghibzadeh Reference M. Naghibzadeh, Operating System Concepts and Techniques, First.
1 Threads Chapter 11 from the book: Inter-process Communications in Linux: The Nooks & Crannies by John Shapley Gray Publisher: Prentice Hall Pub Date:
Fair Queueing. 2 First-Come-First Served (FIFO) Packets are transmitted in the order of their arrival Advantage: –Very simple to implement Disadvantage:
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
The Linux Operating System C. Blane Adcock Bryan Knehr Kevin Estep Jason Niesz.
Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler By Jason Nieh, etc Xiaojun Wang 10/07/2005.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
1 Chapter 4 Processes R. C. Chang. 2 Linux Processes n Each process is represented by a task_struct data structure (task and process are terms that Linux.
1 11/29/2015 Chapter 6: CPU Scheduling l Basic Concepts l Scheduling Criteria l Scheduling Algorithms l Multiple-Processor Scheduling l Real-Time Scheduling.
Traditional UNIX Scheduling Scheduling algorithm objectives Provide good response time for interactive users Ensure that low-priority background jobs do.
Cpr E 308 Spring 2005 Process Scheduling Basic Question: Which process goes next? Personal Computers –Few processes, interactive, low response time Batch.
6.1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Lecture 27 Multiprocessor Scheduling. Last lecture: VMM Two old problems: CPU virtualization and memory virtualization I/O virtualization Today Issues.
1 Akira Tsukamoto System Platform Laboratory NEC Corporation.
Linux Process Management. Linux Implementation of Threads Threads enable concurrent programming / true parallelism Linux implementation of threads.
TANNENBAUM SECTION 2.4, 10.3 SCHEDULING OPERATING SYSTEMS.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 32 – Multimedia OS Klara Nahrstedt Spring 2010.
Stride Scheduling: Deterministic Proportional-Share Resource Management Carl A. Waldspurger, William E. Weihl MIT Laboratory for Computer Science Presenter:
Basic Concepts Maximum CPU utilization obtained with multiprogramming
Lecture 5 Scheduling. Today CPSC Tyson Kendon Updates Assignment 1 Assignment 2 Concept Review Scheduling Processes Concepts Algorithms.
Real-Time Operating Systems RTOS For Embedded systems.
Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,
Lecture 6 The Rest of Scheduling Algorithms and The Beginning of Memory Management.
CPU SCHEDULING.
Scheduling of Non-Real-Time Tasks in Linux (SCHED_NORMAL/SCHED_OTHER)
Linux Scheduler.
Scheduling and Fairness
Lottery Scheduling: Flexible Proportional-Share Resource Management
CPU Scheduling.
Chapter 6: CPU Scheduling
Lottery Scheduling Ish Baid.
CS 3204 Operating Systems Lecture 14 Godmar Back.
Module 5: CPU Scheduling
COT 4600 Operating Systems Spring 2011
Variations of Weighted Fair Queueing
3: CPU Scheduling Basic Concepts Scheduling Criteria
Chapter 2: The Linux System Part 3
Chapter5: CPU Scheduling
Chapter 6: CPU Scheduling
Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler
Outline Scheduling algorithms Multi-processor scheduling
CPU scheduling decisions may take place when a process:
Variations of Weighted Fair Queueing
Chapter 5: CPU Scheduling
Scheduling of Regular Tasks in Linux
Chapter 10 Multiprocessor and Real-Time Scheduling
Uniprocessor scheduling
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
Shortest-Job-First (SJR) Scheduling
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
CPU SCHEDULING CPU SCHEDULING.
Linux Process State Scheduling information Identifiers
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Scheduling of Regular Tasks in Linux
Presentation transcript:

Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler Jason Nieh, Chris Vaill, Hua Zhong Columbia University Presented by Adam Binford

About the Paper Jason Nieh ▫77 publications ▫870 citations ▫Columbia University 17 Citations ▫Group ratio round-robin: O(1) proportional share scheduling for uniprocessor and multiprocessor systems 2

Overview Scheduling Background WRR and WFQ Core VTRR Algorithm Implementation Experimental Results Conclusions 3

History Linux 2.4 released 2001 Authors compared against Linux 2.2 ▫Released 1999 ▫Scheduling classes ▫Varied time quantum ▫Dynamic priorities 4

Proportional Fairness 5

Weighted Round Robin O(1) Each process gets all its shares at once Service time error depends on magnitude of shares ▫3, 2, and 1 shares has error range [-1 tu, +1.5 tu] ▫3000, 2000, and 1000 shares has error range [-1000 tu, tu] 6

Weighted Fair Queueing Tasks sorted by Virtual Finishing Time Task with lowest VFT executes VFT get’s updated, reinserted in Queue O(N) for simple design Service time error not dependent on magnitude ▫3000, 2000, and 1000 share allocation same as 3, 2, and 1 7

Virtual Time 8

VTRR State Client ▫Shares ▫VFT ▫Time counter ▫ID ▫Run state Scheduler ▫Time quantum ▫Run queue ▫Total shares ▫Queue virtual time 9

Further Definitions 10

The Process A VFT: 1/3 Time Counter: 3 B VFT: 1/2 Time Counter: 2 C VFT: 1 Time Counter: 1 11

The Process A VFT: 2/3 Time Counter: 2 B VFT: 1/2 Time Counter: 2 C VFT: 1 Time Counter: 1 12

The Process A VFT: 2/3 Time Counter: 2 B VFT: 1 Time Counter: 1 C VFT: 1 Time Counter: 1 13

The Process A VFT: 2/3 Time Counter: 2 B VFT: 1 Time Counter: 1 C VFT: 2 Time Counter: 0 14

The Process A VFT: 1 Time Counter: 1 B VFT: 1 Time Counter: 1 C VFT: 2 Time Counter: 0 15

The Process A VFT: 1 Time Counter: 1 B VFT: 3/2 Time Counter: 0 C VFT: 2 Time Counter: 0 16

The Process A VFT: 4/3 Time Counter: 3 B VFT: 3/2 Time Counter: 2 C VFT: 2 Time Counter: 1 17

Dynamic Operations 18

Complexity Insertion in worst case is O(N) ▫O(1) with valid last-previous and last-next references Naïve time counter reset takes O(N) time ▫Can be reduced to O(1) All other operations O(1) 19

Implementation Built on Linux 2.2 kernel Single CPU Reused existing scheduling code Statically allocated kernel memory 20

Simulation Studies 21

Scheduling Overhead 22

Scheduling Granularity 23

Schedulers Today Linux default scheduler is the Completely Fair Scheduler ▫Red-black tree ordered by virtual time Additional scheduling classes ▫SCHED_RR strictly priority based round robin ▫SCHED_FIFO non-preemptive scheduling ▫Both supersede default ▫SCHED_FIFO supersedes SCHED_RR 24

Conclusions Majority of operations O(1) Effective for large-scale servers Strong proportional fairness Virtual time still used today Single processor design 25

Questions 26