Skip to content

Multi-threading and multiple FMU instances #2151

@d-model

Description

@d-model

On the topic of thread-safety, the fmi standard (in both versions 2 and 3) only has the following to say: "FMI functions of one instance are not required to be thread-safe" (in addition to forbidding changes to global settings). No mention is made of the behaviour of functions on different instances.

In another discussion I saw that the following requirement was at least considered at some point: "Instances of the same FMU and instances of different FMUs must not influence each other", however I have not found it in the standard anywhere. My question is whether this requirement somehow follows from another part of the standard or whether there is a good reason that it was left out of the standard. Not being able to assume this severely limits how a simulation environment can use multi-threading to evaluate model equations.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions