Edit

HBv5-series virtual machine performance

Applies to: ✔️ Linux VMs ✔️ Windows VMs ✔️ Flexible scale sets ✔️ Uniform scale sets

Performance expectations using common HPC microbenchmarks are as follows:

Workload HBv5
STREAM Triad ≈ 6.6 TB/s
High-Performance Linpack (HPL) Up to 16 TF (Rpeak, FP64) for 368-core VM size
RDMA latency & bandwidth < 2 microseconds (1 byte), 800 Gb/s (one-way)
FIO on local NVMe SSDs (RAID0) 50 GB/s reads, 30 GB/s writes

Process pinning

Process pinning works well on HBv5-series VMs because we expose the underlying silicon as-is to the guest VM. We strongly recommend process pinning for optimal performance and consistency.

STREAM Memory bandwidth test

The STREAM memory test can be run using the scripts in this GitHub repository.

git clone https://github.com/Azure/woc-benchmarking 
cd woc-benchmarking/apps/hpc/stream/ 
sh build_stream.sh 
sh stream_run_script.sh $PWD “hbrs_v5” 

Compute performance test

The HPL benchmark can be run using the script in this GitHub repository.

git clone https://github.com/Azure/woc-benchmarking 
cd woc-benchmarking/apps/hpc/hpl 
sh hpl_build_script.sh 
sh hpl_run_scr_HBv5.sh $PWD 

MPI latency

The MPI latency test from the OSU microbenchmark suite can be executed as shown. Sample scripts are on GitHub.

module load mpi/hpcx 
mpirun -np 2 --host $src,$dst --map-by node -x LD_LIBRARY_PATH $HPCX_OSU_DIR/osu_latency

Note

Define source(src) and destination(dst).

MPI bandwidth

The MPI bandwidth test from the OSU microbenchmark suite can be executed per below. Sample scripts are on GitHub.

module load mpi/hpcx 
mpirun -np 2 --host $src,$dst --map-by node -x LD_LIBRARY_PATH $HPCX_OSU_DIR/osu_bw

Next steps