CPU%20Scheduling - PowerPoint PPT Presentation

About This Presentation
Title:

CPU%20Scheduling

Description:

Round-Robin Scheduling. Multilevel Queue Scheduling. Multilevel Feedback Queue Scheduling ... Process Mix Example. Process. Arrival. Time. Service. Time. 1. 2 ... – PowerPoint PPT presentation

Number of Views:18
Avg rating:3.0/5.0
Slides: 34
Provided by: csp19
Category:

less

Transcript and Presenter's Notes

Title: CPU%20Scheduling


1
CPU Scheduling
  • Scheduling the processor among all ready
    processes
  • The goal is to achieve
  • High processor utilization
  • High throughput
  • number of processes completed per of unit time
  • Low response time
  • time elapsed from the submission of a request
    until the first response is produced

2
Classification of Scheduling Activity
  • Long-term which process to admit?
  • Medium-term which process to swap in or out?
  • Short-term which ready process to execute next?

3
Queuing Diagram for Scheduling
4
Long-Term Scheduling
  • Determines which programs are admitted to the
    system for processing
  • Controls the degree of multiprogramming
  • Attempts to keep a balanced mix of
    processor-bound and I/O-bound processes
  • CPU usage
  • System performance

5
Medium-Term Scheduling
  • Makes swapping decisions based on the current
    degree of multiprogramming
  • Controls which remains resident in memory and
    which jobs must be swapped out to reduce degree
    of multiprogramming

6
Short-Term Scheduling
  • Selects from among ready processes in memory
    which one is to execute next
  • The selected process is allocated the CPU
  • It is invoked on events that may lead to choose
    another process for execution
  • Clock interrupts
  • I/O interrupts
  • Operating system calls and traps
  • Signals

7
Characterization of Scheduling Policies
  • The selection function determines which ready
    process is selected next for execution
  • The decision mode specifies the instants in time
    the selection function is exercised
  • Nonpreemptive
  • Once a process is in the running state, it will
    continue until it terminates or blocks for an I/O
  • Preemptive
  • Currently running process may be interrupted and
    moved to the Ready state by the OS
  • Prevents one process from monopolizing the
    processor

8
Short-Term SchedulerDispatcher
  • The dispatcher is the module that gives control
    of the CPU to the process selected by the
    short-term scheduler
  • The functions of the dispatcher include
  • Switching context
  • Switching to user mode
  • Jumping to the location in the user program to
    restart execution
  • The dispatch latency must be minimal

9
The CPU-I/O Cycle
  • Processes require alternate use of processor and
    I/O in a repetitive fashion
  • Each cycle consist of a CPU burst followed by an
    I/O burst
  • A process terminates on a CPU burst
  • CPU-bound processes have longer CPU bursts than
    I/O-bound processes

10
Short-Tem Scheduling Criteria
  • User-oriented criteria
  • Response Time Elapsed time between the
    submission of a request and the receipt of a
    response
  • Turnaround Time Elapsed time between the
    submission of a process to its completion
  • System-oriented criteria
  • Processor utilization
  • Throughput number of process completed per unit
    time
  • fairness

11
Scheduling Algorithms
  • First-Come, First-Served Scheduling
  • Shortest-Job-First Scheduling
  • Also referred to asShortest Process Next
  • Priority Scheduling
  • Round-Robin Scheduling
  • Multilevel Queue Scheduling
  • Multilevel Feedback Queue Scheduling

12
Process Mix Example
Arrival Time
Service Time
Process
1
0
3
2
2
6
3
4
4
4
6
5
5
8
2
Service time total processor time needed in one
(CPU-I/O) cycle Jobs with long service time are
CPU-bound jobs and are referred to as long jobs
13
First Come First Served (FCFS)
  • Selection function the process that has been
    waiting the longest in the ready queue (hence,
    FCFS)
  • Decision mode non-preemptive
  • a process runs until it blocks for an I/O

14
FCFS drawbacks
  • Favors CPU-bound processes
  • A CPU-bound process monopolizes the processor
  • I/O-bound processes have to wait until completion
    of CPU-bound process
  • I/O-bound processes may have to wait even after
    their I/Os are completed (poor device
    utilization)
  • Better I/O device utilization could be achieved
    if I/O bound processes had higher priority

15
Shortest Job First (Shortest Process Next)
  • Selection function the process with the shortest
    expected CPU burst time
  • I/O-bound processes will be selected first
  • Decision mode non-preemptive
  • The required processing time, i.e., the CPU burst
    time, must be estimated for each process

16
SJF / SPN Critique
  • Possibility of starvation for longer processes
  • Lack of preemption is not suitable in a time
    sharing environment
  • SJF/SPN implicitly incorporates priorities
  • Shortest jobs are given preferences
  • CPU bound process have lower priority, but a
    process doing no I/O could still monopolize the
    CPU if it is the first to enter the system

17
Is SJF/SPN optimal?
  • If the metric is turnaround time (response time),
    is SJF or FCFS better?
  • For FCFS, resp_time(39131820)/5 ?
  • Note that Rfcfs 3(36)(364). ?
  • For SJF, resp_time(39111520)/5 ?
  • Note that Rfcfs 3(36)(364). ?
  • Which one is smaller? Is this always the case?

18
Is SJF/SPN optimal?
  • Take each scheduling discipline, they both choose
    the same subset of jobs (first k jobs).
  • At some point, each discipline chooses a
    different job (FCFS chooses k1 SJF chooses k2)
  • RfcfsnR1(n-1)R2(n-k1)Rk1.(n-k2) Rk2.Rn
  • RsjfnR1(n-1)R2(n-k2)Rk2.(n-k1) Rk1.Rn
  • Which one is smaller? Rfcfs or Rsjf?

19
Priorities
  • Implemented by having multiple ready queues to
    represent each level of priority
  • Scheduler the process of a higher priority over
    one of lower priority
  • Lower-priority may suffer starvation
  • To alleviate starvation allow dynamic priorities
  • The priority of a process changes based on its
    age or execution history

20
Round-Robin
  • Selection function same as FCFS
  • Decision mode preemptive
  • a process is allowed to run until the time slice
    period (quantum, typically from 10 to 100 ms) has
    expired
  • a clock interrupt occurs and the running process
    is put on the ready queue

21
RR Time Quantum
  • Quantum must be substantially larger than the
    time required to handle the clock interrupt and
    dispatching
  • Quantum should be larger then the typical
    interaction
  • but not much larger, to avoid penalizing I/O
    bound processes

22
RR Time Quantum
23
Round Robin critique
  • Still favors CPU-bound processes
  • An I/O bound process uses the CPU for a time less
    than the time quantum before it is blocked
    waiting for an I/O
  • A CPU-bound process runs for all its time slice
    and is put back into the ready queue
  • May unfairly get in front of blocked processes

24
Multilevel Feedback Scheduling
  • Preemptive scheduling with dynamic priorities
  • N ready to execute queues with decreasing
    priorities
  • P(RQ0) gt P(RQ1) gt ... gt P(RQN)
  • Dispatcher selects a process for execution from
    RQi only if RQi-1 to RQ0 are empty

25
Multilevel Feedback Scheduling
  • New process are placed in RQ0
  • After the first quantum, they are moved to RQ1
    after the first quantum, and to RQ2 after the
    second quantum, and to RQN after the Nth
    quantum
  • I/O-bound processes remain in higher priority
    queues.
  • CPU-bound jobs drift downward.
  • Hence, long jobs may starve

26
Multiple Feedback Queues
  • Different RQs may have different quantum values

27
Time Quantum for feedback Scheduling
  • With a fixed quantum time, the turn around time
    of longer processes can be high
  • To alleviate this problem, the time quantum can
    be increased based on the depth of the queue
  • Time quantum of RQi 2i-1
  • May still cause longer processes to suffer
    starvation.
  • Possible fix is to promote a process to higher
    queue after some time

28
Algorithm Comparison
  • Which one is the best?
  • The answer depends on many factors
  • the system workload (extremely variable)
  • hardware support for the dispatcher
  • relative importance of performance criteria
    (response time, CPU utilization, throughput...)
  • The evaluation method used (each has its
    limitations...)

29
Back to SJF CPU Burst Estimation
  • Let Ti be the execution time for the ith
    instance of this process the actual duration of
    the ith CPU burst of this process
  • Let Si be the predicted value for the ith CPU
    burst of this process. The simplest choice is
  • Sn1 (1/n)(T1Tn)(1/n)?_i1 to n Ti
  • This can be more efficiently calculated as
  • Sn1 (1/n) Tn ((n-1)/n) Sn
  • This estimate, however, results in equal weight
    for each instance

30
Estimating the required CPU burst
  • Recent instances are more likely to better
    reflect future behavior
  • A common technique to factor the above
    observation into the estimate is to use
    exponential averaging
  • Sn1 ? Tn (1-?) Sn 0 lt ??lt 1

31
CPU burst Estimate Exponential Average
  • Recent instances have higher weights, whenever ?
    gt 1/n
  • Expanding the estimated value shows that the
    weights of past instances decrease exponentially
  • Sn1 ?Tn (1-?)?Tn-1 ...
    (1-?)i?Tn-i
  • ... (1-?)nS1
  • The predicted value of 1st instance, S1, is
    usually set to 0 to give priority to to new
    processes

32
Exponentially Decreasing Coefficients
33
Exponentially Decreasing Coefficients
  • S1 0 to give high priority to new processes
  • Exponential averaging tracks changes in process
    behavior much faster than simple averaging
Write a Comment
User Comments (0)
About PowerShow.com