Skip to content

simulation: add dynamic simulation step sizes#352

Open
MariusBgm wants to merge 7 commits into
mainfrom
dev/timesync/dynamic-step-sizes_bgm
Open

simulation: add dynamic simulation step sizes#352
MariusBgm wants to merge 7 commits into
mainfrom
dev/timesync/dynamic-step-sizes_bgm

Conversation

@MariusBgm

@MariusBgm MariusBgm commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

allow modifying the simulation step size and ensure that distributed participants only advance virtual time to the minimum time step.
Changes:

  • the participant config allows disabling this. by default it is off: Experimental/TimeSynchronization/DynamicSimulationStep
  • when a remote participant is detected, and the config is either not-set or enabled, we use dynamic sim steps
    • this uses supplemental data, no protocol changes
  • to fully opt out a participant has to set
Experimental:
    TimeSynchronization:
       DynamicSimulationStep: false

This is an experimental feature, ready to get user feedback.

@MariusBgm
MariusBgm force-pushed the dev/timesync/dynamic-step-sizes_bgm branch from c7ebe78 to 97f5bec Compare July 6, 2026 06:43
@MariusBgm MariusBgm added the needs reviewer This issue is looking for a reviewer. label Jul 6, 2026
KonradBreitsprecherBkd and others added 5 commits July 13, 2026 12:57
Change TimeAdvanceMode::ByMinimalDuration to trigger SimTasks with timestamps of all other sync. participants; Add Integration Tests; Remove automatic creation of TimeSynService in SimTestHarness

Signed-off-by: Konrad Breitsprecher <Konrad.Breitsprecher@vector.com>

rework: reorganize and activate debug statements

config: make default TimeAdvanceMode configurable (hacky boolean)

remove API for dynsteps, enable dyn steps by default, allo opt out by config

Signed-off-by: Marius Börschig <Marius.Boerschig@vector.com>
…or.com>

Signed-off-by: Marius Börschig <Marius.Boerschig@vector.com>
…er@vector.com>

disable by default, ensure ITest_DifferentPeriods does not hang indefinitely

Signed-off-by: Marius Börschig <Marius.Boerschig@vector.com>
…tsprecher@vector.com>

add capability check for remote participants using dynstep, allow opt-out on client side

Signed-off-by: Marius Börschig <Marius.Boerschig@vector.com>
…ad.Breitsprecher@vector.com>

fix memory leaks in test

Signed-off-by: Marius Börschig <Marius.Boerschig@vector.com>
@MariusBgm
MariusBgm force-pushed the dev/timesync/dynamic-step-sizes_bgm branch from be928f3 to 69ca0db Compare July 13, 2026 10:57
@MariusBgm
MariusBgm marked this pull request as ready for review July 13, 2026 11:01

@KonradBreitsprecherBkd KonradBreitsprecherBkd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only issue I found is in the SimTestHarness change. Otherwise thoroughly tested and safe.

Comment thread SilKit/IntegrationTests/SimTestHarness/SimTestHarness.cpp
Comment thread SilKit/IntegrationTests/ITest_DynStepSizes.cpp Outdated
…r <Konrad.Breitsprecher@vector.com>

restore sync participants

Signed-off-by: Marius Börschig <Marius.Boerschig@vector.com>
…sprecher <Konrad.Breitsprecher@vector.com>

make sure monitor has no time-sync in the dynstep cases

Signed-off-by: Marius Börschig <Marius.Boerschig@vector.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Design Proposal needs reviewer This issue is looking for a reviewer.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants