Empirical Lab Repository

Title: Scheduling Strategy Performance Comparison

Author: Grant W. Braught, Dickinson College, braught@dickinson.edu

Possible courses: Operating Systems

Empirical Concepts Used: Simulation, system modeling, data collection, data analysis
Empirical Concepts Introduced: none

Computer Science Concepts Used: Scheduling strategies (FCFS, RR, Linux OTHER), performance measures (CPU Utilization, Throughput, Turnaround Time, Wait Time, Waiting Time and Response Time), Java interfaces, queues, priority queues

Summary: This assignment involves the implementation and performance comparison of two scheduling strategies for interactive time sharing systems (Round Robin and Linux OTHER). A complete working simulator is given, and an implementation of the FCFS scheduling strategy is provided as an example. Students are asked to implement and test a Round Robin scheduler and a scheduler that implements the time sharing strategy used for the OTHER queue in early versions of the Linux OS. Once students have implemented and tested these scheduling strategies they are asked to compare their performance using I/O Bound, CPU Bound and Mixed processing loads.

Variations: The most straight forward variation of this assignment would to assign the implementation of other scheduling algorithms (e.g. an approximation of shortest job next). Alternatively, students could be challenged to create and implement their own scheduling strategy and compare it to RR, FCFS or another provided strategy.

A more ambitious extension involves random generation of processing loads. As presented the assignment uses fixed specifications for the processes that are scheduled. Thus, the simulations and performance measures obtained are deterministic. With randomly generated processing loads a distribution of performance measures would be obtained. This then provides a nice opportunity to introduce hypothesis testing in order to check for significant differences in the average performance of the various scheduling strategies.

Links: