IP Library › Granted Patent US 9,934,061
Granted Patent B2
US 9,934,061 · App. 14/981,035 · Granted Apr 3, 2018

Black box techniques for detecting performance and availability issues in virtual machines

Inventors: Yu Deng (Yorktown Heights, NY); Ruchi Mahindru (Elmsford, NY); Cuong Manh Pham (Yorktown Heights, NY); Harigovind Ramasamy (Ossining, NY); Soumitra Sarkar (Cary, NC); Mahesh Viswanathan (Yorktown Heights, NY); Long Wang (White Plains, NY)
Assignee: International Business Machines Corporation
G06F9/45558G06F2009/45579G06F2009/45591
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,934,061
App. No.
14/981,035
Granted
Apr 3, 2018
Kind
B2
Abstract

Methods, systems, and computer program products for black box techniques for detecting performance and availability issues in virtual machines exploiting hardware assisted virtualization are provided herein. A computer-implemented method includes capturing multiple hardware assisted virtualization exit calls generated in connection with a given virtual machine; calculating one or more virtual machine performance metrics attributed to the given virtual machine based on the multiple hardware assisted virtualization exit calls; determining one or more virtual machine performance issues and/or one or more virtual machine availability issues attributed to the given virtual machine based on the one or more calculated virtual machine performance metrics; and outputting an alert identifying the one or more determined virtual machine performance issues and/or the one or more virtual machine availability issues attributed to the given virtual machine.

Claims (40)

1. A computer-implemented method, comprising:

capturing multiple hardware assisted virtualization exit calls generated in connection with a given virtual machine, wherein said capturing comprises:

implementing an extension to a virtual machine exit event handling subroutine of a hypervisor that is capable of implementing virtualization using hardware assisted virtualization, wherein the extension provides instructions to intercept one or more virtual machine exit events; and forwarding the one or more virtual machine exit events to a virtual machine metrics calculation module;

calculating one or more virtual machine performance metrics attributed to the given virtual machine based on the multiple hardware assisted virtualization exit calls;

determining one or more virtual machine performance issues and/or one or more virtual machine availability issues attributed to the given virtual machine based on the one or more calculated virtual machine performance metrics; and

outputting an alert identifying the one or more determined virtual machine performance issues and/or the one or more virtual machine availability issues attributed to the given virtual machine;

via the alert, connecting to a data source for additional information by a remote user computer;

wherein the steps are carried out by at least one computing device.

2. The computer-implemented method of claim 1 , wherein the one or more virtual machine performance metrics attributed to the given virtual machine comprise a virtual machine exit frequency metric.

3. The computer-implemented method of claim 1 , wherein the one or more virtual machine performance metrics attributed to the given virtual machine comprise a hypervisor response time metric.

4. The computer-implemented method of claim 1 , wherein the one or more virtual machine performance metrics attributed to the given virtual machine comprise a metric pertaining to a number of active processes on the given virtual machine over a predefined period of time.

5. The computer-implemented method of claim 1 , wherein the one or more virtual machine performance metrics attributed to the given virtual machine comprise a metric pertaining to a number of active threads in each process on the given virtual machine and/or over a predefined period of time.

6. The computer-implemented method of claim 1 , wherein the one or more virtual machine performance metrics attributed to the given virtual machine comprise one or more input/output-related metrics.

7. The computer-implemented method of claim 1 , wherein the one or more virtual machine performance metrics attributed to the given virtual machine comprise one or more memory-related metrics.

8. The computer-implemented method of claim 1 , wherein the one or more virtual machine performance issues and/or one or more virtual machine availability issues attributed to the given virtual machine comprise an issue pertaining to central processing unit run- queue length of the given virtual machine.

9. The computer-implemented method of claim 1 , wherein the one or more virtual machine performance issues and/or one or more virtual machine availability issues attributed to the given virtual machine comprise an issue pertaining to hypervisor degradation in relation to the given virtual machine.

10. The computer-implemented method of claim 1 , wherein the one or more virtual machine performance issues and/or one or more virtual machine availability issues attributed to the given virtual machine comprise an issue pertaining to thrashing in the given virtual machine.

11. The computer-implemented method of claim 1 , wherein the one or more virtual machine performance issues and/or one or more virtual machine availability issues attributed to the given virtual machine comprise an issue pertaining to one or more abnormal input/output workload patterns in the given virtual machine.

12. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a device to cause the device to:

capture multiple hardware assisted virtualization exit calls generated in connection with a given virtual machine, wherein said capturing comprises:

implementing an extension to a virtual machine exit event handling subroutine of a hypervisor that is capable of implementing virtualization using hardware assisted virtualization, wherein the extension provides instructions to intercept one or more virtual machine exit events; and

forwarding the one or more virtual machine exit events to a virtual machine metrics calculation module;

calculate one or more virtual machine performance metrics attributed to the given virtual machine based on the multiple hardware assisted virtualization exit calls;

determine one or more virtual machine performance issues and/or one or more virtual machine availability issues attributed to the given virtual machine based on the one or more calculated virtual machine performance metrics; and

output an alert identifying the one or more determined virtual machine performance issues and/or the one or more virtual machine availability issues attributed to the given virtual machine;

via the alert, connecting to a data source for additional information by a remote user computer.

13. The computer program product of claim 12 , wherein the one or more virtual machine performance metrics attributed to the given virtual machine comprise (i) a virtual machine exit frequency metric, (ii) a hypervisor response time metric, (iii) a metric pertaining to a number of active processes on the given virtual machine over a predefined period of time, (iv) a metric pertaining to a number of active threads in each process on the given virtual machine and/or over a predefined period of time, (v) one or more input/output-related metrics, and/or (vi) one or more memory-related metrics.

14. The computer program product of claim 12 , wherein the one or more virtual machine performance issues and/or one or more virtual machine availability issues attributed to the given virtual machine comprise (i) an issue pertaining to central processing unit run-queue length of the given virtual machine, (ii) an issue pertaining to hypervisor degradation in relation to the given virtual machine, (iii) an issue pertaining to thrashing in the given virtual machine, and/or (iv) an issue pertaining to one or more abnormal input/output workload patterns in the given virtual machine.

15. A system comprising:

a memory; and

at least one processor coupled to the memory and configured for:

capturing multiple hardware assisted virtualization exit calls generated in connection with a given virtual machine, wherein said capturing comprises:

implementing an extension to a virtual machine exit event handling subroutine of a hypervisor that is capable of implementing virtualization using hardware assisted virtualization, wherein the extension provides instructions to intercept one or more virtual machine exit events, and

forwarding the one or more virtual machine exit events to a virtual machine metrics calculation module;

calculating one or more virtual machine performance metrics attributed to the given virtual machine based on the multiple hardware assisted virtualization exit calls;

determining one or more virtual machine performance issues and/or one or more virtual machine availability issues attributed to the given virtual machine based on the one or more calculated virtual machine performance metrics; and

outputting an alert identifying the one or more determined virtual machine performance issues and/or the one or more virtual machine availability issues attributed to the given virtual machine;

via the alert, connecting to a data source for additional information by a remote user computer.

16. The system of claim 15 , wherein the one or more virtual machine performance metrics attributed to the given virtual machine comprise (i) a virtual machine exit frequency metric, (ii) a hypervisor response time metric, (iii) a metric pertaining to a number of active processes on the given virtual machine over a predefined period of time, (iv) a metric pertaining to a number of active threads in each process on the given virtual machine and/or over a predefined period of time, (v) one or more input/output-related metrics, and/or (vi) one or more memory-related metrics.

17. The system of claim 15 , wherein the one or more virtual machine performance issues and/or one or more virtual machine availability issues attributed to the given virtual machine comprise (i) an issue pertaining to central processing unit run-queue length of the given virtual machine, (ii) an issue pertaining to hypervisor degradation in relation to the given virtual machine, (iii) an issue pertaining to thrashing in the given virtual machine, and/or (iv) an issue pertaining to one or more abnormal input/output workload patterns in the given virtual machine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2015
From: DENG, YU; MAHINDRU, RUCHI; PHAM, CUONG MANH; RAMASAMY, HARIGOVIND; SARKAR, SOUMITRA; VISWANATHAN, MAHESH; WANG, LONG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 037369/0030 →
Continuity (1)
Related Publication 20170185436A1 · Jun 29, 2017