I recently asked this to one of our sysadmins:
…the pipeline consists of running many processes, so I could reserve say, one node with 32 processors and 32gb and 3 hours, or our workflow manager would call each process separately calling 1 node 1GB and a few minutes each time. Is any “style” better for our HPC?
In other words, I can run a Nextflow pipeline as a larger single slurm job with all the processes running locally, or have nextflow use the slurm executor to run all the individual processes as separate smaller slurm jobs.
This is what he said:
Most definitely! It is much better for our HPC and for you if you can ‘bundle’ up steps that do not take much time into a single Slurm job. Slurm is quite fast at starting jobs, but there is still overhead when starting a job, and that will add up if you have many of them.
What do people think? Do you have any suggestions?