OVH Cloud OVH Cloud

Hyperthreading: smp ou pas ?

10 réponses
Avatar
Julien Valroff
Bonjour,

Je me prépare à installer une testing sur un P4 avec hyperthreading, et
je me demandais si je devais activer les options SMP lors de la
compilation de mon noyau ou non.
J'ai vu des posts allant dans les 2 sens, aussi j'aurais aimé avoir vos
retours d'expérience.

Y a-t-il quelque chose d'autre à faire ou savoir pour profiter
pleinement des avantages de l'hyperthreading ?

Merci par avance pour vos réponses.
Julien



--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

10 réponses

Avatar
Julien Valroff
--=-9/lgnlmVjQseSoTQAtOt
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Le samedi 15 octobre 2005 à 17:24 +0200, Frédéric Bothamy a écrit :
* François Boisson [2005-10-15 17 :04] :
> Le Sat, 15 Oct 2005 15:32:20 +0200
> jibux a écrit:
>
> > Si j'utilise un noyau non SMP, linux ne voit qu'un processeur. Avec l e
> > SMP activé il en voit 2.

[...]

> la plus lente ralentit la plus rapide. En fait, je pense que la
> question de Julien était de savoir si ça valait le coup en terme de
> performance ou non? La réponse semble être assez mitigée effectiv ement.

Personnellement, j'avais compris la question comme ceci : faut-il
activer l'option SMP pour pouvoir utiliser l'hyperthreading ? Dans ce
cas, la réponse est clairement oui.



Merci pour vos réponses.
Ma question allait un peu dans les 2 sens. Pardon de ne pas avoir été
plus précis.
Je suis totalement ignare en la matière, et à chaque fois que ce type d e
question est posée, les réponses sont très techniques, et cela tourne
très souvent au débat auquel nous sommes en train d'assister.
Du coup, aucune réponse claire n'est donnée ; je sais bien qu'il n'est
pas évident de trancher dans ce genre de discussions, c'est pourquoi je
me permettais de demander des retours d'expérience.

Pour préciser ma question, il s'agira d'un poste de travail servant
occasionnellement pour du développement basique.

Merci encore pour votre aide
Julien

--=-9/lgnlmVjQseSoTQAtOt
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQBDUTL2axDuRdoK7O0RArjgAJ9TkN358fkY4VgvjpB9T1gGc4HJGQCfduHN
Pi1yPOlHdyiX8m7DnEO0T2Q 4Y
-----END PGP SIGNATURE-----

--=-9/lgnlmVjQseSoTQAtOt--



--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
jibux
Julien Valroff a écrit :

Bonjour,

Je me prépare à installer une testing sur un P4 avec hyperthreading, et
je me demandais si je devais activer les options SMP lors de la
compilation de mon noyau ou non.




OUI

J'ai vu des posts allant dans les 2 sens, aussi j'aurais aimé avoir vos
retours d'expérience.




Si j'utilise un noyau non SMP, linux ne voit qu'un processeur. Avec le
SMP activé il en voit 2.

Y a-t-il quelque chose d'autre à faire ou savoir pour profiter
pleinement des avantages de l'hyperthreading ?

Merci par avance pour vos réponses.
Julien









--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
François Boisson
Le Sat, 15 Oct 2005 15:32:20 +0200
jibux a écrit:

Si j'utilise un noyau non SMP, linux ne voit qu'un processeur. Avec le
SMP activé il en voit 2.



Et alors? Le problème est le suivant, l'hyperthreading si j'ai bien
compris consiste à profiter de la relative indépendance entre les
différentes étapes d'execution d'une instruction pour faire éxécuter
par le CPU en parallèle la fin d'une instruction et le début
d'une autre. Cependant, ça n'a pas l'air si simple et apparemment il
peut arriver qu'une 'instruction soit recommencée, par ailleurs la
deuxième instruction doit attendre quand même attendre la fin de la
première pour terminer son éxécution, donc le temps d'éxécution est le
max des temps d'éxécution des 2 instructions (me dire si je dis des
anneries, car je ne connais pas trop bien le détail). Donc il faut
mettre en parallèle le surcout lié à la gestion de 2 processeurs et un
gain hypothétique car en gros si deux taches s'éxécutent en parallèle
la plus lente ralentit la plus rapide. En fait, je pense que la
question de Julien était de savoir si ça valait le coup en terme de
performance ou non? La réponse semble être assez mitigée effectivement.
Il semble que la machine réponde mieux en cas d'éxécution de beaucoup
de taches de fond mais que le gain de performances ne soit pas
flagrant. Ayant un P4 HT, je vais recompiler le noyau avec l'option SMP
pour voir.


François Boisson

PS: noyau 2.4.28


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
Samedi 15 octobre 2005, 18:48:54 CEST, Julien Valroff a écrit :
[...]
Je suis totalement ignare en la matière, et à chaque fois que ce type de
question est posée, les réponses sont très techniques, et cela tour ne
très souvent au débat auquel nous sommes en train d'assister.



Et encore, personne n'a évoqué les problèmes de sécurité (partage du CPU
non géré par le SE = partage de données possible entre deux process us)...

--
Sylvain Sauvage
Avatar
Frédéric Bothamy
* François Boisson [2005-10-15 17:04] :
Le Sat, 15 Oct 2005 15:32:20 +0200
jibux a écrit:

> Si j'utilise un noyau non SMP, linux ne voit qu'un processeur. Avec le
> SMP activé il en voit 2.



[...]

la plus lente ralentit la plus rapide. En fait, je pense que la
question de Julien était de savoir si ça valait le coup en terme de
performance ou non? La réponse semble être assez mitigée effectivement.



Personnellement, j'avais compris la question comme ceci : faut-il
activer l'option SMP pour pouvoir utiliser l'hyperthreading ? Dans ce
cas, la réponse est clairement oui.

Il semble que la machine réponde mieux en cas d'éxécution de beaucoup
de taches de fond mais que le gain de performances ne soit pas
flagrant. Ayant un P4 HT, je vais recompiler le noyau avec l'option SMP
pour voir.



Après, pour savoir si cela vaut vraiment le coup, il faut le tester dans
les conditions réelles (et consulter les différents benchmarks dispos
sur le net pour voir si les résultats sont conformes ou non).

François Boisson

PS: noyau 2.4.28



Je te conseille vivement de passer à un noyau 2.6 pour tirer pleinement
profit du HT. Il y a notamment dans les options du noyau 2.6.13 : "SMT
(Hyperthreading) scheduler support", une option qui n'est disponible que
si on a activé auparavant le SMP. L'aide pour cette option est la
suivante :

SMT scheduler support improves the CPU scheduler's decision making when
dealing with Intel Pentium 4 chips with HyperThreading at a cost of
slightly increased overhead in some places. If unsure say N here.


Fred

--
Comment poser les questions de manière intelligente ?
http://www.gnurou.org/documents/smart-questions-fr.html
Comment signaler efficacement un bug ?
http://www.chiark.greenend.org.uk/~sgtatham/bugs-fr.html


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Jean-Luc Coulon (f5ibh)
--=-tuPWicN4pj6LRGkvQuvt
Content-Type: text/plain; charset=iso-8859-15; DelSp=Yes; Format=Flowed
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Le 15.10.2005 19:06:14, Sylvain Sauvage a écrit :
Samedi 15 octobre 2005, 18:48:54 CEST, Julien Valroff a écrit :
>[...]
> Je suis totalement ignare en la matière, et à chaque fois que ce
type de
> question est posée, les réponses sont très techniques, et cela
tourne
> très souvent au débat auquel nous sommes en train d'assister.

Et encore, personne n'a évoqué les problèmes de sécurité (parta ge du
CPU
non géré par le SE = partage de données possible entre deux
processus)...



Là, c'est comme les partage de mémoire entre deux processus....


--
Sylvain Sauvage



Jean-Luc

--=-tuPWicN4pj6LRGkvQuvt
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQBDUT8PXit3lz9m7V4RAh7oAKDsGUF9mZPhCuFxYKPOtOstRSJ1dwCguTMn
57u55KlUFgVyPbcrsjUtfCo …KM
-----END PGP SIGNATURE-----

--=-tuPWicN4pj6LRGkvQuvt--


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Francois Boisson
Le Sat, 15 Oct 2005 17:24:26 +0200
Frédéric Bothamy a écrit:

Je te conseille vivement de passer à un noyau 2.6 pour tirer pleinement
profit du HT. Il y a notamment dans les options du noyau 2.6.13 : "SMT
(Hyperthreading) scheduler support", une option qui n'est disponible que
si on a activé auparavant le SMP. L'aide pour cette option est la
suivante :

SMT scheduler support improves the CPU scheduler's decision making when
dealing with Intel Pentium 4 chips with HyperThreading at a cost of
slightly increased overhead in some places. If unsure say N here.



Oui... mais trop tard, visiblement ça se passe mal en 2.4: gel de la
machine lors de la manipulation de l'USB (souris USB initialisé par X).
Bon, je reste avec mon noyau qui marche très bien, et si la machine
prend un peu plus de temps, je me voterais un café, c'est tout...

Tant que j'y suis, il y a de gros changements lors du passage de 2.4 à
2.6 (versions minimales de logiciels, udev qui n'a pas l'air
extraordinaire)

François Boisson


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Frédéric Bothamy
* Julien Valroff [2005-10-15 18:48] :
Le samedi 15 octobre 2005 à 17:24 +0200, Frédéric Bothamy a écrit :
> * François Boisson [2005-10-15 17:04] :
> > Le Sat, 15 Oct 2005 15:32:20 +0200
> > jibux a écrit:
> >
> > > Si j'utilise un noyau non SMP, linux ne voit qu'un processeur. Avec le
> > > SMP activé il en voit 2.
>
> [...]
>
> > la plus lente ralentit la plus rapide. En fait, je pense que la
> > question de Julien était de savoir si ça valait le coup en terme de
> > performance ou non? La réponse semble être assez mitigée effectivement.
>
> Personnellement, j'avais compris la question comme ceci : faut-il
> activer l'option SMP pour pouvoir utiliser l'hyperthreading ? Dans ce
> cas, la réponse est clairement oui.

Merci pour vos réponses.
Ma question allait un peu dans les 2 sens. Pardon de ne pas avoir été
plus précis.
Je suis totalement ignare en la matière, et à chaque fois que ce type de
question est posée, les réponses sont très techniques, et cela tourne
très souvent au débat auquel nous sommes en train d'assister.
Du coup, aucune réponse claire n'est donnée ; je sais bien qu'il n'est
pas évident de trancher dans ce genre de discussions, c'est pourquoi je
me permettais de demander des retours d'expérience.

Pour préciser ma question, il s'agira d'un poste de travail servant
occasionnellement pour du développement basique.



Bon, cela est plus précis. Pour ce que tu veux faire, l'hyperthreading
n'apportera pas grand chose, il est seulement utile si tu utilises
plusieurs applications lourdes simultanément (jeux, encodage audio/vidéo
ou autre).

Le mieux est probablement de faire le test toi-même pour voir si tu sens
une amélioration.


Fred

--
Comment poser les questions de manière intelligente ?
http://www.gnurou.org/documents/smart-questions-fr.html
Comment signaler efficacement un bug ?
http://www.chiark.greenend.org.uk/~sgtatham/bugs-fr.html


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Julien Valroff
Le dimanche 16 octobre 2005 à 01:09 +0200, Frédéric Bothamy a écrit :
* Julien Valroff [2005-10-15 18:48] :


[..]
>
> Pour préciser ma question, il s'agira d'un poste de travail servant
> occasionnellement pour du développement basique.

Bon, cela est plus précis. Pour ce que tu veux faire, l'hyperthreading
n'apportera pas grand chose, il est seulement utile si tu utilises
plusieurs applications lourdes simultanément (jeux, encodage audio/vidéo
ou autre).

Le mieux est probablement de faire le test toi-même pour voir si tu sens
une amélioration.



J'ai reçu la machine hier, je vais donc faire les tests dans la semaine.
Je ne sais pas si les différences sont flagrantes, mais j'essayerai de
trouver des outils de benchmark.

Merci encore pour votre aide et vos réponses.
@+
Julien



--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
Samedi 15 octobre 2005, 17:40:15 CEST, Jean-Luc Coulon (f5ibh) a écrit :

Le 15.10.2005 19:06:14, Sylvain Sauvage a écrit :
[...]
> Et encore, personne n'a évoqué les problèmes de sécurité (par tage du
> CPU
> non géré par le SE = partage de données possible entre deux
> processus)...

Là, c'est comme les partage de mémoire entre deux processus....



Pas vraiment, c'est un problème qui n'est pas contournable avec la
gestion classique des droits d'accès par le SE. En gros, c'est dû à
une possibilité d'accéder aux données d'un autre processus par le
biais du cache CPU (donc très difficile à manipuler au niveau du SE).
Plus d'infos par là :
http://www.daemonology.net/hyperthreading-considered-harmful/

Mais, bon je disais juste cela à Julien pour montrer qu'on
pouvait aller bien plus loin dans le technique (voire le cryptique ou
même le 0,001% de cas où cela peut être utile de s'en soucier).

--
Sylvain Sauvage