Optimizing virtual machine synchronization for application software
First Claim
Patent Images
1. A computer program product for optimizing performance of an application executed by a virtual machine, the virtual machine executed by a system that includes a plurality of processing units, the computer program product comprising:
- a non-transitory computer-readable storage medium having embodied thereon computer-readable code that, when executed by a computer, causes the computer to execute a method of optimizing the performance of the virtual machine, the method comprising;
measuring, by a container application of the system that controls the virtual machine, at least a hardware metric of the system upon which the virtual machine is executed and a software metric of an application executed by the virtual machine; and
adjusting a tunable execution parameter of the virtual machine that optimizes execution of the application based on the measured hardware and software metric,wherein the hardware metric and the software metric cannot be measured by the virtual machine and the tunable execution parameter is a parameter that is adjusted by the virtual machine, andwherein the tunable execution parameter comprises an allocation of the plurality of processing units allocated to the virtual machine to which servicing of the application is restricted and a spin strategy for the application that controls spinning in locks used for synchronization within the virtual machine.
1 Assignment
0 Petitions
Accused Products
Abstract
Real-time application metrics of an application executed by a virtual machine are dynamically monitored by a controlling agent and analyzed to determine an optimal configuration of the virtual machine for executing the application. Based on the measured metrics, tunable parameters of the virtual machine may be adjusted to achieve desired application performance.
-
Citations
14 Claims
-
1. A computer program product for optimizing performance of an application executed by a virtual machine, the virtual machine executed by a system that includes a plurality of processing units, the computer program product comprising:
a non-transitory computer-readable storage medium having embodied thereon computer-readable code that, when executed by a computer, causes the computer to execute a method of optimizing the performance of the virtual machine, the method comprising; measuring, by a container application of the system that controls the virtual machine, at least a hardware metric of the system upon which the virtual machine is executed and a software metric of an application executed by the virtual machine; and adjusting a tunable execution parameter of the virtual machine that optimizes execution of the application based on the measured hardware and software metric, wherein the hardware metric and the software metric cannot be measured by the virtual machine and the tunable execution parameter is a parameter that is adjusted by the virtual machine, and wherein the tunable execution parameter comprises an allocation of the plurality of processing units allocated to the virtual machine to which servicing of the application is restricted and a spin strategy for the application that controls spinning in locks used for synchronization within the virtual machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A system for optimizing performance of an application executed by a virtual machine, the system comprising:
-
at least one processor configured to implement a container application that controls execution of applications running under the virtual machine, the container application comprising; a measuring unit that measures a hardware metric of the system upon which the virtual machine is executed and a software metric of an application executed by the virtual machine; and an adjusting unit that adjusts a tunable execution parameter of the virtual machine that optimizes execution of the application based on the measured hardware and software metric, wherein the hardware metric and the software metric cannot be measured by the virtual machine and the tunable execution parameter is a parameter that is adjusted by the virtual machine, and wherein the tunable execution parameter comprises an allocation of the plurality of processing units allocated to the virtual machine to which servicing of the application is restricted and a spin strategy for the application that controls spinning in locks used for synchronization within the virtual machine. - View Dependent Claims (10, 11, 12, 13, 14)
-
Specification