Download presentation
Presentation is loading. Please wait.
1
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture 6: Scheduling
2
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 2 Last Time: Threads & Scheduling Thread = execution stream within process User-level, kernel-level, hybrid No perfect scheduling algorithm Policy decision Goals: Minimize response time Maximize throughput Fairness
3
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 3 This Time: Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues Lottery Scheduling
4
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 4 Round-Robin Scheduling Quantum expires: move to back of queue Variants used in most real systems Tradeoffs: length of quantum Large: response time increases quantum ) 1 = FCFS Small: throughput decreases quantum ) 0 = overhead dominates context switches, cache misses
5
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 5 Example: Round-Robin waiting running
6
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 6 Example: Round-Robin waiting running
7
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 7 Example: Round-Robin waiting running
8
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 8 Example: Round-Robin waiting running
9
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 9 Example: Round-Robin waiting running
10
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 10 Example: Round-Robin waiting running
11
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 11 Example: Round-Robin waiting running
12
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 12 Example: Round-Robin waiting running
13
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 13 Example: Round-Robin waiting running
14
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 14 Example: Round-Robin waiting running
15
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 15 Example: Round-Robin waiting running + Fair - Long average wait times
16
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 16 Round-Robin vs. FCFS Example 1: 5 jobs, 100 seconds each, quantum = 1s ignore context switch time
17
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 17 Round-Robin vs. FCFS Example 1: 5 jobs, 100 seconds each, quantum = 1s ignore context switch time
18
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 18 Round-Robin vs. FCFS Example 2: 5 jobs: 50, 40, 30, 20, 10 seconds each
19
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 19 Round-Robin vs. FCFS Example 2: 5 jobs: 50, 40, 30, 20, 10 seconds each
20
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 20 This Time: Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues Lottery Scheduling
21
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 21 Example: SJF 50 40 30 20 10 Schedule job with least work until I/O or done 0103060100150
22
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 22 Example: SJF 50 40 30 20 10 Schedule job with least work until I/O or done 0103060100150
23
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 23 Example: SJF 50 40 30 20 10 Schedule job with least work until I/O or done 0103060100150
24
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 24 Example: SJF 50 40 30 20 10 Schedule job with least work until I/O or done 0103060100150
25
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 25 Example: SJF 50 40 30 20 10 Schedule job with least work until I/O or done 0103060100150
26
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 26 Example: SJF 50 40 30 20 10 0 3060100150 Schedule job with least work until I/O or done
27
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 27 Example: SJF 5 jobs, length 50, 40, 30, 20, 10 seconds
28
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 28 Example: SJF 5 jobs, length 50, 40, 30, 20, 10 seconds
29
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 29 SJF/SRTF: Shortest-Job First Advantages: Provably optimal – minimizes average waiting time Works for preemptive & non-preemptive schedulers Preemptive SJF = SRTF Shortest remaining time first I/O-bound jobs get priority over CPU-bound jobs Disadvantages: Impossible to predict CPU time job has left Long-running CPU-bound jobs can starve
30
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 30 This Time: Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues Lottery Scheduling
31
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 31 Multilevel Feedback Queues (MLFQ) Use past behavior to predict future, assign job priorities Overcome prediction problem in SJF Assumption: I/O-bound in past, I/O-bound in future Scheduler favors jobs that used least CPU time Adaptive: Change in behavior ) change in scheduling decisions
32
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 32 MLFQ: Approximating SJF Multiple queues, different priorities Round-robin scheduling at each priority level Run all at highest priority first, then next, etc. Can lead to starvation Increase quantum exponentially at lower priorities
33
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 33 MLFQ Example
34
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 34 MLFQ: Assigning Priorities Job starts in highest priority queue Quantum expires ) CPU-bound Drop priority one level Quantum does not expire ) I/O-bound Increase priority one level CPU-bound jobs move down, I/O-bound jobs move up
35
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 35 Improving Fairness SJF: optimal, but unfair Increase fairness = give long jobs CPU time degrades average waiting time Solutions: Each queue – fraction of CPU time Fair iff even distribution of jobs among queues Adjust priority of jobs w/o service Originally done by UNIX Avoids starvation Under load, waiting time suffers
36
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 36 This Time: Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues Lottery Scheduling
37
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 37 Lottery Scheduling Every job gets lottery tickets Each quantum: randomly pick winner On average: CPU time proportional to # of tickets Give most tickets to short-running jobs (approximates SJF) Give every job at least one ticket Degrades gracefully as load changes
38
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 38 Example: Lottery Scheduling Paying customers: 40%, guests: 60% 2:1 ticket ratio 2 2111111
39
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 39 Example: Lottery Scheduling Paying customers: 40%, guests: 60% 2:1 ticket ratio 2 2111111
40
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 40 Example: Lottery Scheduling Paying customers: 40%, guests: 60% 2:1 ticket ratio 2 2111111
41
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 41 Example: Lottery Scheduling Paying customers: 40%, guests: 60% 2:1 ticket ratio 2 2111111
42
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 42 Example: Lottery Scheduling Paying customers: 40%, guests: 60% 2:1 ticket ratio 2 2111111
43
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 43 Example: Lottery Scheduling Paying customers: 40%, guests: 60% 2:1 ticket ratio 2 2111111
44
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 44 Example: Lottery Scheduling Paying customers: 40%, guests: 60% 2:1 ticket ratio 2 2111111
45
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 45 Example: Lottery Scheduling 2 2111111 2/5= 40%
46
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 46 Example: Lottery Scheduling Probabilistically achieves desired proportions 2 2111111 2/5= 40% 3/5= 60%
47
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 47 Summary of Scheduling Algorithms FCFS: unfair, average waiting time poor Round robin: fair, average waiting time poor SJF: unfair, minimizes average waiting time requires accurate prediction Multilevel Feedback Queueing: approximates SJF Lottery scheduling: fair, low average waiting time poor fit to priority
48
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 48 Next Time Synchronization
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.