Top Banner
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.

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

1

Scheduling Algorithms

FCFS First-Come, First-Served

Round-robin SJF Multilevel Feedback Queues

Page 2: 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

Page 3: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

3

Example: Round-Robin

waiting

running

Page 4: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

4

Example: Round-Robin

waiting

running

Page 5: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

5

Example: Round-Robin

waiting

running

Page 6: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

6

Example: Round-Robin

waiting

running

Page 7: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

7

Example: Round-Robin

waiting

running

Page 8: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

8

Example: Round-Robin

waiting

running

Page 9: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

9

Example: Round-Robin

waiting

running

Page 10: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

10

Example: Round-Robin

waiting

running

Page 11: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

11

Example: Round-Robin

waiting

running

Page 12: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

12

Example: Round-Robin

waiting

running

Page 13: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

13

Example: Round-Robin

waiting

running

+ Fair- Long

average wait times

Page 14: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

14

Round-Robin vs. FCFS

Example 1: 5 jobs, 100 seconds each, quantum

= 1s ignore context switch time

Page 15: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

15

Round-Robin vs. FCFS

Example 1: 5 jobs, 100 seconds each, quantum

= 1s ignore context switch time

Page 16: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

16

Round-Robin vs. FCFS

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

each, quantum = 1s

Page 17: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

17

Round-Robin vs. FCFS

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

each, quantum = 1s

Page 18: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

18

This Time: Scheduling Algorithms

FCFS First-Come, First-Served

Round-robin SJF Multilevel Feedback Queues

Page 19: 1 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

Page 20: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

20

Example: SJF

50

40

30

20

10

Schedule job with least work until I/O or done

0 10 30 60 100 150

Page 21: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

21

Example: SJF

50

40

30

20

10

Schedule job with least work until I/O or done

0 10 30 60 100 150

Page 22: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

22

Example: SJF

50

40

30

20

10

Schedule job with least work until I/O or done

0 10 30 60 100 150

Page 23: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

23

Example: SJF

50

40

30

20

10

Schedule job with least work until I/O or done

0 10 30 60 100 150

Page 24: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

24

Example: SJF

50

40

30

20

10

0 10 30 60 100 150

Schedule job with least work until I/O or done

Page 25: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

25

Example: SJF

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

Page 26: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

26

Example: SJF

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

Page 27: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

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

Page 28: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

28

This Time: Scheduling Algorithms

FCFS First-Come, First-Served

Round-robin SJF Multilevel Feedback Queues

Page 29: 1 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

Page 30: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

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

Page 31: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

31

MLFQ Example

Page 32: 1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.

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

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

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