Skip to content

Latest commit

 

History

History
97 lines (61 loc) · 7.18 KB

File metadata and controls

97 lines (61 loc) · 7.18 KB
graph LR
    SlurmExecutor["SlurmExecutor"]
    Slurm_Parameter_Management["Slurm Parameter Management"]
    Slurm_Script_Generation["Slurm Script Generation"]
    Slurm_Job_Information_Parsing["Slurm Job Information & Parsing"]
    Slurm_Job_Representation["Slurm Job Representation"]
    Slurm_Utility_Functions["Slurm Utility Functions"]
    SlurmExecutor -- "utilizes" --> Slurm_Parameter_Management
    SlurmExecutor -- "initiates" --> Slurm_Script_Generation
    SlurmExecutor -- "manages" --> Slurm_Job_Representation
    SlurmExecutor -- "interacts with" --> Slurm_Job_Information_Parsing
    Slurm_Parameter_Management -- "provides input to" --> SlurmExecutor
    Slurm_Script_Generation -- "receives input from" --> SlurmExecutor
    Slurm_Script_Generation -- "relies on" --> Slurm_Utility_Functions
    Slurm_Job_Information_Parsing -- "provides details to" --> SlurmExecutor
    Slurm_Job_Information_Parsing -- "relies on" --> Slurm_Utility_Functions
    Slurm_Job_Representation -- "managed by" --> SlurmExecutor
    Slurm_Utility_Functions -- "supports" --> Slurm_Script_Generation
    Slurm_Utility_Functions -- "supports" --> Slurm_Job_Information_Parsing
Loading

CodeBoardingDemoContact

Details

The Slurm Executor Backend subsystem, primarily encapsulated within the submitit.slurm.slurm module, serves as the dedicated interface for submitit to interact with the Slurm workload manager. It embodies the Facade/Wrapper and Executor Pattern by abstracting the complexities of Slurm job submission and management.

SlurmExecutor

The central orchestrator for Slurm job submissions. It initializes the executor, validates and converts submission parameters, and manages the core process of submitting jobs to the Slurm cluster. This component embodies the Executor Pattern, abstracting the complexities of job execution.

Related Classes/Methods:

Slurm Parameter Management

Handles the validation, conversion, and internal updating of job submission parameters to ensure they conform to Slurm's requirements and submitit's internal structure. It acts as a configuration layer for Slurm jobs.

Related Classes/Methods:

Slurm Script Generation

Responsible for constructing the sbatch command strings and generating the content of the Slurm submission script files. This is a key aspect of the Command Pattern, where the library generates the commands to be executed by the external Slurm system.

Related Classes/Methods:

Slurm Job Information & Parsing

Extracts and parses information related to Slurm jobs, such as job IDs, node lists, and hostnames, from Slurm's output or internal data structures. This component is crucial for monitoring and retrieving job status.

Related Classes/Methods:

Slurm Job Representation

Represents an individual job submitted to Slurm, holding its unique identifier and status. It's a data structure used by the SlurmExecutor to track submitted jobs throughout their lifecycle.

Related Classes/Methods:

Slurm Utility Functions

Provides essential helper functionalities specific to Slurm interaction, such as safely joining shell commands, formatting sbatch flags, and handling parsing-related exceptions. These utilities support the core Slurm interaction logic.

Related Classes/Methods: