Overview

Slurm is an open source workload manager and job scheduler for AI and HPC workloads on Linux Clusters. It gives jobs access to compute nodes, starts and monitors them, and keeps pending jobs in a queue.

OneSlurm deploys a Slurm Cluster on OpenNebula as a OneFlow service. The service has two roles:

RoleApplianceWhat it does
controllerService Slurm ControllerRuns slurmctld, schedules jobs and owns the Slurm configuration. Users log in here to submit jobs
workerService Slurm WorkerRuns slurmd and executes jobs. You can add or remove workers at any time

Both roles come together in the Service OneSlurm appliance of the OpenNebula Public Marketplace. The controller publishes the Cluster data through OneGate, and each worker reads it and joins the Cluster without manual steps.

Optional features are set when you create the service:

  • Shared user accounts through a local or an external LDAP directory.
  • Shared /home and /scratch from NFS exports.
  • NVIDIA GPUs attached to the workers.
  • InfiniBand for MPI jobs.

How Should I Read This Chapter

  1. Check Requirements and Preparation.
  2. Deploy a first Cluster with the Quick Start Guide.
  3. Read Core Concepts to understand how the controller and the workers work together.

Then use the Management pages for daily operation:

The References pages list the Service Architecture, every Configuration Parameter, the CLI commands and the API calls.

There is also a OneSlurm tutorial with NVIDIA GPUs in the AI Factory Blueprints.

Release Notes

The Service OneSlurm page of the Marketplace shows the current version, the guest OS and the supported OpenNebula versions. The one-apps release page lists the changes of each version.

Known Limitations

LimitationEffect
No slurmdbdNo job accounting, job history or usage statistics through SlurmDB
Munge onlyMunge is the only Slurm authentication method
One controllerThe controller has no failover. If it stops, no new jobs start until it is back
Up to 100 workersslurm.conf sets MaxNodeCount=100
LDAP without TLSThe LDAP clients connect with plain ldap://. See Identity Management