Why are there spikes in the Simulink Real-Time TET log?

13 views (last 30 days)
Why are there spikes in the Simulink Real-Time Task Execution Time (TET) log?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 1 Jun 2023
Edited: MathWorks Support Team on 1 Jun 2023
Here is a list of factors known to cause spikes in the task execution time:
  1. BIOS Power save options are enabled
  2. BIOS Legacy USB controllers are enabled
  3. Using the Simulink Real-Time Graphical interface
  4. System Management Interrupts (SMI)
  5. Cache misses when loading states into memory at the beginning of model execution
  6. Cache misses when background tasks move lots of data
To eliminate the spikes in the Simulink Real-Time TET log, please do the following:
  1. Turn the Power save option in the BIOS off
  2. Turn USB Controllers off
  3. Use text mode rather than Simulink Real-Time Graphical interface
  4. To ensure best performance, confirm that the custom target computer BIOS settings match those specified in the Simulink Real-Time documentation. You can find the documentation page for this by executing the following command in the MATLAB command prompt:
    web(fullfile(docroot, 'xpc/gs/bios-settings.html'))
    Note that real-time target machines provided by Speedgoat (exclusively supported with Simulink Real-Time since R2018a) are already configured and optimized to minimize and eliminate these BIOS effects.
  1 Comment
Pablo Romero
Pablo Romero on 30 Nov 2022
The suggestions above apply up to MATLAB R2020a. Please see my answer below for further instructions in R2020b onwards.

Sign in to comment.

More Answers (1)

Pablo Romero
Pablo Romero on 30 Nov 2022
From MATLAB R2020b onwards, you may enable polling mode as shown here to reduce the sample time jitter, which may show up as spikes in TET.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!