nextflow-io / nextflow-io/nextflow

Google Batch spot enabled configuration for processes

Open
#3,530 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

executor/google-batch triage/investigate
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.