Attribute based VM selection for Azure Compute Fleet (Preview)
Article
Important
Attribute based VM selection is currently in preview. Previews are made available to you on the condition that you agree to the supplemental terms of use. Some aspects of this feature may change prior to general availability (GA).
The attribute based virtual machine (VM) selection feature enables you to configure your instance requirements as a set of VM attributes, such as memory, vCPU, and storage. These requirements are matched with all suitable Azure VM sizes, simplifying the creation and maintenance of VM configurations. This feature also allows you to seamlessly utilize newer VM generations as they become available. You also gain access to a wider range of capacity through Azure Spot Virtual Machines. The Compute Fleet service selects and launches VMs that match the specified attributes, eliminating the need to manually choose VM sizes.
Attribute based VM selection is ideal for scenarios such as stateless web services, large-scale batch processing, big data clusters, or continuous integration pipelines. Workloads like financial risk modeling, log processing, and image rendering can take advantage of the ability to run hundreds of thousands of concurrent cores or instances. When leveraging Spot Virtual Machines, instead of specifying numerous VM sizes and types individually, a simple attribute configuration can now encompass all relevant options, including new ones as they are released.
Prerequisites
To use attribute based VM selection, you must sign-up for Azure Compute Fleet preview features. After you complete the sign-up form and are approved, you will be contacted with next steps and onboarding details.
Benefits
Optimal flexibility for Spot VMs: Compute Fleet offer optimal flexibility when deploying Spot Virtual Machines by selecting from a broad range of VM sizes. This process aligns with best practices for Spot usage by ensuring flexibility in VM size selection, which improves the likelihood of Azure Spot VMs meeting and allocating the required compute capacity.
Simplified VM type selection: With the vast array of VM sizes available, finding the best match for your workload can be a complex task. By specifying VM attributes, Azure Virtual Machine Scale Sets can automatically select the VM sizes that fulfill your workload’s requirements. This automation simplifies the process and ensures the right resources are chosen.
Automatic adoption of new VM sizes: Azure Virtual Machine Scale Sets can automatically incorporate newer generation VM sizes as they become available. When these new VM sizes meet your specified requirements and align with your chosen allocation strategies, they are seamlessly used by your scale set, ensuring your deployment benefits from the latest advancements without manual updates.
Process
How does attribute based VM selection work? The process involves two main steps: VM type determination, followed by allocation strategy application.
VM type determination: Attribute based selection generates a list of VM types based on specified attributes, chosen Azure regions, and Availability Zones.
Allocation strategy application: The Compute Fleet applies the selected allocation strategy to the generated list of VMs.
For Azure Spot VMs, attribute based selection supports both capacity-optimized and lowest-price allocation strategies. For Standard VMs, attribute based selection supports the lowest-price allocation strategy. The Compute Fleet resolves attribute configurations into a list of suitable VM types and initially launches the lowest-priced VM to meet the On-Demand portion of the capacity request, proceeding to the next lowest-priced VM if necessary.
The attribute based selection feature enables more flexible VM type configurations, eliminating the need for extensive instance-type lists. This way, you automatically leverage newer VM generations when they are introduced in your selected Azure region. Additionally, attribute based selection enhances the ability to access more capacity through Spot requests efficiently.
With attribute based selection, managing VM size configurations becomes easier and more scalable, ensuring that your workloads run smoothly with optimized cost and performance.
Supported VM attributes
The following list of VM attributes are supported and provide examples of configurations.
vCpuCount
Required
Must be specified if VMAttributes are specified
The range of vCpuCount specified from min to max
Either min(uint) or max(uint) is required if specified
JSON
"vCpuCount": {
"value": {
"min": 2,
"max": 24
}
}
memoryInGiB
Required
Must be specified if VMAttributes are specified
The range of memoryInGiB specified from min to max
Either min(double) or max(double) is required if specified
Azure HPC is a purpose-built cloud capability for HPC & AI workload, using leading-edge processors and HPC-class InfiniBand interconnect, to deliver the best application performance, scalability, and value. Azure HPC enables users to unlock innovation, productivity, and business agility, through a highly available range of HPC & AI technologies that can be dynamically allocated as your business and technical needs change. This learning path is a series of modules that help you get started on Azure HPC - you