Add SMT/HT awareness to DragonFlyBSD scheduler

Mihai Carabas

Abstract

The aim of this project is to add awareness of SMT (Simultaneous multithreading/HyperThreads) to DragonFly scheduler so that scheduling on multithreaded CPUs (HyperThreading technology) improves.

Additional Information

The goal of the project is to make the scheduler aware of the underlaying hyperthreading CPUs, in order to make better decisions.

First of all, I will have to build up the testing infrastructure (a physical machine with at least 2 physical cores, each of them having HT enable). At this step I will develop a test suite that stress up the scheduler and make different measurements. These measurements will be the reference for comparing the results obtained after modifying the scheduler.

In the next step, I have to develop a mechanism for grouping the CPUs in domains (scheduling domains or in other words: CPUs that are on the same physical core). The actual implementation of the HT aware is described in a previous post [1] on the DragonFlyBSD list and in my application [2].

[1] http://leaf.dragonflybsd.org/mailarchive/kernel/2012-03/msg00066.html

[2] http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/mihaicarabas/1

Code samples