charmed-hpc / slurm-snap

Snap package for Slurm. Slurm is a highly scalable cluster management and job scheduling system for large and small Linux clusters :balance_scale::penguin:
https://slurm.schedmd.com
Apache License 2.0
2 stars 3 forks source link
hpc slurm slurm-workload-manager snap
A snap package for the Slurm workload manager - a highly scalable cluster management and job scheduling system for large and small Linux clusters. Slurm is used by many of the world's supercomputers and computer clusters.

This snap is currently experimental. If you're interested in the development of this snap - and want to contribute - please reach out to me on the Ubuntu HPC Matrix space.

Features

Slurm is a workload manager designed for supercomputers. It is scalable, highly configurable, and supports scheduling for generic computational resources such as GPUs. This snap package includes:

Usage

Configuration

Slurm is a highly configurable workload manager. The Slurm snap can be configured using snap set slurm .... See the list below for all the possible configuration options you can set on the snap:

slurm

Configuration options related to the Slurm workload manager. Please refer to the parameters section of the slurm.conf configuration file manual page for an in-depth description of each configuration option and how it modifies the behaviour of Slurm.

Nodes

Configuration options related to compute nodes. Please refer to the node configuration section of the slurm.conf configuration file manual page for an in-depth description of each configuration option and how it modifies the behaviour of compute nodes.

Frontend Nodes

Configuration options related to frontend compute nodes. Please refer to the frontend node configuration section of the slurm.conf configuration file manual page for an in-depth description of each configuration option and how it modifies the behaviour of frontend compute nodes.

Down Nodes

Configuration options related to down compute nodes. Please refer to the down node configuration section of the slurm.conf configuration file manual page for an in-depth description of each configuration option and how it modifies the behaviour of compute nodes.

Node Sets

Configuration options related to node sets. Please refer to the nodeset configuration section of the slurm.conf configuration file manual page for an in-depth description of each configuration option and how it modifies the behaviour of node sets.

Partitions

Configuration options related to partitions. Please refer to the partition configuration section of the slurm.conf configuration file manual page for an in-depth description of each configuration option and how it modifies the behaviour of partitions.

munge

slurmd

slurmdbd

Configuration options related to the slurmdbd daemon. Please refer to the slurmdbd.conf configuration file manual page for an in-depth description of each configuration option and how it modifies the behaviour of the slurmdbd daemon.

slurmrestd

Building the Slurm snap

Want to build and test the Slurm snap locally without pulling from the Snap Store? Want to bundle in your own custom Slurm plugins? Use the following commands to build and install the Slurm snap on your system. These instructions assume that you are running on a Linux distribution that supports installing snap packages. Please see this page for a list of Linux distributions that support using snap packages.

Clone Repository

git clone git@github.com:NucciTheBoss/slurm-snap.git
cd slurm-snap

Installing and Configuring Prerequisites

sudo snap install lxd
sudo lxd init --minimal
sudo snap install snapcraft --classic

Packing and Installing the Snap

snapcraft
sudo snap install ./slurm*.snap --dangerous --classic

Project & Community

The Slurm workload manager snap package is a project of the Ubuntu HPC community. It is an open source project that is welcome to community involvement, contributions, suggestions, fixes, and constructive feedback. Interested in being involved with the development of this snap package? Check out the links below:

License

The Slurm snap is free software, distributed under the Apache Software License, version 2.0. See LICENSE for more information. The Slurm workload manager itself is licensed under the GNU General Public License, version 2, or any later version. See Slurm's legal notice for further licensing information about Slurm itself.