Presentation is loading. Please wait.

Presentation is loading. Please wait.

U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture.

Similar presentations


Presentation on theme: "U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture."— Presentation transcript:

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


Download ppt "U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture."

Similar presentations


Ads by Google