Skip to main content

What is Slurm?

Slurm is an open-source workload manager designed for small, large, and exascale clusters, providing efficient job scheduling and management. It offers scalability and flexibility to handle diverse workloads.

How does Slurm work?

Slurm utilizes a hierarchical structure consisting of a controller, nodes, and partitions to allocate jobs based on policies and resources. It optimizes workload distribution, maximizing cluster utilization and ensuring efficient job execution.

Who uses Slurm?

The following industries use Slurm:

  • Academic & Research
  • Aerospace & Defense
  • AI & Machine Learning
  • Automotive & Autonomous Driving
  • Bioinformatics & Genome Research
  • Cloud Computing
  • Energy, Oil & Gas
  • Financial Services
  • Government Laboratories
  • Manufacturing & Engineering
  • Pharmaceutical & Life Sciences

Slurm offers the perfect solution for users in the scientific community who rely on dependable job scheduling in high-performance computing environments to accelerate their research and innovation.

What are partitions in Slurm?

Slurm partitions are logical subdivisions of a cluster’s resources. They enable efficient resource allocation, accommodating different job types, priorities, and user/group restrictions within a shared computing environment. Slurm allows administrators to define partitions, ensuring that jobs run independently of one another. Partitions ensure sensitive research data is only processed and stored within designated and controlled environments. These isolations help prevent unauthorized access and reduce the risk of data leaks and tampering. Strategically using partitions ensures fair and optimized resource utilization.

What does it mean when SchedMD refers to first class GPUs in Slurm?

With first-class resource management for GPUs, Slurm allows users to request GPU resources alongside CPUs. While a CPU has one or tens of processing cores, a GPU has thousands. For certain workloads, a GPU-enabled code can vastly outperform a CPU code. This flexibility to allocate CPUs and GPUs together, allows administrators to configure features according to the specific requirements of their site’s complex business policies. By effectively managing both CPUs and GPUs, Slurm ensures that jobs are executed quickly and efficiently, while maximizing resource utilization.

How do I submit a job with Slurm?

To submit a job, use the ‘sbatch’ command, providing a job script as input. The script specifies job details such as executable, resource requirements, input/output files, and any required pre- or post-processing steps. Slurm simplifies the job submission process and automates job management.

How can I check the status of my jobs in Slurm?

You can use the ‘squeue’ command to get real-time updates on the status of your jobs in Slurm. It provides information about pending, running, and completed jobs, allowing you to track progress, monitor resource utilization, and efficiently manage your workload.

What documentation and services are available for Slurm?

Slurm documentation can be found here. More information on all of SchedMD support and training for Slurm can be found here.