Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Hyperthreading on multicore  (gelezen 1216 keer)

Offline MKe

  • Lid
Hyperthreading on multicore
« Gepost op: 2012/08/10, 10:39:39 »
FF een vraagje voor de hardware freaks.
Ik run veel reken-intensieve taken.
Ik heb hier een Dual Xeon (6 core) pc. In totaal dus 12 cores. Deze processor ondersteund hyperthreading, dus virtueel 24 threads.
Ik snap dat als ik hyperthreading aan zet en een prgje start die daadwerkelijk 24 threads tegelijk kan runnen, dat dit een paar procent sneller is dan 12 threads als de hyperthreading uitgezet is.
Maar mijn vraag is. Als ik een programma heb die maar 1 thread (process) heeft. Werkt die dan bij hyperthreading ook maar op de helft van de core of is zo'n processor slim genoeg om te zien dat de andere thread op de core niet gebruikt wordt en gebruikt hij dan de volledige core?

Simpel gezegd: runt een single-process programma langzamer op een hyperthreaded processor dan wanneer de hyperthreading uitgeschakeld is?

Het gaat hier trouwens niet om games of andere grafische dingen.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Hyperthreading on multicore
« Reactie #1 Gepost op: 2012/08/10, 11:00:03 »
Dat hangt helemaal af van het soort berekeningen dat je doet.
Met hyperthreading verdubbel je namelijk niet de rekenkracht, het is alleen mogelijk om onderdelen van de processor die op dat moment niet gebruikt worden in het ene proces toch te gebruiken in een ander proces.

De enige manier om erachter te komen wat sneller is (HTT aan of uit) is door het te proberen.

Offline MKe

  • Lid
Re: Hyperthreading on multicore
« Reactie #2 Gepost op: 2012/08/10, 13:12:14 »
Dat hangt helemaal af van het soort berekeningen dat je doet.
Met hyperthreading verdubbel je namelijk niet de rekenkracht, het is alleen mogelijk om onderdelen van de processor die op dat moment niet gebruikt worden in het ene proces toch te gebruiken in een ander proces.

De enige manier om erachter te komen wat sneller is (HTT aan of uit) is door het te proberen.
In theorie zou HT maximaal 30% snelheidswinst kunnen opleveren, waarschijnlijk minder en dan alleen als er gebruik gemaakt wordt van multi-processing.
Ik kan de rekenserver niet zo maar uitzetten voor wat testjes en ben dus op jacht gegaan naar een werkloze Xeon machine. Er stond hier nog een een Xeon(R) CPU E31245 met 4 cores die ik kon gebruiken. Op deze machine heb ik ongeveer 0.5% snelheids verlies op een single-proces run als ik HT aan zet. Mijn conclusie is dus dat het proces wel degelijk de hele core krijgt toegewezen. De 0.5% verlies komt dus waarschijnlijk van de overhead dat nodig is om HT te laten werken. De theorie is dus dat 8 processen tegelijk dezelfde core sneller zou moeten met HT dan zonder HT omdat de resource verdeling tussen deze verschillende threads bij HT beter zou zijn. Gaan we proberen. Ik post hier wel de resultaten voor geinteresseerden :)

Offline niekn

  • Lid
    • omega-xis
Re: Hyperthreading on multicore
« Reactie #3 Gepost op: 2012/08/10, 13:37:09 »
dan nog een tip voor intel-eigenaren:
sudo modprobe msr
schakelt de turbo-boost in!

bron: https://help.ubuntu.com/community/Asus_N53
Citaat
Intel Turbo Boost

The turbo boost is supported, use a CPU applet for Gnome or KDE to see it.

You will most likely need to load the module for it:

sudo modprobe msr

and after, to verify that it do work, install acpidump:

sudo apt-get install acpidump

then run turbostat in a terminal:

sudo turbostat

It will list you the speed of your cores.

To avoid to do this after each reboot, edit the modules file:

sudo nano /etc/modules

and in an empty line add:

msr


Re: Hyperthreading on multicore
« Reactie #4 Gepost op: 2012/08/10, 14:36:22 »
Werkt die turbo boost ook op i3?

Offline niekn

  • Lid
    • omega-xis
Re: Hyperthreading on multicore
« Reactie #5 Gepost op: 2012/08/11, 22:25:09 »
Werkt die turbo boost ook op i3?

ik zou zeggen probeer het!

Offline Timo

  • Forumteam
    • timo.diedering
Re: Hyperthreading on multicore
« Reactie #6 Gepost op: 2012/08/11, 22:26:34 »
Werkt die turbo boost ook op i3?
i3 heeft geen Turbo. Pas vanaf i5.