snakemake / snakemake/snakemake-executor-plugin-aws-batch
Support for per-rule spot instances?
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 12
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Description
Currently, if we want to use spot instances with Batch, we need to send jobs to a queue that is connected to an environment set up using spot instances. But in reality, it often makes sense to send some long-running jobs to on-demand instances while others to spot instances, to minimize chances of interuptions. As far as I can undertand, this is currently not possible?
I'm wondering what would be the best way to bring that support. Ideally, we want a directive spot: True in the rule definition, but this requires modifying Snakemake code.
Alternatively, we can add a command line argument --spot-rules that takes a comma separated string of rule names that should be sent to spot instances (and --spot-job-queue that specifies the job queue to use for those jobs). The argument to --spot-rules can be quite long and unmanageable but that's the kind of setting that makes sense in a snakemake profile config so maybe it's acceptable?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing how Snakemake rules are represented and how AWS Batch job queues are selected. Compare the proposed per-rule spot: True directive with the --spot-rules and --spot-job-queue options, and define the desired queue-selection behavior before implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, python
- Domain
- cloud
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100