Skip to main content

A Snakemake executor plugin for submitting jobs to an AWS Parallel Cluster (pcluster) SLURM cluster.

Project description

Snakemake executor plugin: pcluster-slurm v_0.0.7_

the core of this plugin was lifted from the official slurm pluging, via this fork.

Snakemake Executor Plugins (generally)

Snakemake plugin catalog docs.

pcluster-slurm plugin

AWS Parallel Cluster, pcluster slurm

AWS Parallel Cluster is a framework to deploy and manage dynamically scalable HPC clusters on AWS, running SLURM as the batch system, and pcluster manages all of the creating, configuring, and deleting of the cluster compute nodes. Nodes may be spot or dedicated. note, the AWS Parallel Cluster port of slurm has a few small, but critical differences from the standard slurm distribution. This plugin enables using slurm from pcluster head and compute nodes via snakemake >=v8.*.

Daylily Bfx Framework

Daylily is a bioinformatics framework that automates and standardizes all aspects of creating a self-scaling ephemeral cluster which can grow from 1 head node to many thousands of as-needed compute spot instances (modulo your quotas and budget). This is accomplished by using AWS Parallel Cluster to manage the cluster, and snakemake to manage the bfx workflows. In this context, slurm is the intermediary between snakemake and the cluster resource management. The pcluster slurm variant does not play nicely with vanilla slurm, and to date, the slurm snakemake executor has not worked with pcluster slurm. This plugin is a bridge between snakemake and pcluster-slurm.

Pre-requisites

Snakemake >=8.*

Conda

conda create -n snakemake -c conda-forge -c bioconda snakemake==8.20.6
conda activate snakemake

Installation (pip)

from an environment with snakemake and pip installed

pip install snakemake-executor-plugin-pcluster-slurm

Example Usage daylily cluster headnode

mkdir -p /fsx/resources/environments/containers/ubuntu/cache/
export SNAKEMAKE_OUTPUT_CACHE=/fsx/resources/environments/containers/ubuntu/cache/
snakemake --use-conda --use-singularity -j 10  --singularity-prefix /fsx/resources/environments/containers/ubuntu/ip-10-0-0-240/ --singularity-args "  -B /tmp:/tmp -B /fsx:/fsx  -B /home/$USER:/home/$USER -B $PWD/:$PWD" --conda-prefix /fsx/resources/environments/containers/ubuntu/ip-10-0-0-240/ --executor pcluster-slurm --default-resources slurm_partition='i64,i128,i192' --cache  --verbose -k

More Documentation Pending For:

How slurm uses --comment to tag resources created by the autoscaling cluster to tracke and mnage budgets.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page