Using Discrete Device Assignment in Windows Server 2016

Using Discrete Device Assignment in Windows Server 2016

Q. What is discrete device assignment in 2016 Hyper-V?

A. Windows Server 2012 introduced support for SR-IOV which enables virtual functions (can be thought of as virtual network adapters on the physical network adapter card) from compatible network adapters that connect to a system via PCI Express to be mapped directly to Hyper-V VMs, completely bypassing the Hyper-V virtual switch thus providing very low latency connectivity. Windows Server 2016 introduces Discrete Device Assignment (DDA) that enables PCI Express connected devices to be connected directly through to virtual machines. This can be useful in certain scenarios such as types of storage (especially NVMe devices) and even graphical adapters that may not typically work with applications via RemoteFX because of unrecognized drivers. When using DDA that hardware is passed through directly to the VM and therefore the hardware's IHV drivers are used instead of generic virtual device drivers. To use DDA the system must support Access Control Services that enables the secure pass-through of a PCI Express device. Additionally the host must support SLAT (a base requirement for Hyper-V 2016) and interrupt remapping (Intel VT-d2 or AMD I/O MMU).

Note that when using DDA the devices cannot also be used in the host or shared between VMs. The devices are directly passed through to a VM. This also means live migration of the VM would not be possible since the VM is directly bound to hardware in a specific host. This means this is different that SR-IOV which does not block live migration of the VM since behind the scenes a NIC team is used to switch between the SR-IOV NIC and a vmNIC during migration.

The host must be running Windows Server 2016 however the guest OS can be Windows Server 2016, Windows Server 2012 R2, Windows 10 (1511 and above) and certain Linux distributions.

This is the technology that will be leveraged to enable the N series VMs in Azure which have GPU capabilities.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.