-
Notifications
You must be signed in to change notification settings - Fork 642
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 disk directive in Azure Batch #5120
base: master
Are you sure you want to change the base?
Support disk directive in Azure Batch #5120
Conversation
Signed-off-by: Adam Talbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: Adam Talbot <12817534+adamrtalbot@users.noreply.github.com>
Changes: - Azure calculates autoPool while including resourceDiskSizeGB in the calculation - Determines best fit for VM type using criteria of vCPUs, memory, and resourceDiskSizeGB Signed-off-by: Adam Talbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: Adam Talbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: Adam Talbot <12817534+adamrtalbot@users.noreply.github.com>
✅ Deploy Preview for nextflow-docs-staging ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Signed-off-by: Adam Talbot <12817534+adamrtalbot@users.noreply.github.com>
If anyone fancies being a rubber duck, I can't work out why the best match for |
plugins/nf-azure/src/test/nextflow/cloud/azure/batch/AzBatchServiceTest.groovy
Outdated
Show resolved
Hide resolved
…rviceTest.groovy Signed-off-by: Adam Talbot <12817534+adamrtalbot@users.noreply.github.com>
plugins/nf-azure/src/main/nextflow/cloud/azure/batch/AzBatchService.groovy
Outdated
Show resolved
Hide resolved
Signed-off-by: Adam Talbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
Adds support for disk directive in Azure Batch tasks by considering disk requirements when calculating VM slots and selecting VM types. Disk requirements are now factored into VM scoring alongside CPU and memory. Modifies the VM scoring algorithm to include disk requirements and weight for CPUs more than memory or disk. Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: Adam Talbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
@bentsherman after many long hours and mental calculations about slots, I've finally finished this one. The only problem I've found is it doesn't account for existing the funnel for cacheing the pool after creation. Not sure how necessary this is but it currently has no awareness of the cpus, memory and disk, just the name. But I wonder if this is indicating I'm missing something? |
Signed-off-by: Adam Talbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
Changes: - Include the inverse length of the VM name as a modifier for the score - Shorter names are preferred, they have fewer features and are generally cheaper - In doing this, I had to switch from a TreeMap to a List of Tuples because TreeMap was only considering the final set of similar VMs Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
This PR adds the
process.disk
directive support to Azure Batch. After adding this directive, Azure Batch will:This should help with the recurring issue where Azure Batch nodes run out of disk space because too many tasks are packed onto a single machine. Since we don't support using a network attached disk as the working directory this is the only solution to handling larger files.
Similarly, when using Fusion we can ringfence a larger fraction of the local storage drive to ensure the local cache is not overloaded.