Diffent ways to launch a job on the cluster: pros and cons

Dear user,

on the cluster, you can submit jobs in multiple way, each has its pros and cons.

  • srun
    pros: no need to have an sbatch script
    cons: your terminal need to stay open. If it is closed, your job is killed. If the login node has an issue, your job is killed

  • salloc
    pros: like with srun, no need to have an sbatch script. You connect interactively to the compute node where you can launch an stop your job multiple time for debug purpose or to interact with it. It support graphical applications as well.
    cons: like with srun. Additionally for interactive jobs, the risk is that the requested resources will be allocated several hours or days later. To prevent that, we have created a dedicated partition named public-interactive-cpu for interactive jobs.

  • sbatch
    pros: once your job submited, you can close your terminal and disconnect from the cluster. This is the safest way and the more efficient way to launch a job on the cluster.
    cons: you need to have a dedicated sbatch script. Or you can use the --wrap flag and write your sbatch on the fly.

  • directly on the login node without using slurm
    pros: no waiting time
    cons: this is forbidden by our rules, and we’ll kill your job, so obviously don’t use this method!