GSoC: Add SMT/HT awareness to DragonFlyBSD scheduler

Mihai Carabas mihai.carabas at gmail.com
Wed Apr 25 01:03:33 PDT 2012


--14dae934069fc921b904be7c4e62
Content-Type: text/plain; charset=ISO-8859-1

Hello everyone!


My name is Mihai Carabas and this summer I will be working on the
DragonFlyBSD scheduler. 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 list and in my application [2]. To sum up, here I will treat
different use cases (eg: "passive" scheduling - select a free physical CPU
(if available) for the next thread to schedule; "active" scheduling" - if a
physical CPU becomes idle and on another CPU are running two threads,
migrate one of them on the idle physical cpu; etc.).

[1] http://leaf.dragonflybsd.org/mailarchive/kernel/2012-03/msg00066.html
[2]
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/mihaicarabas/1

--14dae934069fc921b904be7c4e62
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hello everyone!<div><br></div><div><br></div><div>My name is Mihai Carabas =
and this summer I will be working on the DragonFlyBSD scheduler. The goal o=
f the project is to make the scheduler aware of the underlaying hyperthread=
ing CPUs, in order to make better decisions.</div>
<div><br></div><div>First of all, I will have to build up the testing infra=
structure (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 t=
he reference for comparing the results obtained after modifying the schedul=
er.</div>
<div><br></div><div>In the next step, I have to develop a mechanism for gro=
uping the CPUs in domains (scheduling domains or in other words: CPUs that =
are on the same physical core).</div><div>The actual implementation of the =
HT aware is described in a previous post [1] on the list and in my applicat=
ion [2]. To sum up, here I will treat different use cases (eg:=A0<span styl=
e=3D"background-color:rgb(246,246,246);font-family:Arial,'Helvetica Neu=
e',Helvetica,sans-serif;font-size:13px;line-height:19px">"passive&=
quot; scheduling - select a free physical CPU (if available) for the next t=
hread to schedule;=A0</span><span style=3D"background-color:rgb(246,246,246=
);font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size=
:13px;line-height:19px">"active" scheduling" - if a physical=
 CPU becomes idle and on another CPU are running two threads, migrate one o=
f them on the idle physical cpu; etc.).</span></div>
<div><br></div><div>[1]=A0<a href=3D"http://leaf.dragonflybsd.org/mailarchi=
ve/kernel/2012-03/msg00066.html">http://leaf.dragonflybsd.org/mailarchive/k=
ernel/2012-03/msg00066.html</a></div><div>[2]=A0<a href=3D"http://www.googl=
e-melange.com/gsoc/proposal/review/google/gsoc2012/mihaicarabas/1">http://w=
ww.google-melange.com/gsoc/proposal/review/google/gsoc2012/mihaicarabas/1</=
a></div>
<div><br></div>

--14dae934069fc921b904be7c4e62--





More information about the Kernel mailing list