Skip to content

startup time scales with large number of Exodus labeled/side sets #346

Description

@Chuyang-Liu

I am opening this issue to document a startup-scaling problem we are seeing when using Exodus meshes with a large number of labeled sets/side sets.

In a previous test, an Exodus mesh with roughly 20,000 total side sets and labeled sets took about 2–3 hours on NERSC before the simulation actually started. The run appeared to spend most of this time around mesh creation/partitioning, for example, near:

MESH_PartitionWithZoltan: Using partitioning method RCB for ZOLTAN

In my current mesh, the number of diagnostic regions is much larger, with approximately 7.4 times more total side sets and labeled sets. Based on the previous timing, the expected startup time could be:

3 hours × 7.4 ≈ 22.3 hours

This is a major practical issue because the maximum wall-time limit on NERSC is 48 hours. Spending about 22 hours just on startup / mesh-region loading would leave much less time for the actual simulation.

An important detail is that, for the steady-state and cyclic steady-state runs, most of these diagnostic regions are not referenced in the XML input file under either:

ParameterList name="regions" type="ParameterList"

or:

ParameterList name="observations" type="ParameterList"

However, because the labeled sets and side sets are present in the Exodus mesh itself, ATS/Amanzi still appears to spend substantial time during mesh creation/partitioning.

Would it be possible to improve this part of the mesh/region handling? For example:

  1. Only process Exodus labeled/side sets that are actually referenced in the XML input file.
  2. Speed up the loading or construction of regions from the Exodus mesh.

Any suggestions on best practices, possible input options, or future code improvements would be greatly appreciated.

Thank you very much.

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