Simulation

By default, the ScaleOut Digital Twins™ service runs digital twin models in real time to implement streaming analytics. In this mode, it uses connectors to deliver incoming messages to real-time digital twin instances, which analyze telemetry from individual data sources. Alternatively, you can configure ScaleOut Digital Twins to run in simulated time and process simulation models defined by simulation digital twin models. A simulation model can either implement a workload generator for real-time digital twins or a pure simulation model.

Note

When running in simulation, real-time digital twins and timers also run in simulated time.

The following sections explain how to start and manage a simulation.

Starting a Simulation

To start a simulation, select “Start Simulation” under the “Simulation” section in the left-side navigation bar.

../_images/start_simulation.png

Simulation Type

There are two options for simulation type: Basic Simulation and Message Playback.

  • Basic Simulation: Generates simulated message data to model all types of hypothetical scenarios. The exact behavior of the simulation will depend on your implementation.

  • Message Playback: Replays a message recording in order to review and analyze past real-world events.

Simulation Options

  • Message Recording: The message recording to be played back in simulation. This option is only available for Message Playback Simulations.

  • Start Time: The time that the simulation will start, in simulated time. This option only applies to Basic Simulations. For Message Playback Simulations, the timestamp of the first message will be used.

  • End Time: The time that the simulation will end, in simulated time. This option only applies to Basic Simulations. For Message Playback Simulations, the timestamp of the last message will be used.

  • Simulation Speed: The speed the simulation will run relative to real time. For example, a value of 5 means one minute in the simulation takes 12 seconds of real time. For a value of 0.5, one minute of simulated time takes two minutes of real time. The actual speed the simulation can run may be limited by computing resources.

  • Simulated Interval: Sets the minimum increment for advancing simulation time at each simulation step. The simulation will increment time steps by this amount even if digital twins request a shorter delay. A simulation supports a minimum of one millisecond granularity for time increments.

  • Steps per Checkpoint: Sets how often ScaleOut Digital Twins saves the state of simulation digital twins to its highly available, in-memory store; increasing the number of simulation steps can improve performance but risk data loss if a server fails.

Note

Make sure all of the necessary digital twin models and instances are deployed before starting the simulation. You should not deploy a new digital twin model while a simulation is running.

To start the simulation, press the Start Simulation button at the bottom of the screen.

Managing a Simulation

After the simulation has started, the Simulation page in the UI looks as follows:

../_images/manage_simulation.png

At the top of the screen, you can see the simulation’s status (running, paused, or stopped) and controls to pause or stop the simulation. You can control the simulation by pressing one of the buttons:

  • Pause to temporarily pause the simulation

  • Stop: to stop the simulation

When the simulation is paused, you can edit some of its settings using the fields on the right side of the screen. The changes will be applied when the simulation is resumed.

The three sections in the center of the page provide more information about the simulation:

  • The Simulation Time section shows the current time, start time, and stop time (in simulated time).

  • The Simulation Progress section shows the simulation’s actual speed relative to real time, the elapsed time in simulated time, and the completion percentage (from 0-100% complete).

  • The Simulation Details section shows the simulation type (Basic or Message Playback), the Recording ID if any, and the Stop Reason if any.

Note

The simulation may not achieve its target speedup if it reaches CPU saturation. In this case, please contact ScaleOut Software to increase the size of your deployment.

Once the simulation stops, you can start a new simulation by selecting the New Simulation button in the top right of the screen.

Note

If you restart a simulation after it has been stopped, you should redeploy the digital twin models and instances to reset their state.