GNT sans publicité, site mobile, fonctionnalitées exclusives...

Performances mauvaises avec un BI-Xeon Core-duo

Le
octane
Bonjour,

j'ai une machine Bi-CPU, core duo:
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 2.80GHz
stepping : 8
cpu MHz : 2800.125
cache size : 2048 KB

Donc 4 CPU visibles du systeme.

J'ai des performances absolument decevantes des que je met en jeu le
multipro.

Je teste un calcul monoprocesseur, ca prend 20mn.
Je lance le meme calcul deux fois. Je vois bien 2 CPU sur les quatres
qui travaillent, mais le temps de calcul dure 35mn!! Les deux calculs
sont independants, ils travaillent chacun sur un CPU (sur deux core du
meme CPU ou sur deux CPU different, c'est pareil). Si je lance 4 fois
le calcul, chaque calcul dure 50mn!

Qu'est ce qui peut expliquer ca?

J'ai aussi des questions sur l'archi de ces Xeon core duo.
Le cache size est il partage entre chaque core, ou est il distinct?
L'acces a la RAM est il partage ou est il dedie?

Merci
Lire les 8 réponses

Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
PC
Le #1154964
news:
Bonjour,

j'ai une machine Bi-CPU, core duo:
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 2.80GHz
stepping : 8
cpu MHz : 2800.125
cache size : 2048 KB

Donc 4 CPU visibles du systeme.

J'ai des performances absolument decevantes des que je met en jeu le
multipro.

Je teste un calcul monoprocesseur, ca prend 20mn.
Je lance le meme calcul deux fois. Je vois bien 2 CPU sur les quatres
qui travaillent, mais le temps de calcul dure 35mn!! Les deux calculs
sont independants, ils travaillent chacun sur un CPU (sur deux core du
meme CPU ou sur deux CPU different, c'est pareil). Si je lance 4 fois
le calcul, chaque calcul dure 50mn!

Qu'est ce qui peut expliquer ca?

J'ai aussi des questions sur l'archi de ces Xeon core duo.
Le cache size est il partage entre chaque core, ou est il distinct?
L'acces a la RAM est il partage ou est il dedie?

Merci


Salut,

Je me rappelle quand je bossais dans une boite de développement que les
ingés avaient beaucoup de difficultés à adapter un logiciel écrit pour
monoprocesseur à du multi. Il leur fallait reécrire des bouts de softs,
utiliser des librairies différentes et recompiler le tout. Comme je n'étais
pas développeur mais électronicien, je n'en sais pas plus.
Toujours est-il qu'il arrivait fréquement qu'un soft tourne moins bien en
multi qu'en mono.
Tout cela me semblait être une mauvaise gestion du partage des calculs
entre les procs et bien d'autres raisons ( mise en commun des ressources)
qui m'échappent maintenant.
Il y des softs qui utilisent correctement le multi, c'est généralement
expliqué dans les docs.
Je me rappelle qu'avec des machines comme les silicon graphics par exemple,
quand le soft n'était pas adapté, on préférait lancer des bouts de calcul
sur chaque proc et reconstituer le tout à la fin, plutôt que de balancer
tout en multi.
Ce n'est pas une explication, mais cela confirme tes tests.

Philippe camus

octane
Le #1154963

Ce n'est pas une explication, mais cela confirme tes tests.

Bin oui, mais la je ne lance pas de calcul multipro, mais 4x un calcul

monopro.
Si j'ai 4 CPU, le temps de chaque calcul doit etre identique que je
lance un, deux, trois ou quatre calculs. Si j'en lance 5, la, ca doit
commencer a decroitre.
Mais comment expliquer que lancer deux calculs monopro sur une machine
multipro augmente a ce point le temps de chaque calcul?

milsabords
Le #1154835
wrote:

Ce n'est pas une explication, mais cela confirme tes tests.

Bin oui, mais la je ne lance pas de calcul multipro, mais 4x un calcul

monopro.
Si j'ai 4 CPU, le temps de chaque calcul doit etre identique que je
lance un, deux, trois ou quatre calculs. Si j'en lance 5, la, ca doit
commencer a decroitre.
Mais comment expliquer que lancer deux calculs monopro sur une machine
multipro augmente a ce point le temps de chaque calcul?


Le programme utilise-t-il des fichiers? Ca peut être une source de
contention si plusieurs instances du programme accèdent aux mêmes disques et
aux mêmes données.

La mémoire est elle suffisante? Y a-t-il du paging?

As tu observé ce qui se passe, avec un outil comme Process Explorer
(www.sysinternals.com)?


Sylvain Collange
Le #1154832
wrote:
j'ai une machine Bi-CPU, core duo:
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 2.80GHz
stepping : 8
cpu MHz : 2800.125
cache size : 2048 KB


Mmmh, 2,8GHz avec 2Mo de cache (par CPU?) en F-4-8, c'est plutôt un Xeon
DP, stepping A0. Microarchitecture NetBurst comme les Pentium 4 et rien
a voire avec le Core Duo.

(quelle idée d'avoir choisi un nom pareil pour un processeur aussi...)


Donc 4 CPU visibles du systeme.


L'hyperthreading n'est pas activé? Ça devrait faire 8 processeurs sinon...

J'ai des performances absolument decevantes des que je met en jeu le
multipro.

Je teste un calcul monoprocesseur, ca prend 20mn.
Je lance le meme calcul deux fois. Je vois bien 2 CPU sur les quatres
qui travaillent, mais le temps de calcul dure 35mn!!


Bah ça me parait déjà pas mal, ça met moins de 40mn en tout cas.

Les deux calculs
sont independants, ils travaillent chacun sur un CPU (sur deux core du
meme CPU ou sur deux CPU different, c'est pareil). Si je lance 4 fois
le calcul, chaque calcul dure 50mn!

Qu'est ce qui peut expliquer ca?


Si le calcul est déjà limité par le débit mémoire (ou disque ou
réseau...), rajouter plus de processeurs n'avancera pas à grand-chose.

Quelle sorte de calcul est-ce?

J'ai aussi des questions sur l'archi de ces Xeon core duo.
Le cache size est il partage entre chaque core, ou est il distinct?


Comme ce n'est pas un Xeon Core Duo, le cache est distinct à chaque
core. En fait c'est simplement deux processeurs juxtaposés dans la même
puce et reliés au même bus. Ça a des inconvénients par rapport à une
archi comme l'Opteron ou le Core 2 Duo, mais ça revient nettement moins
cher à fabriquer...

L'acces a la RAM est il partage ou est il dedie?


Partagé, c'est du SMP (symmetric multiprocessing).

Avec les Opteron c'est du NUMA (non-uniform memory access) où chaque
processeur possède une partie de la mémoire, qu'il peut partager avec
les autres processeurs. Les deux approches ont leurs avantages et leurs
inconvénients.


--
Sylvain

PC
Le #1219457
news:

Ce n'est pas une explication, mais cela confirme tes tests.

Bin oui, mais la je ne lance pas de calcul multipro, mais 4x un calcul

monopro.
Si j'ai 4 CPU, le temps de chaque calcul doit etre identique que je
lance un, deux, trois ou quatre calculs. Si j'en lance 5, la, ca doit
commencer a decroitre.
Mais comment expliquer que lancer deux calculs monopro sur une machine
multipro augmente a ce point le temps de chaque calcul?


------------------------
S'cuse, j'avais pas compris.

Philippe Camus

Publicité
Suivre les réponses
Poster une réponse
Anonyme