Manual Estimates on the Cloud

On the occasions where our estimator in the Cloud Scheduler is not as accurate as you may need or you can't perform an estimate due to insufficient hardware (RAM), there are other ways to find how long one of your simulations will take to run on the cloud.

This can be done by submitting your job to cloud and only running for small portion of the total timesteps. This will give you the true performance of the model executing on the cloud and allows you to extrapolate for the full length of the simulation.

Here is an example code of how to estimate the model on the Cloud:

c Estimation Code
symb tsteps = 200 /* Number of timesteps to run model
symb simtime = $ncycles / $freqint /* Full simulation runtime
symb #get { step } timestep /* Retrieve model timestep in variable 'step'
symb nexec = $simtime / $step /* Total number of timesteps for Full runtime

c Store start time (s)
symb #get { tbeg } wtime

c Run for small number of timesteps
exec $tsteps

c Store end time (s)
symb #get { tend } wtime

c Calculate processing time for 'tsteps' timesteps
symb trun = $tend - $tbeg

c Store Estimated Time (s)
symb est_time = ( $nexec / $tsteps ) * $trun

This code should substitute your full length execution code.

The est_time variable will hold the estimated time for the full simulation and can be checked in the flex print file (.flxprt).

Note: the number of timesteps (tsteps) used for estimating your model should be tweaked to suit the length of your simulation.