The INSY cluster uses the Simple Linux Utility for Resource Management (Slurm) scheduler to efficiently manage workloads. All jobs for the cluster have to be submitted as batch jobs into a queue. The scheduler manages and prioritizes the jobs in the queue, allocates resources (CPUs, memory) for the jobs, executes the jobs and enforces the resource allocations. It schedules multiple jobs (in parallel) so that they most efficiently use the available resources of the compute nodes.
When a user submits a job to the cluster, the central manager queues the job in one of several queues, and prioritizes the job according to the queue, required resources and recent use of the user. The manager then schedules the job and allocates the requested resources (e.g. CPUs, memory, time). When the requested resources become available, the manager starts the job. While the job runs, the manager monitors and enforces the allocated resources.