Module%202.1:%20CPU%20Scheduling - PowerPoint PPT Presentation

About This Presentation
Title:

Module%202.1:%20CPU%20Scheduling

Description:

Advantages: provably optimal w.r.t. average turnaround time ... Can do it approximately: use exponential averaging to predict length of next CPU ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 23
Provided by: marily237
Category:

less

Transcript and Presenter's Notes

Title: Module%202.1:%20CPU%20Scheduling


1
Module 2.1 CPU Scheduling
  • Scheduling Types
  • Scheduling Criteria
  • Scheduling Algorithms
  • Performance Evaluation

2
CPU SCHEDULING
  • The basic problem is as follows How can OS
    schedule the allocation of CPU cycles to
    processes in system, to achieve good
    performance?
  • Components of CPU scheduling subsystem of OS
  • Dispatcher gives control of the CPU to the new
    process
  • Scheduler - selects next process from those in
    main memory (short-term scheduler)
  • Swapper - manages transfer of processes between
    main memory and secondary storage (medium-term
    scheduler)
  • Long-Term Scheduler - in a batch system,
    determines which and how many jobs to admit into
    system.

3
Types of Scheduling Algorithms
  • Preemptive process may have CPU taken away
    before completion of current CPU burst (e.g. end
    of CPU quantum.)
  • Non-preemptive processes always run until CPU
    burst completes
  • Static Priority
  • Dynamic Priority

4
Performance Criteria for Scheduling
  • Scheduling (as an Optimization task) How to
    best order the ready queue for efficiency
    purposes.
  • CPU utilization of time CPU in use
  • Throughput of jobs completed per time unit
  • Turnaround Time wall clock time required to
    complete a job
  • Waiting Time amount of time process is ready but
    waiting to run
  • Response Time in interactive systems, time until
    system responds to a command
  • Response Ratio (Turnaround Time)/(Execution
    Time) -- long jobs should wait longer
  • The overhead of a scheduling algorithm (e.g.,
    data kept about execution activity, queue
    management, context switches) should also be
    taken into account.
  • Kleinrock's Conservation Law
  • No matter what scheduling algorithm is used, you
    cannot help one class of jobs without hurting the
    other ones.
  • Example A minor improvement for short jobs (say,
    on waiting time) causes a disproportionate
    degradation for long jobs.

5
Optimization Criteria
  • Max CPU utilization
  • Max throughput
  • Min turnaround time
  • Min waiting time
  • Min response time

6
Basic Scheduling Algorithm
  • FCFS - First-Come, First-Served
  • Non-preemptive
  • Ready queue is a FIFO queue
  • Jobs arriving are placed at the end of queue
  • first job in queue runs to completion of CPU
    burst
  • Advantages simple, low overhead
  • Disadvantages long waiting time, inappropriate
    for interactive systems, large fluctuations in
    average turnaround time are possible.

7
FCFS Example
  • Pid Arr CPU Start Finish Turna Wait
    Ratio----------------------------------
    A 0 3 0 3 3 0 1.0 B 1
    5 3 8 7 2 1.4 C 3 2 8
    10 7 5 3.5 D 9 5 10 15
    6 1 1.2 E 12 5 15 20 8
    3 1.6---------------------------------
    - A 0 1 0 1 1 0 1.00 B
    0 100 1 101 101 1 1.01 C 0 1
    101 102 102 101 102.00 D 0 100 102
    202 202 102 2.02

8
RR - Round Robin
  • Preemptive version FCFS
  • Treat ready queue as circular
  • arriving jobs placed at end
  • first job in queue runs until completion of CPU
    burst, or until time quantum expires
  • if quantum expires, job again placed at end

9
Properties of RR
  • Advantages simple, low overhead, works for
    interactive systems
  • Disadvantages if quantum too small, too much
    time wasted in context switching if too large,
    approaches FCFS.Typical value 10 - 100
    msecRule of thumb choose quantum so that large
    majority (80-90) of jobs finish CPU burst in one
    quantum

10
SJF - Shortest Job First
  • non-preemptive
  • ready queue treated as a priority queue based on
    smallest CPU-time requirement
  • arriving jobs inserted at proper position in
    queue
  • shortest job (1st in queue) runs to completion
  • Advantages provably optimal w.r.t. average
    turnaround time
  • Disadvantages in general, unimplementable. Also,
    starvation possible!
  • Can do it approximately use exponential
    averaging to predict length of next CPU burst
    gt pick shortest predicted burst next!

11
Exponential Averaging
  • t n1 a tn (1 - a) t n
  • tn1 predicted length of next CPU burst
  • tn actual length of last CPU burst
  • tn previous prediction
  • a 0 implies make no use of recent history
  • (t n1 t n)
  • a 1 implies tn1 tn (past prediction not
    used).
  • a 1/2 implies weighted (older bursts get less
    and less weight).

12
Prediction of the Length of the Next CPU Burst
13
SRTF - Shortest Remaining Time First
  • Preemptive version of SJF
  • Ready queue ordered on length of time till
    completion (shortest first)
  • Arriving jobs inserted at proper position
  • shortest job runs to completion (i.e. CPU burst
    finishes) or until a job with a shorter
    remaining time arrives (i.e. placed in the ready
    queue.)

14
Performance Evaluation
  • Deterministic Modeling (vs. Probabilistic) Look
    at behavior of algorithm on a particular
    workload, and compute various performance
    criteria
  • Example
  • workload - Job 1 24 units
    Job 2 3 units Job 3 3 units
  • Gantt chart for FCFS
  • Job 1 Job 2 Job 3 0 24
    27 30
  • Total waiting time 0 24 27 51
  • Average waiting time 51/3 17
  • Total turnaround time 24 27 30 81
  • Average turnaround time 81/3 27

15
RR and SJF
  • Chart for RR with quantum of 3
  • Job 1 Job 2 Job 3 Job 1 0 3
    6 9 30
  • Total waiting time 6 6 3 15
  • Avg. waiting time 15 / 3 5
  • Chart for SJF
  • Job 2 Job 3 Job 1 0 3
    6 30
  • Total waiting time 6 0 3 9
  • Avg. waiting time 9 / 3 3
  • Can see that SJF gives minimum waiting time. RR
    is intermediate. (This can be proved in general.)

16
HPF - Highest Priority First
  • general class of algorithms
  • each job assigned a priority which may change
    dynamically
  • may be preemptive or non-preemptive
  • Problem how to compute priorities?
  • SJF is a special case of priority the longer the
    CPU burst, the lower the priority.
  • Priority can be internally computed, e.g., CPU
    burst vs. I/O burst. Or it can be externally
    defined depending on the importance of the
    process, (e.g. using nice command in Unix).
  • Effective Priority System (Internal) User
    defined
  • System type of process age (dynamically
    changes)

17
Windows XP Priorities
  • 6 priority classes (shown with Task Manager)
  • 7 default relative priorities/values (shown with
    Process Explorer)
  • 16-31 (time critical)
  • 1-16 (others)

18
Multilevel Queue Scheduling
19
Multilevel Feedback Queue
  • A process is admitted to one class of queues
  • Schedule top queue processes first
  • A process can move between the various queues
    aging can be implemented this way
  • Multilevel-feedback-queue scheduler defined by
    the following parameters
  • number of queues
  • scheduling algorithms for each queue
  • method used to determine when to upgrade a
    process
  • method used to determine when to demote a process
  • method used to determine which queue a process
    will enter when that process needs service

20
Example of Multilevel Feedback Queue
  • Attractive scheme for I/O bound jobs
  • Three queues
  • Q0 RR with time quantum 8 milliseconds
  • Q1 RR time quantum 16 milliseconds
  • Q2 FCFS
  • Scheduling
  • A new job enters queue Q0 which is served FCFS.
    When it gains CPU, job receives 8 milliseconds.
    If it does not finish in 8 milliseconds, job is
    moved to queue Q1.
  • At Q1 job is again served FCFS and receives 16
    additional milliseconds. If it still does not
    complete, it is preempted and moved to queue Q2.

21
Multilevel Feedback Queues
22
Further Readings
  • When is processor affinity used?
  • In Windows XP, what is the default base priority
    for a process when it gets created?
Write a Comment
User Comments (0)
About PowerShow.com