Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • MemFactor = (ReservedMemory / TotalMemory) / (ReservedCores / TotalCores)
    If the memory you ask for (in terms of the equivalent number of cores) is larger than the number of reserved cores. In this case, the amount of cpu-hours billed depends also on the amount of memory requested (i.e. the actual percentage of node allocated).

For example, on GALILEO  GALILEO100  the TotalMemory considered to calculate the MemFactor is 118000 MB 375300  MB of memory (around 116GB366 GB), and each compute node has 36 48 cores:

  • TotalMemory = 116 366 GB
  • TotalCore = 3648

If you ask for only one core and 58 GB of memory (thus allocating for yourself half of the node even if you are using one core), the MemFactor is:

  • ReservedMemory = 58 GB
  • ReservedCores = 1
  • → MemFactor = (58 GB / 116 366 GB) / (1 / 3648) = 188

Hence, with such a request for each hour of computation, your budget will be billed for 18 8 equivalent CPUs, i.e., for 18 8 hours. 

This rule applies for to each cluster based on its amount of total memory and cores.

...

Recently, accounting system has been extended to nodes equipped with accelerators. The principle is the same as the memory accounting: asking for a number of accelerators that will make you allocate a bigger portion of the node than what is suggested by the simple number of cores requested, it will increase the consumption accordingly. 

For GALILEOGALILEO100, every GPU will be treated as 18 24 cores in terms of accounting. That is because GPU nodes have 36 48 CPUs and 2 GPU each. So allocating 1 GPU is equivalent to allocate half of the node (i.e. 18 24 CPUs). For MARCONI100 that has 32 CPUs and 4 GPU each the rule holds similarly.

Some examples based on GALILEO GALILEO100 (1 node):

  • cpus=2432, gpus=1 ==> the number of GPUs requested is equal as having requested 18 24 CPUs, but since 24 32 of them have been requested in the standard way, they are not taken into account. Thus 24 CPUs will 32 CPUs will be billed;
  • cpus=6, gpu=1 ==>  the number of GPUs requested is equal as having requested 18 24 CPUs, which is higher than the number of CPUs requested. Thus 18 24 CPUs will be billed;
  • cpus=24, gpus=2 ==> the number of GPUs requested is equal as having requested 36 48 CPUs, while 24 of them have been requested in the standard way, and they are not enough to cover for the GPU request. Therefore 3648 CPUs will be billed;
  • cpus=24, gpus=1,mem=115GB 366GB ==> the situation is similar to the first example (so 24 CPUs billed), but the memory request is higher than what is guaranteed by the simple allocation of the CPUs or GPUs, since it is equivalent of allocating the entire node. So, 3648 CPUs will be billed.

Low priority production jobs for active projects with exhausted budget

...