Abstract
D.Phil. (Electrical and Electronic Engineering)
This thesis explores methods for improving, or optimizing, Operating System
(OS) scheduling. We first study the problem of tuning an OS scheduler
by setting various parameters, or knobs, made available. This problem
has not been addressed extensively in the literature, and has never been
solved for the default Linux OS scheduler. We present three methods useful
for tuning an Operating System scheduler in order to improve the quality
of scheduling leading to better performance for workloads. The first
method is based on Response Surface Methodology, the second on the Particle
Swarm Optimization (PSO), while the third is based on the Golden
Section method. We test our proposed methods using experiments and
suitable benchmarks and validate their viability. Results indicate significant
gains in execution time for workloads tuned with these methods over
execution time for workloads running under schedulers with default, unoptimized
tuning parameters. The gains for using RSM-based over default
scheduling parameter settings are only limited by the type of workload (how
much time it needs to execute); gains of up to 16:48% were obtained, but
even more are possible, as described in the thesis. When comparing PSO
with Golden Section, PSO produced better scheduling parameter settings,
but it took longer to do so, while Golden Section produced slightly worse
parameter settings, but much faster. We also study a problem very critical
to scheduling on modern Central Processing Units (CPUs). Modern CPUs
have multicore designs, which corresponds to having more than one CPU
on a single chip. These are known as Chip Multiprocessors (CMPs). The
CMP is now the standard type of CPU for many different types of computers,
including Personal Computers.