simulation and component lifecycle in SST - researcherben/structural-simulation-toolkit GitHub Wiki

simulation lifecycle

  1. 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
  2. Life
    • Send events
    • Manage clock and event handlers
  3. Death
    • Finalize components using their finish() functions
    • Output statistics
    • Cleanup simulation, delete components

Description from slide 19

component lifecycle in SST

  1. Pre-construction: define and partition components
  2. Construction: call component constructors and parse parameters
  3. 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
  4. setup
    • Each component does its final setup and schedules initial events
  5. run
    • Actual simulation (time begins)
    • Continues until a set time, or all components agree to finish
  6. finalize
    • Simulation complete
    • Write statistics, free memory

from slide 20