Systems and methods for tier management in memory-tiering environments
Systems and methods for tier management in memory-tiering environments. In some embodiments, a method includes accessing, by a first process, a first page of the first process in a first tier of a non-uniform memory access memory; and locking, by a first thread, the first page against demotion. The first thread may be a tier-management thread of the first process, and the locking of the first page may be based on a service level of the first process.
1 . A method, comprising:
generating a first application process;
generating, based on the generating of the first application process, a first thread of the first application process;
accessing, by the first application process, a first page of the first application process in a first tier of a non-uniform memory access memory; and
locking, by the first thread of the first application process, the first page against demotion by an operating system,
the first thread being a tier-management thread of the first application process, and
the locking of the first page being based on a service level of the first application process, wherein the service level determines a quantity of pages of the first application process to store in the first tier.
2 . The method of claim 1 , wherein the locking of the first page is further based on a first ranking of pages of the first application process, the first ranking of pages including the first page.
3 . The method of claim 1 , comprising locking a number of pages of the first application process including the first page, wherein the number of pages is based on the service level of the first application process.
4 . The method of claim 3 , wherein the number of pages is further based on a total number of pages of the first application process.
5 . The method of claim 1 , further comprising:
accessing, by the first application process, a second page of the first application process in the first tier of the non-uniform memory access memory; and
locking, by the first thread, the second page against demotion.
6 . The method of claim 5 , further comprising unlocking the first page, wherein the unlocking of the first page is based on the service level of the first application process.
7 . The method of claim 6 , wherein the unlocking of the first page is further based on a second ranking of pages of the first application process, the second ranking of pages including the first page and the second page.
8 . The method of claim 7 , wherein, in the second ranking, the second page is ranked higher than the first page.
9 . The method of claim 1 , wherein the first thread is dedicated to the first application process.
10 . A system, comprising:
a processing circuit; and
memory, operatively connected to the processing circuit and storing instructions that, when executed by the processing circuit, cause the system to perform a method, the method comprising:
generating a first application process;
generating, based on the generating of the first application process, a first thread of the first application process;
accessing, by the first application process, a first page of the first application process in a first tier of a non-uniform memory access memory; and
locking, by the first thread, the first page against demotion,
the first thread being a tier-management thread of the first application process, and
the locking of the first page being based on a service level of the first application process, wherein the service level determines a quantity of pages of the first application process to store in the first tier.
11 . The system of claim 10 , wherein the locking of the first page is further based on a first ranking of pages of the first application process, the first ranking of pages including the first page.
12 . The system of claim 10 , wherein the method comprises locking a number of pages of the first application process including the first page, wherein the number of pages is based on the service level of the first application process.
13 . The system of claim 12 , wherein the number of pages is further based on a total number of pages of the first application process.
14 . The system of claim 10 , wherein the method further comprises:
accessing, by the first application process, a second page of the first application process in the first tier of the non-uniform memory access memory; and
locking, by the first thread, the second page against demotion.
15 . The system of claim 14 , wherein the method further comprises unlocking the first page, wherein the unlocking of the first page is based on the service level of the first application process.
16 . The system of claim 15 , wherein the unlocking of the first page is further based on a second ranking of pages of the first application process, the second ranking of pages including the first page and the second page.
17 . The system of claim 16 , wherein, in the second ranking, the second page is ranked higher than the first page.
18 . The system of claim 10 , wherein the first thread is dedicated to the first application process.
19 . A system, comprising:
means for processing; and
memory operatively connected to the means for processing, wherein the memory stores instructions that, when executed by the means for processing, cause the system to perform a method, the method comprising:
generating a first application process;
generating, based on generating the first application process, a first thread of the first application process;
accessing, by the first application process, a first page of the first application process in a first tier of a non-uniform memory access memory; and
locking, by the first thread, the first page against demotion by an operating system,
the first thread being a tier-management thread of the first application process, and
the locking of the first page being based on a service level associated with the first application process, wherein the service level determines a quantity of pages of the first application process to store in the first tier.
20 . The system of claim 19 , wherein the locking of the first page is further based on a first ranking of pages of the first application process, the first ranking of pages including the first page.