Virtualizing ArcGIS Pro
Projects deploying ArcGIS Pro in virtualized environments are underway. As the IT industry virtualizes more desktops and applications, ArcGIS Pro will be virtualized and is expected to work well in those environments. For that reason the Performance Engineering team has tested ArcGIS Pro in VMWare Horizon View, Microsoft Hyper-V and Citrix XenDesktop+XenApp.
Using the test results of both automated load tests and hands on testing events with real humans we have a very good understanding of what it takes to successfully deploy ArcGIS Pro in virtualized environments. We also have a good idea of how many virtual machines (VMs) that a virtualization server can host while also delivering an acceptable user experience. The result of that effort is that Pro virtualizes well, and can deliver a great user experience.
ArcGIS Pro delivers a great user experience when working with 2D and 3D data. This was a requirement of the product and delivered by design. A couple of important characteristics that help deliver this:
- ArcGIS Pro is a modern multithreaded application. Multiple threads take advantage of modern multi-core processors to perform multiple tasks concurrently such as GP processing in the background while rendering in the foreground.
- ArcGIS Pro is built with a state of the art rendering engine. This new rendering engine takes advantage DirectX and OpenGL graphics libraries.
These two aforementioned characteristics help deliver great user experience with fluid, game-like graphics. But these two characteristics also cause ArcGIS Pro to virtualize differently than ArcMap.
In order to virtualize Pro, it is important to properly configure the virtualization environment to support multiple VMs running a high-end graphics application such as ArcGIS Pro. This includes ensuring adequate processors and shareable GPUs on the host.
- Physical processors have enough cores to support VMs with modern multithreaded applications. This is not only for Pro but other multi-threaded applications. An example of appropriate processors are those on the servers used in the Performance Engineering lab which have two Intel E5-2695 V2 processors. Each processor has 12 cores.
- GPUs designed for virtualized environments such as those on the Nvidia GRID K2 cards. Each server in the Performance Engineering lab has two K2 cards. These are important since the DirectX and OpenGL libraries utilize the GPU to deliver the map rendering at acceptable frames-per-second. Without a GPU the rendering engine will use the Windows WARP software rasterizer. WARP is useful in a pinch, but will not deliver the same user experience as a GPU.
An example of a server which meets the above criteria are Dell R720s used in the Performance Engineering lab which have the following configuration:
-2 Intel Xeon E5-2695 V2@ 2.40GHz processors
-2 Nvidia GRID K2 cards
This configuration with XenServer 6.2 and XenDesktop can support 10-12 VMs with Pro using 3D data, or 14-20 VMS with Pro using 2D data. This is dependent on the Nvidia vGPU Profile that is used. If a shareable GPU was not present, all of the processing required for rendering is moved to the virtual CPUs causing the user experience to be less than desirable. Additionally, the same server would not be able to host the same number of VM’s.
More blogs, best practices, white papers and reference architectures will be coming out soon. If you are attending the Esri User Conference in San Diego go to the following sessions and special interest group for more technical information.
Tuesday, July 21
Room 27B 12:00pm- 1:00pm
Wednesday, July 22
-Demo Theater: Overview of ArcGIS Pro in Virtualized Desktop Environments
10:30am – 11:15am – Mapping and Visualization Exhibit Hall B
-ArcGIS Pro: virtualizing in Citrix XenApp and XenDesktop
Room 02 12:00pm – 1:00pm
-Demo Theater:Virtualizing ArcGIS Pro in VMWare View, Citrix XenDesktop/XenApp
4:30pm – 5:15pm Mapping and Visualization Exhibit Hall B
Thursday, July 23
-ArcGIS Pro: virtualizing in VMWare Horizon View and Microsoft Hyper-V
Room 02 12:00pm – 1:00pm