skip to content

Cambridge Advanced Modeller 2

 

Simulation experiments can build on a simulation toolbox, such as the ASM, to systematically investigate different configurations of a model (eg. a process model) and identify those configurations which create desirable combinations of performance variables.

To prepare a model to run simulation experiments 

A model must be appropriately configured to run simulation experiments. Essentuially, the model must be configured to denote certain variables as inputs `Independent variables` and others as outputs `Dependent variables`. The model is then treated as a black box in which the inputs can be varied to determine the effect on the outputs. 

Create a simulation model, eg. using the ASM toolbox

  • Identify the independent variables - ie. things that could be changed to alter the system behaviour. (these might, for instance, include numbers of iterations for an ASM process simulation). Use CAM variables to represent these, and in the "Variable properties" dialog, under the "Experimentation" tab, ensure that the "Independent variable" option is ticked.
  • Define the behaviour of the model in terms of those variables, eg. using task properties dialog in an ASM model.
  • Identify the dependent variables - ie. things that measure the performance of the system. For instance, cost of the process. In the "Variable properties" dialog, under the "Experimentation" tab, ensure that the "Dependent variable" option is ticked.
  • Write the dependent variables into the simulation model, so that their final values are set by the end of each simulation run to measure the 'performance' of that run.

To configure and run the experiments

  • Use the "Simulation experiment" option under the "analysis" menu of the main CAM application menu bar to configure and run a simulation experiment. You can choose between a full-factorial design (in which all independent variables are varied in a certain number of steps within a given range) or you can upload a custom design from Excel.
  • Results are created as a special kind of dataset, and displayed by default as a parallel co-ordinate chart
  • Use the 'Selection' sliders on each of the parallel co-ordinate axes to explore the dataset visually, or for other visualisations of the results, use the inbuilt charting functionality.<
  • You can easily export the results to Excel using the CSV button on the top toolbar of the parallel co-ordinate chart.

Setting up CAM for distributed computing

CAM supports distributed computing for simulation experiments. This facilitates large, computationally-expensive experiments that otherwise would not be possible. (Note this feature does not currently support standard Monte-Carlo simulations, only simulation experiments)

It is quite easy to set up:

How to set up a simulation cluster

To set up a simulation cluster, you must decide which computers will be 'servers' (ie, will run simulations) and which will be the client (ie., that you will use to configure and manage simulation jobs). Simulation jobs are co-ordinated via files in a shared folder. All the computers that participate must therefore have (read and write) access to the same shared folder. It is not intended for remote shared folders, because the protocol requires frequent file read and write operations.

On each computer that you wish to be a server:

  • Make sure that the toolboxes and palettes for the simulation you wish to distribute are installed
  • Start CAM normally
  • Under the 'Tools' menu, select the option 'Start simulation server'.
  • Enter the name of the shared folder (as visible to that computer).
  • Press the 'start server' button.

How to distribute simulation experiments over a cluster

  • On the client machine, push the button 'distribute over cluster' which appears after configuring and starting a simulation experiment.
  • A dialog will appear, allowing you to enter the path to the shared folder (as visible to to the client machine) and discover available servers.
  • After clicking the 'Distribute job' button, the progress dialog will be altered to allows the progress of all machines in the cluster to be monitored. Note it may take some seconds for the distributed job to start up.

Notes:

  • All computers must run the same version of CAM, including the same palettes and plugins.
  • The distributed computing carries a significant setup overhead. It is only worthwhile to distribute an experiment that takes several minutes or more.
  • All computers will use almost all their processor power to run simulations, and cannot be used for other tasks at the same time.
  • All simulation data will be lost if any server or the client is interrupted, runs out of memory, etc, while running a distributed job.
  • The CAM server applications will occasionally need restarting between jobs, for instance if a job is interrupted. Do this when a server no longer appears to respond when viewed from the client machine.