FMI-Based Distributed Multi-Simulation with DACCOSIM
Résumé
Our research project aims at enabling multi-simulation based on the FMI 2.0 standard and the cooperation of multiple FMUs (FMI simulation units). In order to support large scale multi-simulations, our solution (DACCOSIM) runs on multi-core and distributed architectures. To support variable step
size, the necessary error control and rollbacks are achieved through a hierarchical and distributed control architecture. At each step, simulation data communications also occur, but directly between FMU pairs in a fully decentralized fashion.
Moreover, DACCOSIM implements an algorithm to perform the complex initialization of the various components of the multi-simulation. DACCOSIM comes as a graphical framework to easily design a multi-simulation and to automatically generate associated code, and as a multithreaded and distributed library to execute it. We evaluated DACCOSIM on an industrial use case provided by EDF (leading French utility company), run on multicore PCs and PC clusters. Preliminary performance measurements on a 4-physical-core PC exhibit a speedup compared to monothreaded Dymola execution using the same FMUs. On multi-core PC clusters we face overhead communication times due to frequent small communications but this distribution allows to process large cosimulations.