Normalization And Yaim
- New Yaim Normalization scheme
-
For yaim-lcg-ce >= 4.0.5-4 is mandatory the new "CE_CAPABILITY" variable,
that combined with the variable "WN_LIST" allow to specify individually or
in groups (sub-clusters) the CPU Normalized time value for each node.
|
Introduction
The old yaim normalization scheme
We first explain the old Yaim Normalization scheme. In this old scheme,
the reference for the performance information of the site is measured by using
the SPEC2K benchmark suite. A value derived from the result of this SPEC2K
benchmark for a site can be see throw a ldap query.
Yaim is used for configure the ldap stuff in this way by using the following
variables in the site-info.conf file:
CE_SI00=XXXX
CE_CAPABILITY="CPUScalingReferenceSI00=XXXX"
where "XXXX" is a value derivev from the SPEC2K benchmark.
See https://twiki.cern.ch/twiki/bin/view/LCG/Site-info_configuration_variables#site_info_def
Other relevant Yaim variables to put in the site-info.conf that you must
adjust are:
CE_PHYSCPU=XX
CE_LOGCPU=XX
CE_OTHERDESCR="Cores=X"
With this information, APEL can calculate the normalized values for the sites.
The need of a new normalization scheme
The SPEC2K benchmark don't reflects the real system performance for scientific
applications, so it was changed. Never the less, APEL still use the
"CE_SI00" and "CPUScalingReferenceSI00" values for calculate the normalized accounting data for the sites.
To reconcile these two facts, is necessary a new normalization schema that must
have these characteristics:
- Use a better benchmark suite for system performance measurement.
- Adoption of a value equivalence between the old and new benchmark suites,
so the new benchmark result can be consistently stored in the old
"CE_SI00" and "CPUScalingReferenceSI00" variables used by APEL. In this way, the
APEL implementation not varies.
- Add some way to include new information specific to the new benchmark.
The New Yaim Normalization scheme
The selected new benchmark suite is the HEPSPEC06 one. After execute this benchmark,
the result is stored in the "CE_SI00" and "CPUScalingReferenceSI00" variables by scale the HEPSPEC06
result by 250. For example, if the HEPSPEC06 benchmark result is 4, the value
associated with the "CE_SI00" and "CPUScalingReferenceSI00" variable will be 1000.
The additional information related to the new HEPSPEC06 benchmark is specified throw
the "CE_OTHERDESCR" Yaim configuration variable, that becomes to adopt this form:
CE_OTHERDESCR="Cores=X,Benchmark=XXXX-HEP-SPEC06"
Where you must put the appropriate values in the position signaled by the "X" characters.
Please note that you already must maintain the use of the "CE_PHYSCPU" and "CE_LOGCPU" yaim variables...
Example
For example our cluster is composed by 20 dual-core nodes,
and HEP-SPEC06 average value for "each" core is 4 so in this case
yaim variables looks like:
CE_PHYSCPU=20
CE_LOGCPU=40
CE_SI00=1000
CE_CAPABILITY="CPUScalingReferenceSI00=1000"
CE_OTHERDESCR="Cores=2,Benchmark=4-HEP-SPEC06"
References