-
Notifications
You must be signed in to change notification settings - Fork 638
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support resource labels for Azure Batch #4178
Conversation
Signed-off-by: Ben Sherman <[email protected]>
✅ Deploy Preview for nextflow-docs-staging ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Signed-off-by: Ben Sherman <[email protected]>
plugins/nf-azure/src/main/nextflow/cloud/azure/batch/AzBatchService.groovy
Outdated
Show resolved
Hide resolved
plugins/nf-azure/src/main/nextflow/cloud/azure/batch/AzBatchService.groovy
Outdated
Show resolved
Hide resolved
…rvice.groovy [ci fast] Signed-off-by: Paolo Di Tommaso <[email protected]>
This test could be updated |
@adamrtalbot what do you think about creating different auto pools for different resource labels? This is how it currently works, if two processes have different resource labels, Nextflow will create two different pools for them. This would allow the resource labels to be process-specific, but could potentially create lots of otherwise identical pools. I'm wondering if you think it's worth having. |
My concern is that it could lead to lower resource utilization, since each process would have its own pool rather than many processes sharing one or a few pools, which are more likely to be fully utilized the whole time. |
Seems perfect. I will try grouping next, so half the processes go to one pool, half to another, using resourceLabels. Leaving this setting on was a mistake, because now I have to clear up my mess manually:
|
With new config (pipeline is https://github.com/adamrtalbot/nf-canary/):
|
Signed-off-by: Ben Sherman <[email protected]>
To expand on why it's perfect, you can effectively use resourceLabels as cost tags now for filtering and management. Let Nextflow handle all the Azure Batch pool management stuff for you and you can check how much you're spending (e.g. per process). |
Wonderful, then this PR is ready to go |
Signed-off-by: Ben Sherman <[email protected]> Signed-off-by: Paolo Di Tommaso <[email protected]> Co-authored-by: Paolo Di Tommaso <[email protected]>
Signed-off-by: Ben Sherman <[email protected]> Signed-off-by: Paolo Di Tommaso <[email protected]> Co-authored-by: Paolo Di Tommaso <[email protected]>
Close #3248
Based on discussions in the issue and with Adam, it seems cost analysis in Azure is tied to pools, and job metadata is not propagated to VMs. As a result, this PR applies
resourceLabels
to the pool when it is created, and the docs make clear that resource labels in Azure should be defined once for all processes, or else they will be non-deterministic.Happy to be proven wrong if anyone knows better. But this feature is still useful for pipeline-level labels, like pipeline name, user, project, etc.
@adamrtalbot can you test it?