Skip to content

DragonLauncher sub-launchers #593

Open
@al-rigazzi

Description

@al-rigazzi

Description

The steps belonging to the DragonLauncher attributes _pbs_launcher and _slurm_launcher should be managed in a better way.

Justification

Currently, when a DragonBatchStep is launched as a batch job using SbatchSettings or QsubSettings, a SlurmLauncher or PBSLauncher object is used to control it. Such launchers are stored as attributes of the DragonLauncher, and we call them sub-launchers. As SmartSim tracks jobs only by the ID assigned by the WLM to them, the DragonLauncher has no way of understanding whether a job id represents a Slurm or a PBS batch job. For that reason, we prefix the job id with the name of the sub-launcher. This workaround is not elegant and we should find a better way of handling such batch jobs.

Implementation Strategy

Instead of step id (integers or strings), SmartSim could use objects to track steps. For example, a _get_managed_step_update call, instead of using a list of ids, would use a list of StepID objects (these could be simple dataclass objects), and no id prefixing would be needed by the Dragon launcher, which could deduce the sub-launcher to call from the object type.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: Dragonarea: launcherIssues related to any of the launchers within SmartSimtype: featureIssues that include feature request or feature idea

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions