Crate dvcompute_branch
source · [−]Expand description
This crate is a part of discrete event simulation framework DVCompute Simulator (registration
number 2021660590 of Rospatent). The dvcompute_dist
crate is destined for optimistic
distributed simulation based on the Time Warp method, but the same code base is shared by
the dvcompute_branch
crate destined for nested simulation.
There are the following main crates: dvcompute
(for sequential simulation),
dvcompute_dist
(for optimistic distributed simulation - from multicore computers till supercomputers),
dvcompute_cons
(for conservative distributed simulation - from multicore computers till supercomputers) and
dvcompute_branch
(for nested simulation - theory of games, estimation of the optimal strategy). All four crates are
very close. They are based on the same method.
In the case of optimistic distributed simulation, it is expected that the dvcompute_mpi
and dvcompute_core_dist
dynamic (shared) libraries can be found by the operating system, when
launching the executable file of the simulation model. You can build the dvcompute_mpi
library yourself from https://github.com/dsorokin/dvcompute/tree/main/src/dvcompute_mpi_cdylib sources
that require CMake, C++ compiler and some MPI implementation that you are going to use.
Because of specific MPI implementation, this library cannot be unified. But
the dvcompute_core_dist
dynamic library must satisfy the predefined binary
interface (it must implement the event queue). You can download the trial version that
implements this interface from the author’s website https://aivikasoft.com.
This prebuilt version is a part of “Redistributable Code” portions of DVCompute Simulator.
You can find examples in the author’s repository: https://github.com/dsorokin/dvcompute.
The simulation method is described in the author’s article: Sorokin David. DVCompute Simulator for discrete event simulation. Prikladnaya informatika=Journal of Applied Informatics, 2021, vol.16, no.3, pp.93-108 (in Russian). DOI: 10.37791/2687-0649-2021-16-3-93-108
Also you can use the author’s tool DVCompute Modeler for fast prototyping of your future models. The tool is available on the https://aivikasoft.com web site. It allows creating discrete event models and queue network models with help of the Python programming language. The tool is available for Windows, Linux and macOS from the author’s web site. Then such models can be directly translated into Rust with help of DVCompute Simulator.
Modules
The prelude module.
The main simulation module.