Question

In: Computer Science

In a Uniprocessor scheduler, what is the best algorithm? Why

In a Uniprocessor scheduler, what is the best algorithm? Why

Solutions

Expert Solution

In a Uniprocessor scheduler, what is the best algorithm? Why

The best algorthim is FCFS (First Come First Serve) because when designing a system, we often want to optimize for some specific system behavior(s). We can divide potential requirements into two categories: user-oriented and system-oriented. Each category can then be further divided into performance criteria that are quantitative and can be easily measured, and performance criteria that are more qualitative and are not as easily measured. This is not an exhaustive list, but only the ones that I think are the most important to examine.

User-oriented Criteria

User-oriented criteria is the behavior of the system as perceived by a single user.

Quantitative

Turnaround Time – The time from when a process is first added to the group of ready executable processes to the time when it finishes executing and exits. Discussed in much greater detail below.

Response Time – The time from when the request is first made to the time when the response starts to be received. From a user’s point of view, response time is a better measure than turnaround time because a process can produce feedback to the user while the process is still executing.

Qualitative

Predictability – For any given job, it should run in approximately the same amount of time regardless of the load on the system.

System-oriented

System-oriented criteria focus on effective and efficient utilization of the processor.

Quantitative

Throughput - The number of processes completed per unit of time. Depends a lot on the average length of the processes, but is still affected by the scheduling policy.

Processor Utilization – The percentage of time that the processor is busy. More important in multi-user systems than single user systems.

Qualitative

Fairness – Processes should be treated the same, and no process should suffer starvation.

Criteria Tradeoffs

It is impossible to optimize for all criteria concurrently. There is a tradeoff between user-oriented and system-oriented criteria when you maximize performance for one, you must give up performance in the other. For example, optimizing for response time would require a scheduling algorithm that switches between processes frequently. This increases overhead and reduces throughput.

Normalized Turnaround Time

In order to compare and contrast the different scheduling policies, a useful metric to consider is the normalized turnaround time (NTAT) for an individual process. Turnaround Time (TAT) not normalized is the total time a process spends in a system; this includes the time spent waiting for the processor and the time spent executing on the processor (aka service time):

Turnaround Time (TAT) = Waiting Time + Service Time

We normalize it by taking into account the ratio of the turnaround time to the service time:

Normalized Turnaround Time (NTAT) = TAT / Service Time

So, why is this important?

Well, the normalized turnaround time indicates the relative delay experienced by a process. For longer processes that require more service time, more delay is acceptable. A low NTAT value indicates less delay and a high quality level of service for a process; however, a high NTAT value indicates more delay and a poor quality level of service. The lowest and best possible NTAT value is 1.0. This happens when a process doesn’t experience any waiting time. To illustrate using the formula, NTAT = 0 + Service Time / Service Time = 1.0.


Related Solutions

A variation of the round-robin scheduler is the regressive round-robin scheduler. This scheduler assigns each process...
A variation of the round-robin scheduler is the regressive round-robin scheduler. This scheduler assigns each process a time quantum and a priority. The initial value of a time quantum is 50 milliseconds. However, every time a process has been allocated the CPU and uses its entire time quantum (does not block for I/O), 10 milliseconds is added to its time quantum, and its priority level is boosted. (The time quantum for a process can be increased to a maximum of...
1. What is A-Star (A*) Algorithm in Artificial Intelligence? 2. A* Algorithm Steps 3. Why is...
1. What is A-Star (A*) Algorithm in Artificial Intelligence? 2. A* Algorithm Steps 3. Why is A* Search Algorithm Preferred? 4. A* and Its Basic Concepts 5. What is a Heuristic Function? 6. Admissibility of the Heuristic Function 7. Consistency of the Heuristic Function 8. Find an Implementation in Java, C or Python just choose in which programming language you prefer only select one.
In Linux, under the CFS ( Completely Fairs Scheduler ) Scheduler, whether a process runs immediately...
In Linux, under the CFS ( Completely Fairs Scheduler ) Scheduler, whether a process runs immediately , preempting the currently running process depends upon what factor? Note: Short Answer Please
What is an algorithm? Why is it important in the field of computer programming?
What is an algorithm? Why is it important in the field of computer programming?
What is the best way to regulate insurance and why?
What is the best way to regulate insurance and why?
what is the best why to dispose of personal documents?
what is the best why to dispose of personal documents?
WHAT IS THE BEST WAY TO MOTIVATE AN EMPLOYEE AND WHY?
WHAT IS THE BEST WAY TO MOTIVATE AN EMPLOYEE AND WHY?
1. Where is the task scheduler log file? What is the purpose to use it? Could...
1. Where is the task scheduler log file? What is the purpose to use it? Could it be useful to detect malware? Why or why not? 2. What is an mrt.log file? Where is it? What information does it provide? What other files are in that location?
With RR, interactive computing is possible. Why does RR enable interactive computing? The traditional UNIX scheduler...
With RR, interactive computing is possible. Why does RR enable interactive computing? The traditional UNIX scheduler enforces an inverse relationship between priority numbers and priorities: The higher the number, the lower the priority. The scheduler recalculates process priorities once per second using the following function: Priority = (recent CPU usage / 2 ) + base where base = 60 and recent CPU usage refers to a value indicating how often a process has used the CPU since priorities were last...
What is VMA? And what is the significance of it? What is the best sample to evaluate it & WHY?
What is VMA? And what is the significance of it? What is the best sample to evaluate it & WHY?  
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT