You are on page 1of 22

Simulation-based comparison of scheduling techniques in multiprogramming operating systems on single and multi-core processors"

Researchers :- Hala ElAarag, David Bauschlicher, and Steven Bauschilicher

Presenters:Name FHA. Shibly S.Sajiharan

Reg.No MS 13 9047 60 MS 13 9030 84

In this presentation..
Introduction
CPU scheduling Techniques

Objective Methodology Metrics & Simulations Results Conclusion

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

Multilevel Feedback Queue (MLFQ)


MLFQ utilizes multiple queues and allows processes to move between queues dynamically. In this approach, processes "find their own level" Based on their CPU burst Processes that have a larger CPU burst moves to a lower-priority queue.

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.

Fair Share Scheduling


Fair-share scheduling is a scheduling strategy for computer operating systems in which the CPU usage is equally distributed among system users or groups, as opposed to equal distribution among processes. That mean basic idea of fair share scheduling is to divide CPU time evenly among users and then among processes.

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

Performance Metrics and Simulation Techniques


Waiting time as performance metric. The scheduling techniques under investigation were implemented in Java and run under its virtual machine. A process object was created and used for all scheduling techniques. Each process object contained the total amount of time a process would take to complete and the amount of CPU time it needed during every execution. If a process's CPU execution time is low, it is considered an I/O bound process because it will quickly be swapped in and out of the CPU. On the other hand, if it is high, it is a CPU bound process and will probably be preempted before it finishes.

METRICS AND SIMULATION


There are multiple performance metrics that could be used for comparing different scheduling algorithms. They include
Minimize waiting time Minimize turnaround time Minimize response time

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.

RESULTS OF SINGLE CORE SIMULATIONS

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

RESULTS OF MULTI-CORE SIMULATIONS


Each scheduling technique was simulated to run 100 processes multiple times over a different number of processors. From Figures 4-6, one can notice that overall, Lottery Scheduling and Priority Scheduling performed better than Fair Share Scheduling in all cases, especially when the number of processors increased. As shown in Figures 4-6, the amount of time saved by using more processors seemed to increase almost linearly for each of the scheduling technique, although the MLFQ gained the greatest advantage by adding more processors.

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

You might also like