PetriNet Studio - Architecting a SaaS Simulator in Modern C++
summary
A cloud‑native Petri net simulator called PetriNet Studio is built with a modular microservices stack (React front end, Go gateway, RabbitMQ + MongoDB + protobuf storage) and a high‑performance C++23 backend that uses mdspan and concepts to run the state equation as vectorized matrix updates. An optimized minimal‑cover algorithm (Minkov algorithm) implements vectorized state updates, parallel firing, omega propagation and GPU/FPGA acceleration and reports significant reductions in node count and runtime while noting state‑explosion and portability risks.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 1:27Modeling concurrency
- 3:38Project objectives
- 4:20What are Petri nets
- 6:28Why Petri nets matter
- 8:22Motivation for cloud-native
- 10:13Model to code automation
- 11:40Extending with colors and time
- 12:20Mathematical engine
- 13:45C++ engine design
- 15:51System architecture overview
- 16:34Design patterns in C++
- 17:19Firing policies and matrices
- 19:05Monitor pattern for thread safety
- 21:41Execution model and critical sections
- 23:49Parallel and distributed execution
- 24:35Analyzing Petri net properties
- 26:43Minkov algorithm optimization
- 29:01Memory layout and SIMD
- 30:06Risks and trade-offs
- 31:52Future directions
- 32:59Q&A
related talks
13mRolling Your Own Circuit Simulator
01h 22mCostless Software Abstractions for Parallel Architectures
01h 06mMastering the IoT with C++ and JavaScript
49mSimulating Embedded Systems With Zephyr
26mPest: Building a Language Server
35mAll aboard the Rust (electric freight) train!
39mLightning talks
46mBuilding Real-Time Control Software: Lessons from Hyperloop
