CPU-Benches
Transition vers les nouvelles unités specs HEP-SPEC06 --MàJ --Chollet 09:37, 11 septembre 2009 (CEST)--
Sommaire
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.
- LCG Management Board : Décision du MB du 27 janvier 2009 s'appuyant sur la proposition du groupe technique (G.Merino)
- Pledges WLCG en HEP-SPEC06 : http://lcg.web.cern.ch/LCG/resources.htm
HEP-SPEC06 Benchmark
- Le script dispo à https://twiki.cern.ch/twiki/bin/view/FIOgroup/TsiBenchHEPSPEC (Voir les attachements en bas de page tar.gz)
- 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):
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):
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 | 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 |