This is a question recently sent to us by email:
I have a user in my organization that is using Virtual Machines on our VMWare VXRail Cluster. On her VM we dedicated 16 vCPU’s and 32 GB RAM for her to use. When using SyncroSim and ST-Sim package, are there ways to control how much memory this chooses to use in the software? We are looking to increase her Virtual memory, but I wanted to see if this is a function when users are running their models and we aren’t just throwing more resources at the virtual machine just “because”. Any help would be appreciated.
The amount of memory that a SyncroSim/ST-Sim run will require depends on a number of factors including: Landscape size, model complexity, number of concurrent jobs being used for multiprocessing. The latter is something an end user has control over, with the tradeoff being between run times and memory usage. Something I often do when trying to decide how much memory to allocate to a VM for a particular simulation is to run a test simulation for a single realization of my model for a couple of timesteps. After starting the simulation I fire up the resource monitor and track it to identify peak memory use. This will allow me to calculate memory required per job, and decide on the amount of memory to allocate to my VM and how many multiprocessing jobs I should be targeting. Users can set the maximum number of concurrent jobs from the Windows interface under “File | Library Properties | Multiprocessing” or by editing the core_Multiprocessing datahseet with rsyncrosim, pysyncrosim, or the console.