US 10,891,056 B2
Virtualization of memory compute functionality
Edgar Cordero, Round Rock, TX (US); Anand Haridass, Bangalore (IN); Arun Joseph, Bangalore (IN); and Diyanesh B. C. Vidyapoornachary, Bangalore (IN)
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION, Armonk, NY (US)
Filed by INTERNATIONAL BUSINESS MACHINES CORPORATION, Armonk, NY (US)
Filed on Apr. 30, 2019, as Appl. No. 16/398,576.
Application 16/398,576 is a continuation of application No. 15/334,504, filed on Oct. 26, 2016, granted, now 10,346,050.
Prior Publication US 2019/0258399 A1, Aug. 22, 2019
Int. Cl. G06F 12/00 (2006.01); G06F 3/06 (2006.01); G06F 9/455 (2018.01); G06F 12/109 (2016.01); G06F 9/445 (2018.01)
CPC G06F 3/061 (2013.01) [G06F 3/0631 (2013.01); G06F 3/0656 (2013.01); G06F 3/0673 (2013.01); G06F 9/445 (2013.01); G06F 9/45533 (2013.01); G06F 12/00 (2013.01); G06F 12/109 (2013.01); G06F 2212/1041 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A computer-implemented method for managing allocation of memory compute functionality, the method comprising:
receiving, from a first system component of a plurality of system components, a request for free memory pages that are not currently being used by any of the plurality of system components, wherein the plurality of system components further comprises a second system component and a third system component, wherein a priority associated with the first system component is higher than a priority associated with the second system component, and the priority associated with the second system component is higher than a priority associated with the third system component;
allocating, by a virtualized hypervisor, resources of a memory function controller to the first system component;
determining that one or more first criteria are not met for obtaining a group of free memory pages from a group of active memory pages, wherein at least a portion of the group of active memory pages are currently being utilized by the second system component, and the one or more first criteria include a predicted impact to system performance of allocating the group of free memory pages to the first system component;
receiving, from the third system component, a second request for the free memory pages, wherein the second request is received after receiving the first request;
allocating, by the virtualized hypervisor, the resources of the memory function controller to the third system component;
determining that the one or more second criteria are met for obtaining the group of free memory pages from the group of active memory pages, the one or more second criteria including a predicted impact to system performance of allocating the group of free memory pages to the third system component;
obtaining the group of free memory pages from the group of active memory pages, the obtaining comprising moving memory pages from the group of active memory pages into the group of free memory pages;
converting the group of free memory pages into a group of memory compute pages; and
allocating, by the virtualized hypervisor, the group of memory compute pages for exclusive use by a memory compute function of the memory function controller to execute one or more operations on behalf of the third system component.