HEP-SPEC06

 TRANSITION TO HEP SPEC, A NEW CPU BENCHMARK

The traditional si2k CPU benchamark is now obsolete and it is time to move to HEP SPEC, a new CPU benchmark that will replace si2k and will become the reference benchmark for accounting purposes. It is now possible to move to this new metric starting from the INFN Grid release update (gLite - 49, IG - 47/48/49/50).

In order to publish the HEP SPEC benchmark, a new variable CE_OTHERDESCR from site-info.def needs to be used (ig-yaim-4.0.7-2, glite-yaim-lcg-ce-4.0.5-6).

The value assigned to this variable is then published through the GlueHostProcessorOtherDescription GLUE attribute, on the information system of the reference CE (lcg-CE, creamCE), thanks to the new glite-info-templates (1.0.0-11).

All sites, in particular the WLCG ones, are kindly requested to move to this new benchmark as soon as possible. Technical guidelines follow.

DETAILS

The *HEP-SPEC06* benchmarck is designed to scale with the performances of the high-energy physics codes on similar machines. The goal was to have an accuracy of ± 5% but for the moment the agreement is significantly higher

Have a look at the "Transition to a new CPU benchmarking unit for the WLCG" for a detailed description of “why”.

The measurement of HEP-SPEC repeated on identical machines varies less than 1%. If the computing machines are similar, i.e. same processors and at least 2GB per core, the results obtained are very close, within some percent, so that it is unnecessary to perform measures on all computing hosts. It is enough to do the measurement for one type of processor and consider it valid for all the machines with the same processor.

If you are using different OS and specially different compilers, the data will change.

Some example results are available on the HEPIX group-page at CASPUR: HEPIX Bench-Results, where one can see the differences between tra gcc3.4.x e gcc4.1.x. Other results - available on the wiki-page HEPIX - CASPUR

An interesting table with already calculated values, that you can use, is available on the INFN-CCR Server working group:

http://www.infn.it/CCR/server/

http://www.infn.it/CCR/server/cpu2006-hepspec06-table.jpg

Other important results computed by INFN-T1 site-admins are available at the following link:

http://tier1.cnaf.infn.it/monitor/SPEC/

(more HEP SPEC Benchamark results from GRIDPP here).

If you don't find your computing machine in that table, then it is better to try to do the measurement (see next paragraph) because extrapolating the results increases further the error.

If you perform some measurements on your computing machines, please send the results to us at the following email addresses:

  • grid-operations<at>cnaf.infn.it
  • michele.michelotto<at>pd.infn.it

so that we can gather them in a web page that will be available for further uses. 

NOTE: The transition to HEP-SPEC does not eliminate the need to publish the computing power in SpecInt2000 (due to backward compatibility with sites not publishing yet HEP-SPEC). In this case you may calculate the value SpecInt2000 starting from HEP-SPEC through the conversion factor:

1 ksi00 = 4 HEP SPEC

HOW TO RUN HEP-SPEC06

If you want to make HEP-SPEC06 on your own own, detailed instructions are available at https://twiki.cern.ch/twiki/bin/view/FIOgroup/TsiBenchHEPSPECWlcg.

In Short you need the following:

  1. A machine with any version of Linux compatible with Scientific Linux (RHEL, SL, SLC, CentOS)
  2. The gcc compiler should be installed
  3. Configuration files and run script (available as a gzipped tar archive from the CERN Wiki or the HEPiX wiki or from here). The archive's md5sum is 9fed92b8d515b88904705f76809c4028 
  4. A tar ball of the SPECcpu2006 DVD called SPEC2006_v11.tar.bz2 that should be in the same directory as the run script

Notice for INFN users. CPU 2006 is sold by SPEC with a site Licence. We have a licence for CPU 2006 and we can distribute the tar ball to all the INFN site who will contact us to the following address: michelotto(at)pd.infn.it

YAIM CONFIGURATION

The YAIM variable CE_OTHERDESCR is used to set the GlueHostProcessorOtherDescription attribute. The value of this variable *MUST* be set on <your-site-info.def> file to:

Cores=<typical number of cores per CPU> [, Benchmark=<value>-HEP-SPEC06]

where typical number of cores per CPU is equal to the number of cores per CPU of a typical Worker Node in a SubCluster. The second value of this attribute MUST be published only in the case the CPU power of the SubCluster is computed using the Benchmark HEP-SPEC06.

To publish these new variables, *after* properly set them up on <your-site-info.def> file, it should be enough to run the following configuration functions:

  • for a ig_CE*:
# /opt/glite/yaim/bin/ig_yaim -d 6 -r -s <your-site-info.def> -f config_gip_ce
  • for a creamCE*:
# /opt/glite/yaim/bin/ig_yaim -d 6 -r -s <your-site-info.def> -f config_cream_gip
i