|
| 1 | +--- |
| 2 | +title: "Azure HPC workload best practices guide" |
| 3 | +description: A comprehensive guide to choosing a storage solution best suited to your HPC workloads. |
| 4 | +author: christinechen2 |
| 5 | +ms.author: padmalathas |
| 6 | +ms.reviewer: normesta |
| 7 | +ms.date: 05/09/2024 |
| 8 | +ms.service: virtual-machines |
| 9 | +ms.subservice: hpc |
| 10 | +ms.topic: conceptual |
| 11 | +--- |
| 12 | +# High-performance computing (HPC) workload best practices guide |
| 13 | + |
| 14 | +<!-- [!INCLUDE[appliesto-sqlvm](../../includes/appliesto-sqlvm.md)] --> |
| 15 | + |
| 16 | +This guide provides best practices and guidelines to a storage solution that is best suited to your high-performance computing (HPC) workload. |
| 17 | + |
| 18 | +There's typically a trade-off between optimizing for costs and optimizing for performance. This workload best practices series is focused on getting the *best* storage solution for HPC workloads on Azure VMs. If your workload is less demanding, you might not require every recommended optimization. Consider your performance needs, costs, and workload patterns as you evaluate these recommendations. |
| 19 | + |
| 20 | +## Overview |
| 21 | + |
| 22 | +Storage for HPC workloads consists of core storage and in some cases, an accelerator. |
| 23 | + |
| 24 | +Core storage acts as the permanent home for your data. It contains rich data management features and is durable, available, scalable, elastic, and secure. An accelerator enhances core storage by providing high-performance data access. An accelerator can be provisioned on demand and gives your computational workload much faster access to data. |
| 25 | + |
| 26 | + |
| 27 | +## Initial consideration |
| 28 | + |
| 29 | +If you are starting from scratch, see [Understand data store models](/azure/architecture/guide/technology-choices/data-store-overview) to choose a data store and [Choose an Azure storage service](/azure/architecture/guide/technology-choices/storage-options) or [Introduction to Azure Storage](/azure/storage/common/storage-introduction) to get an idea of your storage service options. |
| 30 | + |
| 31 | +## At a glance |
| 32 | + |
| 33 | +Start with the amount of data that you plan to store. Then, consider the number of CPU cores used by your workload and the size of your files. These factors help you to narrow down which core storage service best suits your workload and whether to use an accelerator to enhance performance. |
| 34 | + |
| 35 | + |
| 36 | +|Configuration |CPU cores |Sizes of files |Core Storage Recommendation |Accelerator Recommendation | |
| 37 | +|---------|---------|---------|---------|---------| |
| 38 | +|Under 50 TiB |N/A |N/A | [Azure Files](/azure/storage/files/) or [Azure NetApp Files](/azure/azure-netapp-files/). |No accelerator | |
| 39 | +|50 TiB - 5,000 TiB |Less than 500 |N/A|[Azure Files](/azure/storage/files/) or [Azure NetApp Files](/azure/azure-netapp-files/). |No accelerator | |
| 40 | +|50 TiB - 5,000 TiB |Over 500 |1 MiB and larger| [Azure Standard Blob](/azure/storage/blobs/). It’s supported by all accelerators, supports many protocols, and is cost-effective. | [Azure Managed Lustre](/azure/azure-managed-lustre/). | |
| 41 | +|50 TiB - 5,000 TiB |Over 500 |Smaller than 1 MiB| [Azure Premium Blob](/azure/storage/blobs/storage-blob-block-blob-premium) or [Azure Standard Blob](/azure/storage/blobs/). | [Azure Managed Lustre](/azure/azure-managed-lustre/). | |
| 42 | +|50 TiB - 5,000 TiB |Over 500 |Smaller than 512 KiB| [Azure NetApp Files](/azure/azure-netapp-files/). |No accelerator | |
| 43 | +|Over 5,000 TiB |N/A |N/A| |Talk to your field or account team. | |
| 44 | +<!---| |[Use ZRS disks when sharing disks between VMs](#use-zrs-disks-when-sharing-disks-between-vms). |Prevents a shared disk from becoming a single point of failure. | ---> |
| 45 | + |
| 46 | +## Solution details |
| 47 | + |
| 48 | +If you are still stuck between options after using the decision trees, here are more details for each solution: |
| 49 | + |
| 50 | +|Solution |Optimal Performance & Scale |Data Access (Access Protocol) |Billing Model |Core Storage or Accelerator | |
| 51 | +|---|---|---|---|---| |
| 52 | +| [**Azure Standard Blob**](/azure/storage/blobs/) | Good for large file, bandwidth-intensive workloads. | Good for traditional (file) and cloud-native (REST) HPC apps. <br><br> Easy to access, share, manage datasets.<br><br> Works with all accelerators. | Pay for what you use. | Core Storage. | |
| 53 | +| [**Azure Premium Blob**](/azure/storage/blobs/storage-blob-block-blob-premium) | IOPS and latency better than Standard Blob. <br><br> Good for datasets with many medium-sized files and mixed file sizes. | Good for traditional (file) and cloud-native (REST) HPC apps. <br><br> Easy to access, share, manage datasets. <br><br> Works with all accelerators.| Pay for what you use. | Core Storage. | |
| 54 | +| [**Azure Premium Files**](/azure/storage/files/) | Capacity and bandwidth suited for smaller scale (<1k cores). <br><br> IOPS and latency good for medium sized files (>512 KiB). | Easy integration with Linux (NFS) and Windows (SMB), but can't use both NFS+SMB to access the same data. | Pay for what you provision. | Core Storage. | |
| 55 | +| [**Azure NetApp Files**](/azure/azure-netapp-files/) | Capacity and bandwidth good for midrange jobs (1k-10k cores). <br><br> IOPS and latency good for small-file datasets (<512 KiB). <br><br> Excellent for small, many-file workloads. | Easy to integrate for Linux and Windows, supports multiprotocol for workflows using both Linux + Windows. | Pay what you provision. | Either. | |
| 56 | +| [**Azure Managed Lustre**](/azure/azure-managed-lustre/) | Bandwidth to support all job sizes (1k - >10k cores). <br><br> IOPS and latency good for thousands of medium-sized files (>512 KiB). <br><br> Best for bandwidth-intensive read and write workloads. | Lustre, CSI. | Pay for what you provision. | Durable enough to run as standalone (core) storage, most cost-effective as an accelerator. | |
| 57 | + |
| 58 | +## Core storage price comparison |
| 59 | + |
| 60 | +In order of most to least expensive, the core storage option prices are: |
| 61 | +- Azure NetApp Files |
| 62 | +- Azure Premium Blob and Azure Premium Files |
| 63 | +- Azure Standard Blob |
| 64 | + |
| 65 | +For more info on the pricing, see [Azure product pricing](https://azure.microsoft.com/pricing/#product-pricing). |
0 commit comments