暫無描述

Snej69420 d6ee4ea44c Added memory usage measuring and reconfigured the cli, updated the readme with a 'guide' on how to run the damn thing 9 月之前
devstone d6ee4ea44c Added memory usage measuring and reconfigured the cli, updated the readme with a 'guide' on how to run the damn thing 9 月之前
pythonpdevs2.4.2 743c666d29 better argument handling, new width-depth plot and an improved pythonpdevs implementation to be installed 10 月之前
simulators 60a8fcbcb6 prelaunch tasks on demand 2 年之前
web_service 08af1d8473 Minor fixes in Dockerfile 6 年之前
.gitignore d6ee4ea44c Added memory usage measuring and reconfigured the cli, updated the readme with a 'guide' on how to run the damn thing 9 月之前
.gitmodules 8caf5aaf48 use HTTPS 2 年之前
Dockerfile 03aa3eac66 Upgrading xDEVS rust version 3 年之前
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 月之前
annsim2023.py 4d90c6d202 Minor changes 3 年之前
annsim2024.py 8caf5aaf48 use HTTPS 2 年之前
clean.sh 0059d5437b Added all the submodules again 3 年之前
devstone_comparative.py 60a8fcbcb6 prelaunch tasks on demand 2 年之前
events_devstone.txt e3e20c79f7 Scripts for executing benchmarks 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