ITEC -  Operating Systems Group

Task Activity Vectors: A Novel Metric for Temperature-Aware and Energy-Efficient Scheduling

  • Author:

    Andreas Merkel

  • Source:

    Dissertation, Fakultät für Informatik, Karlsruhe Institute of Technology, 4. Februar 2010

  • Date: 04.02.2010
  • Abstract:

    Over the past decades, microprocessors have seen an enormous increase in integration density and power consumption. Today, we have reached a point where on-chip temperature has become a severe problem, and energy efficiency is of paramount importance. In addition, increasing the frequency or the complexity of a processor core is no longer economical. This has lead to the introduction of explicit thread-level parallelism on processor chips (simultaneous multithreading, chip multiprocessing). Threads running in parallel on a chip compete for shared chip resources and are affected by chip-wide power management, which leads to interdependencies between those threads.

    All three aspects - temperature, energy efficiency, and interdependency between threads of execution - are strongly connected to the characteristics of the applications (tasks) executed by the processor. Different tasks utilize chip-related resources such as integer or floating point units, caches, or the memory interface to different degrees. Since power dissipation is caused by activity on the chip, processor temperature is inherently coupled to the utilization of the resources on the chip and thus depends on the running task. Tasks that run in parallel and utilize the same shared chip resources to a high degree lead to contention, poor performance, and poor energy efficiency.

    The operating system scheduler - managing the running tasks - can take great influence on temperature and resource contention by virtue of ist scheduling decisions, i.e., by deciding which tasks to run at what time and in combination with which other tasks. Schedulers found in today's general purpose operating systems are unaware of the utilization of chip resources caused by the tasks they manage. Uninformed scheduling decisions lead to thermal problems, resource contention and, overall, inefficient use of the processor's resources.

    In this thesis, we propose task activity vectors as a new metric to guide scheduling. An activity vector provides the scheduler with information about which processor resources a particular task uses. With this knowledge, the scheduler can make more informed scheduling decisions and use the chip's resources more efficiently.

    Two use cases demonstrate the applicability of task activity vectors. Firstly, we show that the information provided by activity vectors can be used to attain a more balanced temperature distribution on the chip and to avoid pernicious hotspots by controlling the temporal order in which tasks are scheduled. Secondly, we show that activity vectors are suitable for co-scheduling tasks in a way that avoids resource contention and improves performance as well as energy efficiency.

    We implemented our proposed policies for the Linux kernel. Our evaluations with multithreaded and multicore processors show that vector-based scheduling is a lowoverhead way to improve performance, attain better thermal behavior, and make more efficient use of energy.


    BibTex:

    @phdthesis{merkel10taskactivityvectors,
      author = {Andreas Merkel},
      title = {Task Activity Vectors: A Novel Metric for Temperature-Aware and Energy-Efficient Scheduling},
      school = {Karlsruhe Institute of Technology},
      address = {Germany},
      year =  {2010},
      month =  feb
    }