Skip to content

Parallelisation - task scheduling potential enhancements #91

@Samuel-amap

Description

@Samuel-amap

The generic nature of PlantSimEngine makes it harder to know what models or which independent subgraphs of the depency graph should be prioritised.

The exact order will heavily depend on the complexity of the models, and on their coupling, making it very case-specific. Sometimes a specific model might be quite computationally complex to run and a bottleneck to prioritise, sometimes there might be long dependency chains that outweigh the other bottlenecks.

One possible way of determining a usually good order when the user needs to run a simulation over many timesteps would be to have a short dry run that collects a little data, to then determine what seems like the potential ideal order in which the subgraphs and models should be run.

This might not be trivial with multi-scale, hard dependencies and soft dependencies. Perhaps having modelers declare some particularly complex models as being heavier to handle could help, as well.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestperformanceImproving simulation performance

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions