Initial commit

This commit is contained in:
Valère Plantevin
2026-04-20 21:23:37 -04:00
commit 27c05c982f
38 changed files with 2992 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=10000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=7000 EventAsset=2000 ActuatorAsset=1000 total=10000
[warmup] running 500 ticks...
tick= 0 | entities= 10000 (sensor_active= 8817, alerts= 0, act= 1000) | faults= 183 lockouts= 0 | rss= 4.0 MB | tick_mean= 0.0 µs | ingest= 97.0 sim= 27.0 export= 14.0 diag= 0.0 µs | exported=0.08 MB acks=1000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 10000 (sensor_active= 4488, alerts= 23, act= 1000) | faults= 92482 lockouts= 0 | rss= 6.3 MB | tick_mean= 284.8 µs | ingest= 97.1 sim= 17.1 export= 14.0 diag= 0.0 µs | exported=40.70 MB acks=501000
tick= 2000 | entities= 10000 (sensor_active= 4425, alerts= 23, act= 1000) | faults=182979 lockouts= 0 | rss= 7.8 MB | tick_mean= 286.0 µs | ingest= 97.1 sim= 17.2 export= 14.1 diag= 0.1 µs | exported=121.92 MB acks=1501000
tick= 3000 | entities= 10000 (sensor_active= 4507, alerts= 27, act= 1000) | faults=273085 lockouts= 0 | rss= 9.3 MB | tick_mean= 286.1 µs | ingest= 97.3 sim= 17.3 export= 14.1 diag= 0.1 µs | exported=203.15 MB acks=2501000
tick= 4000 | entities= 10000 (sensor_active= 4502, alerts= 15, act= 1000) | faults=363376 lockouts= 0 | rss= 10.9 MB | tick_mean= 284.8 µs | ingest= 97.0 sim= 17.2 export= 14.0 diag= 0.1 µs | exported=284.37 MB acks=3501000
tick= 5000 | entities= 10000 (sensor_active= 4527, alerts= 24, act= 1000) | faults=453183 lockouts= 0 | rss= 12.4 MB | tick_mean= 284.6 µs | ingest= 97.1 sim= 17.2 export= 14.0 diag= 0.1 µs | exported=365.59 MB acks=4501000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 1.430 s
Sustained tick rate: 3497.7 Hz
Per-tick mean (wall): 28.5 µs
Per-system mean (µs):
IngestSystem: 97.2
SimulationSystem: 17.2
ExportSystem: 14.0
DiagnosticsSystem: 0.1
Fault injection:
Total sensor faults: 498016
Total actuator lockouts: 0
Export totals:
Bytes exported: 406.11 MB
Acks processed: 5000000
Alerts seen: 104943
Memory (RSS at end): 13.1 MB
────────────────────────────────────────────────────────

View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=100000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=70000 EventAsset=20000 ActuatorAsset=10000 total=100000
[warmup] running 500 ticks...
tick= 0 | entities= 100000 (sensor_active= 88228, alerts= 0, act=10000) | faults= 1772 lockouts= 0 | rss= 16.3 MB | tick_mean= 0.0 µs | ingest= 948.0 sim= 607.0 export= 157.0 diag= 0.0 µs | exported=0.81 MB acks=10000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 100000 (sensor_active= 45396, alerts= 218, act=10000) | faults=924085 lockouts= 0 | rss= 36.7 MB | tick_mean= 4126.0 µs | ingest= 986.9 sim= 218.2 export= 150.2 diag= 0.0 µs | exported=406.92 MB acks=5010000
tick= 2000 | entities= 100000 (sensor_active= 44998, alerts= 212, act=10000) | faults=1823730 lockouts= 0 | rss= 51.9 MB | tick_mean= 4197.8 µs | ingest= 987.7 sim= 236.6 export= 152.8 diag= 0.1 µs | exported=1219.14 MB acks=15010000
tick= 3000 | entities= 100000 (sensor_active= 45132, alerts= 187, act=10000) | faults=2723608 lockouts= 0 | rss= 67.2 MB | tick_mean= 4132.4 µs | ingest= 986.1 sim= 217.8 export= 150.1 diag= 0.1 µs | exported=2031.31 MB acks=25010000
tick= 4000 | entities= 100000 (sensor_active= 45039, alerts= 209, act=10000) | faults=3624295 lockouts= 0 | rss= 82.4 MB | tick_mean= 4132.1 µs | ingest= 986.5 sim= 217.8 export= 150.1 diag= 0.1 µs | exported=2843.48 MB acks=35010000
tick= 5000 | entities= 100000 (sensor_active= 45069, alerts= 187, act=10000) | faults=4525217 lockouts= 0 | rss= 97.7 MB | tick_mean= 4132.9 µs | ingest= 985.3 sim= 217.1 export= 150.0 diag= 0.1 µs | exported=3655.69 MB acks=45010000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 20.732 s
Sustained tick rate: 241.2 Hz
Per-tick mean (wall): 413.0 µs
Per-system mean (µs):
IngestSystem: 985.7
SimulationSystem: 217.2
ExportSystem: 150.1
DiagnosticsSystem: 0.2
Fault injection:
Total sensor faults: 4974449
Total actuator lockouts: 0
Export totals:
Bytes exported: 4060.97 MB
Acks processed: 50000000
Alerts seen: 1029861
Memory (RSS at end): 105.3 MB
────────────────────────────────────────────────────────

View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=150000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=105000 EventAsset=30000 ActuatorAsset=15000 total=150000
[warmup] running 500 ticks...
tick= 0 | entities= 150000 (sensor_active=132379, alerts= 0, act=15000) | faults= 2621 lockouts= 0 | rss= 24.5 MB | tick_mean= 0.0 µs | ingest=1444.0 sim= 884.0 export= 251.0 diag= 0.0 µs | exported=1.22 MB acks=15000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 150000 (sensor_active= 67721, alerts= 306, act=15000) | faults=1385323 lockouts= 0 | rss= 54.3 MB | tick_mean= 6453.6 µs | ingest=1517.1 sim= 381.6 export= 226.7 diag= 0.0 µs | exported=610.34 MB acks=7515000
tick= 2000 | entities= 150000 (sensor_active= 67238, alerts= 279, act=15000) | faults=2736064 lockouts= 0 | rss= 77.2 MB | tick_mean= 6469.3 µs | ingest=1517.2 sim= 381.6 export= 226.8 diag= 0.1 µs | exported=1828.57 MB acks=22515000
tick= 3000 | entities= 150000 (sensor_active= 67728, alerts= 317, act=15000) | faults=4087020 lockouts= 0 | rss= 100.1 MB | tick_mean= 6473.9 µs | ingest=1519.6 sim= 382.4 export= 227.0 diag= 0.1 µs | exported=3046.87 MB acks=37515000
tick= 4000 | entities= 150000 (sensor_active= 67533, alerts= 320, act=15000) | faults=5437256 lockouts= 0 | rss= 123.0 MB | tick_mean= 6470.4 µs | ingest=1518.3 sim= 381.8 export= 226.7 diag= 0.1 µs | exported=4265.17 MB acks=52515000
tick= 5000 | entities= 150000 (sensor_active= 67700, alerts= 323, act=15000) | faults=6786973 lockouts= 0 | rss= 145.8 MB | tick_mean= 6470.2 µs | ingest=1518.6 sim= 382.0 export= 226.7 diag= 0.1 µs | exported=5483.48 MB acks=67515000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 32.355 s
Sustained tick rate: 154.5 Hz
Per-tick mean (wall): 646.7 µs
Per-system mean (µs):
IngestSystem: 1517.3
SimulationSystem: 381.4
ExportSystem: 226.6
DiagnosticsSystem: 0.2
Fault injection:
Total sensor faults: 7460636
Total actuator lockouts: 0
Export totals:
Bytes exported: 6091.41 MB
Acks processed: 75000000
Alerts seen: 1538845
Memory (RSS at end): 157.2 MB
────────────────────────────────────────────────────────

View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=200000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=140000 EventAsset=40000 ActuatorAsset=20000 total=200000
[warmup] running 500 ticks...
tick= 0 | entities= 200000 (sensor_active=176493, alerts= 0, act=20000) | faults= 3507 lockouts= 0 | rss= 30.0 MB | tick_mean= 0.0 µs | ingest=1907.0 sim=1336.0 export= 349.0 diag= 0.0 µs | exported=1.62 MB acks=20000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 200000 (sensor_active= 90145, alerts= 405, act=20000) | faults=1847083 lockouts= 0 | rss= 69.5 MB | tick_mean= 8788.2 µs | ingest=2023.3 sim= 582.9 export= 300.9 diag= 0.0 µs | exported=813.81 MB acks=10020000
tick= 2000 | entities= 200000 (sensor_active= 90392, alerts= 396, act=20000) | faults=3647521 lockouts= 0 | rss= 100.0 MB | tick_mean= 8805.3 µs | ingest=2023.3 sim= 582.9 export= 300.5 diag= 0.1 µs | exported=2438.20 MB acks=30020000
tick= 3000 | entities= 200000 (sensor_active= 90372, alerts= 408, act=20000) | faults=5447700 lockouts= 0 | rss= 130.5 MB | tick_mean= 8805.5 µs | ingest=2023.7 sim= 582.7 export= 300.4 diag= 0.1 µs | exported=4062.57 MB acks=50020000
tick= 4000 | entities= 200000 (sensor_active= 89452, alerts= 444, act=20000) | faults=7247668 lockouts= 0 | rss= 161.1 MB | tick_mean= 8808.2 µs | ingest=2024.8 sim= 583.4 export= 300.7 diag= 0.2 µs | exported=5686.94 MB acks=70020000
tick= 5000 | entities= 200000 (sensor_active= 89914, alerts= 429, act=20000) | faults=9047286 lockouts= 0 | rss= 191.6 MB | tick_mean= 8804.6 µs | ingest=2022.3 sim= 582.4 export= 300.7 diag= 0.1 µs | exported=7311.36 MB acks=90020000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 44.034 s
Sustained tick rate: 113.5 Hz
Per-tick mean (wall): 880.6 µs
Per-system mean (µs):
IngestSystem: 2022.7
SimulationSystem: 582.0
ExportSystem: 300.7
DiagnosticsSystem: 0.2
Fault injection:
Total sensor faults: 9946420
Total actuator lockouts: 0
Export totals:
Bytes exported: 8121.94 MB
Acks processed: 100000000
Alerts seen: 2059136
Memory (RSS at end): 206.8 MB
────────────────────────────────────────────────────────

View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=25000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=17500 EventAsset=5000 ActuatorAsset=2500 total=25000
[warmup] running 500 ticks...
tick= 0 | entities= 25000 (sensor_active= 22049, alerts= 0, act= 2500) | faults= 451 lockouts= 0 | rss= 6.0 MB | tick_mean= 0.0 µs | ingest= 236.0 sim= 81.0 export= 36.0 diag= 0.0 µs | exported=0.20 MB acks=2500
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 25000 (sensor_active= 11440, alerts= 49, act= 2500) | faults=231419 lockouts= 0 | rss= 11.6 MB | tick_mean= 812.9 µs | ingest= 243.3 sim= 43.2 export= 35.1 diag= 0.0 µs | exported=101.74 MB acks=1252500
tick= 2000 | entities= 25000 (sensor_active= 11301, alerts= 43, act= 2500) | faults=456552 lockouts= 0 | rss= 15.5 MB | tick_mean= 812.1 µs | ingest= 244.1 sim= 43.2 export= 35.1 diag= 0.1 µs | exported=304.78 MB acks=3752500
tick= 3000 | entities= 25000 (sensor_active= 11421, alerts= 58, act= 2500) | faults=681247 lockouts= 0 | rss= 19.2 MB | tick_mean= 811.6 µs | ingest= 243.6 sim= 43.0 export= 35.1 diag= 0.1 µs | exported=507.82 MB acks=6252500
tick= 4000 | entities= 25000 (sensor_active= 11157, alerts= 48, act= 2500) | faults=906865 lockouts= 0 | rss= 23.1 MB | tick_mean= 814.2 µs | ingest= 244.0 sim= 43.3 export= 35.1 diag= 0.1 µs | exported=710.88 MB acks=8752500
tick= 5000 | entities= 25000 (sensor_active= 11216, alerts= 49, act= 2500) | faults=1131163 lockouts= 0 | rss= 26.9 MB | tick_mean= 811.4 µs | ingest= 243.6 sim= 43.2 export= 35.1 diag= 0.1 µs | exported=913.91 MB acks=11252500
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 4.066 s
Sustained tick rate: 1229.7 Hz
Per-tick mean (wall): 81.3 µs
Per-system mean (µs):
IngestSystem: 244.0
SimulationSystem: 43.2
ExportSystem: 35.1
DiagnosticsSystem: 0.2
Fault injection:
Total sensor faults: 1243639
Total actuator lockouts: 0
Export totals:
Bytes exported: 1015.22 MB
Acks processed: 12500000
Alerts seen: 254654
Memory (RSS at end): 28.8 MB
────────────────────────────────────────────────────────

View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=50000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=35000 EventAsset=10000 ActuatorAsset=5000 total=50000
[warmup] running 500 ticks...
tick= 0 | entities= 50000 (sensor_active= 44082, alerts= 0, act= 5000) | faults= 918 lockouts= 0 | rss= 9.4 MB | tick_mean= 0.0 µs | ingest= 528.0 sim= 211.0 export= 73.0 diag= 0.0 µs | exported=0.41 MB acks=5000
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 50000 (sensor_active= 22364, alerts= 118, act= 5000) | faults=462345 lockouts= 0 | rss= 20.1 MB | tick_mean= 1918.9 µs | ingest= 497.0 sim= 94.6 export= 70.9 diag= 0.0 µs | exported=203.46 MB acks=2505000
tick= 2000 | entities= 50000 (sensor_active= 22510, alerts= 97, act= 5000) | faults=912440 lockouts= 0 | rss= 27.7 MB | tick_mean= 1922.8 µs | ingest= 496.6 sim= 94.4 export= 71.0 diag= 0.1 µs | exported=609.56 MB acks=7505000
tick= 3000 | entities= 50000 (sensor_active= 22512, alerts= 90, act= 5000) | faults=1361728 lockouts= 0 | rss= 35.3 MB | tick_mean= 1924.0 µs | ingest= 497.0 sim= 94.7 export= 71.0 diag= 0.1 µs | exported=1015.66 MB acks=12505000
tick= 4000 | entities= 50000 (sensor_active= 22519, alerts= 98, act= 5000) | faults=1812084 lockouts= 0 | rss= 43.0 MB | tick_mean= 1922.6 µs | ingest= 496.6 sim= 94.5 export= 70.8 diag= 0.1 µs | exported=1421.74 MB acks=17505000
tick= 5000 | entities= 50000 (sensor_active= 22355, alerts= 101, act= 5000) | faults=2261407 lockouts= 0 | rss= 50.6 MB | tick_mean= 1921.7 µs | ingest= 496.7 sim= 94.5 export= 70.9 diag= 0.1 µs | exported=1827.82 MB acks=22505000
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 9.617 s
Sustained tick rate: 519.9 Hz
Per-tick mean (wall): 192.0 µs
Per-system mean (µs):
IngestSystem: 496.0
SimulationSystem: 94.5
ExportSystem: 70.8
DiagnosticsSystem: 0.2
Fault injection:
Total sensor faults: 2486121
Total actuator lockouts: 0
Export totals:
Bytes exported: 2030.46 MB
Acks processed: 25000000
Alerts seen: 511654
Memory (RSS at end): 54.3 MB
────────────────────────────────────────────────────────

View File

@@ -0,0 +1,35 @@
ECS Digital Twin Benchmark — TRANSIT lab / UQAC
entities=75000 | ticks=5000 | warmup=500 | fault_prob=2.0%
[spawn] SensorAsset=52500 EventAsset=15000 ActuatorAsset=7500 total=75000
[warmup] running 500 ticks...
tick= 0 | entities= 75000 (sensor_active= 66146, alerts= 0, act= 7500) | faults= 1354 lockouts= 0 | rss= 13.6 MB | tick_mean= 0.0 µs | ingest= 713.0 sim= 383.0 export= 112.0 diag= 0.0 µs | exported=0.61 MB acks=7500
[warmup] done — starting measurement (5000 ticks)
tick= 1000 | entities= 75000 (sensor_active= 33877, alerts= 142, act= 7500) | faults=693165 lockouts= 0 | rss= 28.7 MB | tick_mean= 3016.1 µs | ingest= 735.8 sim= 156.6 export= 110.8 diag= 0.0 µs | exported=305.18 MB acks=3757500
tick= 2000 | entities= 75000 (sensor_active= 33696, alerts= 166, act= 7500) | faults=1367793 lockouts= 0 | rss= 40.1 MB | tick_mean= 3021.4 µs | ingest= 735.8 sim= 156.7 export= 110.8 diag= 0.1 µs | exported=914.34 MB acks=11257500
tick= 3000 | entities= 75000 (sensor_active= 33889, alerts= 159, act= 7500) | faults=2042643 lockouts= 0 | rss= 51.5 MB | tick_mean= 3024.8 µs | ingest= 736.4 sim= 156.9 export= 110.8 diag= 0.1 µs | exported=1523.51 MB acks=18757500
tick= 4000 | entities= 75000 (sensor_active= 33657, alerts= 166, act= 7500) | faults=2717674 lockouts= 0 | rss= 63.0 MB | tick_mean= 3022.6 µs | ingest= 735.3 sim= 156.9 export= 110.8 diag= 0.2 µs | exported=2132.66 MB acks=26257500
tick= 5000 | entities= 75000 (sensor_active= 33573, alerts= 155, act= 7500) | faults=3393495 lockouts= 0 | rss= 74.4 MB | tick_mean= 3021.8 µs | ingest= 735.2 sim= 156.5 export= 110.8 diag= 0.2 µs | exported=2741.79 MB acks=33757500
── Final Summary ──────────────────────────────────────
Total ticks (measurement): 5000
Total wall time: 15.118 s
Sustained tick rate: 330.7 Hz
Per-tick mean (wall): 302.3 µs
Per-system mean (µs):
IngestSystem: 736.2
SimulationSystem: 156.6
ExportSystem: 110.7
DiagnosticsSystem: 0.3
Fault injection:
Total sensor faults: 3730093
Total actuator lockouts: 0
Export totals:
Bytes exported: 3045.74 MB
Acks processed: 37500000
Alerts seen: 773395
Memory (RSS at end): 80.1 MB
────────────────────────────────────────────────────────