US 12,236,095 B2
Handling frequently accessed pages
Isaac R. Nassi, Los Gatos, CA (US); Kleoni Ioannidou, Sunnyvale, CA (US); Michael Berman, Scotts Valley, CA (US); I-Chun Fang, San Jose, CA (US); Mark Hill, Los Altos, CA (US); Brian Moffet, Santa Cruz, CA (US); Jeffrey Paul Radick, Campbell, CA (US); David P. Reed, Needham, MA (US); and Keith Reynolds, Issaquah, WA (US)
Assigned to Hewlett Packard Enterprise Development LP, Spring, TX (US)
Filed by Hewlett Packard Enterprise Development LP, Spring, TX (US)
Filed on Oct. 23, 2023, as Appl. No. 18/491,965.
Application 18/491,965 is a continuation of application No. 17/236,952, filed on Apr. 21, 2021, granted, now 11,803,306.
Application 17/236,952 is a continuation of application No. 16/019,348, filed on Jun. 26, 2018, granted, now 11,023,135, issued on Jun. 1, 2021.
Claims priority of provisional application 62/553,005, filed on Aug. 31, 2017.
Claims priority of provisional application 62/525,552, filed on Jun. 27, 2017.
Prior Publication US 2024/0078014 A1, Mar. 7, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 12/00 (2006.01); G06F 3/06 (2006.01); G06F 9/48 (2006.01); G06F 9/50 (2006.01); G06F 12/08 (2016.01)
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
OG exemplary drawing
 
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.