Back to results
US 2010/0250890 A1Published application
Managing working set use of a cache via page coloring
AssigneeMicrosoft Corporation
InventorsBradford Beckmann, Bradley M. Waters
Life of this patent
Estimating the term…
Abstract
A processor cache is indexed by a group of distinct page colors. The use of this cache by different working sets is controlled using page coloring. Translations of virtual addresses of the instructions and/or data of a working set are constrained to physical addresses the page colors of which are in a subgroup of the group of distinct page colors.
Claims20
A computer-readable storage medium having computer-executable instructions for performing steps comprising:
- initializing a pointer to point to a page color most recently used for a particular working set;
- incrementing a page color value to generate an incremented page color value for use when next allocating memory and translating a virtual address of the particular working set to a physical address;
- and
- if the incremented page color value exceeds a limit for the particular working set, resetting the incremented page color value to a page color offset for the particular working set prior to use of the incremented page color value for allocating memory and translating the virtual address to the physical address.
1 more element
A method for page coloring memory in a computer, comprising:
- initializing a pointer to point to a page color most recently used for a particular working set;
- incrementing a page color value to generate an incremented page color value for use when next allocating memory and translating a virtual address of the particular working set to a physical address;
- and
- if the incremented page color value exceeds a limit for the particular working set, resetting the incremented page color value to a page color offset for the particular working set prior to use of the incremented page color value for allocating memory and translating the virtual address to the physical address.
1 more element
A computing device, comprising:
- a memory comprising:
- a process working set structure for a particular working set comprising a color pointer, a page color limit and a page color offset;
- a color base structure, the color base structure comprising a color pointer and a page color offset;
- a page color value;
- a processor to allocate physical pages to virtual pages by:
- initializing the color pointer of the color base structure to point to a page color most recently used for the particular working set;
- initializing the page color offset of the color base structure to the page color offset of the particular working set;
- incrementing the page color value to generate an incremented page color value for use when next allocating memory and translating a virtual address of the particular working set to a physical address;
- and
- if the incremented page color value exceeds a limit for the particular working set, resetting the incremented page color value to the page color offset for the particular working set prior to use of the incremented page color value for allocating memory and translating the virtual address to the physical address.
7 more elements
Dependencies are inferred from the claim text.