Delivery Optimization and Planning for NVIDIA GRID

Introduction

As the delivery and rendering of applications requiring advanced graphics becomes more robust with recent innovations from both NVIDIA, it becomes important to take stock of what opportunity there is to move from a traditional distributed thick client based mode of operation to a more unified architecture centering on virtualized desktops and application publishing. Through an innovative combination of infrastructure side GPU sharing from NVIDIA and protocol optimization a seamless client side experience of even the most graphically intensive applications can be presented to an end-user regardless of their access method. With the complicated IT landscape present in most environments this means that the first step toward leveraging this powerful delivery method is understanding the performance demands of applications in conjunction with user interaction.

By collecting the usage habits and unique behavior of every aspect of the software in use in the environment it becomes much easier to identify first what the current state of the portfolio is, and then begin the difficult process of segmenting applications into best fits for delivery. SysTrack enables the detailed analysis of graphical demands to help build a portfolio that can be analyzed quickly to identify which applications would benefit the most from more robust rendering and presentation. By layering in a descriptive dimension relating to current users and their access methods it can also provide a way to ensure that business critical applications are delivered in a way that meet the work styles of the users that depend on them. Once the critical groundwork has been laid by completing an initial delivery plan the performance and resource consumption oriented information can be used to plan infrastructure and capacity for the new environment.

By sizing the supporting systems appropriately based on the actual application behavior observed in the environment it becomes much easier to guarantee optimal end-user experience. Through the continual capture of key performance aspects like compute resource consumption, memory, disk usage, and network utilization a complete, time correlated picture of the expected load in an environment can be created using SysTrack's Virtual Machine Planner. The granularity of the information coupled with its breadth allows for highly accurate forecasting and planning for any type of solution. Finishing the design and architecture phase with a complete blueprint for the necessary supporting infrastructure greatly simplifies the process of building out a successful deployment and accelerates any migration to more robust delivery.

Once the solution has been fully developed and deployed, it's critical to keep track of the end-user experience to ensure that everything is working as anticipated. This is another key area where SysTrack can help, both in capturing the initial end-user experience metrics to benchmark the success of a transformation project and in steady state in the new environment to ensure continued quality. Using proprietary API access provided after extensive work with NVIDIA, the quality of the end-user experience can now be even more completely characterized with GPU utilization. This makes it much easier to pinpoint where oversubscription of resources may be causing issues, and guarantees a basic quality of service to keep productivity at peak levels. That end-to-end vision completes the transformation life cycle process and also allows for continual improvement with much less difficulty in later projects.

Application Graphics Benchmarking

The transformation of an existing software portfolio first begins with the identification of all of the actively used software packages in the environment. The added complication in the case of a project to begin advanced application delivery is the need to understand multiple facets of usage: resource consumption, graphics utilization, frequency of use, user access habits, and mobility needs. Because the state of IT is already so complex it only becomes possible to fully understand and plan with a complete set of descriptive information that really characterizes the unique aspects of every environment. Of particular interest is the ability to first identify applications that have GPU demands, and then begin to segment them into tiers of utilization.

SysTrack continually collects information about software packages as they're used and normalizes all data points for cross platform comparison. One of the key performance parameters that's identified in this process is a graphical intensity measure (Graphics Index) that provides a way to identify those applications in the portfolio that have higher GPU demands than others. With this critical information it becomes possible to segment the portfolio into groupings based on their requirements for specific resources. By tying a general sense of which applications have peak demand to total length of usage it becomes easier to start developing a portfolio made up of different combinations of usage styles. This includes separating applications that may be used by a small set of the population with intense requirements versus widely used applications with a smaller footprint. Of course, this also allows for much deeper analytics centering on the behaviors of users that is quite important in planning the GPU profiles in use in provisioning. Figure 1 displays this relationship in a bubble chart format, this format groups applications based on their similar characteristics presenting clusters of similar applications in larger bubbles. The vast majority of applications exist in the "low graphics demand – Low Time Active" area in the bottom left, while only a select few have either high graphics demand or high time active.

Figure 1: Graphics Index and Active Time displayed as a bubble chart

A natural expansion of this is grouping users into distinct workload types to understand how best to configure the profile types and GPU assignments for users. Once the target applications and users have been characterized and a plan has been developed it's critical to begin the process of sizing the environment. This includes determining the architecture, sizing the desktops and servers that will be worked with, and identifying resources that will be required to support the needs of the planned deployment.

Resource Modeling and Capacity Planning

With a complete portfolio plan it now becomes possible to move into the next phase and start creating a model for what resources will be required for a complete environment. Because each of the users have been fully characterized throughout the assessment data collection interval it's possible to use SysTrack's Virtual Machine Planner (VMP) for powerful mathematical analysis to provide deep insight into infrastructure provisioning. The first component of this involves using the profile information above to help develop a plan for what kind of solution will be provided to the end-users. By segmenting the population into different delivery strategies, a more complete and accurate picture of how the net new environment will operate can be created. An additional benefit of segmentation is the ability to take advantage of grouping by general graphics consumption to identify the number of GPUs required for the environment based on the user density information for each profile type (table 1).

Table 1: NVIDIA GRID cards and recommended user density based on profile

NVIDIA GRID Graphics Board

Virtual GPU Profile

Graphics Memory

Max Displays per User

Max Resolution per User

Max Users per Graphics Board

Use Case

GRID K2

K260Q

2,048 MB

4

2560x1600

4

Designer/Power User

K240Q

1,024 MB

2

2560x1600

8

Designer/Power User

K200

256 MB

2

1900x1200

16

Knowledge Worker

GRID K1

K140Q

1,024 MB

2

2560x1600

16

Power User

K100

256 MB

2

1900x1200

32

Knowledge Worker

The NVIDIA MarketPlace report from VMP outlines the number of users that fall into the various use cases (e.g. "high" for a designer or higher end power user), making it much easier to forecast how many users per board can be allocated and in turn how many total boards may be needed (figure 2).

Figure 2: Extract from NVIDIA MarketPlace report showing user segmentation and commonality of graphically intensive applications

This information creates an easy to use design for a set of user profiles, both for the actual desktop delivery and for the vGPU assignment. By ensuring the best possible analysis of the environment prior to the actual deployment the end-user experience is much simpler to forecast and control. This results in higher end-user satisfaction and a shorter transition time.

End-User Experience Optimization

After the successful implementation of the solution the environment still requires observation to prevent interruption of service and the potential for productivity impact. The best way to ensure optimal end-user service quality is to have a real-time alerting and analytical engine to collect and report instantly on degradation of any aspect of the systems the users interact with. SysTrack provides this in the form of proactive alerting, detailed system analysis in Resolve, and aggregate trending through Enterprise and Site Visualizer. An even more interesting feature is vScape, a tool designed to examine utilization across multiple virtual machines and correlate resource consumption to concurrency of application utilization.

vScape provides real-time updates of all of the application usage across all virtual platforms in an enterprise, including information about what applications are currently demanding GPU resources. It also provides insight into other resource demands as well, such as CPU, memory, and I/O. This can help automate the discovery of co-scheduled or highly concurrent applications to pinpoint the root cause of oversubscription issues much more quickly. It also provides key insight into guest health characteristics with trending to correlate precisely which events may lead to service degradation (figure 3).

Figure 3: A real-time representation of all application concurrent memory demand across a virtual environment

Another key feature introduced in SysTrack version 7.0 is the result of close collaboration with NVIDIA to leverage APIs presented in the guest operating system. This allows the capture of detailed GPU performance metrics to correlate vGPU consumption to enduser service quality. Specifically, with NVIDIA drivers present in the guest OS or on a physical system, the GPU utilization and key metrics (see table 2 for a sample of selected metrics) from the graphics card can be captured and analyzed in the same way as CPU or other system metrics are currently in SysTrack.

This completes the set of KPIs used in SysTrack to calculate the end-user experience score, including categories like resource limitation, network configuration, latency, guest configuration, protocol specific data, and virtual infrastructure. With a complete set of relevant information the proactive and trending health analysis provided in SysTrack yields a thorough analysis in an easy to understand, quantitative score that summarizes performance on an environmental, group based, or individual system level.

Conclusions

NVIDIA GRID is a novel and powerful technique for delivering the advanced graphics users need in virtual infrastructure for the most flexible solution possible. By beginning a net new deployment, either from an existing environment with virtualization or from a physical estate, with an assessment powered by SysTrack it becomes simple to identify which segments of the user population have the most need for graphical processing to plan out a successful implementation. In the steady-state environment it also provides a method to monitor the end-user experience driven by the NVIDIA vGPU solution and quantify how well the systems are operating. This provides a complete perspective of the solution, simplifying the entire process from initial planning through the actual deployment.

Next Steps

To begin an assessment for deploying NVIDIA GRID using SysTrack's Virtual Machine Planner you can start by contacting your preferred partner or systems integrator and requesting more information about using SysTrack in your environment.