Optimizing virtual machine synchronization for application software
First Claim
Patent Images
1. A method of optimizing performance of a virtual machine executed by a system that includes a plurality of physical processing units, the method comprising:
- measuring, by a controlling agent of the system running outside of the virtual machine that controls the virtual machine, a metric of an application executed by the virtual machine, the metric comprising a hardware metric of the system upon which the virtual machine is executed that is unavailable for measurement by the virtual machine, wherein the hardware metric comprises a utilization rate of physical processing units among the plurality of physical processing units according to a processor affinity of the virtual machine allocated to the virtual machine to which servicing of the application is restricted; and
adjusting a plurality of tunable execution parameters of the virtual machine for optimizing execution of the application based on the measured metric, wherein the plurality of tunable execution parameters comprises an allocation of the plurality of physical processing units according to the processor affinity of the virtual machine, to which servicing of the application is restricted, allocated to the virtual machine and a spin strategy 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.
22 Citations
12 Claims
-
1. A method of optimizing performance of a virtual machine executed by a system that includes a plurality of physical processing units, the method comprising:
-
measuring, by a controlling agent of the system running outside of the virtual machine that controls the virtual machine, a metric of an application executed by the virtual machine, the metric comprising a hardware metric of the system upon which the virtual machine is executed that is unavailable for measurement by the virtual machine, wherein the hardware metric comprises a utilization rate of physical processing units among the plurality of physical processing units according to a processor affinity of the virtual machine allocated to the virtual machine to which servicing of the application is restricted; and adjusting a plurality of tunable execution parameters of the virtual machine for optimizing execution of the application based on the measured metric, wherein the plurality of tunable execution parameters comprises an allocation of the plurality of physical processing units according to the processor affinity of the virtual machine, to which servicing of the application is restricted, allocated to the virtual machine and a spin strategy that controls spinning in locks used for synchronization within the virtual machine. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for optimizing performance of an application executed by a virtual machine, the system comprising:
at least one processor configured to implement a controlling agent of the system running outside of the virtual machine that controls the virtual machine, the controlling agent comprising; a measuring unit that measures a metric of an application executed by the virtual machine, the metric comprising a hardware metric of the system upon which the virtual machine is executed that is unavailable for measurement by the virtual machine, wherein the hardware metric comprises a utilization rate of physical processing units according to a processor affinity of the virtual machine among the plurality of physical processing units allocated to the virtual machine to which servicing of the application is restricted; and an adjusting unit that adjusts a plurality of tunable execution parameters of the virtual machine for optimizing execution of the application based on the measured metric, wherein the tunable execution parameter comprises an allocation of the plurality of physical processing units according to the processor affinity of the virtual machine, to which servicing of the application is restricted, allocated to the virtual machine and a spin strategy that controls spinning in locks used for synchronization within the virtual machine. - View Dependent Claims (8, 9, 10, 11, 12)
Specification