During the development of ArcGIS Pro, the Performance Engineering Team at Esri has been testing ArcGIS Pro in virtualized environments with shareable GPU’s extensively within our lab. ArcGIS Pro needs to virtualize well and since GPU acceleration can be shared amongst multiple virtual machines, we began to run our performance tests within virtualized environments with GPU’s. Our test server is a Dell PowerEdge R720, which is certified by Nvidia GRID (for a list of certified servers, please refer to Nvidia’s GRID Spec Sheet), and this server allows two GRID K2 cards to be inserted. When the NVIDIA vGPU Manager is installed on the server and drivers are installed in a VM, users have the ability to configure VM’s to use shareable GPU’s. For more information regarding architecture and configuration, please refer to the Nvidia Grid vGPU User Guide.
The shareable vGPU becomes an option when configuring a VM for XenDesktop or VMWare Horizon View and there are various vGPU profiles which the user can choose to deploy. These vGPU profiles allow the user to control how much frame buffer is allocated out of the physical GPU frame buffer to the VM. This in turn determines how many VM’s can use the shareable vGPU. The following table describes the different vGPU profiles for the Nvidia GRID K2 further:
Test Results: Optimal vGPU Profile
The Performance Engineering Team ran a series of tests in order to determine the most optimal vGPU profile for ArcGIS Pro. The test results are as follows:
- K280Q: Starting with the highest performing but lowest density profile, the K280Q test provided the benefits of having the entire GPU and greatest frame buffer (4GB), however it lacked scalability since it’s limited to only 4 virtual desktops with two K2 cards in the hypervisor.
- K260Q: The K260Q profile, which assigns 2GB of frame buffer, also produced good performance and user experience (UX) but only offered a maximum of 8 users (4 per K2 card). Since our test resultds for this profile were within the acceptable threshold, we believed there was more room for growth and we concentrated test efforts on the K240Q profile.
- K240Q: This profile lowers the frame buffer to 1GB while increasing the maximum density of VM’s on the two K2 cards to 16 VM’s and offered good performance.
- K220Q: We also tested the highest density profile, the K220Q, but since the frame buffer is limited to 512MB, the 3D user experience was poor and the performance was slow due with too little virtual RAM (VRAM) . This profile may be more suitable for users who use simple 2D data.
Overall, the K240Q profile provided the best performance metrics as well as the greatest density of VM’s on the shareable GPU.
Test Results: VM/GPU Density
Once we determined the most optimal vGPU profile for ArcGIS pro, we wanted to further identify how many VM’s can the hypervisor support using the K240Q profile without significant performance degradation? Specifically, can users expect to achieve the fullest density (16 VM’s) of the K240Q profile on the two K2 cards?
The short answer is no, in most cases users will find that the Hypervisor host will run out of CPU resources when scaling out to maximum density of 16 VM’s and rendering performance within the VM’s will be degraded. Our test findings found that when XenServer or VMWare ESXi/Horizon View is installed on a Dell R720, the server can support 10-12 VM’s (with 6vCPU allocated) using 3D data and still achieve optimal performance within the ArcGIS Pro Virtual Desktops.
However, 2D users (with 4vCPU allocated) on the K240Q profile can expect higher density and may achieve maximum density (16 VM’s) if user interactions include simple workflows and data. These test results and a detailed look at our test methodology will be published in an upcoming whitepapers which will be specific to each virtualization vendor; Citrix, VMWare and Microsoft, as well as VDI solutions, such as Horizon View and XenDesktop, while also exploring XenApp.