CPU resources
Â
- 1 How much computing time is required for your project in the upcoming compute time period of one year?
- 2 average memory/CPU-core
- 3 maximal memory/CPU-core
- 4 average number of cores/job
- 5 maximal number of cores/job
- 6 Maximal runtime (wall time) of jobs?
- 7 How many jobs do you plan to run at the same time typically?
Â
How much computing time is required for your project in the upcoming compute time period of one year?
Please provide an estimated allocation for the computing time in the upcoming period of one year. The unit for computing time is given in million core-h.
An illustrative example is given below.
Assume a typical calculation in your study takes about 8 hours on a computer with 4 recent CPU-cores. In the upcoming one year 100 000 similar calculations need to be performed. Thus an estimation of the computing time is: 8 hours × 4 cores × 100 000 = 3.2 million core-h. By considering possible overhead and unexpected failure or errors in computation we would like to recommend 4 million core-h as reasonable estimate for this example project.
Additional Information for Memory Heavy Projects
If a calculation demands larger amount of memory per CPU-core than that is normally available on compute node, an increase in the estimated computing time needs to be considered for your project. In such situation although some CPU-cores in a compute node may be idle for computation, it is possible that the entire compute node is occupied, because the main memory on this node is completely used.
The following formula can be used to estimate the CPU core-h, if your computation is memory heavy.
max(ncore, mtotal / mcore) × telapsed
ncore: requested total number of CPU-cores
mtotal: requested total memory size
mcore: normally available memory size per CPU-core
telapsed: elapsed wall time of computation
For example, a computation requires 4 CPU cores and 180 GB memory. This job will be submitted on Noctua 1, which normally provides 4.5 GB memory per CPU-core, and run for 8 hours. Use the above formula, the estimated computing time is max(4 core, 180 GB / 4.5 GB) × 8 hours = 320 core-h.
Additional Information for FPGA Projects
FPGA projects are typically of two different kinds
FPGA experiments and jobs with active FPGA offloading (most of the time is spent on FPGA nodes equipped with FPGA cards).
Development of FPGA designs including hardware build steps (so-called synthesis). Here, most of the time is spent on regular CPU nodes and from time to time the design is tested with real FPGAs on FPGA nodes.
To estimate the CPU resources for 1., the following factors need to be considered:
To estimate the CPU resources for 2., keep in mind to budget enough CPU resources in order to run synthesis jobs in addition to pure CPU resources for FPGA execution jobs (as described for 1.). A typical synthesis job for a medium sized design runs for 10 hours binding about 50 CPU cores (because of the high memory requirements). If you plan two synthesis jobs per day on average throughout the one year project runtime, you can estimate the CPU resources for synthesis jobs as: 10 hours per synthesis x 50 cores x (2 x 365 synthesis per project) = 365.000 core-h or rounded up to 0.4 million core-h.
Further Information
average memory/CPU-core
Please provide an estimated average memory usage per CPU-core. For example, 4 GB.
maximal memory/CPU-core
Please provide an estimated maximal memory usage per CPU-core. For example, 16 GB.
average number of cores/job
Please provide an estimated average number of CPU-cores per compute job. For example, 32 cores.
maximal number of cores/job
Please provide an estimated maximal number of CPU-cores per compute job. For example, 256 cores.
Maximal runtime (wall time) of jobs?
Please provide an estimated maximal runtime (wall time) for compute job. For example, 40 hours.
How many jobs do you plan to run at the same time typically?
Please provide an estimated number of compute jobs that you plan to run at the same time. For example, 8 jobs.