Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
When you select a node size for an Azure Batch pool, you can choose from almost all the VM sizes available in Azure. Azure offers a range of sizes for Linux and Windows VMs for different workloads.
Supported VM series and sizes
Pools in Virtual Machine configuration
Batch pools in the Virtual Machine configuration support almost all VM sizes available in Azure. The supported VM sizes in a region can be obtained via the Batch Management API. You can use one of the following methods to return a list of VM sizes supported by Batch in a region:
- PowerShell: Get-AzBatchSupportedVirtualMachineSku
- Azure CLI: az batch location list-skus
- Batch Management APIs: List Supported Virtual Machine SKUs
For example, using the Azure CLI, you can obtain the list of skus for a particular Azure region with the following command:
az batch location list-skus --location <azure-region>
Tip
Avoid VM SKUs/families with impending Batch support end of life (EOL) dates. These dates can be discovered
via the ListSupportedVirtualMachineSkus
API,
PowerShell,
or Azure CLI.
For more information, see the Batch best practices guide regarding Batch pool VM SKU selection.
Using Generation 2 VM Images
Some VM series, such as FX and Mv2, can only be used
with generation 2 VM images. Generation 2 VM images are specified like any VM image,
using the sku
property of the imageReference
configuration; the sku
strings have a suffix such as -g2
or -gen2
. To get a list of VM images supported by Batch, including generation 2 images,
use the 'list supported images' API,
PowerShell, or Azure CLI.
Size considerations
Application requirements - Consider the characteristics and requirements of the application run on the nodes. Aspects like whether the application is multithreaded and how much memory it consumes can help determine the most suitable and cost-effective node size. For multi-instance MPI workloads or CUDA applications, consider specialized HPC or GPU-enabled VM sizes, respectively. For more information, see Use RDMA-capable or GPU-enabled instances in Batch pools.
Tasks per node - It's typical to select a node size assuming one task runs on a node at a time. However, it might be advantageous to have multiple tasks (and therefore multiple application instances) run in parallel on compute nodes during job execution. In this case, it's common to choose a multicore node size to accommodate the increased demand of parallel task execution.
Load levels for different tasks - All of the nodes in a pool are the same size. If you intend to run applications with differing system requirements and/or load levels, we recommend that you use separate pools.
Region availability - A VM series or size might not be available in the regions where you create your Batch accounts. To check that a size is available, see Products available by region.
Quotas - The cores quotas in your Batch account can limit the number of nodes of a given size you can add to a Batch pool. When needed, you can request a quota increase.
Supported VM images
Use one of the following APIs to return a list of Windows and Linux VM images currently supported by Batch, including the node agent SKU IDs for each image:
- PowerShell: Get-AzBatchSupportedImage
- Azure CLI: az batch pool supported-images
- Batch Service APIs: List Supported Images
For example, using the Azure CLI, you can obtain the list of supported VM images with the following command:
az batch pool supported-images list
Images that have a verificationType
of verified
undergo regular interoperability validation testing with the Batch service
by the Azure Batch team. The verified
designation doesn't mean that every possible application or usage scenario is validated,
but that functionality exposed by the Batch API such as executing tasks, mounting a supported virtual filesystem, etc. are
regularly tested as part of release processes. Images that have a verificationType
of unverified
don't undergo regular
validation testing but were initially verified to boot on Azure Batch compute nodes and transition to an idle
compute
node state. Support for unverified
images isn't guaranteed.
Tip
Avoid images with impending Batch support end of life (EOL) dates. These dates can be discovered via
the ListSupportedImages
API,
PowerShell, or Azure CLI.
For more information, see the Batch best practices guide regarding Batch pool VM image selection.
Tip
The value of the AZ_BATCH_NODE_ROOT_DIR
compute node environment variable is dependent upon if the VM has a local temporary disk or not. See Batch root directory location for more information.
Next steps
- Learn about the Batch service workflow and primary resources such as pools, nodes, jobs, and tasks.
- Learn about using specialized VM sizes with RDMA-capable or GPU-enabled instances in Batch pools.