Workload-aware page management for in-memory databases in hybrid main memory systems
AssigneeSap SE
InventorAhmad Hassan
Life of this patent
Estimating the term…
Abstract
Implementations of the present disclosure include receiving a sorted list of pages, each page corresponding to a fixed-length contiguous block of virtual memory, and being associated with a respective state, each state indicating a number of off-chip accesses determined for a respective page, and executing an application, which queries an in-memory database provided with a hybrid memory system, and, during execution of the application: identifying at least one page in the sorted list of pages as a page that is to-be-locked during execution of the application based on a threshold, and locking the at least one page in main memory to inhibit swapping of the at least one page by an operating system.
Claims20
A computer-implemented method executed by one or more processors, the method comprising:
- prior to executing an application that queries an in-memory database provided with a hybrid memory system, receiving a sorted list of pages, each page corresponding to a fixed-length contiguous block of virtual memory, and being associated with a respective state, each state indicating a number of off-chip accesses determined for a respective page, each state being determined based on a query execution plan (QEP) that is executed within the hybrid memory system in response to a query submitted by the application;
- and
- executing the application, and, during execution of the application:
- determining the QEP responsive to the query submitted by the application,
- identifying at least one page in the sorted list of pages as a page that is to-be-locked based on comparing the state of the at least one page to a threshold,
- locking the at least one page in main memory to inhibit swapping of the at least one page from main memory by an operating system, and
- executing the QEP to access the at least one page in the main memory to provide a result.
A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
- prior to executing an application that queries an in-memory database provided with a hybrid memory system, receiving a sorted list of pages, each page corresponding to a fixed-length contiguous block of virtual memory, and being associated with a respective state, each state indicating a number of off-chip accesses determined for a respective page, each state being determined based on a query execution plan (QEP) that is executed within the hybrid memory system in response to a query submitted by the application;
- and
- executing the application, and, during execution of the application:
- determining the QEP responsive to the query submitted by the application,
- identifying at least one page in the sorted list of pages as a page that is to-be-locked based on comparing the state of the at least one page to a threshold,
- locking the at least one page in main memory to inhibit swapping of the at least one page from main memory by an operating system, and
- executing the QEP to access the at least one page in the main memory to provide a result.
A system, comprising:
- a computing device;
- and
- a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations comprising:
- prior to executing an application that queries an in-memory database provided with a hybrid memory system, receiving a sorted list of pages, each page corresponding to a fixed-length contiguous block of virtual memory, and being associated with a respective state, each state indicating a number of off-chip accesses determined for a respective page, each state being determined based on a query execution plan (QEP) that is executed within the hybrid memory system in response to a query submitted by the application;
- and
- executing the application, and, during execution of the application:
- determining the QEP responsive to the query submitted by the application,
- identifying at least one page in the sorted list of pages as a page that is to-be-locked based on comparing the state of the at least one page to a threshold,
- locking the at least one page in main memory to inhibit swapping of the at least one page from main memory by an operating system, and
- executing the QEP to access the at least one page in the main memory to provide a result.
Dependencies are inferred from the claim text.