Home | deutsch  | Legals | KIT

Impacts of Asymmetric Processor Speeds on SMP Operating Systems

Impacts of Asymmetric Processor Speeds on SMP Operating Systems
Type:Diploma Thesis

Prof. Dr. Frank Bellosa, Andreas Merkel

Graduand:Martin Röhricht


Multiprocessor systems were the industry's response to an ever rising demand for more speed in conjunction with less heat and power dissipation. Instead of putting all effort into gaining more speed from a single-core system, hardware vendors focus today on building systems that consist of multiple cores. These systems are commonly referred to as Symmetric Multiprocessing (SMP) systems, where all processors or cores run with the same speed and build a homogeneous platform.

But instead of focusing on symmetric settings alone, in the future operating systems might have to deal with asymmetric, heterogeneous systems, which are built in a way that not every processor runs with the same speed.

This thesis examines what impacts such setups have on today's operating systems and develops strategies that promise a gain in terms of performance, stability and predictability.

We implemented different scheduling strategies for the Linux kernel that focus on different objectives, namely one approach that achieves the best minimal response times on average for all tasks in the system, another that achieves the highest possible throughput rate for the entire system, and finally one that takes each task's priority into account in order to guarantee the highest priority jobs are assigned to the fastest processors in the system.

Evaluations show that only an asymmetry-aware scheduler is able to make proper use of the big potential that is offered by a heterogeneous system. Our proposed solutions show performance gains of up to 50% compared to an unmodified scheduler. They show remarkable improvements in terms of performance stability and predictability.


  author = {Martin R\"ohricht},
  title = {Impacts of Asymmetric Processor Speeds on SMP Operating Systems},
  type = {Diploma Thesis},
  address = {System Architecture Group, University of Karlsruhe, Germany},
  month = aug # "~30",
  year = 2007,
  url = {http://i30www.ira.uka.de/teaching/theses/pasttheses/}