Нема описа

Snej69420 4a1d3fc1d5 comparison now between minimal classic parallel and dynamic eg substituted dynamic classic for classic пре 4 месеци
benchmarks 1f51a7e3e6 scaled translation function пре 4 месеци
pythonpdevs2.4.2 2cb252faa6 actually fixed selector for DCP implementation пре 7 месеци
web_service 08af1d8473 Minor fixes in Dockerfile пре 6 година
.gitignore d1a7613532 updated git ignore пре 6 месеци
Agents benchmarks.md 2fd1b4e569 updated benchmark params for translations and additional baselines пре 4 месеци
Dockerfile 03aa3eac66 Upgrading xDEVS rust version пре 3 година
PyPDEVS benchmarks.md 2fd1b4e569 updated benchmark params for translations and additional baselines пре 4 месеци
README.md d6ee4ea44c Added memory usage measuring and reconfigured the cli, updated the readme with a 'guide' on how to run the damn thing пре 9 месеци
clean.sh 0059d5437b Added all the submodules again пре 3 година
plotting Agents.md 40ee4d5761 updated plotting commands пре 5 месеци
plotting PyPDEVS.md 4a1d3fc1d5 comparison now between minimal classic parallel and dynamic eg substituted dynamic classic for classic пре 4 месеци
pyproject.toml d6ee4ea44c Added memory usage measuring and reconfigured the cli, updated the readme with a 'guide' on how to run the damn thing пре 9 месеци
results_analysis.py 18825c4992 Script for simple analysis and regular flush пре 3 година
setup.sh d6ee4ea44c Added memory usage measuring and reconfigured the cli, updated the readme with a 'guide' on how to run the damn thing пре 9 месеци
uv.lock d6ee4ea44c Added memory usage measuring and reconfigured the cli, updated the readme with a 'guide' on how to run the damn thing пре 9 месеци

README.md

devstone-comparative

Here you can find several DEVStone implementations for comparing the main DEVS engines.

Adapted to benchmark Dynamic Structure DEVS

Running the pypdevs benchmarks

First select a simulator:

  • classic
  • parallel
  • dynamic
    • classic
    • number of models to generate per cycle
  • minimal

Shared parameters:

  • path: where the results will be stored
  • filename:
  • append: will append the data to the output file instead of overwriting it
  • max width/depth: max model width/depth
  • width/depth step size:
    • determines how fast the width/depth increases to the max specified value
    • the simulation will be run for every width and depth combination
    • the step size must be a divider of the max width/depth
    • if not provided the model will run only the max width/depth
  • repetitions: number of times the exact same simulation will be repeated
  • output
  • memory: Measures the memory usage of a simulation.
  • interval: The interval at which measurements are taken.

  • model structure: each simulator has its own set of models

    • LI, HI, HO, HOmod (classic, parallel, dynamic, minimal)
    • HI2LI, LI2HI, dLI, dHI (dynamic)

For each simulation the parameters and the creation, setup and simulation time are saved to a csv file.

plotting

Measuring Memory

Run the following command, the width and depth step size parameters should be left out, to measure the memory usage of a single simulation, for the same reason the repetitions should be set to one.

uv run testPyPDEVS.py -md 100 -mw 100 -r 1 -O dynamic -ms dLI & PID=$!; python -m procpath record -i 0.1 -f stat -d output.sqlite --stop-without-result "$..children[?(@.stat.pid == $PID)]"
procpath plot -d output.sqlite -f out.svg -q rss