CPUNormalization

DIRAC Workload Management System Client module that encapsulates all the methods necessary to handle CPU normalization

DIRAC.WorkloadManagementSystem.Client.CPUNormalization.getCPUNormalization(reference='HS06', iterations=1)

Get Normalized Power of the current CPU in [reference] units

DIRAC.WorkloadManagementSystem.Client.CPUNormalization.getCPUTime(cpuNormalizationFactor)

Trying to get CPUTime left for execution (in seconds).

It will first look to get the work left looking for batch system information useing the TimeLeft utility. If it succeeds, it will convert it in real second, and return it.

If it fails, it tries to get it from the static info found in CS. If it fails, it returns the default, which is a large 9999999, that we may consider as “Infinite”.

This is a generic method, independent from the middleware of the resource if TimeLeft doesn’t return a value

Parameters:
  • cpuNormalizationFactor (float) – the CPU power of the current Worker Node.
  • not passed in, it's get from the local configuration (If) –
Returns:

the CPU time left, in seconds

Return type:

cpuTimeLeft (int)

DIRAC.WorkloadManagementSystem.Client.CPUNormalization.getJobFeatures()

This uses the _new_ MJF information

DIRAC.WorkloadManagementSystem.Client.CPUNormalization.getMachineFeatures()

This uses the _old_ MJF information

DIRAC.WorkloadManagementSystem.Client.CPUNormalization.getPowerFromMJF()

Extracts the machine power from either JOBFEATURES or MACHINEFEATURES

DIRAC.WorkloadManagementSystem.Client.CPUNormalization.getQueueNormalization(ceUniqueID)

Report Normalization Factor applied by Site to the given Queue

DIRAC.WorkloadManagementSystem.Client.CPUNormalization.queueNormalizedCPU(ceUniqueID)

Report Normalized CPU length of queue