Prioritizing memory pages to copy for memory migration
AssigneeInternational Business Machines Corporation
InventorsKeerthi B. Kumar, Swetha N. Rao
Life of this patent
Estimating the term…
Abstract
A method for transferring pages from a memory to a page repository identifies an affinity domain that associates processors and memory pages. The method further includes determining that a processor in an affinity domain is suspended and selecting pages included in that affinity domain to transfer prior to transferring pages in an affinity domain in which no processors are suspended.
Claims15
A method for transferring pages from a memory, the method comprising:
- identifying a first affinity domain, the first affinity domain associating a first set of processors with a first set of affinity pages in the memory, none of the processors included in the first set of processors in a suspended state;
- identifying a first memory page, the first memory page included in the first set of affinity pages, the first memory page to be transferred to a page repository;
- identifying a second affinity domain, the second affinity domain associating a second set of processors with a second set of affinity pages in the memory, the second set of processors including a first processor, the first processor in the suspended state;
- identifying a second memory page, the second memory page included in the second set of affinity pages, the second memory page to be transferred to the page repository, the second memory page associated with a first program;
- determining that the first program is not executing;
- determining to transfer the second memory page before transferring the first memory page, the determining based on the first memory page in the first affinity domain, the second memory page in the second affinity domain, the second memory page associated with the first program, and the first program not executing;
- and
- preparing transfer of the second memory page to occur prior to transfer of the first memory page.
A computer program product for transferring pages from a memory, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a first computer to perform a method comprising:
- identifying, by the first computer, a first affinity domain, the first affinity domain associating a first set of processors with a first set of affinity pages in the memory, none of the processors included in the first set of processors in a suspended state;
- identifying, by the first computer, a first memory page, the first memory page included in the first set of affinity pages, the first memory page to be transferred to a page repository;
- identifying, by the first computer, a second affinity domain, the second affinity domain associating a second set of processors with a second set of affinity pages in the memory, the second set of processors including a first processor, the first processor in the suspended state;
- identifying, by the first computer, a second memory page, the second memory page included in the second set of affinity pages, the second memory page to be transferred to the page repository, the second memory page associated with a first program;
- determining, by the first computer, that the first program is not executing;
- determining, by the first computer, to transfer the second memory page before transferring the first memory page, the determining based on the first memory page in the first affinity domain, the second memory page in the second affinity domain, the second memory page associated with the first program, and the first program not executing;
- and
- preparing, by the first computer, transfer of the second memory page to occur prior to transfer of the first memory page.
A system for transferring pages from a memory, the system comprising:
- the memory;
- and
- processors in communication with the memory, wherein the system is configured to perform a method, the method comprising:
- identifying a first affinity domain, the first affinity domain associating a first set of processors with a first set of affinity pages in the memory, none of the processors included in the first set of processors in a suspended state;
- identifying a first memory page, the first memory page included in the first set of affinity pages, the first memory page to be transferred to a page repository;
- identifying a second affinity domain, the second affinity domain associating a second set of processors with a second set of affinity pages in the memory, the second set of processors including a first processor, the first processor in the suspended state;
- identifying a second memory page, the second memory page included in the second set of affinity pages, the second memory page to be transferred to the page repository, the second memory page associated with a first program;
- determining that the first program is not executing;
- determining to transfer the second memory page before transferring the first memory page, the determining based on the first memory page in the first affinity domain, the second memory page in the second affinity domain, the second memory page associated with the first program, and the first program not executing;
- and
- preparing transfer of the second memory page to occur prior to transfer of the first memory page.
Dependencies are inferred from the claim text.