CPU-Benches

Un article de lcgwiki.
Revision as of 08:57, 18 novembre 2009 by Carranza (talk | contribs) (Résultats des benchs effectués par les sites)
Jump to: navigation, search

Transition vers les nouvelles unités specs HEP-SPEC06 --MàJ --Chollet 09:37, 11 septembre 2009 (CEST)--

Page HEPiX de référence

Stratégie LCG

  • LCG Overview Board - Change of CPU accounting unit (I.Bird):

The working group on benchmarking has now concluded, both on the new benchmark and on the transition process from SI2K. A new benchmark, based on the SPEC 2006 suite has been agreed upon. This uses a combination of the SPEC2006 FP and INT benchmarks, and has been shown to scale well with the experiments’ applications. This benchmark, labelled HEP-SPEC06, will be used in future to specify requirements and resources. There is an agreement to use a simple conversion factor of 4 representing the benchmarks ratio HEP-SPEC06/kSI2K. Sites will be requested to benchmark their existing resources, and the results will be published on a web site. Future procurements should require the vendor to run the benchmark – provided as a simple script. Planning for changing the reporting in the accounting system is under way. The new unit will be used in the April RRB.

HEP-SPEC06 Benchmark

  • La distribution de la suite SPEC CPU2006 version 1.1 est disponible (sous AFS au CC).

Pour plus d'infos contacter F.Chollet ou Pierre Larrieu

Conversion des kSI2k

  • Facteur de conversion HEP-SPEC06/kSI2k : 4
  • 1 kSI2k = 4 HEP-SPEC06

Publication des capacités CPU

  • Document de référence pour la publication dans le contexte actuel (Glue schema 1.3):

https://twiki.cern.ch/twiki/pub/LCG/WLCGCommonComputingReadinessChallenges/WLCG_GlueSchemaUsage-1.8.pdf

Tentative de synthèse --Chollet 09:46, 11 septembre 2009 (CEST)
** PhysicalCPUs = processeurs c.a.d chipset
  Un subcluster de 113 machines bi processeurs quadricoeurs = 226 CPUs physiques
** LogicalCPUs = processeurs logiques ou vus de l'OS correspond au nombre de cœurs pour   
  autant que l'hyperthreading ne soit pas activé
  Un subcluster de 113 machines bi processeurs quadricoeurs = 904 CPUs logiques
  Le nombre de cœurs par CPU physique (par chipset) étant de 4 
** A noter : Un SubCluster est a priori défini comme un ensemble homogène de workers mais 
  il est "admis que dans la pratique" cela ne soit pas le cas. Dans ce cas, les sites sont
  sensés publier des spécifications moyennes pour certains attributs.
  • Consignes pour les sites / Advices for sites (Juin 2009):

Présentation J.Gordon

  Tentative de synthèse --Chollet 17:50, 10 septembre 2009 (CEST)
  - Effectuer la mesure de la capacité CPU de la machine à partir du benchmark HEP-SPEC06
    en utilisant le script mis à disposition ci-dessous. ATTENTION le bench fournit 
   un score par machine et la publication se fait par cœur
  - Publier la capacité par cœur en HEP-SPEC06 via 
  GlueHostProcessorOtherDescription: Benchmark=<value>-HEP-SPEC06
   Cet attribut est également utilisé pour publier le nombre moyen de cœurs par processeur
   (ou chipset)
   GlueHostProcessorOtherDescription: Cores=<typical number of cores per CPU>,Benchmark=
   <value>-HEP-SPEC06 
  - Convertir la capacité CPU par coeur en SI2K en mulipliant par 250
  - Mettre à jour l'attribut GlueHostBenchmarkSI00  
  En cas de clusteur ou sous-clusteur hétérogène,  GlueHostBenchmarkSI00 étant défini comme "Average SpecInt2000 rating per logical CPU" c.a.d par coeur pourvu que l'hyperthreading soit désactivé, vous êtes invités à effectuer à publier une valeur moyenne.

Résultats des benchs effectués par les sites

SPEC CPU2000 Des tests de puissance des CPU ont été réalisés au LAPP (Eric Fede) et à Subatech (Jean-Michel Barbet) avecla suite SPEC CPU2000 suivant la méthodologie recommandée : http://hepix.caspur.it/processors/ Ajout des tests au CPPM (Edith Knoops)

HEP-SPEC06 Des mesures avec le benchmark suite HEP-SPEC06 sont également disponibles ( fond bleu des tableaux)


Tests réalisés par Jean-Michel :

A noter que les tests ont été réalisés sur des machines en configuration opérationnelles pour la grille (avec tous les daemons).

Scientific-Linux V4.3 i386, gcc v3.4.5

Machine CPU Nb cores Mémoire RAM CERN SI2K/core [1] FZK SI2K/core [3] CERN SI2K/core corrigé [2] HEP-SPEC06 32bits/machine [4] SPEC HEP 64bits/machine [5]
Dell PE1955 Woodcrest 5160 3.00GHz 4 8Go 1409 1830 2113 39.48 -
IBM Clovertown 2.33GHz 8 16Go 979 1875 1468 53.12 -

Scientific Linux SL release 4.5 (Beryllium) x86_64, gcc v3.4.6

Machine CPU Nb cores Mémoire RAM CERN SI2K/core [1] FZK SI2K/core [3] CERN SI2K/core corrigé [2] HEP-SPEC06 32bits/machine [4] SPEC HEP 64bits/machine [5]
Dell P21950 Clovertown E5420 2.50GHz 8 16Go - - - 63.18 57.63

Scientific Linux SL release 5.3 (Boron) x86_64 gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)

Ce test est suspendu car je suis tombé sur le problème suivant : https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind0909&L=LCG-ROLLOUT&P=R3371

Machine CPU Nb cores Mémoire RAM CERN SI2K/core [1] FZK SI2K/core [3] CERN SI2K/core corrigé [2] HEP-SPEC06 32bits/machine [4] SPEC HEP 64bits/machine [5]
Dell P21950 Clovertown E5420 2.50GHz 8 16Go - - - - -

Fiches SPEC des machines :

Dell PowerEdge 1955 Woodcrest 5160 : http://www.spec.org/osg/cpu2000/results/res2006q3/cpu2000-20060626-06298.html

Dell PowerEdge 1950 Clovertown E5420 2.33GHz :

Dell PowerEdge 1950 E5420 2.50GHz :

IBM 3550 Woodcrest 5160 : http://www.spec.org/osg/cpu2000/results/res2006q3/cpu2000-20060623-06219.html

IBM 3350 Clovertown E5345 : http://www.spec.org/osg/cpu2000/results/res2006q4/cpu2000-20061113-07918.html

Notes :

[1] : Moyenne de 3 exécutions successives avec les optimisations CERN, chaque exécution démarrant un benchmark CPU2000 par CPU core.

[2] : Correction : La valeur moyenne ci-dessus + 50%. C'est la valeur à publier via le système d'information de la grille.

[3] : Une exécution unique avec les optimisations FZK à titre indicatif.

[4] : Benchmark suite HEP SPEC, en suivant les recommandations : https://twiki.cern.ch/twiki/bin/view/FIOgroup//TsiBenchHEPSPEC

[5] : A titre indicatif : résultats avec les binaires 64bits (HEP-SEPC06 n'est défini que pour des binaires 32bits)


Tests réalisés au LAPP (eric) :

Scientific-Linux V3.08 i386, gcc v3.4.3

A noter que les tests ont été réalisés sur des machines dont tous les services non nécéssaires étaient desactivés

Machine CPU Nb cores Mémoire RAM CERN SI2K/core [1] FZK SI2K/core [3] CERN SI2K/core corrigé [2]
HP BL 460c Woodcrest 2.66GHz 4 8Go 1367 1665 2050


Scientific-Linux V4.5 x86_64, gcc v3.4

A noter que les tests ont été réalisés sur des machines dont tous les services non nécéssaires étaient desactivés. Un tuning "simple" au niveau du bios donne des disparités dans les résultats des bench qui depassent les 10 %.

Machine CPU Nb cores Mémoire RAM CERN SI2K/core [1] FZK SI2K/core [3] CERN SI2K/core corrigé [2] HEP-SPEC06 32bits [4] per machin HEP-SPEC06 64bits [4] per machin
HP BL 460c Woodcrest 2.66GHz 4 8Go 1485 1592 2227 36.58 34.6
HP BL 460c Clovertown 2.33GHz 8 16Go 1225 x 1837 56.04 51.18
DELL 1950 Intel 5335 2GHz 8 8Go 1060 1139 1590 x x
HP BL 460c Harpertown 3GHz 8 16Go 1620 1715 2430 70.83 63.99
DELL M600 Harpertown 2.66GHz 8 32Go 1481 1588 2221 x x


[1] : Moyenne de 3 exécutions successives avec les optimisations CERN, chaque exécution démarrant un benchmark CPU2000 par CPU core.

[2] : Correction : La valeur moyenne ci-dessus + 50%. C'est la valeur à publier via le système d'information de la grille.

[3] : Une exécution unique avec les optimisations FZK à titre indicatif.

[4] : Benchmark suite HEP SPEC, en suivant les recommandations : https://twiki.cern.ch/twiki/bin/view/FIOgroup//TsiBenchHEPSPEC


Tests réalisés au CPPM (Edith/Carlos) :

Scientific-Linux 4.6 x86_64, gcc v3.4.6

Scientific-Linux 5.3 x86_64, gcc 4.1.2

A noter que les tests ont été réalisés sur des machines dont tous les services non nécéssaires étaient desactivés

Machine CPU Nb cores Mémoire RAM CERN SI2K/core FZK SI2K/core CERN32 SI2K/core CERN SI2K/core corrigé HEP-SPEC06 32bits (SL4) HEP-SPEC06 32bits (SL5.3)
HP DL145 Opteron 250 2.4Ghz 2 4Go 1149 1278 972 1725 15.14 16.16
SUN Opteron 250 2.4Ghz 2 4Go 1173 1298 988 1760
HP DL145G2 Opteron 275 2.2 Ghz 4 6Go 981 1087 857 1471 26.52 27.41
DELL Opteron 2218 2.6 Ghz 4 8Go 1199 1073 1045 1798 32.24 31.68
DELL Xeon E5420 2.5Ghz 8 16 Go 1418 1528 x 2128 63.12 68.64
DELL Xeon X5550 2.67GHz 8 24 Go 116
DELL Xeon X5550 2.67GHz 16 [1] 24 Go 145.82

[1] 8 cores / 16 virtual cpu


Tests réalisés à l'IPHC (Jérôme) :

Scientific-Linux 4.6 x86_64, gcc v3.4.6

Pour la réalisation de ces tests, seuls les services indispensables étaient activés.

Machine CPU Nb cores Mémoire RAM CERN SI2K/core FZK SI2K/core CERN SI2K/core corrigé HEP-SPEC06 32bits [1] per machin
DELL M600 Xeon E5410 2.33Ghz 8 16Go N/A N/A N/A 61.05

[1] Moyenne des résultats obtenus sur quatre tests.



Tests réalisés au LPC (Jean-Claude) :

Scientific-Linux 4.6 x86_64, gcc v3.4.6

Pour la réalisation de ces tests, seuls les services indispensables étaient activés.

Machine CPU Nb cores Mémoire RAM CERN SI2K/core FZK SI2K/core CERN SI2K/core corrigé HEP-SPEC06 32bits [1] per machin
IBM Blade Xeon E5345 2.33Ghz 8 16Go N/A N/A N/A 57.41

[1] Moyenne des résultats obtenus sur trois tests.


Scientific-Linux 5.3 x86_64, gcc v4.1.2

Machine CPU Nb cores Mémoire RAM CERN SI2K/core FZK SI2K/core CERN SI2K/core corrigé HEP-SPEC06 32bits [2] per machin
IBM Blade Xeon E5430 2.66Ghz 8 12Go N/A N/A N/A 70.64

[2] Moyenne des résultats obtenus sur quatre tests.



Tests réalisés au LLR (pascale): Scientific-Linux 5.3 x86_64, gcc v4.1.2

les machines ont ete installees comme les WN standard de la grille

Machine CPU Nb cores Mémoire RAM Virtual CPU enabled HEP-SPEC06 32bits per machin HEP-SPEC06 64bits [1] per machin
DELL R410 E 5520 16[1] 24Go YES 118.57 143.44
E 5540 16[1] 24Go YES 128.38 151.03
DELL R410 E 5520 8 24Go NO 96.51 113.35
E 5540 8 24Go NO 103.41 121.47
DELL R410 E 5520 16[1] 16Go YES Pas fait Pas fait
E 5540 16[1] 16Go YES Pas fait 148.64
DELL R410 E 5520 8 16Go NO 94.97 109.42
E 5540 8 16Go NO 102.41 117.5



[1] Sur les serveurs il y a réellement 8 cores en tout. A cause de l'activation du "Virtual CPU" , le systeme d'exploitation pense qu'il y a 16 procs : la commande /proc/cpuinfo donne 16 coeurs. D'après les tests il est interessant d'activer le "Virtual CPU". Mais, combien de jobs faut-il activer en parallele? Et comment allons-nous les déclarer dans la grille? Voici les résultats des tests avec 8, 10, 12, 14 et 16 jobs lancés en parallèle pour la configuration suivante : R410, 16g ram, Virtual CPU activé.


Nb jobs HEP-SPEC06 64bits [1] per machin
8 jobs 115.66
10 jobs 130.66
12 jobs 139.29
14 jobs 144.38
16 jobs 148.64