Working set swapping using a sequentially ordered swap file
AssigneeMicrosoft Corporation
InventorsMehmet Iyigun, Yevgeniy (Eugene) Bak, Landy Wang, Arun U. Kishan
Life of this patent
Estimating the term…
Abstract
Techniques described enable efficient swapping of memory pages to and from a working set of pages for a process through the use of large writes and reads of pages to and from sequentially ordered locations in secondary storage. When writing pages from a working set of a process into secondary storage, the pages may be written into reserved, contiguous locations in a dedicated swap file according to a virtual address order or other order. Such writing into sequentially ordered locations enables reading in of clusters of pages in large, sequential blocks of memory, providing for more efficient read operations to return pages to physical memory.
Claims21
1-20. (canceled)
A computer-implemented method comprising:
- identifying one or more candidate pages for swapping from a working set of pages for a process;
- determining whether a swap file includes enough space to be reserved for swapping one or more of the candidate pages;
- in response to determining the amount of space is insufficient, dynamically modifying the amount of space in the swap file to reserve space in the swap file;
- and
- in response to determining the amount of space is sufficient, reserving space in the swap file.
A system comprising:
- at least one processor;
- a memory operably coupled to the at least one processor;
- and
- a memory manager that is stored on the memory and executed by the at least one processor and that operates to:
- identify one or more candidate pages for swapping from a working set of pages for a process;
- reserve space in a swap file, the reserved space corresponding to a total size of the one or more candidate pages;
- and
- write one or more of the candidate pages into the reserved space in the swap file.
A computer-readable media having stored thereon computer-executable instructions that, upon execution by a computer, configure the computer to perform operations comprising:
- identifying one or more pages for swapping from a working set of pages for a process;
- determining whether a swap file has a sufficient amount of space to accommodate the swapping of the one or more pages;
- and
- in response to determining the amount of space is insufficient, dynamically modifying the amount of space in the swap file.
Dependencies are inferred from the claim text.