Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer program product for reducing virtual machine preemption in a virtualized environment, the computer program product comprising: a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a signal, the program instructions readable by a processor to cause the processor to perform a method comprising: dispatching a virtual central processing unit (CPU) to run in an emulation mode on a real CPU until the real CPU exits the emulation mode; determining whether the virtual CPU has loaded a wait state; in an event that the virtual CPU has loaded the wait state, determining whether a remaining time slice of the virtual CPU as a result of the dispatching is below a predefined threshold provided as a time slice percentage; in an event the remaining time slice of the virtual CPU is not below the predefined threshold, marking the virtual CPU as being idle with the remaining time slice being retained thereby; in an event the remaining time slice of the virtual CPU is below the predefined threshold, rescheduling the virtual CPU with a full time slice and marking the virtual CPU as being idle with the full time slice being retained thereby; increasing the predefined threshold in accordance with a determination that excessive virtual CPUs are exceeding respective time slices; and decreasing the predefined threshold in accordance with a determination that excessive hypervisor overhead is occurring.
2. The computer program product according to claim 1 , wherein the virtual CPU has a full time slice prior to the dispatching and the dispatching comprises delaying the dispatching until the real CPU becomes available.
3. The computer program product according to claim 1 , wherein the method further comprises: determining whether the virtual CPU exceeded a time slice during the dispatching; in an event that the virtual CPU exceeded the time slice during the dispatching, rescheduling the virtual CPU with a full time slice; and in an event that the virtual CPU did not exceed the time slice during the dispatching, having the virtual CPU retain the remainder as the remaining time slice.
4. The computer program product according to claim 1 , wherein, following the rescheduling of the virtual CPU with the full time slice, the method further comprises: having the virtual CPU available for new work; and repeating the dispatching.
5. The computer program product according to claim 1 , wherein the method further comprises: having the virtual CPU available for new work, in an event the remaining time slice of the virtual CPU is not below the predefined threshold; and repeating the dispatching.
6. A computing system configured to execute a reduction of virtual machine preemption in a virtualized environment, the computing system comprising: a processor; and memory; the processor being configured to: dispatch a virtual central processing unit (CPU) to run in an emulation mode on a real CPU until the real CPU exits the emulation mode, determine whether the virtual CPU has loaded a wait state, determine whether a remaining time slice of the virtual CPU as a result of the dispatching is below a predefined threshold provided as a time slice percentage in an event that the virtual CPU has loaded the wait state, and mark the virtual CPU as being idle with the remaining time slice being retained thereby in an event the remaining time slice of the virtual CPU is not below the predefined threshold, the processor being further configured to reschedule the virtual CPU with a full time slice and to mark the virtual CPU as being idle with the full time slice being retained thereby in an event the remaining time slice of the virtual CPU is below the predefined threshold, and to: increase the predefined threshold in accordance with a determination that excessive virtual CPUs are exceeding respective time slices; and decrease the predefined threshold in accordance with a determination that excessive hypervisor overhead is occurring.
7. The computing system according to claim 6 , wherein the virtual CPU has a full time slice prior to the dispatching and the dispatching comprises delaying the dispatching until the real CPU becomes available.
8. The computing system according to claim 6 , wherein the processor is further configured to: determine whether the virtual CPU exceeded a time slice during the dispatching; in an event that the virtual CPU exceeded the time slice during the dispatching, reschedule the virtual CPU with a full time slice; and in an event that the virtual CPU did not exceed the time slice during the dispatching, have the virtual CPU retain the remainder as the remaining time slice.
9. The computing system according to claim 6 , wherein, following the rescheduling of the virtual CPU with the full time slice, the processor is configured to: have the virtual CPU available for new work; and repeat the dispatching.
10. The computing system according to claim 6 , wherein the processor is further configured to: have the virtual CPU available for new work, in an event the remaining time slice of the virtual CPU is not below the predefined threshold; and repeat the dispatching.
Unknown
August 9, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.