ONLINE CLASSIFICATION OF MEMORY PAGES BASED ON ACTIVITY LEVEL
First Claim
1. A method of classifying an activity level of memory pages that are accessed by one or more virtual machines executing in a host machine, comprising:
- setting a scan rate that defines how frequently page table entries of hypervisor-managed page tables corresponding to the memory pages are to be scanned;
scanning the page table entries over multiple scan periods at the scan rate; and
for each of the memory pages and at each scan period, determining an activity level of the memory page based on whether the memory page has been accessed since a prior scan and storing the activity level of the memory page.
2 Assignments
0 Petitions
Accused Products
Abstract
Activity level of memory pages is classified in virtual machine environment, so that processes such as live VM migration and checkpointing, among others, can be carried out more efficiently. The method includes the steps of scanning page table entries of hypervisor-managed page tables continuously over repeating scan periods to determine whether memory pages have been accessed or not, and for each memory page, determining an activity level of the memory page based on whether the memory page has been accessed or not since a prior scan and storing the activity level of the memory page. The activity level of the memory page may be represented by one or more bits of its page table entry and may be classified as having at least two states ranging from hot to cold.
-
Citations
38 Claims
-
1. A method of classifying an activity level of memory pages that are accessed by one or more virtual machines executing in a host machine, comprising:
-
setting a scan rate that defines how frequently page table entries of hypervisor-managed page tables corresponding to the memory pages are to be scanned; scanning the page table entries over multiple scan periods at the scan rate; and for each of the memory pages and at each scan period, determining an activity level of the memory page based on whether the memory page has been accessed since a prior scan and storing the activity level of the memory page. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
- 25. A computer system including one or more virtual machines running therein, and a hypervisor for managing page tables that provide mappings from guest physical memory pages to machine memory pages, wherein the hypervisor is programmed to scan entries of the pages tables over repeating scan periods in accordance with a scan rate and determine an activity level of a machine memory page corresponding to the scanned page table entry based on whether an access or dirty bit of the scanned page table entry is set and store the activity level of the machine memory page.
-
29. A non-transitory computer-readable storage medium comprising instructions, which when executed in a computer system including a hypervisor for managing page tables that provide mappings from guest physical memory pages to machine memory pages, causes the computer system to carry out the steps of:
-
scanning page table entries of hypervisor-managed page tables over multiple scan periods according to a pre-defined scan rate; and for each of the memory pages and at each scan period, determining an activity level of the memory page based on whether the memory page has been accessed since a prior scan and storing the activity level of the memory page. - View Dependent Claims (30, 31, 32, 33, 34)
-
-
35. A method of classifying an activity level of memory pages that are accessed by one or more virtual machines executing in a host machine, comprising:
-
setting a frequency for checking access to the memory pages; and for each of the memory pages and each time the memory page is checked for access, determining an activity level of the memory page based on how frequently the memory page has been accessed and storing the activity level of the memory page. - View Dependent Claims (36, 37, 38)
-
Specification