what does discrete device assignment allows you to do

The “Hey, Scripting Guys!” blog has been retired. There are many useful posts in this blog, so we keep the blog here for historical reference. However, some information might be very outdated and many of the links might not work anymore.

New PowerShell content is being posted to the PowerShell Community blog where members of the community can create posts by submitting content in the GitHub repository .

Passing through devices to Hyper-V VMs by using discrete device assignment

Doctor Scripto

July 14th, 2016 2 0

Summary : Learn how to attach a device from your Hyper-V host to your VM by using a new feature of Windows Server 2016.

Today we have a guest blogger, Rudolf Vesely, who has blogged here on previous occasions. Here is a link to his previous posts if you would like to read them.

Here is what Rudolf says about himself.

I am an Azure Solutions Architect at Rackspace in London. I believe that public cloud is the future for most organizations and this is why I specialize in public clouds (Amazon Web Services and Azure) and hybrid cloud strategy. My unique role at Rackspace is to guide our customers in their cloud strategy and ensure that their strategy is aligned with their business.

I started my career as a developer and have continued programming and scripting as a hobby. This is the reason why I am a big proponent of DevOps. I believe PowerShell is a fantastic tool that facilitates the process of joining the Dev and Ops worlds.

Contact information:

  • Twitter: @rudolfvesely
  • Blog: Technology Stronghold

Introduction

Many new features in Windows Server 2016 (in any Technical Preview) will draw your attention, and it’s very easy to miss some of them. This is true especially when people don’t speak or blog about them too much like they do for Windows PowerShell 5.0, Storage Spaces Direct, or Storage Replica, as examples.

One feature that drew my attention is a new feature in Hyper-V called discrete device assignment. It can be very simply described as a device pass-through feature, the likes of which has existed on other hypervisors for many years.

Microsoft started with device pass-through on Hyper-V with disk pass-through (attaching a physical disk without using VHD / VHDX), but true pass-through came with single root I/O virtualization (SR-IOV) on Windows Server 2012. I recommend that you read John Howard’s excellent blog post series that describes SR-IOV and hardware and system requirements .

On Windows Server 2016, we finally get the ability to directly work with devices on the host and attach them to a child partition (guest VM) without being limited to only networking and storage. This feature was probably built for passing-through graphics processing units (GPUs) in Azure for N-series VMs (GPU-enabled VMs), but we can use it for anything else. Please keep in mind that this is at your own risk. Microsoft will not support your setups, and you may also have very hard security issues. Any device pass-through on any hypervisor opens the possibility to take down the host (for example, by triggering an error on the PCI Express bus) or worse, taking control of your host.

The last thing you need to consider is whether you have hardware to test on it. You need a modern client computer or server that has Intel Virtualization Technology for Directed I/O (VT-d) or AMD Virtualization (AMD-V). I use an industrial mini PC, which will be my new router and wireless access point (all virtualized), but you should be fine with a modern laptop. So, if you’re still reading, activate Intel VT-d in firmware of your testing computer, install the latest Technical Preview of Windows Server 2016, and start with PnpDevice.

PnpDevice module

On Windows Server 2016, thanks to the PnpDevice module, we finally have the possibility to work with hardware without directly touching Windows Management Instrumentation (WMI). The PnpDevice module will be very important for Nano Server and non-GUI servers, so I recommend that you try it.

Get-Command -Module PnpDevice

CommandType Name                  Version Source

----------- ----                  ------- ------

Function    Disable-PnpDevice     1.0.0.0 PnpDevice Function    Enable-PnpDevice      1.0.0.0 PnpDevice Function    Get-PnpDevice         1.0.0.0 PnpDevice Function    Get-PnpDeviceProperty 1.0.0.0 PnpDevice

Let’s take a look what is attached to your system by using:

Get-PnpDevice –PresentOnly | Sort-Object –Property Class

Screenshot of devices attached to the system.

A lot of devices were returned. Now it’s a good idea to choose what should be passed. I do not have multiple GPUs to pass it, but my goal is to virtualize my router and access point, and I have two wireless adapters in mini PCI-e slots. I found that the easiest way to find them is by using vendor ID:

(Get-PnpDevice -PresentOnly).Where{ $_.InstanceId -like '*VEN_168C*' } # 168C == Qualcomm Atheros

Screenshot of result by using the vendor ID.

If you installed drivers on your host for devices that you want to pass through (I did not), you can filter according to Class Net like this (example from my Surface Book):

Screenshot of filtered drivers.

I will assume that you have installed the VM and chosen a device to attach to it. I installed Windows 10 version 1511 because this is the easiest method to test that dual dynamic acceleration (DDA) works. Later I will try replacing Windows with virtualized pfSense (FreeBSD appliance) and DD-WRT (Linux appliance). Especially in FreeBSD, I might have problems with drivers, and I am sure that I will have no issues with drivers in Windows 10.

Let’s get VM object and device object of my Wi-Fi adapter:

$vmName = 'VMDDA1' $instanceId = '*VEN_168C&DEV_002B*'

$vm = Get-VM -Name $vmName $dev = (Get-PnpDevice -PresentOnly).Where{ $_.InstanceId -like $instanceId }

Our first action should be to disable the device. You can check Device Manager by typing devmgmt.msc in the PowerShell console to see that the correct device was disabled.

# Make sure that your console or integrated scripting environment (ISE) runs in elevated mode Disable-PnpDevice -InstanceId $dev.InstanceId -Confirm:$false

Screenshot that shows disabled device in Device Manager.

Now we need to dismount the device from the host by using the Dismount-VmHostAssignableDevice cmdlet. To specify a location of the device, we need to get a specific property that is not presented in the device object by using Get-PnpDeviceProperty .

locationPath = (Get-PnpDeviceProperty -KeyName DEVPKEY_Device_LocationPaths -InstanceId $dev.InstanceId).Data[0] Dismount-VmHostAssignableDevice -LocationPath $locationPath -Force –Verbose

Now if you refresh the device object, you can see that something changed: Device is described as “Dismounted”:

(Get-PnpDevice -PresentOnly).Where{ $_.InstanceId -like $instanceId }

You can check available assignable devices by using Get-VMHostAssignableDevice :

Screenshot that shows available assignable devices.

The last step is to attach an assignable device to the VM by using Add-VMAssignableDevice like this:

Add-VMAssignableDevice -VM $vm -LocationPath $locationPath –Verbose

You may get error like this one:

Screenshot of errors.

This is because you haven’t modified the VM configuration after you created it. There are two main requirements for passing through. The first is that the VM has to have Automatic Stop Action set to Turn off the virtual machine . This will probably be the only VM on your host that has this configuration because we usually want Shut down or Save . The second requirement is memory configuration. Dynamic memory is allowed, but minimum and startup memory have to be equal. Let’s fix it, and finally attach our device.

Set-VM -VM $vm -DynamicMemory -MemoryMinimumBytes 1024MB -MemoryMaximumBytes 4096MB -MemoryStartupBytes 1024MB -AutomaticStopAction TurnOff Add-VMAssignableDevice -VM $vm -LocationPath $locationPath –Verbose

Screenshot that shows AutomaticStopAction is set to TurnOff and memory is configured.

If you spend some time playing with DDA, you can finish, for example, with multiple Wi-Fi adapters and one physical like I did (all functional):

Screenshot that shows multiple Wi-Fi adapters and one physical adapter.

Restore configuration

That was fun! Now it’s time to return devices to the host.

# Remove all devices from a single VM Remove-VMAssignableDevice -VMName VMDDA0 -Verbose

# Return all to host Get-VMHostAssignableDevice | Mount-VmHostAssignableDevice -Verbose

# Enable it in devmgmt.msc (Get-PnpDevice -PresentOnly).Where{ $_.InstanceId -match 'VEN_168C&DEV_002B' } | Enable-PnpDevice -Confirm:$false -Verbose

$vmName = 'VMDDA0' $instanceId = '*VEN_168C&DEV_002B*' $ErrorActionPreference = 'Stop' $vm = Get-VM -Name $vmName $dev = (Get-PnpDevice -PresentOnly).Where{ $_.InstanceId -like $instanceId } if (@($dev).Count -eq 1) {

Disable-PnpDevice -InstanceId $dev.InstanceId -Confirm:$false $locationPath = (Get-PnpDeviceProperty -KeyName DEVPKEY_Device_LocationPaths -InstanceId $dev.InstanceId).Data[0] Dismount-VmHostAssignableDevice -LocationPath $locationPath -Force -Verbose Set-VM -VM $vm -DynamicMemory -MemoryMinimumBytes 1024MB -MemoryMaximumBytes 4096MB -MemoryStartupBytes 1024MB -AutomaticStopAction TurnOff

# If you want to play with GPUs: # Set-VM -VM $vm -StaticMemory -MemoryStartupBytes 4096MB -AutomaticStopAction TurnOff # Set-VM -VM $vm -GuestControlledCacheTypes $true -LowMemoryMappedIoSpace 2048MB -HighMemoryMappedIoSpace 4096MB -Verbose

Add-VMAssignableDevice -VM $vm -LocationPath $locationPath -Verbose

$dev | Sort-Object -Property Class | Format-Table -AutoSize Write-Error -Message ('Number of devices: {0}' -f @($dev).Count)

Thank you for reading, and see you in the next article.

Thank you, Rudolf, for sharing your time and knowledge.

I invite you to follow me on Twitter and Facebook . If you have any questions, send email to me at [email protected] , or post your questions on the Official Scripting Guys Forum . Also check out my Microsoft Operations Management Suite Blog . See you tomorrow. Until then, peace.

Ed Wilson , Microsoft Scripting Guy

Doctor Scripto Scripter, PowerShell, vbScript, BAT, CMD

Discussion is closed. Login to edit/delete existing comments.

In the mount sub-section, $locationPath variable is missing $ sign.

I had some problems and it took me hours to find a solution. So I want to share it. Dismounting the device from the host worked once, but I forgot to remove my VM from a cluster… So I had to undo my actions and start again and ended in “ The required virtualization driver (pcip.sys) failed to load. ” Anyway here ist the solution: You have to delete the device from the registry yourself. 1. “ psexec -s -i regedit.exe ” 2. You find your device as “Dismounted” under “ HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCIP ” e.g. “PCI Express Graphics Processing Unit – Dismounted” 3. Delete the whole key with subkeys under PCIP. 4. Reboot and you can unmount it again from the host 🙂

light-theme-icon

  • PC & TABLETS
  • SERVERS & STORAGE
  • SMART DEVICES
  • SERVICES & SOLUTIONS

Lenovo Press

  • Portfolio Guide
  • 3D Tour Catalog
  • HX Series for Nutanix
  • MX Series for Microsoft
  • SX for Microsoft
  • VX Series for VMware
  • WenTian (联想问天)
  • Mission Critical
  • Hyperconverged
  • Edge Servers
  • Multi-Node Servers
  • Supercomputing
  • Expansion Units
  • Network Modules
  • Storage Modules
  • Network Adapters
  • Storage Adapters
  • Coprocessors
  • GPU adapters
  • RAID Adapters
  • Ethernet Adapters
  • InfiniBand / OPA Adapters
  • Host Bus Adapters
  • PCIe Flash Adapters
  • External Storage
  • Backup Units
  • Top-of-Rack Switches
  • Power Distribution Units
  • Rack Cabinets
  • KVM Switches & Consoles
  • SAN Storage
  • Software-Defined Storage
  • Direct-Attached Storage
  • Tape Drives
  • Tape Autoloaders and Libraries
  • 1 Gb Ethernet
  • 10 Gb Ethernet
  • 25 Gb Ethernet
  • 40 Gb Ethernet
  • 100 Gb Ethernet
  • Campus Networking

Solutions & Software

  • Artificial Intelligence
  • Hortonworks
  • Microsoft Data Warehouse Fast Track
  • Microsoft Applications
  • SAP Business Suite
  • Citrix Virtual Apps
  • VMware Horizon
  • Cloud Storage
  • MSP Solutions
  • Microsoft Hyper-V
  • OpenStack Cloud
  • VMware vCloud
  • VMware vSphere
  • Microsoft SQL Server
  • SAP NetWeaver BWA
  • Edge and IoT
  • High Performance Computing
  • Security Key Lifecycle Manager
  • Microsoft Windows
  • Red Hat Enterprise Linux
  • SUSE Linux Enterprise Server
  • Lenovo XClarity
  • BladeCenter Open Fabric Manager
  • IBM Systems Director
  • Flex System Manager
  • System Utilities
  • Network Management
  • About Lenovo Press
  • Newsletter Signup

what does discrete device assignment allows you to do

Introduction to Windows Server 2016 Hyper-V Discrete Device Assignment

Planning / implementation.

what does discrete device assignment allows you to do

  • David Tanaka

Form Number

This paper describes the steps on how to enable Discrete Device Assignment (also known as PCI Passthrough) available as part of the Hyper-V role in Microsoft Windows Server 2016.

Discrete Device Assignment is a performance enhancement that allows a specific physical PCI device to be directly controlled by a guest VM running on the Hyper-V instance.  Specifically, this new feature aims to deliver a certain type of PCI device class, such as Graphics Processing Units (GPU) or Non-Volatile Memory express (NVMe) devices, to a Windows Server 2016 virtual machine, where the VM will be given full and direct access to the physical PCIe device.

In this paper we describe how to enable and use this feature on Lenovo servers using Windows Server 2016 Technical Preview 4 (TP4). We provide the step-by-step instructions on how to make an NVIDIA GPU available to a Hyper-V virtual machine.

This paper is aimed at IT specialists and IT managers wanting to understand more about the new features of Windows Server 2016 and is part of a series of technical papers on the new operating system.

Table of Contents

Introduction Installing the GPU and creating a VM Enabling the device inside the VM Restoring the device to the host system Summary

Change History

Changes in the April 18 update:

  • Corrections to step 3 and step 4 in "Restoring the device to the host system" on page 12.

Related product families

Product families related to this document are the following:

  • Microsoft Alliance

View all documents published by this author

Configure and Buy

Full change history, course detail.

  • About Lenovo
  • Our Company
  • Smarter Technology For All
  • Investors Relations
  • Product Recycling
  • Product Security
  • Product Recalls
  • Executive Briefing Center
  • Lenovo Cares
  • Formula 1 Partnership
  • Products & Services
  • Laptops & Ultrabooks
  • Desktop Computers
  • Workstations
  • Gaming & VR
  • Servers, Storage, & Networking
  • Accessories & Software
  • Services & Warranty
  • Product FAQs
  • Lenovo Coupons
  • Cloud Security Software
  • Windows 11 Upgrade
  • Shop By Industry
  • Small Business Solutions
  • Large Enterprise Solutions
  • Government Solutions
  • Healthcare Solutions
  • K-12 Solutions
  • Higher Education Solutions
  • Student & Teacher Discounts
  • Healthcare Discounts
  • First Responder Discount
  • Senior Discounts
  • Gaming Community
  • LenovoEDU Community
  • LenovoPRO Community
  • LenovoPRO Small Business
  • MyLenovo Rewards
  • Lenovo Financing
  • Trade-in Program
  • Customer Discounts
  • Affiliate Program
  • Legion Influencer Program
  • Student Influencer Program
  • Affinity Program
  • Employee Purchase Program
  • Laptop Buying Guide
  • Where to Buy
  • Customer Support
  • Policy FAQs
  • Return Policy
  • Shipping Information
  • Order Lookup
  • Register a Product
  • Replacement Parts
  • Technical Support
  • Provide Feedback

what does discrete device assignment allows you to do

what does discrete device assignment allows you to do

argon logo

Discrete Device Assignment — Description and background

First published on TECHNET on Nov 19, 2015 With Windows Server 2016, we're introducing a new feature, called Discrete Device Assignment, in Hyper-V .  Users can now take some of the PCI Express devices in their systems and pass them through directly to a guest VM .  This is actually much of the same technology that we've used for SR-IOV networking in the past.  And because of that, instead of giving you a lot of background on how this all works, I'll just point to an excellent series of posts that John Howard did a few years ago about SR-IOV when used for networking.

Everything you wanted to know about SR-IOV in Hyper-V part 1

Everything you wanted to know about SR-IOV in Hyper-V part 2

Everything you wanted to know about SR-IOV in Hyper-V part 3

Everything you wanted to know about SR-IOV in Hyper-V part 4

Now I've only linked the first four posts that John Howard did back in 2012 because those were the ones that discussed the internals of PCI Express and distributing actual devices among multiple operating systems.  The rest of his series is mostly about networking, and while I do recommend it, that's not what we're talking about here.

At this point, I have to say that full device pass-through is actually a lot like disk pass-through — it's a half a solution to a lot of different problems.  We actually built full PCI Express device pass-through in 2009 and 2010 in order to test our hypervisor's handling of an I/O MMU and interrupt delivery before we asked the networking community to write new device drivers targeted at Hyper-V , enabling SR-IOV.

We decided at the time not to put PCIe device pass-through into any shipping product because we would have had to make a lot of compromises in the virtual machines that used them — disabling Live Migration, VM backup, saving and restoring of VMs, checkpoints, etc.  Some of those compromises aren't necessary any more.  Production checkpoints now work entirely without needing to save the VM's RAM or virtual processor state, for instance.

But even more than these issues, we decided to forgo PCIe device pass-through because it was difficult to prove that the system would be secure and stable once a guest VM had control of the device.  Security conferences are full of papers describing attacks on hypervisors, and allowing an attacker's code control of a PCI Express “endpoint” just makes that a lot easier, mostly in the area of Denial of Service attacks.  If you can trigger an error on the PCI Express bus, most physical machines will either crash or just go through a hard reset.

Things have changed some since 2012, though, and we're getting many requests to allow full-device pass-through.  First, it's far more common now for there to be VMs running on a system which constitute part of the hoster or IT admin's infrastructure.  These “utility VMs” run anything from network firewalls to storage appliances to connection brokers.  And since they're part of the hosting fabric, they are often more trusted than VMs running outward-facing workloads supplied by users or tenants.

On top of that, Non-Volatile Memory Express (NVMe) is taking off.  SSDs attached via NVMe can be many times faster than SSDs attached through SATA or SAS.  And until there's a full specification on how to do SR-IOV with NVMe , the only choice if you want full performance in a storage appliance VM is to pass the entire device through.

Windows Server 2016 will allow NVMe devices to be assigned to guest VMs.  We still recommend that these VMs only be those that are under control of the same administration team that manages the host and the hypervisor.

GPUs (graphics processors) are, similarly, becoming a must-have in virtual machines .  And while what most people really want is to slice up their GPU into lots of slivers and let VMs share them, you can use Discrete Device Assignment to pass them through to a VM.  GPUs are complicated enough, though, that a full support statement must come from the GPU vendor.  More on GPUs in a future blog post.

Other types of devices may work when passed through to a guest VM .  We've tried a few USB 3 controllers, RAID/SAS controllers, and sundry other things.  Many will work, but none will be candidates for official support from Microsoft, at least not at first, and you won't be able to put them into use without overriding warning messages. Consider these devices to be in the “experimental” category.  More on which devices can work in a future blog post.

Switching it all On

Managing the underlying hardware of your machine is complicated, and can quickly get you in trouble. Furthermore, we're really trying to address the need to pass NVMe devices though to storage appliances, which are likely to be configured by people who are IT pros and want to use scripts. So all of this is only available through PowerShell, with nothing in the Hyper-V Manager. What follows is a PowerShell script that finds all the NVMe controllers in the system, unloads the default drivers from them, dismounts them from the management OS and makes them available in a pool for guest VMs.

Depending on whether you've already put your NVMe controllers into use, you might actually have to reboot between disabling them and dismounting them. But after you have both disabled (removed the drivers) and dismounted (taken them away from the management OS) you should be able to find them all in a pool. You can, of course, reverse this process with the Mount-VMHostAssignableDevice and Enable-PnPDevice cmdlets.

Here's the output of running the script above on my test machine where I have, alas, only one NVMe controller, followed by asking for the list of devices in the pool:

Now that we have the NVMe controllers in the pool of dismounted PCI Express devices, we can add them to a VM. There are basically three options here, using the InstanceID above, using the LocationPath and just saying “give me any device from the pool.” You can add more than one to a VM. And you can add or remove them at any time, even when the VM is running. I want to add this NVMe controller to a VM called “StorageServer”:

There are similar Remove-VMAssignableDevice and Get-VMAssignableDevice cmdlets.

If you don't like scripts, the InstanceID can be found as “Device Instance Path” under the Details tab in Device Manager. The Location Path is also under Details. You can disable the device there and then use PowerShell to dismount it.

Finally, it wouldn't be a blog post without a screen shot. Here's Device Manager from that VM, rearranged with “View by Connection” simply because it proves that I'm talking about a VM .

what does discrete device assignment allows you to do

In a future post, I'll talk about how to figure out whether your machine and your devices support all this.

Read the next post in this series: Discrete Device Assignment — Machines and devices

— Jake Oshins

This article was originally published by Microsoft's Virtualization Blog . You can find the original article here .

Related Posts

  • Monitoring Hyper-V Replica using System Center Operations Manager
  • Windows Server 2016/2019 Cluster Resource / Resource Types
  • Troubleshooting Hangs Using Live Dump
  • Still Using Azure Cloud Services (Classic) ? #Azure #ARM #ASM #Cloud #EOL #ESLZ #CAF #WAF
  • New Features of Windows Server 2022 Failover Clustering

PowerShell GUI for Discrete Device Assignment (DDA)

I am new to PowerShell. However, I have planned a project, which is not quite so easy for a beginner. It is about creating a PowerShell GUI for Discrete Device Assignment (DDA). I’ve been working on it a little longer and it’s going almost as intended. However, the last two commands, which are the main feature of the DDA, do not work. The two commands that don’t work require a single string in $Locationpath, but it is a string array for me and therefore the commands don’t work correctly. My problem is that I don’t know how to change the string array into the right string, so the code does what it’s supposed to do. I MUST finish the script today. It’d be great if any of you guys can help me who know more than I do. That would be great. Here are the lines of the code that contains the error:

After I run the script, select a VM and a PCI device, press the Start button the following error messages are displayed:

EXECUTIVE: Dismount-VmHostAssignableDevice cancels the provision of an assignable device so that it can be assigned to a virtual machine. Dismount-VMHostAssignableDevice: Error during operation. The current configuration does not allow the operating system to control the PCI Express bus. Check the BIOS or UEFI settings. In C:\Users\Administrator\Desktop\Discrete Device Assignment.ps1:87 char:17

  • … Dismount-VMHostAssignableDevice -LocationPath $lp -Force …
  • CategoryInfo : InvalidArgument: (:)[Dismount VMHostAssignableDevice], VirtualizationException FullyQualifiedErrorId: InvalidParameter,Microsoft.HyperV.PowerShell.Commands.DismountVMHostAssignableDevice

EXECUTIVE: Add-VMAssignableDevice adds an assignable device to the “Test DC1” virtual machine. Add-VMAssignableDevice: The specified device was not found. In C:\Users\Administrator\Desktop\Discrete Device Assignment.ps1:88 char:17

  • … Add-VMAssignableDevice -VMName $vm -LocationPath $lp -Ver…
  • CategoryInfo : InvalidArgument: (:)[Add-VMAssignableDevice], VirtualizationException FullyQualifiedErrorId: InvalidParameter,Microsoft.HyperV.PowerShell.Commands.AddVmAssignableDevice

Translated with DeepL Translate: The world's most accurate translator

Let me guess. Do you need to convert the string array to a single string? If so, you can try this:

:frowning:

Unfortunately, your tip did not yield the desired result either, because now the “specified position path” can no longer be found.

:wink:

Related Topics

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Use GPUs with clustered VMs

  • 4 contributors
Applies to: Azure Stack HCI, versions 23H2 and 22H2

The recommended way to create and manage VMs on Azure Stack HCI 23H2 is using the Azure Arc control plane . Use the mechanism described below to manage your VMs only if you need functionality that is not available in Azure Arc VMs.

This topic provides guidance on how to use graphics processing units (GPUs) with clustered virtual machines (VMs) running the Azure Stack HCI operating system to provide GPU acceleration to workloads in the clustered VMs.

Starting in Azure Stack HCI, version 21H2, you can include GPUs in your Azure Stack HCI cluster to provide GPU acceleration to workloads running in clustered VMs. This topic covers the basic prerequisites of this capability and how to deploy it.

GPU acceleration is provided via Discrete Device Assignment (DDA), also known as GPU pass-through, which allows you to dedicate one or more physical GPUs to a VM. Clustered VMs can take advantage of GPU acceleration, and clustering capabilities such as high availability via failover. Live migrating VMs isn't currently supported, but VMs can be automatically restarted and placed where GPU resources are available in the event of a failure.

Prerequisites

To get started, you’ll need an Azure Stack HCI cluster running Azure Stack HCI, version 21H2. You’ll also need GPUs that are physically installed in every server of the cluster.

The Azure Stack HCI Catalog does not yet indicate GPU compatibility or certification information. Follow your manufacturer's instructions for GPU installation.

Usage instructions

This section describes the steps necessary to use either Windows Admin Center or Windows PowerShell to prepare your cluster servers for GPU usage. You can assign one or more VMs to a clustered GPU resource pool, and remove a VM from a clustered GPU resource pool. You can also use PowerShell to test automatic restart.

Use Windows Admin Center

Use Windows Admin Center to prepare the cluster, assign a VM to a GPU resource pool, and unassign a VM to a GPU resource pool.

To prepare the cluster and assign a VM to a GPU resource pool:

On the Tools menu, under Extensions , select GPUs to open the tool.

Screenshot of the GPU tool in Windows Admin Center

On tool's main page, select the GPU pools tab, and then select Create GPU pool .

Screenshot of the Create GPU pools page in Windows Admin Center

On the New GPU pool page, specify the following and then select Save :

  • Server name
  • GPU pool name
  • GPUs that you want to add to the pool

Screenshot of the New GPU pool page in Windows Admin Center to specify servers, pool name, and GPUs

After the process completes, you'll receive a success prompt that shows the name of the new GPU pool and the host server.

On the Assign VM to GPU pool page, specify the following and then select Assign :

  • Virtual machine that you want to assign the GPU to from the GPU pool.

You can also define advanced setting values for memory-mapped IO (MMIO) spaces to determine resource requirements for a single GPU.

Screenshot of the Assign VM to GPU pool page in Windows Admin Center where you assign a VM to a GPU from the GPU pool

After the process completes, you'll receive a confirmation prompt that shows you successfully assigned the GPU from the GPU resource pool to the VM, which displays under Assigned VMs .

Screenshot of success prompt showing GPU assigned to a VM and the VM displaying under Assigned VMs

To unassign a VM from a GPU resource pool:

On the GPU pools tab, select the GPU that you want to unassign, and then select Unassign VM .

On the Unassign VM from GPU pool page, in the Virtual machines list box, specify the name of the VM, and then select Unassign .

Screenshot of Unassign VM from GPU pool page showing VM to be unassigned

After the process completes, you'll receive a success prompt that the VM has been unassigned from the GPU pool, and under Assignment status the GPU shows Available (Not assigned) .

Use PowerShell

Use PowerShell to prepare the cluster, assign a VM to a GPU resource pool, and to test automatic restart.

Prepare the cluster

Prepare the GPUs in each server by installing security mitigation drivers on each server, disabling the GPUs, and dismounting them from the host according to the instructions in Deploy graphics devices using Discrete Device Assignment . Depending on your hardware vendor, you may also need to configure any GPU licensing requirements.

Create a new empty resource pool on each server that will contain the clustered GPU resources. Make sure to provide the same pool name on each server.

In PowerShell, run the following cmdlet as an administrator:

Add the dismounted GPUs from each server to the resource pool that you created in the previous step.

In PowerShell, run the following cmdlets:

You now have a cluster-wide resource pool (named GpuChildPool ) that is populated with assignable GPUs. The cluster will use this pool to determine VM placement for any started or moved VMs that are assigned to the GPU resource pool.

Assign a VM to a GPU resource pool

First, either create a new VM in your cluster, or find an existing VM.

Prepare the VM for DDA by setting its cache behavior, stop action, and memory-mapped I/O (MMIO) properties according to the instructions in Deploy graphics devices using Discrete Device Assignment .

Configure the cluster VM resource’s default offline action as force-shutdown rather than save .

In PowerShell, run the following cmdlet:

Assign the resource pool that you created earlier to the VM. This declares to the cluster that the VM requires an assigned device from the GpuChildPool pool when it's either started or moved.

If you want to add more than one GPU to the VM, first verify that the resource pool has more than one assignable GPU available, and then run the previous command again.

If you start the VM now, the cluster ensures that it is placed on a server with available GPU resources from this cluster-wide pool. The cluster also assigns the GPU to the VM through DDA, which allows the GPU to be accessed from workloads inside the VM.

You also need to install drivers from your GPU manufacturer inside the VM so that apps in the VM can take advantage of the GPU assigned to them.

You can also remove an assigned GPU from a VM. To do so, in PowerShell, run the following cmdlet:

Fail over a VM with an assigned GPU

To test the cluster’s ability to keep your GPU workload available, perform a drain operation on the server where the VM is running with an assigned GPU. To drain the server, follow the instructions in Failover cluster maintenance procedures . The cluster will restart the VM on another server in the cluster, as long as another server has sufficient available GPU resources in the pool that you created.

For more information, see also:

  • Manage VMs with Windows Admin Center
  • Plan for deploying devices using Discrete Device Assignment

Was this page helpful?

Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback .

Submit and view feedback for

Additional resources

  • Operating Systems & Software
  • The Server Room

Hyper-V Discrete Device Assignment - Hardware options?

  • Thread starter fuzzyfuzzyfungus
  • Start date Oct 6, 2022

More options

Fuzzyfuzzyfungus, ars tribunus angusticlavius.

  • Oct 6, 2022
  • Add bookmark

I hope this is the correct forum, question is part hardware part software so I apologize if I'm putting this in the wrong place: For reasons involving dubious decision-making in the past(stuck with it now, just being handed the job of trying to mitigate it) I've found myself with the requirement of virtualizing a win10 guest that depends on some very oddball USB peripherals; and so needs PCIe-level passthrough of the xHCI controller; the higher-level device passthrough options offered by hyper-v, Vmware(workstation or ESX), etc. don't do the job; so I am looking for test candidate systems that specifically meet the requirements of Hyper-V Discrete Device Assignment ; in addition to the baseline requirements for hyper-v virtualization on Server 2019. Unfortunately, I've had mixed results with really early spitball tests of hardware that happened to be on hand(a T14 Gen2, AMD based, largely worked fine; a Dell Precision 1700 lacked PCIe access control services and was a complete no-go); and I've been having some difficulty getting vendor confirmation of the presence or absence of the DDA-specific requirements: you can pretty much assume an IOMMU/SR-IOV, etc. at this point; but neither the spec sheets nor the reps seen to know much about ACS or specifically confirm/deny that DDA is supported. Does anyone have any experience with this; and any suggestions either on specific model lines or on specific chipsets that I should either seek out or avoid? The host will need to share space with humans, so pedestal servers are OK, rackmount screamers are not; system requirements are pretty low(under 128GB of RAM, single socket, some PCIe but no punchy GPU or accelerator card requirements); it's just a matter of confirming these platform capabilities that seem to be oddly hard to find on spec sheets. (Also, if anyone has experience with passing through USB expansion cards in particular, whether hyper-v or other hypervisors; any recommendations and/or horror stories about specific chipsets or models would be appreciated; I'm at liberty to obtain a bunch of cards for testing; but if I can avoid going in blind and just selecting randomly that would be a plus). I appreciate any information anyone might have.  

Ars Legatus Legionis

Would a network USB hub work?  

Hyper-V is not designed for USB passthrough no matter what you read. Your hardware would be better served with a VMware solution. ESXi on bare metal, or just VMware Workstation on Linux/Windows running VMs. Put it this way: VMware touts USB passthrough as a feature. Microsoft doesn't. Don't waste your time with Hyper-V.  

Ars Praefectus

What about: https://www.net-usb.com/hyper-v-usb/  

Ars Scholae Palatinae

  • Oct 7, 2022

use a digi anywhereUSB network device to connect to your USB devices over the network. They are a bit $$, but 10000% worth the cost. Other "network USB" devices are not recognized as native USB, but digi's solution is. https://www.digi.com/products/netwo...ment/usb-connectivity/usb-over-ip/anywhereusb . As long as the OS you are using is supported I would use the digi device without hesitation. edit: the other advantage of using a network device is that you can then maintain the ability to migrate a VM from one host to another without having to physically move the USB device.  

Paladin

  • Oct 8, 2022

If you just need to pick hardware that has the features you need, I would look at the support manual for the hardware in question. If it mentions the option in the BIOS manual, then it should be supported. If not, make sure you have a good return policy.  

  • Nov 2, 2022
use a digi anywhereUSB network device to connect to your USB devices over the network Click to expand...
the higher-level device passthrough options offered by hyper-v, Vmware(workstation or ESX), etc. don't do the job Click to expand...

Brandon Kahler

Brandon Kahler

Even better is to use a USB PCIe card with several discrete controllers so you can assign ports to multiple VMs. I use these in a few ESXi hosts. Each controller can be configured for PCIe passthrough individually, even on the free tier of ESXi. No SR-IOV needed. https://www.amazon.com/FebSmart-Supersp ... B07WCQ64RN I used the above card to attach USB HDMI capture dongles to four different VMs. Worked perfectly.  

Very fancy, I was going to ask if it did it with SR-IOV (which in itself is impressive) but it seems purpose designed.  

The important part is that it has 8 Safty fuses. I trust Safty for all my mission critical fuse needs.  

sryan2k1 said: Very fancy, I was going to ask if it did it with SR-IOV (which in itself is impressive) but it seems purpose designed. Click to expand...

Select Product

11.17.2 build 46000

Fixed issues

Known issues

Third party notices

License Server

Licensing elements

Licensing data collection programs

Citrix Licensing Call Home data elements

Citrix Licensing CEIP data elements

Citrix License Server Event data elements

Citrix Licensing Telemetry data elements

Licensing services

Licensing technical overview

License files

License types

Transition and Trade-Up (TTU) with Citrix Universal Subscription

System requirements for Citrix licensing

Getting started

How to obtain your license files

Customer Success Services Renewal licenses

Citrix Licensing Manager

Dashboard and Historical Use

Install licenses

Update licenses

Product information

Register your Citrix License Server

Manage Licenses on MyAccount

Administer licenses without a console

Licensing commands for advanced operations

Upgrade the License Server

Uninstall the License Server

Configure clustered License Servers

Disaster recovery backup and redundancy

Troubleshooting your License Server

Frequently asked questions

Document History

This content has been machine translated dynamically.

Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)

Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)

Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)

此内容已经过机器动态翻译。 放弃

このコンテンツは動的に機械翻訳されています。 免責事項

이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인

Este texto foi traduzido automaticamente. (Aviso legal)

Questo contenuto è stato tradotto dinamicamente con traduzione automatica. (Esclusione di responsabilità))

This article has been machine translated.

Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)

Ce article a été traduit automatiquement. (Clause de non responsabilité)

Este artículo ha sido traducido automáticamente. (Aviso legal)

この記事は機械翻訳されています. 免責事項

이 기사는 기계 번역되었습니다. 책임 부인

Este artigo foi traduzido automaticamente. (Aviso legal)

这篇文章已经过机器翻译. 放弃

Questo articolo è stato tradotto automaticamente. (Esclusione di responsabilità))

Translation failed!

Your Citrix product uses one of the license types described in this document. Some products allow you to select more than one type of license. Ensure that you are aware of the licenses that are purchased and how they are consumed. Some license types offer license overdraft and supplemental grace period as a feature.

The Citrix License Server supports any Citrix products that require Citrix licenses. For more information, see Products and license models .

  • User/device license

In user/device type licensing the License Server dynamically assigns a license to a user or a device based on the usage and monitors license consumption. The default assignment is a user license. The license server considers each connection and its optimization engine. It ensures that the smallest number of licenses are used based on the userID and deviceID.

The license server truncates domains by default so that [email protected] and [email protected] are treated as a same user. For more information, see Disable the domain name truncation .

Note: Domain membership doesn’t play a role in how licenses are served. A license server can host licenses for any product that can connect to it across the network. Workgroup or Domain membership primarily controls who can be configured as License Server Administrators to access the Citrix Licensing Manager.
  • When a license is assigned to a user. A user license allows the user to access from an unlimited number of devices. A licensed user requires a unique user ID, such as an Active Directory entry.

For example, the user can connect to their desktops and applications using multiple devices such as desktop, laptop, smartphone, or thin client. A licensed user can connect to multiple instances of Citrix Virtual Desktops concurrently.

  • When a license is assigned to a device. A device license is assigned to a device when two or more users connect to an exclusively shared endpoint device.

For example, single shared devices such as a kiosk or a workstation in a call center environment used by multiple users.

The following table illustrates how user/device licenses are assigned to non-shared devices and exclusively shared devices. Blue color cells display user licenses, where the devices are not shared. Green color cells display device licenses, where the devices are exclusively shared.

User/device license assignment

License assignment period

When users or devices connect to an application or desktop, they consume a license for a 90 day assignment period. The license assignment period begins when a connection is established. The period is renewed to a full 90 days during the life of the connection. The user/device lease for the license assignment will expire in 90 days after the last connected user or device disconnects.

Release licenses for users or devices

You can release a license for a user only when:

  • The employee is no longer associated with the company.
  • The employee is on an extended leave of absence.

You can release licenses for devices only when the devices are out of service.

For more information, see Display or release licenses for users or devices .

  • License optimization

The License Server uses the optimization process to determine how to minimize license consumption. This optimization is based on licenses in use and connections to the License Server. The License Server optimizes every five seconds until there are 5000 unique connections. Connections at 5000 and above optimization occurs every five minutes. Optimization might delay status information until the next optimization, impacting when license usage statistics are updated in various consoles.

Optimization occurs every five seconds for 1-4999 users and every five minutes for 5000 or more users.

Optimization is not consumption. The following table is the example of connections and optimization time when optimization occurs.

Note: If you have a large deployment, optimization can be CPU intensive depending on the number of unique connections. We recommend using machines with multiple cores. Customers hosting many license servers or shared disk systems see high read and write operations. Even if all the license servers have less than 5000 users, each can optimize every 5 seconds and write cache data to disk. You cannot disable the optimization or change its frequency.
  • Concurrent license

Concurrent license is not tied to a specific userID, Active Directory account, or a domain. Concurrent licensing is based on the originating endpoint deviceID. A user or endpoint device could connect to multiple sessions and use a single license.

You start a product that requests a license and it is checked out to a unique endpoint deviceID. If you log off or disconnect from the session, the license is checked in and made available for a new user. Note, we don’t license per session.

Multiple sessions at different computers use multiple licenses. Each time you start a Citrix session from various devices, a license is checked out until you close that session. At that point, the license is checked back in.

For example, a user starts a session from one computer and then starts another from a different computer before closing the first session. Two licenses are checked out.

License Servers do not communicate with each other. If you run multiple License Servers, you might consume more than one license (for example, with load balancing). If you are using load balancing, we recommend that the product servers point to the same License Server.

Different editions consume different licenses. Two licenses are consumed, if you use the same client to connect to applications running on an Advanced edition and Premium edition each.

Same product, edition, and license model consume single license. If you make multiple connections from a single device to different product servers configured with the same edition and license model and pointing to the same License Server. Only one license is consumed.

For license sharing, pass-through connections on Citrix Virtual Apps and Desktops pass the endpoint client device ID to the product server. If you connect to a single product, edition, and license model with a shared License Server, all connections share a single license.

A user connects from a single device to two product servers that are the same edition but different versions. One or two licenses might be consumed based on the order in which the user makes the connections.

For example, the two servers are Citrix Virtual Apps and Desktops 7 1811 and Citrix Virtual Apps and Desktops 7 1903:

  • The user connects to Citrix Virtual Apps and Desktops 7 1811 first. Two licenses might be consumed. An older license first, for the older product, and then a newer license because version 1903 requires a newer Customer Success Services date. For more information, see Customer Success Services .
  • The user connects to Citrix Virtual Apps and Desktops 7 1903 first. Only one license is consumed because the Customer Success Services date required by version 1903 is compatible with all older product versions.
  • If the Customer Success Service date of all the installed licenses are compatible with all the product versions then a single license is required for each connecting device.

RDP connections consume a license but RDP connections to a console do not consume a license.

If the number of connections exceed the purchased and available standalone concurrent licenses, users are denied access unless the supplemental grace period is enabled. For more information, see Supplemental grace period .

  • Per user license

A licensed user requires a unique user ID, such as an Active Directory entry. When a license is assigned to a user, the license allows the user to connect to their desktops and applications using multiple devices. A User license is assigned to the User and not to the User’s devices.

Note: These licenses are only user licenses and are not the same as user/device licenses.
  • A user can connect to multiple devices such as a desktop computer, laptop, netbook, smartphone, or thin client. A licensed user can connect to multiple instances of Citrix Virtual Desktops concurrently.

When a user connects to multiple devices, a user license is consumed for the 90 day assignment period. The license assignment period begins when a connection is made. The period is renewed to the full 90 days during the life of the connection. The device lease for the license assignment will expire in 90 days after the last connected user or device disconnects.

  • Per device license

A licensed device requires a unique device ID and any individual can access instances of a product. It allows an unlimited number of users per device. A single Device license can support multiple users from the same device.

Note: These licenses are only device licenses and are not the same as user/device licenses.
  • A classroom workstation, used by many students.
  • A clinical workstation in a hospital, used by hospital staff.

When a single device is used by multiple users, a device license is consumed for the 90 day assignment period. The license assignment period begins when a connection is made. The device lease for the license assignment will expire in 90 days after the last connected user or device disconnects.

  • Per socket license

Per socket licenses are consumed based on the number of CPU sockets. Cores are not counted. For example:

  • If a computer with two CPU sockets has only one CPU then only one license is consumed.
  • If a computer with two sockets has two CPUs, each with a quad core, then two licenses are used.

Citrix Hypervisor uses per socket licenses.

  • Named user license (legacy)

In a product when you request a license, a named user license is checked out until a preconfigured period expires. This type of license check-out is not tied to a computer or a device. After the license is checked out, the user can run multiple sessions on different computers without checking out more licenses.

  • Evaluation licenses

Citrix aims to provide the best customer experience possible, many of Citrix’s products offer a demo experience. You can set up this demo experience directly through citrix.com or by contacting Citrix sales team. These demos allow for a customized experience to fit your needs, use cases and active projects; get real-time answers and advice from a Citrix expert.

IMPORTANT: The allotment is one evaluation license per product, per account, per year.

See How to obtain a Citrix Evaluation license using My Account for more information.

  • License overdraft

On-premises products that support user/device , user , or device license models include a license overdraft feature. This feature enables you to use an additional 10% of extra licenses beyond the purchased quantity to prevent access denial. The license overdraft count is displayed in a separate column within the License Administration Console. The installed column displays both the purchased license total plus the associated overdraft total. Overdraft usage is also visible in Studio.

The license overdraft feature is offered as a convenience, not as a license entitlement. Any overdraft licenses used must be purchased within 30 days of first use.

Concurrent licenses and server licenses do not contain the overdraft feature. Citrix reserves the right to remove any overdraft features in new product releases.

  • Supplemental grace period

The supplemental grace period enables unlimited connections to a product for 15 consecutive days. This feature is available to Citrix Virtual Apps and Desktops licenses. You can use this feature with a XenApp 7.6 or XenDesktop 7.6 version and above.

If all licenses are in use, including the license overdraft where applicable, the supplemental grace period gives you time to determine why you exceeded the maximum license count and to purchase more licenses without disrupting your users.

After the supplemental grace period expires, normal connection limits are enforced. Users are not disconnected during active sessions. As they disconnect, however, no new connections can occur until the license levels return to normal.

The supplemental grace period is not automatically re-enabled once it completes. To re-enable the supplemental grace period, you must install another retail license. This retail license grants a new 15-day supplemental grace period if and when you exceed the subsequent maximum installed license limit.

We recommend that you allow the supplemental grace period to run out after it starts. To clear the warning condition do not add licenses immediately. Doing so gives you time to fully assess the situation and correctly address any issues.

Note: If you install licenses while the supplemental grace period is in force, the License Server exits the supplemental grace period. Reenabling the supplemental grace period before fully determining the reason for the supplemental grace period, and how many licenses you require, might cause you to reenter the period after installing new licenses.

Supplemental grace periods are granted per product version and edition and only for retail licenses . The supplemental grace period is enabled by default when you first install the license. To disable the supplemental grace period feature, use the Citrix Licensing Manager .

There is no way to track the total number of licenses consumed while in the supplemental grace period. You can use lmstat udadmin and connection information from the product to determine how many more licenses are required.

Note: The grace period and supplemental grace period are two different features. The grace period and supplemental grace period features do not apply when licenses expire. For more information about grace periods, see Grace period .

Citrix Virtual Apps and Desktops Director displays the grace period states. For more information, see Panels on the Director Dashboard .

The supplemental grace period feature is offered as a convenience, not as a license entitlement. Citrix reserves the right to remove any such feature in new product releases.

Overdraft and Supplemental grace period examples

Example 1: Citrix Virtual Apps and Desktops user/device, user, or device licenses using the overdraft and supplemental grace period features

Overdraft and Supplemental grace period

You initially purchase and install 1000 licenses from Citrix (I) which includes a 10% license overdraft allowance (OD). When licenses are allocated, you have 1100 licenses in total. At the time it is sufficient for the number of users connecting.

d0 At a later date (day 0) you are using 1050 licenses. When the 1001st license was used, the overdraft feature was activated. Your users can continue to connect without any disruption of service. You start evaluating your licensing needs now. Do not wait until you exceed the OD. Think about buying more licenses in addition to the 1000 you bought initially.

d10 10 days later (day 10) more users connect and 1150 licenses are being used, which exceeds the 1100 total licenses you have available (!). When the 1101st license was used, the 15 day supplemental grace period (SPG) started, to allow you time to evaluate your license needs. Your users can continue to connect without any disruption of service.

d25 15 days later after d10 (day 25) the supplemental grace period runs out because you chose not to purchase and install more licenses. Users cannot make new connections if doing so requires more than 1100 licenses to be checked out. You cannot re-enable the supplemental grace period until you purchase and install more licenses.

Example 2: Citrix Virtual Apps and Desktops concurrent licenses using supplemental grace period feature

Supplemental Grace Period

You initially purchase and install 1000 concurrent licenses (I). There is no overdraft allowance with concurrent licenses. At the time these licenses are sufficient for the number of users connecting.

d0 At a later date (day 0) you are using 1050 licenses. When the 1001st license was used, the 15 day supplemental grace period (SPG) started, to allow you time to evaluate your license needs. Your users can continue to connect without any disruption of service. You start evaluating your licensing needs now. Do not wait until the supplemental grace period runs out. Think about buying more licenses in addition to the 1000 you bought initially.

d15 15 days later (day 15) the supplemental grace period runs out because you chose not to purchase and install more licenses. Users cannot make new connections if doing so requires more than 1000 licenses to be checked out. You cannot re-enable the supplemental grace period until you purchase and install more licenses.

  • Overdraft and supplemental grace period availability

The following table lists the support for license overdraft and supplemental grace period for each product. For more information, see Products and license models .

  • Citrix on-premises subscription for annual and term-based retail licenses

On-premises subscription licensing allows customers to host a Citrix environment within their infrastructure for a set period. The on-premises subscription license is time-bound for 1-5 years and expires on a specific date. The license ceases to operate following the expiration date. The products offer everything that is available today with perpetual licenses.

Your purchase includes both an on-premises subscription license and Customer Success Services Select service. Customer Success Select service is included for the entire term of the subscription.

Note: Mixing permanent (perpetual) and subscription licenses is supported. They can be used to expand existing environments provided customers use the same product, edition, and license model. There are no performance impacts to using perpetual vs. subscription licenses. The only difference between them is one expires.

Before license expiration

Citrix notifies you at certain intervals when your existing subscription approaches expiration. These notifications alert you to extend the subscription and avoid service interruption.

All on-premises subscription, annual and other term-based retail licenses include an additional 30 days built into the expiration date for continued access. These additional 30 days are included in the expiration date shown in the Citrix Licensing Manager. You can use these 30 days to repurchase subscription licenses, allocate, and install before the original subscription license expires. If you do not renew, the product gets into an unlicensed state with limited capabilities.

Example: If you purchased a one year on-premises subscription license on 21 Oct 2020, your license will expire at 12:01 on 22 Nov 2021.

When your on-premises subscription expires, as per the date listed in the Citrix Licensing Manager, no new connections are allowed. Existing users are not impacted, however, if users log off or disconnect they are not allowed to reconnect.

Extend on-premises subscription licenses

To extend your on-premises license subscription, visit https://www.citrix.com/buy/ .

Note: Licenses with a future start date are not displayed in the License Server inventory until the actual start date mentioned in the license file.

Will on-premises subscription licenses work with existing perpetual licenses on the same server?

Yes, within the guidelines of existing license server operation. Customers must add a new term license file to the license server.

Term or subscription licensing does not have a negative impact on delivering the on-premises subscription licenses to a customer’s existing environment, provided the product version (Virtual Apps / Virtual Apps and Desktops), edition (Standard, Advanced, Premium), and type (User/Device, Concurrent) are the same. For example:

Virtual Apps and Desktops Premium Concurrent perpetual + Virtual Apps and Desktops Premium Concurrent term have no issues.

Virtual Apps and Desktops Premium Concurrent perpetual + Virtual Apps and Desktops Premium User/Device term. This license combination is non-standard and requires consideration and more configuration . This combination might not be optimal for license utilization.

Virtual Apps and Desktops Premium Concurrent perpetual + Virtual Apps and Desktops Advanced User/Device term. This license combination is non-standard and not advisable. Requires customer to have multiple sites or farms to use all purchased licenses.

Will the XenApp farm, Citrix Virtual Apps, Citrix Virtual Apps & Desktops stop accepting connections?

Yes. No new connections are allowed after the license expires. Existing connections are not impacted until users disconnect, logoff, or reset.

Will there be a supplemental grace period (SGP) of 15 days or does that only apply to perpetual licenses?

No. There is no grace period for license expiration. An extra month is added into the expiration date for customers to install repurchased licenses.

In this article

This Preview product documentation is Citrix Confidential.

You agree to hold this documentation confidential pursuant to the terms of your Citrix Beta/Tech Preview Agreement.

The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.

The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Citrix product purchase decisions.

If you do not agree, select I DO NOT AGREE to exit.

Do you want to switch to the website in your browser preferred language?

Edit Article

IMAGES

  1. Plan for deploying devices by using Discrete Device Assignment

    what does discrete device assignment allows you to do

  2. Discrete Device Assignment -- Description and background

    what does discrete device assignment allows you to do

  3. Discrete Device Assignment with Storage Controllers

    what does discrete device assignment allows you to do

  4. Setting up Discrete Device Assignment with a GPU

    what does discrete device assignment allows you to do

  5. Windows Server 2016 Hyper-V's Discrete Device Assignment feature

    what does discrete device assignment allows you to do

  6. Device Assignment with Nested Guests and DPDK

    what does discrete device assignment allows you to do

VIDEO

  1. Part-2: Major Issues in Designing a Distributed System in brief-Heterogenity,openness, Security, Dos

  2. NPTEL||DISCRETE MATHEMATICS||WEEK8 ASSIGNMENT ANSWERS||CSIT_CODING

  3. NPTEL||DISCRETE MATHEMATICS ||WEEK9 ||ASSIGNMENT ANSWERS||CSIT_CODING

  4. NPTEL||DISCRETE MATHEMATICS ||WEEK6 || ASSIGNMENT ANSWERS

  5. Lec 15: example RV discrete

  6. How to Master DSA with ChatGPT

COMMENTS

  1. Deploy graphics devices by using Discrete Device Assignment

    Starting with Windows Server 2016, you can use Discrete Device Assignment (DDA) to pass an entire PCIe device into a virtual machine (VM). Doing so allows high performance access to devices like NVMe storage or graphics cards from within a VM while being able to apply the device's native drivers. For more information on devices that work and ...

  2. Discrete Device Assignment -- Description and background

    With Windows Server 2016, we're introducing a new feature, called Discrete Device Assignment, in Hyper-V. Users can now take some of the PCI Express devices in their systems and pass them through directly to a guest VM. This is actually much of the same technology that we've used for SR-IOV networking in the past.

  3. Passing through devices to Hyper-V VMs by using discrete device assignment

    One feature that drew my attention is a new feature in Hyper-V called discrete device assignment. It can be very simply described as a device pass-through feature, the likes of which has existed on other hypervisors for many years. ... Our first action should be to disable the device. You can check Device Manager by typing devmgmt.msc in the ...

  4. How to deploy graphics devices using Hyper-V DDA

    There are three main steps in performing a Discrete Device Assignment of a GPU: Preparing the VM, dismounting the Peripheral Component Interconnect Express, or PCIe, device from the host partition and making the device assignment within the VM. Admins must perform all three of these steps within PowerShell.

  5. PDF Introduction to Windows Server 2016 Hyper-V Discrete Device Assignment

    Introduction. Discrete Device Assignment (DDA, also known as PCI Passthrough) is a performance enhancement in Microsoft Windows Server 2016 and Hyper-V. It allows a specific physical PCIe device installed on the host system to be directly and exclusively controlled by a guest virtual machine (VM). In this paper we describe the steps of how to ...

  6. Introduction to Windows Server 2016 Hyper-V Discrete Device Assignment

    Microsoft Windows. This paper describes the steps on how to enable Discrete Device Assignment (also known as PCI Passthrough) available as part of the Hyper-V role in Microsoft Windows Server 2016. Discrete Device Assignment is a performance enhancement that allows a specific physical PCI device to be directly controlled by a guest VM running ...

  7. Discrete Device Assignment -- Guests and Linux

    Linux has a lot of flexibility around PCI, of course. It runs on a vastly wider gamut of computers than Windows does. But instead of allowing the underlying bus driver to be replaced, Linux accommodates these things by allowing a device driver to supply low-level functions to the PCI code which do things like scan the bus and set up IRQs.

  8. Setting up Discrete Device Assignment with a GPU

    Windows Server 2016 introduces Discrete Device Assignment (DDA). This allows a PCI Express connected device, that supports this, to be connected directly through to a virtual machine. ... Preparing a Hyper-V host with a GPU for Discrete Device Assignment. First of all, you need a Windows Server 2016 Host running Hyper-V. It needs to meet the ...

  9. 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 ...

  10. PDF Discrete Device Assignment in Windows Server 2016 Hyper-V

    3 Preparing a Hyper-V host with a GPU for Discrete Device Assignment First of all, you need a Windows Server 2016 Host running Hyper-V. It needs to meet the hardware specifications discussed above, boot form EUFI with VT-d enabled and you need a PCI Express GPU to work with that can be used for discrete device assignment.

  11. Discrete Device Assignment

    Use the "-force" options only with extreme caution, and only when you have some deep knowledge of the device involved. You have been warned. Read the next post in this series: Discrete Device Assignment — GPUs — Jake Oshins . This article was originally published by Microsoft's Data Center Security Blog. You can find the original ...

  12. Which GPU Assignment Method Should You Use for Hyper-V ...

    2 GPU Assignment Methods. As mentioned earlier, Hyper-V provides two different options for assigning GPUs to virtual machines. One option is to use RemoteFX. The other option is to use a discrete device assignment. Unfortunately, neither option is suitable for every situation.

  13. Install, Store, & Compute: Data Deduplication & Hyper-V Setup

    What does discrete device assignment allow you to do? Assign physical hardware to a VM. Which minimum configuration version is required to run nested Hyper-V virtual machines? 8.0. Which is a feature of a Full Volume restore from an optimized backup? Faster recovery times due to the data size.

  14. Discrete Device Assignment -- Description and background

    Here's Device Manager from that VM, rearranged with "View by Connection" simply because it proves that I'm talking about a VM. In a future post, I'll talk about how to figure out whether your machine and your devices support all this. Read the next post in this series: Discrete Device Assignment -- Machines and devices

  15. Server 2016: Install, Store, and Compute: Data Deduplication ...

    What does discrete device assignment allow you to do? Assign physical hardware to a VM. Which PowerShell cmdlet would you run to view deduplication volume data? Get-DedupVolume. Which feature of a Full Volume restore from an optimized backup? Faster recovery times due to the data size.

  16. Discrete Device Assignment

    First published on TECHNET on Nov 19, 2015 With Windows Server 2016, we're introducing a new feature, called Discrete Device Assignment, in Hyper-V.Users can now take some of the PCI Express devices in their systems and pass them through directly to a guest VM.This is actually much of the same technology that we've used for SR-IOV networking in the past.

  17. PowerShell GUI for Discrete Device Assignment (DDA)

    Hi @all, I am new to PowerShell. However, I have planned a project, which is not quite so easy for a beginner. It is about creating a PowerShell GUI for Discrete Device Assignment (DDA). I've been working on it a little longer and it's going almost as intended. However, the last two commands, which are the main feature of the DDA, do not work. The two commands that don't work require a ...

  18. Use GPUs with clustered VMs

    GPU acceleration is provided via Discrete Device Assignment (DDA), also known as GPU pass-through, which allows you to dedicate one or more physical GPUs to a VM. Clustered VMs can take advantage of GPU acceleration, and clustering capabilities such as high availability via failover. Live migrating VMs isn't currently supported, but VMs can be ...

  19. Hyper-V Discrete Device Assignment

    Oct 6, 2022. #3. Hyper-V is not designed for USB passthrough no matter what you read. Your hardware would be better served with a VMware solution. ESXi on bare metal, or just VMware Workstation on ...

  20. License types

    The license assignment period begins when a connection is made. The period is renewed to the full 90 days during the life of the connection. The device lease for the license assignment will expire in 90 days after the last connected user or device disconnects. Release licenses for users or devices. You can release a license for a user only when: