Нет описания

Snej69420 7cae3ba5bb better log storing 6 месяцев назад
benchmarks 7cae3ba5bb better log storing 6 месяцев назад
devstone e19568bc94 removed all simulators except for pythonpdevs as well as their model implementations. \n Updated the generator to follow the DEVS formalism and added a getter for the transitions 8 месяцев назад
pythonpdevs2.4.2 2cb252faa6 actually fixed selector for DCP implementation 7 месяцев назад
web_service 08af1d8473 Minor fixes in Dockerfile 6 лет назад
.gitignore 837282ae76 Automatically generate graph of memory use 9 месяцев назад
Agents benchmarks.md 7cae3ba5bb better log storing 6 месяцев назад
Dockerfile 03aa3eac66 Upgrading xDEVS rust version 3 лет назад
PyPDEVS benchmarks.md 7cae3ba5bb better log storing 6 месяцев назад
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 7cae3ba5bb better log storing 6 месяцев назад
plotting PyPDEVS.md 7cae3ba5bb better log storing 6 месяцев назад
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