Skip to main content
Part of CALC@HEI, the HEI research computing infrastructure — governance in transition, currently operated by the ISC staff.

How to run a job on our computational ressources

Introduction

The rationale for this procedure is to ensure data security, to keep visibility on the cluster usage and prevent maxing out cluster resources.

Apptainer makes the container safe for all the other users : unlike Docker that needs to be run as root to be able to use GPUs, Apptainer is made for HPC usage, which prevents your container or the containers for other researchers to read your files, or erase them.

SLURM allows accounting of the submitted jobs to be able to keep visibility on the cluster usage, and will allows us to adapt its configuration along the way.

Before starting, make sure you can connect to the compute nodes.

Environment

  1. On either server Chacha or Disco, you have a symlink datasets in your home directory that is linked to the local storage of the server : its purpose is to give you a proper space to put all the data you will be working on.

  2. You have also another symlink shared_datasets for jobs that needs to be run on several nodes : this filesystem is shared between nodes.

  3. Your .bashrc / .zshrc contains by default the variable APPTAINER_TMPDIR set to /home/user.name/.apptainer/ : this allows you to build containers without using the system /tmp that is restricted with a low quota, and use your larger dataset quota instead.

  4. By default, you are the only one seeing your data : If you are working as a team on these data, please ask for a group creation so we can add members in it and apply suitable permissions.

The full filesystem layout, retention rules and quotas are described in Storage and quotas.

Containerize your application

To avoid having everyone installing their libraries installed on the system or on their user directly on the physical servers, we need you to keep them cleanly packed in a container : That way you can both install what you want inside this container, and you can do it without needing any root priviledge on the server you are sharing with other researchers.

For examples, see : How to create a simple apptainer container

Run your application via SLURM

To be able to run a job on CALC@HEI, you MUST run it under SLURM. Ressource usage is managed by Slurm on this cluster.

For examples, see : How-to create a simple SLURM job

More information on our SLURM cluster

Good practice

Common pitfalls — including why the VSCode remote-SSH plugin must not be used on our servers — are collected in the FAQ.

Automation

If you need to use Cron to schedule something, you need to ask for your user to be added to the /etc/cron.allow whitelist.