Simulation-Based Comparison of Scheduling Techniques in Multiprogramming
Simulation-Based Comparison of Scheduling Techniques in Multiprogramming
In this presentation..
Introduction
CPU scheduling Techniques
Introduction
CPU Scheduling is an essential component of multi-tasked operating systems The objective is always to maximize CPU utilization and hence increase computer productivity. This paper present three CPU scheduling techniques
Multilevel Feedback Queue (MLFQ) Lottery Scheduling Fair Share Scheduling
Lottery Scheduling
In Lottery Scheduling , each process is given some lottery tickets. A lottery is held at regular intervals and the winner is determined by selecting a ticket at random. The winning process gets A process will have a chance of winning proportionate to the number of tickets it has. To increase the chances of winning, higher priority processes can get more tickets. Lottery Scheduling guarantees a non-zero probability for any process to get executed and hence solves the starvation problem to be executed next.
Objectives
To find and compare the performance of Fair Share Scheduling, Lottery Scheduling and Priority Scheduling on single and multi-core processors
Methodology
Simulation Model
Results
Each technique was tested with three different ratios of CPU-bound to IO-bound processes:
a 25-75 ratio a 50-50 ratio a 75-25 ratio
The specific CPU execution times are chosen at random but on average will be around 350 time units for CPU bound processes and 50 for I/O-bound processes. The specific total time to execute each process is a random number between 1000 and 2000. Processes are all created initially in order to simulate a relatively standard load that can be compared between all the techniques. The average waiting time, which is the amount of time a process spends in the ready queue, for the Lottery, Fair Share and MLFQ scheduling techniques.
As shown in the figures, Fair Share Scheduling performed noticeably better than Lottery Scheduling and Priority Scheduling under the different loads. Both Lottery and Priority Scheduling processes have similar waiting times no matter what the ratio of CPU-I/O bound processes is However, Priority Scheduling has less waiting time than Lottery Scheduling if there are many more I/O bound processes than CPU bound processes.
Figure 1: Waiting time with process mix 75% I/O bound and 25% CPU bound
Figure 2: Waiting time with process mix 50% I/O bound and 50% CPU bound
Figure 3: Waiting time with process mix 25% I/O bound and 75% CPU bound
Figure 4: Waiting time vs. number of cores with process mix 75% I/O bound and 25% CPU bound
Figure 5: Waiting time vs. number of cores with process mix 50% I/O bound and 50% CPU bound
Figure 6: Waiting time vs. number of cores with process mix 25% I/O bound and 75% CPU bound
CONCLUSION
CPU scheduling is the basis of multiprogrammed operating systems. Multi-core processors are becoming standard. In this paper, Researchers presented a project that was proven to be beneficial for operating systems students to not only understand CPU scheduling but also study the effect of multicore processors on different CPU scheduling techniques.
Conclusion..
In single core simulations, Fair Share Scheduling performed noticeably better than Lottery Scheduling and Priority Scheduling under the different loads. In multi core simulations, Lottery Scheduling and Priority Scheduling performed better than Fair Share Scheduling in all cases, especially when the number of processors increased.
Thanks