simulation and component lifecycle in SST - researcherben/structural-simulation-toolkit GitHub Wiki
simulation lifecycle
- Birth
- Create graph of components using Python configuration file
- Partition graph and assign components to MPI ranks
- Instantiate components
- Connect components via links
- Initialize components using their init() functions
- Setup components using their setup() functions
- Life
- Send events
- Manage clock and event handlers
- Death
- Finalize components using their finish() functions
- Output statistics
- Cleanup simulation, delete components
Description from slide 19
component lifecycle in SST
- Pre-construction: define and partition components
- Construction: call component constructors and parse parameters
- initialize
- Components send “init” events to each other over links. Discover neighbors, negotiate parameters, initialize data structures, etc.
- Multiple rounds of communication until no more “init” events are sent
- setup
- Each component does its final setup and schedules initial events
- run
- Actual simulation (time begins)
- Continues until a set time, or all components agree to finish
- finalize
- Simulation complete
- Write statistics, free memory
from slide 20