I wanted to see how the new VM sizes compare to the older sizes and see if there is any price to performance benefits of the new machines. I've done some testing in these new VMs with Cinebench to see how the new VMs compare to the old VMs on the popular synthetic CPU benchmark.
Observations
While doing my testing, I noticed some interesting features of the new VMs.Here are the Core and Thread counts for the comparative DS4 v2 and the D8s v3. Both VMs are shown as 8 "core" VMs in the marketplace. The new v3 VM has 8 Threads and only 4 cores, whereas the older v2 VM has 8 real cores.
D8s v3 - 8 virtual CPU VM | DS4 v2 - 8 virtual CPU VM |
---|---|
It's apparent from the above screen grabs from Cinebench that the hypervisor is presenting Hyperthreading up to the guest OS.
While testing, I made note of the core and thread count of each VM and also the processor type on each VM. The new v3 VMs present their processors up to the operating system as hyperthreaded logical cores, while the v2 VMs present "full cores" to the OS.
Cores vs Threads
The new v3 VM types are all hyperthreading enabled VMs which means that for each pair of "virtual CPUs" there is a single underlying core on the physical processor in the server. This means that the machines will perform better per core, however they will not perform 2x better per core.
Below is a table of the VM types that I tested with their core and thread counts, and also the CPU type that was detected in each machine.
Server Type | Cores | Threads | CPU Type |
---|---|---|---|
DS2 v2 | 2 | 2 | Intel Xeon E5-2673 v4 (1 socket, 2 virtual processors) |
D2s v3 | 1 | 2 | Intel Xeon E5-2673 v4 (1 socket, 2 virtual processors) |
DS3 v2 | 4 | 4 | Intel Xeon E5-2673 v4 (1 socket, 4 virtual processors) |
D4s v3 | 2 | 4 | Intel Xeon E5-2673 v4 (1 socket, 4 virtual processors) |
DS4 v2 | 8 | 8 | Intel Xeon E5-2673 v4 (1 socket, 8 virtual processors) |
D8s v2 | 4 | 8 | Intel Xeon E5-2673 v4 (1 socket, 8 virtual processors) |
Testing Setup
I created a new VM on one of the sizes, waited for initial setup to complete and for the machine to become idle, then ran the multi-core and single-core benchmarks in Cinebench. Once I had gathered the results and some screenshots, I resized the same VM into a different model and ran the tests again.
I only had time to run a one single and one multi threaded test per VM type, but I hope to address this soon with full, multi run benchmarks.
I only had time to run a one single and one multi threaded test per VM type, but I hope to address this soon with full, multi run benchmarks.
Results
The results were not surprising based on the thread and core counts of the VMs. When testing normal desktop CPUs, I have seen similar results from Hyperthreaded and non Hyperthreaded CPUs.
Below is the multi-core Cinebench score for each VM type that I tested. You can see that the equivalent VM type on the v3 VMs scores substantially lower then the v2 VM with the same number of virtual CPUs (threads)
The multi-core Cinebench score for each VM type tested, the top 2 machines are the 2-vCPU VMs, the second set are the 4 vCPU VMs and the last 2 machines are the 8-vCPU VMs.
You can see from the above chart that the equivalent v3 virtual machines score considerably lower that the v2 machines.
The next chart is something I put together to show the relative value of each machine type based on Cinebench score. It is calculated as (Multi-core Cinebench Score) ÷ (£ GBP per day cost to run the VM)
Cinebench scores weighted against cost to run the VM.
You can see that the v2 VMs score considerably higher than the v3 VMs in cost per cb score.
Here is my full spreadsheet of results.
The next chart is something I put together to show the relative value of each machine type based on Cinebench score. It is calculated as (Multi-core Cinebench Score) ÷ (£ GBP per day cost to run the VM)
Cinebench scores weighted against cost to run the VM.
You can see that the v2 VMs score considerably higher than the v3 VMs in cost per cb score.
Here is my full spreadsheet of results.
I also noticed in the Azure price list, they labeled the D v2 series with the # of cores and thee D v3 with the # of vCPUs. The vCPU = .5 cores. This, by the way, is the same mapping that AWS does. So I suspect this also enables them to do a more apples to apples comparison with AWS, vs having to explain that Azure's "2 cores" really = AWS "4 vCPU"
ReplyDeletehttps://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/
Ok, staying with v2 D-Series :) Thanks for explanation
ReplyDelete