1 scheduling algorithms fcfs first-come, first-served round-robin sjf multilevel feedback queues

33
1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues

Post on 22-Dec-2015

249 views

Category:

Documents


0 download

TRANSCRIPT

1

Scheduling Algorithms

FCFS First-Come, First-Served

Round-robin SJF Multilevel Feedback Queues

2

Round-Robin Scheduling Quantum expires: move to back of

ready queue Variants used in most real systems

Tradeoffs: length of quantum Large: response time increases Small: throughput decreases

quantum →0 = overhead dominates context switches, cache misses

3

Example: Round-Robin

waiting

running

4

Example: Round-Robin

waiting

running

5

Example: Round-Robin

waiting

running

6

Example: Round-Robin

waiting

running

7

Example: Round-Robin

waiting

running

8

Example: Round-Robin

waiting

running

9

Example: Round-Robin

waiting

running

10

Example: Round-Robin

waiting

running

11

Example: Round-Robin

waiting

running

12

Example: Round-Robin

waiting

running

13

Example: Round-Robin

waiting

running

+ Fair- Long

average wait times

14

Round-Robin vs. FCFS

Example 1: 5 jobs, 100 seconds each, quantum

= 1s ignore context switch time

15

Round-Robin vs. FCFS

Example 1: 5 jobs, 100 seconds each, quantum

= 1s ignore context switch time

16

Round-Robin vs. FCFS

Example 2: 5 jobs: 50, 40, 30, 20, 10 seconds

each, quantum = 1s

17

Round-Robin vs. FCFS

Example 2: 5 jobs: 50, 40, 30, 20, 10 seconds

each, quantum = 1s

18

This Time: Scheduling Algorithms

FCFS First-Come, First-Served

Round-robin SJF Multilevel Feedback Queues

19

Example: SJF

50

40

30

20

10

Schedule job with least work until I/O or done

0 10 30 60 100 150

20

Example: SJF

50

40

30

20

10

Schedule job with least work until I/O or done

0 10 30 60 100 150

21

Example: SJF

50

40

30

20

10

Schedule job with least work until I/O or done

0 10 30 60 100 150

22

Example: SJF

50

40

30

20

10

Schedule job with least work until I/O or done

0 10 30 60 100 150

23

Example: SJF

50

40

30

20

10

Schedule job with least work until I/O or done

0 10 30 60 100 150

24

Example: SJF

50

40

30

20

10

0 10 30 60 100 150

Schedule job with least work until I/O or done

25

Example: SJF

5 jobs, length 50, 40, 30, 20, 10 seconds, quantum = 1s

26

Example: SJF

5 jobs, length 50, 40, 30, 20, 10 seconds

27

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

Disadvantages: Impossible to predict CPU time job has left Long-running CPU-bound jobs can starve

28

This Time: Scheduling Algorithms

FCFS First-Come, First-Served

Round-robin SJF Multilevel Feedback Queues

29

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

30

MLFQ: Approximating SJF

Multiple queues, different priorities Round-robin scheduling at each

priority level Run all jobs at highest priority first (till

this queue is empty), then next, etc. Can lead to starvation

Increase quantum exponentially at lower priorities

31

MLFQ Example

32

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

33

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 Queuing: approximates SJF