Hypertherading

Jeff Roberson jroberson at jroberson.net
Thu May 7 13:13:12 UTC 2009


On Thu, 7 May 2009, Olivier SMEDTS wrote:

> 2009/5/7 Barney Cordoba <barney_cordoba at yahoo.com>:
>>
>>
>>
>>
>> --- On Wed, 5/6/09, pluknet <pluknet at gmail.com> wrote:
>>
>>> From: pluknet <pluknet at gmail.com>
>>> Subject: Re: Hypertherading
>>> To: "Barney Cordoba" <barney_cordoba at yahoo.com>
>>> Cc: "Current at freebsd.org" <Current at freebsd.org>
>>> Date: Wednesday, May 6, 2009, 10:55 PM
>>> 2009/5/7 Barney Cordoba <barney_cordoba at yahoo.com>:
>>>>
>>>> I just got a shiny new nehalem box and it comes up
>>> with 16 processors with dual quads installed. Is there any
>>> benefit or should hyperthreading be disabled?
>
> There can be some benefit if the scheduler is aware of the topoly of
> CPUs and Hyperthreading (shared cache). I don't know how SCHED_ULE
> handles this on -CURRENT. If it doesn't see any difference between CPU
> cores and "HT" cores, you should disable HT in BIOS.

ULE is topology aware and most machines are probed properly.  ULE will 
prefer not to use hyperthreaded cores if there is available time on an 
unloaded core.  ULE will also freely share threads among hyperthreaded 
neighbors.

I have found the hyperthreaded cores on nehalem to be significantly 
improved over the older version.  On one packet forwarding test a 50% 
improvement was seen by enabling htt cores.  I believe this is because the 
amount of memory bandwidth and is sufficient to support these cores where 
it was not before.

Depending on how populated your memories are you may have less memory 
bandwidth and see less good results.  You can always safely disable these 
cores by using cpuset to modify the default group, group 1, and experiment 
at run-time.

Thanks,
Jeff

>
>>>>
>>>
>>> Hi. There is a measurable win if hyperthreading is enabled
>>> [1].
>>> You can switch it off via machdep.hyperthreading_enabled
>>> loader tunable.
>>>
>>> [1]
>>> http://lists.freebsd.org/pipermail/freebsd-stable/2009-January/047460.html
>>>
>>
>> I wouldn't call varying the number of jobs a very good test
>> of hyperthreading. I'd want to see the exact same test with
>> hyperthreading enabled and disabled. Its pretty naive
>> to assume that running 16 jobs causes them to all be run on
>> a different cpu.
>>
>> Barney
>>
>>
>>
>> _______________________________________________
>> freebsd-current at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
>>
>
>
>
> -- 
> Olivier Smedts                                                 _
>                                        ASCII ribbon campaign ( )
> e-mail: olivier at gid0.org        - against HTML email & vCards  X
> www: http://www.gid0.org    - against proprietary attachments / \
>
>  "Il y a seulement 10 sortes de gens dans le monde :
>  ceux qui comprennent le binaire,
>  et ceux qui ne le comprennent pas."
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
>


More information about the freebsd-current mailing list