AMD EPYC 7003 Series Performance In The Cloud With Microsoft Azure HBv3 HPC VMs
One of the exciting elements of last month's AMD EPYC 7003 "Milan" series launch was having same-day availability in public clouds. Microsoft as one of AMD's cloud partners worked closely to deliver launch-day availability in their public cloud using EPYC 7003 series processors with the new "HBv3" instances focused on high performance computing (HPC) virtual machines. Here are some benchmarks of the Azure HPv3 instances compared to prior generation Microsoft Azure HPC instances available on-demand in their cloud.
Azure HBv3 VMs are Microsoft's first instances using AMD EPYC Milan processors that offer ~19% higher per-core performance over the prior EPYC 7002 Rome processors. As we have been showing in benchmarks since launch day, the Milan improvements are legit and offering terrific generational improvements as well as being fiercely competitive against Intel's current Xeon processors... (Well, at least to the Intel CPUs we have tested with still no Ice Lake server parts yet nor have we seen Ice Lake available yet from public cloud providers.)
The HBv3 VMs allow up to 120 cores per VM and multiple virtual machines can communicate via Infiniband HDR 200 Gb RDMA for MPI workloads. The HBv3 instances at present are using EPYC 7V13 processors, which are 64-cores / 128-threads per socket and thus in a dual socket configuration can provide up to 128 physical Zen 3 cores. The EPYC 7V13 clocks up to 3.675GHz. The HB120rs_v3 instance tops out at 120 cores with the remaining cores being devoted to the hypervisor. That Standard_HB120rs_v3 instance in addition to having 120 cores is accompanied by 448GB of RAM (standard across all HBv3 instances at this time) and dual 960GB NVMe solid-state drives and as mentioned the Mellanox 200 Gb RDMA for MPI workloads. The rest of the HBv3 line-up sticks to the 448GB RAM / dual 960GB NVMe / HDR 200 Gb RDMA specifications while offering just lower core counts.
Microsoft provided us with access to their HBv3 120-core instance (Standard_HB120rs_v3) as well as prior generation Azure HPC instances for seeing how the generational performance and competition compares with Microsoft's public cloud. In the testing today we are just looking at the one VM performance for each instance type rather than looping in multiple VMs for the MPI workloads, etc. A follow-up article will likely look closer at that multi-VM MPI performance when time allows.
The Azure HPC VMs we were provided with gratis by Microsoft for benchmarking included:
Azure HBv3 - EPYC 7V13 - The new Milan-based virtual machine with 442GB of RAM and dual 960GB NVMe SSDs. The price per VM per hour on-demand is $3.60 USD. (Update: due to a typo carried from the Microsoft information, the prior revision of this article indicated $2.70 pricing.)
Azure HBv2 - EPYC 7V12 - The AMD EPYC 7002 Rome HPC vitual machine with 120 cores, 456GB of RAM, and a single 960GB NVMe SSD. The price per VM per hour on-demand is $2.70.
Azure HBv1 - EPYC 7551 - The first generation AMD EPYC Naples HPC virtual machine with 60 cores, 240GB of RAM, and 700GB SSD. The price per VM per hour on-demand is $2.28.
Azure HC - Intel Xeon Platinum 8168 - Dual Xeon Scalable Skylake processors providing 44 cores to the VM with 352GB of RAM and 700GB SSD. The price per VM per hour on-demand is $3.168.
Azure H - Intel Xeon E5-2667 v3 - This is Microsoft's original Azure HPC instance type with the E5-2667 v3 Haswell processors for reference. This Azure H instance offers 16 cores with 228GB of RAM and a 2TB SSD. The price per VM per hour on-demand is $1.599.
All of these Microsoft Azure instances were benchmarked running CentOS 8 with the Linux 4.18 kernel. The pricing listed is from Microsoft's Eastern United States region as of writing this article. Obviously if going for a reserved instance or other means there is the possibility of different prices.
Besides looking at the raw performance for each of these VM types, the performance-per-dollar was also generated too based on the Phoronix Test Suite monitored time per run and using the Microsoft Azure on-demand costs.