U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture 6: Scheduling
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
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
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
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 5 Example: Round-Robin waiting running
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 6 Example: Round-Robin waiting running
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 7 Example: Round-Robin waiting running
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 8 Example: Round-Robin waiting running
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 9 Example: Round-Robin waiting running
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 10 Example: Round-Robin waiting running
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 11 Example: Round-Robin waiting running
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 12 Example: Round-Robin waiting running
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 13 Example: Round-Robin waiting running
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 14 Example: Round-Robin waiting running
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 15 Example: Round-Robin waiting running + Fair - Long average wait times
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
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
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
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
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
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 21 Example: SJF Schedule job with least work until I/O or done
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 22 Example: SJF Schedule job with least work until I/O or done
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 23 Example: SJF Schedule job with least work until I/O or done
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 24 Example: SJF Schedule job with least work until I/O or done
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 25 Example: SJF Schedule job with least work until I/O or done
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 26 Example: SJF Schedule job with least work until I/O or done
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 27 Example: SJF 5 jobs, length 50, 40, 30, 20, 10 seconds
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 28 Example: SJF 5 jobs, length 50, 40, 30, 20, 10 seconds
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
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
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
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
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 33 MLFQ Example
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
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
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
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
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 38 Example: Lottery Scheduling Paying customers: 40%, guests: 60% 2:1 ticket ratio
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 39 Example: Lottery Scheduling Paying customers: 40%, guests: 60% 2:1 ticket ratio
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 40 Example: Lottery Scheduling Paying customers: 40%, guests: 60% 2:1 ticket ratio
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 41 Example: Lottery Scheduling Paying customers: 40%, guests: 60% 2:1 ticket ratio
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 42 Example: Lottery Scheduling Paying customers: 40%, guests: 60% 2:1 ticket ratio
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 43 Example: Lottery Scheduling Paying customers: 40%, guests: 60% 2:1 ticket ratio
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 44 Example: Lottery Scheduling Paying customers: 40%, guests: 60% 2:1 ticket ratio
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 45 Example: Lottery Scheduling /5= 40%
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 46 Example: Lottery Scheduling Probabilistically achieves desired proportions /5= 40% 3/5= 60%
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
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 48 Next Time Synchronization