Vector-Based Scheduling for the Core2-Architecture

  • Type:Study Thesis
  • Date:20.01.2009
  • Supervisor:

    Prof. Dr. Frank Bellosa, Andreas Merkel

  • Graduand:Eric Hoh
  • Links:PDF
  • Abstract: 

    Contemporary operating systems use schedulers which select the next task to run due to its priority and/or its workload. In the past it was hard or even impossible to get more information about the tasks, but most modern architectures have performance monitoring counters (pmc) with which you can get much better information about task's characteristics in terms of usage of a CPU's functional units and the machine’s bussystem. The scheduler can use this information to schedule similar tasks so that they keep a distance in time as well as in space which means that two similar tasks do not run at the same time on different cores (distance in time) or consecutively on the same core (distance in space). The purpose of this is the reduction of hotspots and the avoidance of stall cycles due to busy shared CPU units.

    In this thesis we present an implementation which adds this functionality to the current Linux kernel scheduler. Additionally, the scheduler's migration-mechanism is modified to consider the task's characteristics while deciding which task to migrate to maximize the dissimilarity between the tasks in each run queue. We also implement a CPU frequency and voltage scaling system based on the information about the tasks' characteristics we get from the performance monitoring counters.


      author = {Eric Hoh},
      title = {Vector-Based Scheduling for the Core2-Architecture},
      type = {Study Thesis},
      address = {System Architecture Group, University of Karlsruhe, Germany},
      month = jan # "~20",
      year = 2009,
      url = {}