GPU - VM Test

GPU-accelerated computing is the use of a graphics processing unit (GPU) together with a CPU to accelerate scientific, analytics, engineering, consumer, and enterprise applications. GPU-accelerated computing enhances application performance by offloading compute-intensive portions of the application to the GPU, while the remainder of the code still runs on the CPU. Architecturally, while a CPU has only few cores and handles few hundred threads at a time, a GPU is composed of hundreds of cores that can handle thousands of threads simultaneously and render a flawless rich graphics experience.

Now, imagine if you could access your GPU-accelerated applications, even those requiring intensive graphics power, anywhere on any device. NVIDIA GRID makes this possible. With NVIDIA GRID, a virtualized GPU designed specifically for virtualized server environments, data center managers can bring true PC graphics-rich experiences to users.

The NVIDIA GRID GPUs will be hosted in enterprise data centers and allow users to run virtual desktops or virtual applications on multiple devices connected to the internet and across multiple operating systems, including PCs, notebooks, tablets and even smartphones. Users can utilize their online-connected devices to enjoy the GPU power remotely.

In VDI/virtualized server environments, the NVIDIA GRID delivers GPU resources to virtual desktops/VMs. This way, graphics can be rendered on a virtual machine’s (VM’s) host server rather than on a physical end-point device. This technology now makes it possible to use virtual desktop technology to support users accessing graphics intensive workloads. There are two modes of making GPU resources available to virtual desktops:

  • Dedicated GPU or GPU Pass-through Technology: NVIDIA GPU pass-through technology lets you create a virtual workstation that gives users all the benefits of a dedicated graphics processor at their desk. By directly connecting a dedicated GPU to a virtual machine through the hypervisor, you can now allocate the full GPU and graphics memory capability to a single virtual machine without any resource compromise.

    Figure 1 : Dedicated GPU Technology

  • Shared GPU or Virtual GPU (vGPU) Technology: GRID vGPU is the industry’s most advanced technology for sharing true GPU hardware acceleration between multiple virtual desktops—without compromising the graphics experience. With GRID vGPU technology, the graphics commands of each virtual machine are passed directly to the GPU, without translation by the hypervisor. This allows the GPU hardware to be time-sliced to deliver improved shared virtualized graphics performance. The GRID vGPU manager allows for management of user profiles. IT managers can assign the optimal amount of graphics memory and deliver a customized graphics profile to meet the specific needs of each user. Every virtual desktop has dedicated graphics memory, just like they would at their desk, so they always have the resources they need to launch and run their applications.

    Figure 2 : Shared vGPU Technology

In GPU-enabled Citrix XenServer environments, if users to VMs/virtual desktops complain of slowness when accessing graphic applications, administrators must be able to instantly detect the slowness and figure out its root-cause  – is it because adequate GPU resources are not allocated to the VMs/virtual desktops? Is it because of excessive utilization of GPU memory and processing resources by a few VMs/virtual desktops? Or is it because the GPU clock frequencies are improperly set for one/more GPUs used by a VM/virtual desktop?  

  • The VMs/virtual desktops have been allocated enough vGPUs;
  • The vGPUs are configured with enough graphics memory;
  • The vGPU clock frequencies are rightly set;
  • The GPU technology in use – i.e., the GPU Pass-through technology or the Shared vGPU technology – is ideal for the graphics processing requirements of the environment;

Measures to right-size the host and fine-tune its GPU configuration can be initiated based on the results of this analysis. This is exactly what the GPU – VM test helps administrators achieve! 

This test tracks the rate at which each vGPU processes frames, and thus pinpoints those vGPUs that are experiencing a processing bottleneck. The test also monitors the memory usage on each vGPU and helps administrators identify the vGPUs where memory is over-used. The test also reveals how each of these VMs/virtual desktops use each of the allocated vGPUs, thus enabling administrators to determine whether/not the allocated vGPUs are sufficient for the current and future processing requirements of the VMs/virtual desktops. In the process, the test also pinpoints those VMs/virtual desktops that are over-utilizing the graphical processors assigned to them. Also, to make sure that the assigned vGPUs are functioning without a glitch, the power consumption, temperature, and clock frequency of each vGPU is also checked at periodic intervals, so that abnormalities can be quickly detected.

Note:

This test will report metrics for only those Windows VMs where the nvwmi is installed. The steps for installing nvwmi and configuring the eG agent to use it have been detailed in the Monitoring Citrix XenServers document.

Target of the test : An ESX server host

Agent deploying the test : A remote agent

Outputs of the test : One set of results every vGPU assigned to each Windows VM on the vSphere/ESX server being monitored.

Configurable parameters for the test
  1. Testperiod - How often should the test be executed
  2. Host - The host for which the test is to be configured.
  3. port - The port at which the host listens. By default, this is NULL.
  4. esx user and esx password - In order to enable the test to extract the desired metrics from a target ESX server, you need to configure the test with an ESX USER and ESX PASSWORD. The user credentials to be passed here depend upon the mechanism used by the eG agent for discovering the VMs on the target ESX server and collecting performance statistics from it. These monitoring/discovery methodologies and their corresponding configuration requirements have been discussed hereunder:

    • VM discovery using the web services interface of the ESX server: Starting with ESX server 3.0, a VMware ESX server offers a web service interface using which the eG agent discovers the guest operating systems on a physical ESX host. The VMware VI SDK is used by the agent to implement the web services interface. To use this interface for discovering the VMs, this test should be configured with an ESX USER who has “Read-only” privileges to the target ESX server. By default, the root user is authorized to execute the test. However, it is preferable that you create a new user on the target ESX host and assign the “Read-only” role to him/her. The steps for achieving this have been elaborately discussed in Creating a New User with Read-Only Privileges to the ESX Server section.

      ESX servers terminate user sessions based on timeout periods. The default timeout period is 30 mins. When you stop an agent, sessions currently in use by the agent will remain open for this timeout period until ESX times out the session. If the agent is restarted within the timeout period, it will open a new set of sessions. If you want the eG agent to close already existing sessions before it opens new sessions, then you would have to configure all the tests with the credentials of an ESX user with permissions to View and Terminate Sessions. To know how to grant this permission to an ESX user, refer to Creating a Special Role on an ESX Server and Assigning the Role to a New User to the Server section.

    • VM discovery using the vCenter in the target environment: By default, the eG agent connects to each ESX server and discovers the VMs executing on it. While this approach scales well, it requires additional configuration for each server being monitored. For example, separate user accounts may need to be created on each server for read-only access to VM details. While monitoring large virtualized installations however, the agents can be optionally configured to perform guest discovery using the VM information already available in vCenter. In this case therefore, the ESX USER and ESX PASSWORD that you specify should be that of an Administrator or Virtual Machine Administrator in vCenter. However, if, owing to security constraints, you prefer not to use the credentials of such users, then, you can create a special role on vCenter with ‘Read-only’ privileges.

    Refer to Assigning the ‘Read-Only’ Role to a Local/Domain User to vCenter section to know how to create a user on vCenter.

    If the ESX server for which this test is being configured had been discovered via vCenter, then the eG manager automatically populates the esx user and esx password text boxes with the vCenter user credentials using which the ESX discovery was performed.

    Like ESX servers, vCenter servers too terminate user sessions based on timeout periods. The default timeout period is 30 mins. When you stop an agent, sessions currently in use by the agent will remain open for this timeout period until vCenter times out the session. If the agent is restarted within the timeout period, it will open a new set of sessions. If you want the eG agent to close already existing sessions before it opens new sessions, then you would have to configure all the tests with the credentials of a vCenter user with permissions to View and Terminate Sessions (from vCenter 4.1, this is called the View and stop sessions permission). To know how to grant this permission to a user to vCenter, refer to Creating a Special Role on vCenter and Assigning the Role to a Local/Domain User. When the eG agent is started/restarted, it first attempts to connect to the vCenter server and terminate all existing sessions for the user whose credentials have been provided for the tests.

    This is done to ensure that unnecessary sessions do not remain established in the vCenter server for the session timeout period.  Ideally, you should create a separate user account with the required credentials and use this for the test configurations. If you provide the credentials for an existing user for the test configuration, when the eG agent starts/restarts, it will close all existing sessions for this user (including sessions you may have opened using the Virtual Infrastructure client). Hence, in this case, you may notice that your VI client sessions are terminated when the eG agent starts/restarts.

  5. confirm password - Confirm the password by retyping it here.
  6. ssl - By default, the ESX server is SSL-enabled. Accordingly, the SSL flag is set to Yes by default. This indicates that the eG agent will communicate with the ESX server via HTTPS by default. On the other hand, if the eG agent has been configured to use the VMPerl API or CLI for monitoring (i.e., if the ESX USER parameter is set to none), then the status of the SSL flag is irrelevant.

    Like the ESX sever, the vCenter is also SSL-enabled by default. If you have chosen to use the vCenter for monitoring all the ESX servers in your environment, then you have to set the ssl flag to Yes.

  7. webport - By default, in most virtualized environments, the ESX server and vCenter listen on port 80 (if not SSL-enabled) or on port 443 (if SSL-enabled). This implies that while monitoring an SSL-enabled ESX server directly, the eG agent, by default, connects to port 443 of the ESX server to pull out metrics, and while monitoring a non-SSL-enabled ESX server, the eG agent connects to port 80. Similarly, while monitoring an ESX server via an SSL-enabled vCenter, the eG agent connects to port 443 of vCenter to pull out the metrics, and while monitoring via a non-SSL-enabled vCenter, the eG agent connects to port 80 of vCenter. Accordingly, the webport parameter is set to 80 or 443 depending upon the status of the ssl flag.  In some environments however, the default ports 80 or 443 might not apply. In such a case, against the webport parameter, you can specify the exact port at which the ESX server or vCenter in your environment listens so that the eG agent communicates with that port.
  8. VIRTUAL CENTER - If the eG manager had discovered the target ESX server by connecting to vCenter, then the IP address of the vCenter server used for discovering this ESX server would be automatically displayed against the vIRTUAL center parameter; similarly, the esx user and esx password text boxes will be automatically populated with the vCenter user credentials, using which ESX discovery was performed.

    If this ESX server has not been discovered using vCenter, but you still want to discover the guests on the ESX server via vCenter, then select the IP address of the vCenter host that you wish to use for guest discovery from the vIRTUAL center list. By default, this list is populated with the IP address of all vCenter hosts that were added to the eG Enterprise system at the time of discovery. Upon selection, the esx user and esx password that were pre-configured for that vCenter server will be automatically displayed against the respective text boxes.

    On the other hand, if the IP address of the vCenter server of interest to you is not available in the list, then, you can add the details of the vCenter server on-the-fly, by selecting the Other option from the vIRTUAL center list. This will invoke the add vcenter server details page. Refer to Adding the Details of a vCenter Server for Guest Discovery section to know how to add a vCenter server using this page. Once the vCenter server is added, its IP address, esx user, and esx password will be displayed against the corresponding text boxes.

    On the other hand, if you want the eG agent to behave in the default manner -i.e., communicate with each ESX server for VM information - then set the VIRTUAL CENTER parameter to ‘none’. In this case, the ESX USER and ESX PASSWORD parameters can either be set to none or can be configured with the credentials of a user who has at least ‘Read-only’ privileges to the target ESX server.

  9. exclude vms - Administrators of some virtualized environments may not want to monitor some of their less-critical VMs - for instance, VM templates - both from ‘outside’ and from ‘inside’. The eG agent in this case can be configured to completely exclude such VMs from its monitoring purview. To achieve this, provide a comma-separated list of VMs to be excluded from monitoring in the exclude vms text box. Instead of VMs, VM name patterns can also be provided here in a comma-separated list. For example, your exclude vms specification can be: *xp,*lin*,win*,vista. Here, the * (asterisk) is used to denote leading and trailing spaces (as the case may be). By default, this parameter is set to none indicating that the eG agent obtains the inside and outside views of all VMs on a virtual host by default. By providing a comma-separated list of VMs/VM name patterns in the exclude vms text box, you can make sure the eG agent stops collecting ‘inside’ and ‘outside’ view metrics for a configured set of VMs.
  10. ignore vms inside view - Administrators of some high security VMware environments might not have permissions to internally monitor one/more VMs. The eG agent can be configured to not obtain the ‘inside view’ of such ‘inaccessible’ VMs using the ignore vms inside view parameter. Against this parameter, you can provide a comma-separated list of VM names, or VM name patterns, for which the inside view need not be obtained. For instance, your ignore vms inside view specification can be: *xp,*lin*,win*,vista. Here, the * (asterisk) is used to denote leading and trailing spaces (as the case may be). By default, this parameter is set to none indicating that the eG agent obtains the inside view of all VMs on an ESX host by default.

    Note:

    While performing VM discovery, the eG agent will not discover the operating system of the VMs configured in the ignore vms inside view text box.

  11. ignore winnt - By default, the eG agent does not support the inside view for VMs executing on Windows NT operating systems. Accordingly, the ignore winnt flag is set to Yes by default.
  12. inside view using - By default, this test communicates with every VM remotely and extracts “inside view” metrics. Therefore, by default, the inside view using flag is set to Remote connection to VM (Windows).

    Typically, to establish this remote connection with Windows VMs in particular, eG Enterprise requires that the eG agent be configured with domain administrator privileges. In high-security environments, where the IT staff might have reservations about exposing the credentials of their domain administrators, this approach to extracting “inside view” metrics might not be preferred. In such environments therefore, eG Enterprise provides administrators the option to deploy a piece of software called the eG VM Agent on every Windows VM; this VM agent allows the eG agent to collect “inside view” metrics from the Windows VMs without domain administrator rights. Refer to Configuring the eG Agent to Collect Current Hardware Status Metrics for more details on the eG VM Agent. To ensure that the “inside view” of Windows VMs is obtained using the eG VM Agent, set the inside view using flag to eG VM Agent (Windows). Once this is done, you can set the domain, admin user, and admin password parameters to none.

  13. domain, admin user, admin password, and confirm password - By default, this test connects to each virtual guest remotely and attempts to collect “inside view” metrics. In order to obtain a remote connection, the test must be configured with user privileges that allow remote communication with the virtual guests. The first step towards this is to specify the DOMAIN within which the virtual guests reside. The admin user and admin password will change according to the domain specification. Discussed below are the different values that the domain parameter can take, and how they impact the admin user and admin password specifications:

    • If the VMs belong to a single domain:  If the guests belong to a specific domain, then specify the name of that domain against the domain parameter. In this case, any administrative user in that domain will have remote access to all the virtual guests. Therefore, an administrator account in the given domain can be provided in the ADMIN USER field and the corresponding password in the ADMIN PASSWORD field. Confirm the password by retyping it in the CONFIRM PASSWORD text box.
    • If the guests do not belong to any domain (as in the case of Linux/Solaris guests):  In this case, specify “none” in the DOMAIN field, and specify a local administrator account name in the ADMIN USER below.

      Prior to this, you need to ensure that the same local administrator account is available or is explicitly created on each of the virtual machines to be monitored. Then, proceed to provide the password of the ADMIN USER against ADMIN PASSWORD, and confirm the password by retyping it in the CONFIRM PASSWORD text box.

      If key-based authentication is implemented between the eG agent and the SSH daemon of a Linux guest, then, in the admin user text box, enter the name of the user whose <user_home_dir> (on that Linux guest) contains a .ssh directory with the public key file named authorized_keys. The admin password in this case will be the passphrase of the public key; the default public key file that is bundled with the eG agent takes the password eginnovations. Specify this as the admin password if you are using the default private/public key pair that is bundled with the eG agent to implement key-based authentication. On the other hand, if you are generating a new public/private key pair for this purpose, then use the passphrase that you provide while generating the pair. For the detailed procedure on Implementing Key-based Authentication refer to Troubleshooting the Failure of the eG Remote Agent to Connect to or Report Measures for Linux Guests.

    • If the guests belong to different domains- In this case, you might want to provide multiple domain names. If this is done, then, to access the guests in every configured domain, the test should be configured with the required user privileges; this implies that along with multiple DOMAIN names, multiple ADMIN USER names and ADMIN PASSWORDs would also have to be provided. To help administrators provide these user details quickly and easily, the eG administrative interface embeds a special configuration page. To access this page, simply click on the Click here hyperlink that appears just above the parameters of this test in the test configuration page. To know how to use the special page, refer to VM Details – ESX Test section.
    • If the inside view using flag is set to ‘eG VM Agent (Windows)’ - In this case, the inside view can be obtained without domain administrator privileges. Therefore, set the domain, admin user, and admin password parameters to none.
  14. REPORT BY USER - While monitoring a VMware ESX server, the REPORT BY USER flag is set to No by default, indicating that by default, the guest operating systems on the ESX server are identified using the hostname specified in the operating system. On the other hand, while monitoring VMware Desktop environments, this flag is set to Yes by default; this implies that in case of VDI servers, by default, the guests will be identified using the login of the user who is accessing the guest OS. In other words, in VDI environments, this test will, by default, report measures for every username_on_virtualmachinename.
  15. REPORT POWERED OS - This flag becomes relevant only if the report by userflag is set to ‘Yes’.

    If the report powered os flag is set to Yes (which is the default setting), then this test will report measures for even those VMs that do not have any users logged in currently. Such guests will be identified by their virtualmachine name and not by the username_on_virtualmachinename. On the other hand, if the report powered os flag is set to No, then this test will not report measures for those VMs to which no users are logged in currently.

  16. DD Frequency - Refers to the frequency with which detailed diagnosis measures are to be generated for this test. The default is 1:1. This indicates that, by default, detailed measures will be generated every time this test runs, and also every time the test detects a problem. You can modify this frequency, if you so desire. Also, if you intend to disable the detailed diagnosis capability for this test, you can do so by specifying none against DD Frequency.
  17. DETAILED DIAGNOSIS - To make diagnosis more efficient and accurate, the eG suite embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

    The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

    • The eG manager license should allow the detailed diagnosis capability
    • Both the normal and abnormalfrequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Cooler rate:

Indicates the percentage of device cooler rate for this GPU of this VM/virtual desktop.

Percentage

 

Virtual GPU compute utilization:

Indicates the proportion of time over the past sample period during which one or more kernels were executing on this vGPU of this VM/virtual desktop.

Percentage

A value close to 100% indicates that the GPU of the VM/virtual desktop is busy processing graphic requests almost all the time.

In a Shared vGPU environment a vGPU may be in use almost all the time, if the VM/virtual desktop it is allocated to run graphic-intensive applications. A resource-hungry VM/virtual desktop on a XenServer can impact the performance of other VMs/virtual desktops on the same server. If you find that only a single VM/virtual desktop has been consistently hogging the GPU resources, you may want to switch to the Dedicated GPU mode, so that excessive GPU usage by that VM/virtual desktop has no impact on the performance of other VMs/virtual desktops on that host.

If all GPUs assigned to a VM/virtual desktop are found to be busy most of the time, you may want to consider allocating more GPU resources to that VM/virtual desktop. 

Power consumption:

Indicates the current power usage of this GPU allocated to this VM/virtual desktop.

Watts

A very high value is indicative of excessive power usage by the GPU.

Compare the value of this measure across GPUs to know which VM’s/virtual desktop’s GPU is consuming power excessively. 

Core GPU temperature:

Indicates the current temperature of this GPU allocated to this VM/virtual desktop.

Celsius

Ideally, the value of this measure should be low. A very high value is indicative of abnormal GPU temperature.

Compare the value of this measure across VMs/virtual desktops to identify that VM/virtual desktop for which GPU temperature soared since the last reading. 

To reduce the heat output of the GPU and consequently its temperature, you may consider performing underclocking. For instance, it is possible to set a GPU to run at lower clock rates when performing everyday tasks (e.g. internet browsing and word processing), thus allowing the card to operate at lower temperature and thus lower, quieter fan speeds.

Total framebuffer memory:

Indicates the total size of frame buffer memory of this GPU of this VM/virtual desktop.

 

MiB

Frame buffer memory refers to the memory used to hold pixel properties such as color, alpha, depth, stencil, mask, etc.

Used frame buffer memory:

Indicates the amount of frame buffer memory on-board this GPU that has been used by this VM/virtual desktop.

MiB

Properties like the screen resolution, color level, and refresh speed of the frame buffer can impact graphics performance.

Also, if Error-correcting code (ECC) is enabled, the frame buffer memory usage will increase by several percent. This is because, ECC uses up memory to detect and correct the most common kinds of internal data corruption. Moreover, the driver may also reserve a small amount of memory for internal use, even without active work on the GPU; this too may impact frame buffer memory.

For optimal graphics performance therefore, adequate frame buffer memory should be allocated to the VM/virtual desktop.

Free frame buffer memory:

Indicates the amount of frame buffer memory on-board this GPU that has not been yet been used by this VM/virtual desktop.

MiB

 

Frame buffer memory utilization:

Indicates the percentage of total frame buffer memory that has been allocated to this VM/virtual desktop.

Percentage

Ideally, the value of this measure should be low.

A value close to 100% is indicative of excessive usage of frame buffer memory.

Properties like the screen resolution, color level, and refresh speed of the frame buffer can impact graphics performance.

Also, if Error-correcting code (ECC) is enabled, the frame buffer memory usage will increase by several percent. This is because, ECC uses up memory to detect and correct the most common kinds of internal data corruption. Moreover, the driver may also reserve a small amount of memory for internal use, even without active work on the GPU; this too may impact frame buffer memory usage.

For optimal graphics performance therefore, adequate frame buffer memory should be allocated to the VM/virtual desktop.

Virtual memory:

Indicates the virtual memory of this GPU device of this VM/virtual desktop.

MB

 

GPU memory utilization:

Indicates the percentage of time over the past sample period during which memory on this GPU was read/written on by this VM/virtual desktop.

Percentage

A value close to 100% is a cause for concern as it indicates that the graphics memory on a GPU is almost always in use.

In a Shared vGPU environment, memory may be consumed all the time if one/more VMs/virtual desktops utilize the graphics memory excessively and constantly. If you find that only a single VM/virtual desktop has been consistently hogging the graphic memory resources, you may want to switch to the Dedicated GPU mode, so that excessive memory usage by that VM/virtual desktop has no impact on the performance of other VMs/virtual desktops on that host.

If the value of this measure is high almost all the time for most of the GPUs, it could mean that the VM/virtual desktop is not sized with adequate graphics memory.   

Total BAR1 memory:

Indicates the total size of the BAR1 memory of this GPU allocated to this VM/virtual desktop.

MiB

BAR1 is used to map the frame buffer (device memory) so that it can be directly accessed by the CPU or by 3rd party devices (peer-to-peer on the PCIe bus).

Used BAR1 memory:

Indicates the amount of BAR1 memory on this GPU that is used by this VM/virtual desktop.

MiB

For better user experience with graphic applications, enough BAR1 memory should be available to the VM/virtual desktop.

Free BAR1 memory:

Indicates the total size of BAR1 memory of this GPU that is yet to be used by this VM/virtual desktop.

MiB

 

BAR1 memory utilization:

Indicates the percentage of the allocated BAR1 memory that is currently being utilized by this VM/virtual desktop.

Percentage

A value close to 100% is indicative of excessive usage of the BAR1 memory by a VM/virtual desktop.

For best graphics performance, this value should be low. To ensure that, adequate BAR1 memory should be allocated to the VM.

Power management:

Indicates whether/not power management is enabled for this GPU of this VM/virtual desktop.

 

Many NVIDIA graphics cards support multiple performance levels so that the server can save power when full graphics performance is not required. 

The default Power Management Mode of the graphics card is Adaptive. In this mode, the graphics card monitors GPU usage and seamlessly switches between modes based on the performance demands of the application. This allows the GPU to always use the minimum amount of power required to run a given application. This mode is recommended by NVIDIA for best overall balance of power and performance. If the power management mode is set to Adaptive, the value of this measure will be Supported.

Alternatively, you can set the Power Management Mode to Maximum Performance. This mode allows users to maintain the card at its maximum performance level when 3D applications are running regardless of GPU usage. If the power management mode of a GPU is Maximum Performance, then the value of this measure will be Maximum.

The numeric values that correspond to these measure values are discussed in the table below:

Measure Value Numeric Value

Supported

1

Maximum

0

Note:

By default, this measure will report the Measure Values listed in the table above to indicate the power management status. In the graph of this measure however, the same is represented using the numeric equivalents only.

Power limit:

Indicates the power limit configured for this GPU of this VM/virtual desktop.

Watts

This measure will report a value only if the value of the ‘Power management’ measure is ‘Supported’.

The power limit setting controls how much voltage a GPU can use when under load. Its not advisable to set the power limit at its maximum – i.e., the value of this measure should not be the same as the value of the Max power limit measure - as it can cause the GPU to behave strangely under duress.

Default power limit:

Indicates the default power management algorithm's power ceiling for this GPU.

Watts

This measure will report a value only if the value of the ‘Power management’ measure is ‘Supported’.

Enforced power limit:

Indicates the power management algorithm's power ceiling for this GPU of this VM/virtual desktop.

Watts

This measure will report a value only if the value of the ‘Power management’ measure is ‘Supported’.

The total board power draw is manipulated by the power management algorithm such that it stays under the value reported by this measure.

Min power limit:

The minimum value that the power limit be set to for this GPU of this VM/virtual desktop.

Watts

This measure will report a value only if the value of the ‘Power management’ measure is ‘Supported’.

 

Max power limit:

The maximum value that the power limit for this GPU of this VM/virtual desktop can be set to.

Watts

This measure will report a value only if the value of the ‘Power management’ measure is ‘Supported’.

If the value of this measure is the same as that of the Power limit measure, then the GPU may behave strangely.

Core clock:

Indicates current frequency of the graphics clock on this GPU of this VM/virtual desktop.

MHz

GPU has many more cores than your average CPU but these cores are much simpler and much smaller so that many more actually fit on a small piece of silicon. These smaller, simpler cores go by different names depending upon the tasks they perform. Stream processors are the cores that perform a single thread at a slow rate. But since GPUs contain numerous stream processors, they make overall computation high. The streaming multiprocessor clock is how fast the stream processors run. The memory clock is how fast the memory on the card runs. The GPU core clock is the speed at which the GPU assigned to the VM/virtual desktop operates. 

By correlating the frequencies of these clocks – i.e., the value of these measures - with the memory usage, power usage, and overall performance of the GPU, you can figure out if overclocking is required or not.

Overclocking is the process of forcing a GPU core/memory to run faster than its manufactured frequency. Overclocking can have both positive and negative effects on GPU performance. For instance, memory overclocking helps on cards with low memory bandwidth, and with games with a lot of post-processing/textures/filters like AA that are VRAM intensive. On the other hand, speeding up the operation frequency of a shader/streaming processor/memory clock, without properly analyzing its need and its effects, may increase its thermal output in a linear fashion. At the same time, boosting voltages will cause the generated heat to sky rocket. If improperly managed, these increases in temperature can cause permanent physical damage to the core/memory or even “heat death”.

Putting an adequate cooling system into place, adjusting the power provided to the GPU, monitoring your results with the right tools and doing the necessary research are all critical steps on the path to safe and successful overclocking.  

Memory clock:

Indicates current memory clock frequency on this GPU of this VM/virtual desktop.

MHz

Streaming multiprocessor clock:

Indicates the current frequency of the streaming multiprocessor clock on this GPU of this VM/virtual desktop.

MHz

Frame rate:

Indicates the rate at which frames are processed by this GPU of this VM/virtual desktop.

Frames/Sec

FPS is how fast your graphics card can output individual frames each second. It is the most time-tested and ideal measure of performance of a GPU. Higher the value of this measure, healthier is the GPU.

Fan speed:

Indicates the percent of maximum speed that this GPU’s fan is currently intended to run at.

Percentage

The value of this measure could range from 0 to 100%.

An abnormally high value for this measure could indicate a problem condition – eg., a sudden surge in the temperature of the GPU that could cause the fan to spin faster.

Note that the reported speed is only the intended fan speed. If the fan is physically blocked and unable to spin, this output will not match the actual fan speed. Many parts do not report fan speeds because they rely on cooling via fans in the surrounding enclosure. By default the fan speed is increased or decreased automatically in response to changes in temperature.

Compute processes:

Indicates the number of processes having compute context on this GPU of this VM.

Number

Use the detailed diagnosis of this measure to know which processes are currently using the GPU. The process details provided as part of the detailed diagnosis include, the PID of the process, the process name, and the GPU memory used by the process.

Note that the GPU memory usage of the processes will not be available in the detailed diagnosis, if the Windows platform on which XenApp operates is running in the WDDM mode. In this mode, the Windows KMD manages all the memory, and not the NVIDIA driver. Therefore, the NVIDIA SMI commands that the test uses to collect metrics will not be able to capture the GPU memory usage of the processes.  

Volatile single bit errors:

Indicates the number of volatile single bit errors in this GPU of this VM/virtual desktop.

Number

Volatile error counters track the number of errors detected since the last driver load. Single bit ECC errors are automatically corrected by the hardware and do not result in data corruption.

Ideally, the value of this measure should be 0.

Volatile double bit errors:

Indicates the total number of volatile double bit errors in this GPU of this VM/virtual desktop.

Number

Volatile error counters track the number of errors detected since the last driver load. Double bit errors are detected but not corrected.

Ideally, the value of this measure should be 0.

Aggregate single bit errors:

Indicates the total number of aggregate single bit errors in this GPU of this VM/virtual desktop.

Number

Aggregate error counts persist indefinitely and thus act as a lifetime counter. Single bit ECC errors are automatically corrected by the hardware and do not result in data corruption.

Ideally, the value of this measure should be 0.

Aggregate double bit errors:

Indicates the total number of aggregate double bit errors in this GPU of this VM/virtual desktop.

Number

Aggregate error counts persist indefinitely and thus act as a lifetime counter. Double bit errors are detected but not corrected.

Ideally, the value of this measure should be 0.

Mode:

Indicates the mode using which the GPU resources were delivered to this VMs.

 

The values that this measure can take and their corresponding numeric values are as follows:

Measure Value Numeric Values

Pass through

0

Shared

1

Unavailable (GPU card is not allocated to any VM)

2

Note:

By default, this test reports the Measure Values listed in the table above to indicate the mode of GPU delivery. In the graph of this measure however, the same is represented using the numeric equivalents only.

Physical GPU compute utilization:

Indicates the proportion of time over the past sample period during which one or more kernels were executing on the physical GPU of this VM/virtual desktop.

Percentage

This measure will report metrics only VMs configured with a Tesla GPU card.

A value close to 100% indicates that the physical GPU is busy processing graphic requests from this VM almost all the time.

In a Shared vGPU environment a vGPU may be in use almost all the time, if the VM/virtual desktop it is allocated to run graphic-intensive applications. A resource-hungry VM/virtual desktop on a XenServer can impact the performance of other VMs/virtual desktops on the same server. If you find that only a single VM/virtual desktop has been consistently hogging the GPU resources, you may want to switch to the Dedicated GPU mode, so that excessive GPU usage by that VM/virtual desktop has no impact on the performance of other VMs/virtual desktops on that host.

If all GPUs assigned to a VM/virtual desktop are found to be busy most of the time, you may want to consider allocating more GPU resources to that VM/virtual desktop. 

 

As stated earlier, by default, clicking on the Virtual Servers layer of a managed VMware ESX server, leads you to a page displaying the current status of the virtual guests executing on that server. If you want to override this default setting - i.e., if you prefer to view the tests mapped to the Virtual Servers layer first, and then proceed to focus on individual guest performance, follow the steps given below:

  • Edit the eg_ui.ini file in the <eg_install_dir>\manager\config directory
  • Set the LAYERMODEL_LINK_TO_VIRTUAL flag in the file to false; this is set to true by default.
  • Save the eg_ui.ini file.

Doing so ensures that as soon as the Virtual Servers layer is clicked, the list of tests mapped to that layer appears, as depicted by Figure 3.

Figure 3 : The tests mapped to the Virtual Servers layer of a VMware vSphere ESX server

If you now want the Server view of Figure 1, simply click on servers link above the list of tests in Figure 3.

Clicking on any of the guests in the Server view leads you to Figure 4 that displays all the performance metrics extracted from that guest, in real-time. You are thus enabled to cross-correlate across the various metrics, and quickly detect the root-cause of current/probable disturbances to the internal health of a guest. To view the time-of-day variations in a measure, you can view its graph by clicking on that measure in Figure 4.

Figure 4 : Measures pertaining to a chosen guest on a VMware vSphere ESX server

To view real-time graphs of pre-configured measures (pertaining to the ESX host and the guests operating on it), click on the live graph link in Figure 1. Alternatively, you can click on the icon that appears in the Tests panel (see Figure 1) when the Outside View of VMs layer is clicked. The graph display that appears subsequently (see Figure 5) has been organized in such a way that next to every host-pertinent measure graph, the closely related guest-specific measure graph appears. For instance, next to the graph of the ‘Physical CPU usage’ measure of the Cpu - Esx test, you will find a graph of the ‘Physical CPU used’ measure of the EsxGuestDetails test. This way, you can easily compare and correlate how well the physical CPU resources are being utilized by both the ESX host and the guests. On the basis of this analysis, you can proactively isolate potential performance issues, and also determine the root-cause of the issue - is it the ESX host? or is it the virtual guest? If you access this page from the LIVE GRAPH link in Figure 1, then, by default, you will view live graphs pertaining to the VMware vSphere ESX server. However, you can select a different virtualized component-type and a different virtualized component using the type and Component Name lists (respectively) in Figure 5.

Figure 5 : Live graph of the VMware vSphere ESX server

Also, using the eG Enterprise administration console, administrators can add applications running on the VM guests for monitoring. To monitor these applications, agents can be installed in the VM guests, or an agentless monitoring approach can be used.  To effectively monitor the applications running in a virtual environment, it is important to be able to determine which ESX server an application is running. This mapping of applications to ESX servers is important for root-cause diagnosis - for example, a problem with the ESX server (e.g., excessive disk slowdowns) can impact the performance of all the applications running on the server’s virtual machines. eG Enterprise is able to automatically determine the mapping of applications to ESX servers.

Whether eG Enterprise automatically determines the mapping of applications to ESX servers or not is determined by the value of the AutoVirtualMapping variable in the [MISC] section of the eg_external.ini configuration file in the <EG_INSTALL_DIR>\manager\config directory of the eG manager. If the value of this variable is true, the eG manager auto-discovers the applications to ESX servers mapping.

Note:

  • For AutoVirtualMapping to work, the detailed diagnosis frequencies set globally (i.e., using the Configure -> Diagnosis menu sequence) should not be set to 0:0.
  • As long as the Identify agents only using nick names flag in the manager settings page of the eG administrative interface (Configure -> Manager Settings menu sequence) is Yes (which is the default), eG Enterprise can automatically identify the server applications executing on an ESX host, using the host/nick names that are mapped to the IP addresses discovered on the host. If the Identify agents only using nick names flag is set to No instead, then make sure that, while managing a server application executing in a virtualized environment, the hostname of the virtual machine is specified as the nick name of the corresponding server application. If more than one server application is executing on the same virtual machine, then any one of those server applications should have the virtual machine name as its nick name.

To disable auto-discovery, set this value to false. In such a case, once a VMware vSphere ESX or a VMware ESX server is added, then, when adding any new server application using the eG administrative interface, you will be prompted to manually set an association between the server application being added and the ESX server. In the example depicted by Figure 6, the VIRTUAL ENVIRONMENT flag is set to YES indicating that the Oracle server is running on a guest operating system. The name of the virtual host on which the component is hosted is indicated in the VIRTUAL SERVERS selection.

Figure 6 : Adding a server application to a virtual environment

The mapping of applications to ESX servers is used by eG Enterprise for correlation - e.g., since the application runs on the ESX server, it is most likely that a problem with the ESX server will impact the performance of the application running on one of the guests. To view this application-ESX server association, simply click on the virtual components link in Figure 3.

Note:

The virtual components link will also be available in the layer model page of those server applications that are executing on virtual guests.

Doing so reveals Figure 7 depicting the VMware vSphere ESX sever and the server applications executing on it. By clicking on any of the components in Figure 7, the user can drill down into specific layers of this component for specific details on the performance of the component.

Figure 7 : Depicts the applications that have been deployed on the guest OS of an ESX server

The arrows in Figure 7 depict the dependencies between the ESX host and the applications running on it. Since the applications are hosted on one of the guests running on the ESX host, they depend on the ESX host - i.e., any unusual resource usage on the ESX host impacts the applications running on any of the virtual guests. The dependency information between the ESX host and the applications hosted on it is used by eG Enterprise for end-to-end correlation.