Azure N-series VMs

**This Article is being improved all the time.

N-series is a set of the various microarchitecture of GPUs. They come in all sizes with fractional, single, and multiple (up to 8). You won’t find an N-Series in all the regions and thus it is best to check if that region supports it first. Let’s take a deeper dive into each SKU and the specs for them:

GPU Optimized Virtual MachinesMicroarchitectureReleasedTechnical Link
NC-SeriesNVIDIA Tesla K80 (Kepler)November 2014BoardSpec
NCv2-SeriesNVIDIA Tesla P100 (Pascal)June 2016BoardSpec
NCv3-SeriesNVIDIA Tesla V100 (Volta)June 2017BoardSpec
NCasT4_v3-SeriesNVIDIA Tesla T4 (Turing)September 2018BoardSpec
ND-SeriesNVIDIA Tesla P40 (Pascal)September 2016BoardSpec
NDv2-SeriesNVIDIA Tesla V100 NVLINK-connected GPUs (Volta)June 2017BoardSpec
NV-SeriesNVIDIA Tesla M60 (Maxwell)August 2015BoardSpec
NVv3-SeriesNVIDIA Tesla M60 (Maxwell)August 2015BoardSpec
NVv4-SeriesAMD Radeon Instinct MI25 (Vega 10)December 2016BoardSpec
GPU optimized virtual machine sizes

Currently, in Norway, the only region with N-Series is Norway West (NVv3-series). If you want access to it, you have to create a support ticket asking for region access to Norway West, the SKU you want to use, and how many you plan to use (quota). The NVv3-series has 4 assorted sizes

Supported Operating Systems

The N-series are supported on:

  • Windows Server 2019
  • Windows Server 2016
  • Windows 10 (up to build 2004)
  • Ubuntu 16.04 LTS
  • Ubuntu 18.04 LTS
  • Red Hat Enterprise Linux 7.6 (to 7.8, 8.0, 8.1)
  • CentOS 7.6 (to 7.7, 8.0, 8(1911))
  • SUSE Linux Enterprise Server 12 SP2

How are the GPU attached to the images

The gallery/image that is used is the default image that can be used on other SKU types. It doesn’t understand that you have a GPU. As far as I know, you need a driver for the N-Series to work. I don’t think that was the goal as for the Windows OS, they use something called Discrete Device Assignment –passes the entire PCIe device into the guest VM. According to the documentation, one wouldn’t need to install the driver for it to work. I am sure a lot of things are going on under the hood, but do take a look into Discrete Device Assignment docs.

Adding the GPU Driver

When it comes to adding the GPU driver you have multiple options:

Add it with the VM Extensions (I have never had luck with this working.)


Add it manually by downloading the driver (I have always had this working)


Use PowerShell (Since this uses the manual download, it works)

Verify GPU Driver is installed

Once you have picked how you will install the driver it is time to verify that it is actually connected to your VM. A simple method is to navigate to the Device Manager and see if you can see the new driver, but it might not always appear as it depends on the N-Series VM SKU.

NC12
NV12
NV12v3


When you look into the Device Manager you might see the warning triangle next to the new display adapter. What you can do is go to dxdaig and click Display. On the lower left, you should see if it has any errors. Most commonly it is the “graphics device driver error code 14”. To solve this, you simply need to restart the machine.

Also, the driver installation includes nvidia-smi which allows us to show (NVIDIA System Management Interface program) You can run nvidia-smicommand from C:\Program Files\NVIDIA Corporation\NVSMI.

Since you are here, I do suggest running the followingnvidia-smi -fdm 0 as it will make sure to assign the driver.


Benchmarking

I use the Heaven Benchmark simply because it is free.

NV12
NC12
NV12v3


If you decide to run the same benchmark and get the following. It simply means you didn’t attach the GPU correctly.


Optimization

Leverage RDP with a full effect you need to open UDP as well as TCP when setting up the virtual machine (RDP using TCP is added by default) on the security group.

image

Once this is completed, you will then need to configure a Group Policy:
Navigate to: Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment > RemoteFX for Windows Server 2008 R2
“Configure RemoteFX”
“Optimize Visual experience when using RemoteFX”
“Optimize Visualexperience for Remote Desktop Service Sessions”

Group Policies status is set to Enabled.


Navigate to: Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment
“Use Hardware graphic adapters for all Remote Desktop Services sessions”
“Configure compression for RemoteFX data”
“Prioritize H.264/AVC 444 graphic mode for Remote Desktop Connections”
“Configure H.264/AVC hardware encoding for Remote Desktop Connections”

Group Policies status is set to Enabled.

What does optimizing actually accomplish? In my short test, it does improve a little, but it comes at a cost. It sometimes has encoding issues of blue/purple flashing of the RDP session.

Cost

When it comes to the price of the N-Series, you must think about the bandwidth that could be associated with it. I often find this a moot point because outbound data transfer has the following pricing:

Outbound Data TransfersZone 1*
First 5 GB /Month 1Free
5 GB – 10 TB 2 /Month$0.087 per GB
Next 40 TB
(10 – 50 TB) /Month
$0.083 per GB
Next 100 TB
(50 – 150 TB) /Month
$0.07 per GB
Next 350 TB
(150 – 500 TB) /Month
$0.05 per GB
Over 500 TB /MonthContact us
* Outbound Data Transfers to Azure CDN from Microsoft are free of charge. For Zone details, please refer to the FAQ below.
1 For monetary credit, 6-, and 12-month offers, outbound data transfer will be charged at the 5 GB – 10 TB tier.
2 1 TB = 1,024 GB
Check your own Region https://azure.microsoft.com/en-us/pricing/details/bandwidth/

As you can see in the table above, as the outbound data transfer increases, you get a discount. Depending on how the subscription is created, this could provide benefits over time. Saying that workloads that are running RDP and using AutoCAD like software could easily push 350 GB per month. $0.087 * 350 = $30.45 for a single user running a VM. If we assume that all 100 VMs use 350 GB, then that is $0.083 * 35000 GB = $2,905. That is a discount of about $1,000 as 34.17 TB brings you to the next pricing tier. I can’t stress enough, that the data above is not accurate for all workloads, but it is something to think about.

When doing the benchmarking, I had about 2 GB for 1 hour.

NC12 Benchmark – Network

Leave a Reply

Your email address will not be published. Required fields are marked *