Chapter 2 Non-Interactive Modes
2.1 SLURM (S-commands)
SLURM job submission to gizmo:
making jobs resilient to connectivity issues (grabnode sessions end your job if you lose connectivity)
no need to babysit the job this way
generates job logs for troubleshooting
uses the SLURM scheduler and better lab job allocation (helps you get resources sooner and in coordination with the rest of your lab and the Hutch users more broadly)
srun, sbatch, etc. gives you more control and options for configuration that let your jobs run better in many ways
SLURM array jobs
2.2 Workflow managers
- good when you have multi-step processes that need to occur together
- when your multi-step processes have dependencies that conflict: allows task isolation and management
- good when you’re working on multiple different workflows at the same time
- want to leverage the cluster allocation very efficiently by breaking jobs up
- want to prepare a workflow for better reproducibility, sharing, and expanding to the cloud
2.2.1 Cromwell
2.2.2 Nextflow
2.3 Cloud computing
once a workflow has been optimized (likely using a workflow manager above), leveraging the cloud for large, production workflows can help your lab’s usage of the cluster while also encouraging reproducibility
Workflows can ideally be run by others, not just those with access to the Hutch resources
great when you do not have access to a local cluster or when you want to use a commercial platform for running computational work.