Scheduling Criteria
Objectives
We would like to :
- Understand criteria for evaluating scheduling algorithms
Notes
- This is 5.2
- We have devised multiple algorithms for scheduling over the years.
- It is reasonable we have established criteria to judge scheduling algorithms
- Outcome 6: "Compare and critique preemptive and non-preemptive scheduling policies."
- The book suggests 5 criteria
- CPU utilization
- Just what it says, how busy is the CPU kept.
- Throughput
- processes completed per time unit.
- An average
- Turnaround time
- Time from the start of a process until it is finished.
- An average.
- Waiting time
- How much time is a ready process waiting for CPU access?
- Response Time.
- Time from submission until the first response is produced.
- More of a measure of how long after I start a process does it start doing something.
- Not total wait time, but beginning wait time.
- These are different from what I was taught, but mine included priority queues, which we will see later.
- We generally want low averages for all of these.
- Minimal average wait time.
- Minimal average turnaround time.
- And we probably want to maximize
- CPU utilization
- throughput
- But the book suggests that minimizing maximum response time could be a goal.
- They suggest that minimizing the variance in response time is the important measure for interactive systems.
- IE users get consistent results, even if they are slower.
- In the real world
- Many Processes
- Hundreds of bursts each, both CPU and I/O
- For the examples:
- Few processes
- One CPU burst each.
- And they will focus on average waiting time.
- For the first pass, we will consider algorithms with a single CPU and a single queue.