DragonFly BSD
DragonFly kernel List (threaded) for 2012-07
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: GSoC: Add SMT/HT awareness to DragonFlyBSD scheduler


From: Mihai Carabas <mihai.carabas@xxxxxxxxx>
Date: Sun, 29 Jul 2012 01:13:04 +0300

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

Hi,


> This machine is an old-school dual-Opteron 252 system and doesn't have
> any hyperthreading support at all.
>
> Its exact configuration is
>   - 2 sockets
>   - 1 core per socket (2.6 GHz, 1MB cache)
>   - 2GB of RAM per socket
>   - 1 thread per core
>
> Having an hyperthreading-aware scheduler shouldn't make any difference;
> what could explain the above performance differences ?
>
The heuristics I tested are about SMT (cache hotness heuristic - always
tries to schedule on the last CPU that had run on. If we can't schedule on
it and we are an cpu-bound process, we can wait for a tick to be ellected
by our home CPU. If we aren't pulled after that, we are eligible and ready
to be pulled on no matter what cpu). So, this heuristic doesn't have
anything to do with HT (hyper threading).

Mihai

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

<div class=3D"gmail_quote"><div>Hi,</div><div>=A0</div><blockquote class=3D=
"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding=
-left:1ex">This machine is an old-school dual-Opteron 252 system and doesn&=
#39;t have<br>

any hyperthreading support at all.<br>
<br>
Its exact configuration is<br>
=A0 - 2 sockets<br>
=A0 - 1 core per socket (2.6 GHz, 1MB cache)<br>
=A0 - 2GB of RAM per socket<br>
=A0 - 1 thread per core<br>
<br>
Having an hyperthreading-aware scheduler shouldn&#39;t make any difference;=
<br>
what could explain the above performance differences ?<br></blockquote><div=
>The heuristics I tested are about SMT (cache hotness heuristic - always tr=
ies to schedule on the last CPU that had run on. If we can&#39;t schedule o=
n it and we are an cpu-bound process, we can wait for a tick to be ellected=
 by our home CPU. If we aren&#39;t pulled after that, we are eligible and r=
eady to be pulled on no matter what cpu). So, this heuristic doesn&#39;t ha=
ve anything to do with HT (hyper threading).</div>
<div><br></div><div>Mihai</div></div>

--14dae9340eb7f9def704c5eb2112--



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]