Lottery Scheduling: Flexible Proportional-Share Resource Management Sim YounSeok C. A. Waldspurger and W. E. Weihl.

Slides:



Advertisements
Similar presentations
Scheduling Introduction to Scheduling
Advertisements

LOTTERY SCHEDULING: FLEXIBLE PROPORTIONAL-SHARE RESOURCE MANAGEMENT
Embedded System Lab. 1 Embedded system Lab.
CPU Scheduling Section 2.5.
© Ibrahim Korpeoglu Bilkent University
G Robert Grimm New York University Lottery Scheduling.
Project 2 – solution code
CS 3013 & CS 502 Summer 2006 Scheduling1 The art and science of allocating the CPU and other resources to processes.
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.
Tao Yang, UCSB CS 240B’03 Unix Scheduling Multilevel feedback queues –128 priority queues (value: 0-127) –Round Robin per priority queue Every scheduling.
1 Pertemuan 8 Penjadwalan (lanjutan) Matakuliah: T0316/sistem Operasi Tahun: 2005 Versi/Revisi: 5.
RTOS Scheduling – II EE202A (Fall 2001): Lecture #5.
Cs238 CPU Scheduling Dr. Alan R. Davis. CPU Scheduling The objective of multiprogramming is to have some process running at all times, to maximize CPU.
Scheduling CS623, Lecture 7 3/9/2004 © Joel Wein, updated by T. Suel.
5: CPU-Scheduling1 Jerry Breecher OPERATING SYSTEMS SCHEDULING.
Wk 2 – Scheduling 1 CS502 Spring 2006 Scheduling The art and science of allocating the CPU and other resources to processes.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture.
1Chapter 05, Fall 2008 CPU Scheduling The CPU scheduler (sometimes called the dispatcher or short-term scheduler): Selects a process from the ready queue.
Chapter 2 Processes and Threads Scheduling Classical Problems.
Chapter 6: CPU Scheduling
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Lecture 5 Operating Systems.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
Operating System Examples - Scheduling
1 Previous lecture review n Out of basic scheduling techniques none is a clear winner: u FCFS - simple but unfair u RR - more overhead than FCFS may not.
1 Scheduling Processes. 2 Processes Each process has state, that includes its text and data, procedure call stack, etc. This state resides in memory.
Outline for Today Objectives: Linux scheduler Lottery scheduling
Chapter 6 Scheduling. Basic concepts Goal is maximum utilization –what does this mean? –cpu pegged at 100% ?? Most programs are I/O bound Thus some other.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Scheduling. Alternating Sequence of CPU And I/O Bursts.
1 Scheduling The part of the OS that makes the choice of which process to run next is called the scheduler and the algorithm it uses is called the scheduling.
2.5 Scheduling Given a multiprogramming system. Given a multiprogramming system. Many times when more than 1 process is waiting for the CPU (in the ready.
Operating Systems Scheduling. Bursts of CPU usage alternate with periods of waiting for I/O. (a) A CPU-bound process. (b) An I/O-bound process. Scheduling.
1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Response time Throughput Processor efficiency.
Uniprocessor Scheduling
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.
2.5 Scheduling. Given a multiprogramming system, there are many times when more than 1 process is waiting for the CPU (in the ready queue). Given a multiprogramming.
Lecture 8: Lottery Scheduling 1. Class Plan Lottery scheduling: – Motivation – Solution proposed Group work and answers on: – Implementation issues: challenges?
Lecture Topics: 11/15 CPU scheduling: –Scheduling goals and algorithms.
CS333 Intro to Operating Systems Jonathan Walpole.
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
Operating Systems Scheduling. Scheduling Short term scheduler (CPU Scheduler) –Whenever the CPU becomes idle, a process must be selected for execution.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Advanced Operating Systems (CS 202) Scheduling Jan, 20, 2016.
Lecture 4 CPU scheduling. Basic Concepts Single Process  one process at a time Maximum CPU utilization obtained with multiprogramming CPU idle :waiting.
CPU scheduling.  Single Process  one process at a time  Maximum CPU utilization obtained with multiprogramming  CPU idle :waiting time is wasted 2.
Lecture 5 Scheduling. Today CPSC Tyson Kendon Updates Assignment 1 Assignment 2 Concept Review Scheduling Processes Concepts Algorithms.
CPU Scheduling Andy Wang Operating Systems COP 4610 / CGS 5765.
CPU Scheduling Scheduling processes (or kernel-level threads) onto the cpu is one of the most important OS functions. The cpu is an expensive resource.
Scheduling Policies.
Scheduling of Non-Real-Time Tasks in Linux (SCHED_NORMAL/SCHED_OTHER)
Outline for Today Objectives: Announcements Interrupts (continued)
Advanced Operating Systems (CS 202) Scheduling (2)
Chapter 2 Scheduling.
Chapter 8 – Processor Scheduling
Lottery Scheduling: Flexible Proportional-Share Resource Management
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Lottery Scheduling Ish Baid.
Lecture 23: Process Scheduling for Interactive Systems
CS 3204 Operating Systems Lecture 14 Godmar Back.
Andy Wang Operating Systems COP 4610 / CGS 5765
Lecture 21: Introduction to Process Scheduling
Chapter 6: CPU Scheduling
CPU SCHEDULING.
Lecture 21: Introduction to Process Scheduling
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
CSE 542: Operating Systems
CPU Scheduling CSE 2431: Introduction to Operating Systems
Presentation transcript:

Lottery Scheduling: Flexible Proportional-Share Resource Management Sim YounSeok C. A. Waldspurger and W. E. Weihl

Contents ▪How works Lottery Scheduler? ▪Differences with Priority based scheduler ▪Details of Lottery Scheduling ▪Experiments ▪Conclusion ▪Q&A

How works Lottery Scheduler?

Here’s a Lottery ▪You’ll get A+ if you won ▪Every students get one lottery ticket ▪Students get 1 more ticket per 1 Question ▪Student who retaken this Class get double tickets than others

Here’s a Lottery ▪You’ll get A+ if you won ▪Every students get one lottery ticket ▪Students get 1 more ticket per 1 Question ▪Student who retaken this Class get double tickets than others

Lottery Scheduler 1.Each processes have at least 1 ticket 2.Random number generate (0 ~ total ticket-1) 3.Find winner and run it

Lottery Scheduler # of A / # of BCPU % each SCPU % each L 1 / 191%9% 0 / 2N/A50% 2 / 050%N/A 10 / 19.9%0.99% 1 / 1050%5% ▪Throughput proportional to ticket allocation ▪Assume thread A has 10 ticket and thread B has 1 ticket

Differences with Priority based Scheduler

Priority based Scheduling ▪Starvation occur ▪Low priority process blocked permanently by higher priority process ▪Complex to implement ▪Need another modules to solve starvation problem ▪Aging, Multi-level queue ▪Guarantee high priority process run first

Lottery Scheduling ▪No starvation ▪Probabilistically fair ▪Easy to implement ▪Not guarantee high priority process run first

Functions in Lottery Scheduling

Ticket Transfer ▪Explicit transfers of tickets ▪Used this when a client blocks due to dependency ▪Prevent priority inversion (I/O bandwidth, lock …)

Ticket Inflation ▪Alternative way to escalate resource right ▪Users create new tickets ▪No explicit communication ▪Only use for trusting client’s adjusting resource allocation rate

Ticket Currency

Compensation Tickets CPU Bound Process ▪Use whole time slice ▪Amount of ticket 10  10 I/O Bound Process ▪Use a part of time slice ▪f = 1/5 ▪Amount of ticket 10  50 (= 10 * 1/f) T T T/5

Implementation & Experiments

Implementation ▪Integrated into Mach 3.0 ▪Co-exist with fixed priority policies ▪Support ticket transfers, currencies, inflation, compensation ▪List based thread list ▪Winning thread selected in O(n) ▪Possibly optimized to tree-based list

Experiment (Fairness) Observed ratio over 60s8 sec window, 2:1 allocate ratio

Experiment (Flexible control)

Experiment (Client-Server Computation) ▪Three clients querying text-search ▪8:3:1 allocation for clients

Experiment (Multimedia Applications) ▪Three video viewers ▪3:2:1 initial allocation ▪Change to 3:1:2 ▪Real ratios 1.92:1.50:1 and 1.92:1:1.53

Experiment (Load Insulation) ▪5 times Dhrystone ▪Currencies A, B ▪Funded equally ▪Task group A  1:2 ▪Task group B  1:2 then 1:2:3

Experiment (Lock Scheduling) ▪8 threads competing for one mutex ▪Hold mutex 50ms (h) ▪Computes for 50ms (t) ▪Threads divided into 2 groups ▪2:1 allocation ▪1:2.11 waiting times ▪1.80:1 mutex acquisition rate

Conclusion ▪Effective to Interactive system but ineffective to Real-Time system ▪How about mixed interactive and CPU-bound workload? ▪Most of experiments use only one type of workload