Urs Hengartner Sonesh Surana Yinglian Xie Mentor: Dushyanth Narayanan.

Slides:



Advertisements
Similar presentations
Scheduling Introduction to Scheduling
Advertisements

© 2004, D. J. Foreman 1 Scheduling & Dispatching.
Sogang University Advanced Operating Systems (Process Scheduling - Linux) Advanced Operating Systems (Process Scheduling - Linux) Sang Gue Oh, Ph.D. .
CPU Scheduling CPU Scheduler Performance metrics for CPU scheduling
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts Essentials – 2 nd Edition Chapter 6a: CPU Scheduling.
 Basic Concepts  Scheduling Criteria  Scheduling Algorithms.
 A quantum is the amount of time a thread gets to run before Windows checks.  Length: Windows 2000 / XP: 2 clock intervals Windows Server systems: 12.
Chapter 5 CPU Scheduling. CPU Scheduling Topics: Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
What will my performance be? Resource Advisor for DB admins Dushyanth Narayanan, Paul Barham Microsoft Research, Cambridge Eno Thereska, Anastassia Ailamaki.
CPU Scheduling Section 2.5.
A. Frank - P. Weisberg Operating Systems Process Scheduling and Switching.
CPU Scheduling CS 416: Operating Systems Design, Spring 2001
CS444/CS544 Operating Systems Scheduling 1/31/2007 Prof. Searleman
Scheduling in Batch Systems
OS Spring ’ 04 Scheduling Operating Systems Spring 2004.
CPU Scheduling. Schedulers Process migrates among several queues –Device queue, job queue, ready queue Scheduler selects a process to run from these queues.
1 Pertemuan 8 Penjadwalan (lanjutan) Matakuliah: T0316/sistem Operasi Tahun: 2005 Versi/Revisi: 5.
Chapter 2 Processes and Threads Scheduling Classical Problems.
Copyright © 1998 Wanda Kunkle Computer Organization 1 Chapter 2.1 Introduction.
Chapter 5: CPU Scheduling
Task scheduling What are the goals of a modern operating system scheduler, and how does Linux achieve them?
Job scheduling Queue discipline.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture.
1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.
1Chapter 05, Fall 2008 CPU Scheduling The CPU scheduler (sometimes called the dispatcher or short-term scheduler): Selects a process from the ready queue.
Threads & Scheduling What are threads?
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
CISC3595 CPU Scheduling.
Chapter 5: Process Scheduling
Operating Systems Part III: Process Management (CPU Scheduling)
Chapter 6: CPU Scheduling
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.
Windows 2000 Scheduling Computing Department, Lancaster University, UK.
1 Process States (1) Possible process states –running –blocked –ready Transitions between states shown.
ITEC 502 컴퓨터 시스템 및 실습 Chapter 5: CPU Scheduling Mi-Jung Choi DPNM Lab., Dept. of CSE, POSTECH.
Supporting Multi-Fidelity Computations in Mobile Interactive Applications Dushyanth Narayanan.
Round Robin Scheduling A preemptive scheduling designed for Time Sharing Systems The Ready Queue is treated as a circular queue A small execution.
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.
Operating Systems Lecture Notes CPU Scheduling Matthew Dailey Some material © Silberschatz, Galvin, and Gagne, 2002.
Scheduling. Alternating Sequence of CPU And I/O Bursts.
Group 1 Remote Computer Monitoring System Nick ConwayDoug Lother James HaggardWes Reinhart.
Review Questions on Chapter III—Scheduling COSC 4330/6310 Summer 2013.
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.
CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating Systems Examples Algorithm.
Peng Lu. CPU Scheduling 1. Basic Concepts 2. Scheduling Criteria 3. Scheduling Algorithms 4. Multiple-Processor Scheduling 5. Real-Time Scheduling 2.
OS, , Part II Processes Department of Computer Engineering, PSUWannarat Suntiamorntut.
Operating Systems CMPSC 473 Lecture 8: Threads September Instructor: Bhuvan Urgaonkar.
Practice four Chapter six. 1. A CPU-scheduling algorithm determines an order for the execution of its scheduled processes. Given n processes to be scheduled.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
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.
Chapter 5: Process Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Basic Concepts Maximum CPU utilization can be obtained.
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.
CENG334 Introduction to Operating Systems Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
Scheuduling.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 5: CPU Scheduling.
1 Wide Area Network Emulation on the Millennium Bhaskaran Raman Yan Chen Weidong Cui Randy Katz {bhaskar, yanchen, wdc, Millennium.
Processes & Threads Introduction to Operating Systems: Module 5.
CSC 322 Operating Systems Concepts Lecture - 10: by Ahmed Mumtaz Mustehsan Special Thanks To: Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Operating Systems CPU Scheduling Algorithms
1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
Operating System Examples - Scheduling. References r er/ch10.html r bangalore.org/blug/meetings/200401/scheduler-
1 Chapter 5: CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms.
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.
CPU SCHEDULING.
Chapter 5a: CPU Scheduling
Miss rate versus (period, slice)
A Comparison Study of Process Scheduling in FreeBSD, Linux and Win2k
Processes and Threads Part III
Operating systems Process scheduling.
Monitor Producer Consumer.
Presentation transcript:

Urs Hengartner Sonesh Surana Yinglian Xie Mentor: Dushyanth Narayanan

Applications demand low latency even in case of varying CPU availability Multi-fidelity applications can adapt their fidelities to changes in CPU availability Maintain latency bound for CPU-bound processes facing varying CPU availability monitor CPU availability predict future CPU availability predict latency as a function of fidelity (Odyssey) use this function to find the right application fidelity for some latency constraint (Odyssey)

Monitoring: periodic measurement of number of runnable processes CPU ticks consumed by multi-fidelity application Prediction of CPU availability n: number of runnable processes (smoothed) f: fraction of CPU ticks consumed by multi-fidelity application (smoothed)

Predict CPU availability in next second/next ten seconds Background load consisting of CPU-intensive/make processes 50 experiments per data point

Why are short-term predictions less accurate? Artifact of Linux scheduler 100 ticks per second, per process time quantum of 20 ticks for two processes A and B: Process A gets 60 ticks per second Process B gets 40 ticks per second Impossible to make accurate short-term prediction unless scheduler is simulated at user-level kernel provides more scheduling information

Why are predictions for make background load less accurate? Artifact of Linux scheduler make process gets added to run queue, but is not immediately scheduled run queue always contains make process(es) however, make process(es) always consumes less than its share makes our formula under-predict CPU availability Our formula is not powerful enough

CPU prediction is feasible Predictions are difficult for short prediction intervals I/O-bound background processes Future Work what kind of kernel-level support? more sophisticated prediction formula (e.g., techniques from machine learning)

Interactive rendering application Multiple levels of fidelity based on number of rendered polygons Background load of three CPU-intensive processes and desired latency of two seconds Scenario 1: Prediction always returns 100% CPU availability Scenario 2: Prediction returns CPU availability based on our formula