nextflow-io / nextflow-io/nextflow
Google Batch spot enabled configuration for processes
Nobody has claimed this yet.
- Dominant language
- Groovy
- Stars
- 3.5k
- Forks
- 811
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 61
Description
New feature
When using Google Batch, it'd be nice if spot could be enabled for individual processes. The reason being, in some pipelines I may have processes that run over 1 hour that cannot be paused and restarted, running the risk of them wasting hours of compute time, or possibly never finishing at all, if the spot resources are reclaimed. I haven't experimented to see if the maxSpotAttempts configuration would prevent the fail for Google Batch, but all the same it would be nice to be able to have on-demand be able to be set as the default.
Apologies if I have missed something in the documentation about this. I did try setting google.batch.spot = true within a withName config, but that seemed to still enable it for the entire workflow.
Usage scenario
As above.
Suggest implementation
Simply as an end-user, I do not know enough about the architecture of Google Batch or NextFlow's interaction with it to know how feasible this is. Currently the implementation is at the workflow level, but it would be nice to have it as a configuration for the process, the same way that machineType works and is implemented for Google Batch processes.
Thanks!
Contributor guide
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 tracing how Google Batch currently reads the workflow-level spot setting and compare it with the process-level machineType configuration mentioned in the issue. Check the withName configuration behavior described by the reporter, then determine what process-level configuration and validation would be needed for on-demand defaults and per-process spot selection.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- google-cloud, groovy
- Domain
- cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100