| CPC G06F 3/0611 (2013.01) [G06F 3/0647 (2013.01); G06F 3/0653 (2013.01); G06F 3/067 (2013.01); G06F 9/4856 (2013.01); G06F 9/4881 (2013.01); G06F 9/5033 (2013.01); G06F 9/5044 (2013.01); G06F 9/5077 (2013.01); G06F 12/08 (2013.01); G06F 2209/509 (2013.01)] | 20 Claims |

|
1. A method comprising:
receiving, by a hyper-kernel on a first computing node of a plurality of computing nodes, an indication of a stalling event caused by a requested portion of a memory being inaccessible, wherein a guest operating system is run in a virtual environment comprising a plurality of hyper-kernels executing on the plurality of computing nodes, and wherein the requested portion of the memory is requested by a virtual processor on the first computing node, and the requested portion of the memory is on a second computing node of the plurality of computing nodes;
determining, based on the hyper-kernel performing a query of a data structure comprising identifiers of portions of the memory designated as being frequently updated, whether the requested portion of the memory is designated as a frequently updated portion of the memory;
determining, by the hyper-kernel, whether the virtual processor is a high frequency virtual processor based on the virtual processor accessing portions of the memory more frequently than another virtual processor on the first computing node; and
migrating, by the hyper-kernel, the virtual processor from the first computing node to the second computing node for handling the stalling event based on determining that the requested portion of the memory is designated as a frequently updated portion of the memory and that the virtual processor is not a high frequency virtual processor.
|