Choosing RAM: tailor it to your FDS model
When you are running a FDS model, a common problem is how to tailor the computational power and memory (RAM) allocated to your simulation. It is important to monitor the vCPU and RAM in the first hours of the simulation. The offered services by the Cloud HPC allows you, not only to allocated available CPUs and RAM to your simulations, but to also monitor the hardware usage while running. In order to easily understand if the computational capacity chosen for your simulation is enough or overestimated.
For each CPU is It possible to set a RAM, which represent the memory allocated and available for the simulation. You will be able to select between different amount of RAM to associate to each CPU used. The CPUs available can be virtual CPU, implemented as a single hardware hyper-thread, or CPU implemented as a physical vCOR for the highcore instance.
Choosing RAM: Standard, Highmem, Highcpu and Highcore
The available choices are:
- standard: this selection allocates a multi-thread instance with 4GB of RAM for each vCPU selected;
- highmem: this selection allocates a multi-thread instance with 8GB of RAM for each vCPU selected;
- highcpu: this selection allocates a multi-thread instance with 1GB of RAM for each vCPU selected;
- highcore: this selection allocates a multi-core only instance with 2GB of RAM for each vCPU (core) selected.
As per exploited in the issue “How to reach good scalability in FDS” increasing the number of CPU available to run your simulation reduces the run time.
Assigning more CPU allows you to solve part of the domain calculations in parallel and consequently speed up the simulations. Moreover, allocate larger RAM allows you to optimize the simulation, or sometimes to be able to actually run it. As hints you can imagine that more cells you assign to each vCPU more RAM each vCPU would need.
How to monitor the allocated RAM from the web app
Although, common problem is related to the sizing of the computational power and memory assigned to your simulation. It is suggested to monitor the vCPU and RAM in the first hours of simulation.
The Cloud HPC allows you to easily monitor the simulation while it is running. As a matter of fact, the system prints in images section the usage graphs of RAM and CPU. Therefore it is possible to easily evaluate if the assigned RAM is enough or overestimated.
In order to monitor the RAM and CPU usage in the simulation details click on the “View” button.
At any run time it is possible to monitor the usage of vCPU and RAM. The system automatically prints the usage graph in the “Images” section.
Tailor the RAM: is it enough or overestimated?
For instance, a computational capacity of 8 vCPU with 1 Gb of RAM for each vCPU, is pursued for a large domain. After already 20 minutes of simulation, it is possible to see by the following RAM usage graph that the amount of memory wasn’t enough, since the used line crosses the available memory (picture below). Hence, if the RAM is not enough the “used line”, which represent the actual amount of RAM needed by the simulation, will cross the “free line”, which represent the amount of allocated RAM still available. In this case it is easy to understand that the simulation has to be stopped and restarted assigning more RAM. 4 Gb for vCPU was enough.
Monitoring the RAM usage allows you to properly tailor the allocated hardware to your model. Not only to provide enough computational capacity to run the work but also to not over estimate it.
Finally, depending on the total amount of cells, thus knowing the fraction of cells assigned to each vCPU, you can predict the needed power and memory to allocate. Therefore, monitor the efficiency of your choice by checking the time to complete the simulation and the actual usage of vCPU and RAM allocated.