Page placement method and device, electronic equipment, storage medium and program product
By considering the service quality parameters and page temperature of the application, targeted pages migration solves the problem of unbalanced performance in the existing technology, and achieves more balanced application performance and system performance improvement.
Patent Information
- Application Number
- CN202411426194.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-12
- Publication Date
- 2025-01-21
AI Technical Summary
In the prior art, page migration methods may lead to uneven performance of different applications, and only consider the hot and cold pages of the page and ignore the performance of the application.
By detecting the application page temperature and service quality parameters in the system, page migration is performed in response to preset trigger events (such as performance degradation or insufficient memory). Hot pages are migrated to memory devices with higher access speeds, and cold pages are migrated to memory devices with faster access speeds. Low memory device.
Ensure that the performance of different applications is more balanced, avoid meaningless performance improvements or inappropriate reductions, and improve the overall performance and service quality of the system.
Smart Images

Figure CN119336506A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and more specifically, to a page placement method, device, electronic device, storage medium, and program product. Background Art
[0002] The high-speed interconnect (Compute Express Link, CXL) technology maintains memory consistency between the central processing unit (CPU) memory space and the device memory, thereby enabling resource sharing to achieve high performance, and can also reduce software stack complexity and overall system cost.
[0003] In the related art, an operating system-level application transparent page placement mechanism (TPP) is proposed for CXL tiered memory. The TPP adopts a least recently used (Least Recently Used, LRU) mechanism to identify hot and cold pages contained in the application and place them into appropriate memory tiers.
[0004] However, in the related art, when performing page migration, only the hotness or coldness of the page is considered, that is, page migration is unknown to the application. At this time, the performance of some applications with relatively good performance may be meaninglessly improved, or the performance of some applications with relatively poor performance may be inappropriately reduced. It can be seen that the page migration method in the related art may lead to uneven performance of different applications. Summary of the invention
[0005] The present disclosure provides a page placement method, device, electronic device, storage medium and program product to at least solve the problem that the page migration method in the above-mentioned related technology may cause uneven performance of different applications.
[0006] According to a first aspect of an embodiment of the present disclosure, a page placement method is provided, comprising: in response to detecting the occurrence of a preset trigger event for performing page migration, migrating pages of applications within the system based on the page temperature and service quality parameters of the applications within the system; wherein the preset trigger event comprises an event that affects the performance of the system; wherein the pages of the application are divided into hot pages and cold pages according to temperature, and the higher the access frequency of the page, the hotter the temperature of the page; wherein the system comprises multiple memory devices, and the page migration comprises migrating the page from an original memory device where it was originally placed to another new memory device for placement, and the access speeds of the original memory device and the new memory device are different.
[0007] Optionally, migrating pages of applications within the system based on page temperature and service quality parameters of applications within the system includes: judging the current running performance status of each application within the system based on the service quality parameters corresponding to each application to obtain abnormal performance parameters for evaluating the performance status of each application; determining a target application for page migration based on the abnormal performance parameters of each application; and migrating pages of the target application based on the page temperature within the target application.
[0008] Optionally, the preset trigger event includes a performance degradation of an application within the system; and migrating pages of the target application based on the page temperature within the target application includes: migrating hot pages within the target application from the original memory device to the new memory device having an access speed higher than that of the original memory device, wherein the target application is an application whose abnormal performance parameter is greater than or equal to a preset threshold.
[0009] Optionally, the preset trigger event includes insufficient remaining available space of the system's memory device; and migrating the pages of the target application based on the page temperature within the target application includes: migrating the cold pages of the target application in the memory device with insufficient remaining available space from the original memory device to the new memory device having an access speed lower than that of the original memory device, wherein the target application is the application whose abnormal performance parameter is lower than a preset threshold.
[0010] Optionally, the page placement method further includes: for each application of at least one application in the system, performing page temperature identification for each application respectively to obtain a hot page list and a cold page list for each application respectively, wherein the hot page list contains hot pages of the application, and the cold page list contains cold pages of the application.
[0011] Optionally, the performing page temperature identification for each application separately includes: determining whether each of the multiple pages of the single application is a hot page or a cold page based on the temperatures of the multiple pages included in the single application.
[0012] Optionally, the page placement method further includes: determining the number of pages to be migrated based on the degree of performance degradation of the system; wherein the degree of performance degradation of the system is positively correlated with the number of pages to be migrated.
[0013] Optionally, the page placement method further includes: when it is detected that there is an initial page of the memory device to be allocated, allocating the initial page based on a quality of service parameter of an application to which the initial page belongs and a type of the initial page.
[0014] Optionally, the allocating the initial page based on the service quality parameters of the application to which the initial page belongs and the type of the initial page includes: determining whether the type of the initial page is an anonymous type; if the type of the initial page is the anonymous type, allocating the initial page to a first predetermined memory device with a higher access speed contained in the system for placement, wherein the first predetermined memory device is a memory device among the multiple memory devices whose access speed is higher than a predetermined setting; otherwise, allocating the initial page based on the service quality parameters of the application to which the initial page belongs.
[0015] Optionally, allocating the initial page based on the service quality parameters of the application to which the initial page belongs includes: judging the performance status of the application to which the initial page belongs that is currently running based on the service quality parameters of the application to which the initial page belongs, so as to obtain abnormal performance parameters for evaluating the performance status of the application to which the initial page belongs; when the abnormal performance parameters corresponding to the application to which the initial page belongs are greater than or equal to a preset threshold, allocating the initial page to the first predetermined memory device for placement; otherwise, allocating the initial page to a second predetermined memory device with a lower access speed included in the system for placement, wherein the second predetermined memory device is a memory device among the multiple memory devices whose access speed is lower than the predetermined setting.
[0016] According to a second aspect of an embodiment of the present disclosure, a page placement device is provided, comprising: a page migration module, configured to migrate pages of applications within the system based on the page temperature and service quality parameters of the applications within the system in response to detecting the occurrence of a preset trigger event for performing page migration; wherein the preset trigger event includes an event that affects the performance of the system; wherein the pages of the application are divided into hot pages and cold pages according to temperature, and the higher the access frequency of the page, the hotter the temperature of the page; wherein the system comprises multiple memory devices, and the page migration comprises migrating the page from an original memory device where it was originally placed to another new memory device for placement, and the access speeds of the original memory device and the new memory device are different.
[0017] Optionally, the page migration module is configured to: determine the current running performance status of each application in the system based on the service quality parameters corresponding to each application to obtain abnormal performance parameters for evaluating the performance status of each application; determine the target application for page migration to be performed based on the abnormal performance parameters of each application; and migrate the pages of the target application based on the page temperature within the target application.
[0018] Optionally, the preset trigger event includes a performance degradation of an application within the system; the page migration module is configured to: migrate the hot pages within the target application from the original memory device to the new memory device having an access speed higher than that of the original memory device for placement, wherein the target application is an application whose abnormal performance parameter is greater than or equal to a preset threshold.
[0019] Optionally, the preset trigger event includes insufficient remaining available space in the memory device of the system; the page migration module is configured to: migrate the cold pages of the target application in the memory device with insufficient remaining available space from the original memory device to the new memory device having an access speed lower than that of the original memory device, wherein the target application is the application whose abnormal performance parameter is lower than a preset threshold.
[0020] Optionally, the page placement device also includes: a page temperature identification module, configured to perform page temperature identification for each application of at least one application in the system, so as to obtain a hot page list and a cold page list for each application, respectively, wherein the hot page list contains hot pages of the application, and the cold page list contains cold pages of the application.
[0021] Optionally, the page temperature identification module is configured to determine whether each of the multiple pages of a single application is a hot page or a cold page based on the temperatures of the multiple pages contained in the single application.
[0022] Optionally, the page placement device further includes: a quantity determination module configured to determine the number of pages to be migrated based on the degree of performance degradation of the system; wherein the degree of performance degradation of the system is positively correlated with the number of pages to be migrated.
[0023] Optionally, the page placement device further includes: a page allocation module configured to allocate the initial page based on a quality of service parameter of an application to which the initial page belongs and a type of the initial page when it is detected that there is an initial page of a memory device to be allocated.
[0024] Optionally, the page allocation module is configured to: determine whether the type of the initial page is an anonymous type; if the type of the initial page is the anonymous type, allocate the initial page to a first predetermined memory device with a higher access speed contained in the system for placement, wherein the first predetermined memory device is a memory device among the multiple memory devices whose access speed is higher than a predetermined setting; otherwise, allocate the initial page based on the service quality parameters of the application to which the initial page belongs.
[0025] Optionally, the page allocation module is configured to: determine the current running performance status of the application to which the initial page belongs based on the service quality parameters of the application to which the initial page belongs, so as to obtain abnormal performance parameters for evaluating the performance status of the application to which the initial page belongs; when the abnormal performance parameters corresponding to the application to which the initial page belongs are greater than or equal to a preset threshold, allocate the initial page to the first predetermined memory device for placement; otherwise, allocate the initial page to a second predetermined memory device with a lower access speed included in the system for placement, wherein the second predetermined memory device is a memory device among the multiple memory devices whose access speed is lower than the predetermined setting.
[0026] According to a third aspect of an embodiment of the present disclosure, there is provided an electronic device, comprising: a processor; and a memory for storing instructions executable by the processor; wherein the processor is configured to execute the instructions to implement the page placement method according to the present disclosure.
[0027] According to a fourth aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided. When instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the page placement method according to the present disclosure.
[0028] According to a fifth aspect of an embodiment of the present disclosure, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the page placement method according to the present disclosure is implemented.
[0029] The technical solution provided by the embodiments of the present disclosure brings at least the following beneficial effects:
[0030] In the present disclosure, when performing page migration, not only the page temperature is considered, that is, not only the hotness or coldness of the page is considered, but also the service quality parameters of the application are considered, that is, the service performance of the application is also considered, so that the application can perceive the placement of the page, and can avoid the situation where the performance of some applications is meaninglessly improved and the performance of some applications is inappropriately reduced due to the page migration method that only considers the page temperature. That is, the page migration method provided by the present disclosure can ensure that the performance of different applications is in a relatively balanced state.
[0031] According to an exemplary embodiment of the present disclosure, hot and cold pages of each application may be identified separately, so that each application may be identified as having hot pages and cold pages, thereby ensuring that each application can obtain a relatively fair opportunity to migrate hot pages to local DRAM, that is, ensuring that each application can obtain a relatively fair opportunity to improve performance.
[0032] According to an exemplary embodiment of the present disclosure, since the service quality parameters corresponding to the application can truly reflect the service quality of the application, and the service quality of the application can objectively reflect the performance status of the application. For example, if the service quality level of the application is relatively high, it means that the performance status of the application is relatively good; if the service quality level of the application is relatively poor, it means that the performance status of the application is relatively poor. Therefore, the accuracy and credibility of judging the performance status of the current operation of the application based on the service quality parameters corresponding to the application are relatively high, that is, the performance status of the application can be described more objectively and accurately through the service quality parameters corresponding to the application.
[0033] According to an exemplary embodiment of the present disclosure, since hot pages are pages with relatively high access frequencies, migrating hot pages of an application with degraded performance to a new memory device with higher access speed can ensure improved performance of the application.
[0034] According to an exemplary embodiment of the present disclosure, cold pages of applications whose performance is originally relatively normal can be preferentially downgraded and migrated, which can minimize the adverse effects of downgrading and migration on the corresponding applications, thereby ensuring that the performance of different applications is maintained at a relatively balanced level.
[0035] According to an exemplary embodiment of the present disclosure, by making the degree of system performance degradation positively correlated with the number of pages to be migrated, it can be ensured that the performance of applications with performance degradation can be improved as soon as possible; and it can be ensured that the remaining available space of the memory device reaches the preset requirements as soon as possible, thereby ensuring that the allocation of new pages / upgrade migration of hot pages / downgrade migration of cold pages can proceed smoothly.
[0036] According to an exemplary embodiment of the present disclosure, when the access frequency of the initial page is relatively high, the initial page can be allocated to a memory device with a higher access speed for placement, which can ensure that frequently accessed pages can be accessed quickly, that is, the access rate of pages with relatively high access frequency can be ensured to be at a higher level.
[0037] According to an exemplary embodiment of the present disclosure, when the performance of the application to which the initial page belongs is relatively poor, the initial page can be allocated to a memory device with a higher access speed for placement, so as to improve the performance of the application to which the initial page belongs; when the performance of the application to which the initial page belongs is already relatively good, there is no need to allocate a memory device with an excessively high access speed to the initial page, that is, even if a memory device with a lower access speed is allocated to the initial page at this time, the performance of the application to which the initial page belongs will not be greatly adversely affected. In this way, it is possible to ensure that the performance of different applications is maintained at a relatively balanced level.
[0038] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] The drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the description are used to explain the principles of the present disclosure, and do not constitute improper limitations on the present disclosure.
[0040] Figure 1 is a flow chart illustrating a page placement method according to an exemplary embodiment of the present disclosure;
[0041] Figure 2 is a schematic diagram illustrating a hierarchical memory system according to an exemplary embodiment of the present disclosure;
[0042] Figure 3 is a schematic diagram showing an application performance QoS analysis process according to an exemplary embodiment of the present disclosure;
[0043] Figure 4 It is a schematic diagram showing a traditional LRU mechanism page management method in the related art;
[0044] Figure 5 is a schematic diagram showing an LRU mechanism page management method at the application level according to an exemplary embodiment of the present disclosure;
[0045] Figure 6 is a schematic diagram showing a “process number-application mapping table” according to an exemplary embodiment of the present disclosure;
[0046] Figure 7 is a flowchart showing a specific implementation of initial page allocation according to an exemplary embodiment of the present disclosure;
[0047] Figure 8 is a specific implementation flow chart showing the upgrade migration of hot pages according to an exemplary embodiment of the present disclosure;
[0048] Fig. 9 is a flowchart showing a specific implementation of migrating cold pages from local DRAM to CXL memory devices according to an exemplary embodiment of the present disclosure;
[0049] Fig.10 is a flowchart showing a specific implementation of migrating cold pages from a CXL memory device to a swap device according to an exemplary embodiment of the present disclosure;
[0050] Fig.11 is a block diagram illustrating a page placement device according to an exemplary embodiment of the present disclosure;
[0051] Fig.12is a block diagram illustrating an electronic device according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0052] In order to enable ordinary persons in the art to better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings.
[0053] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The implementation methods described in the following examples do not represent all implementation methods consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the attached claims.
[0054] It should be noted that the phrase "at least one of the items" in the present disclosure includes three types of parallel situations: "any one of the items", "a combination of any number of the items", and "all of the items". For example, "including at least one of A and B" includes the following three parallel situations: (1) including A; (2) including B; (3) including A and B. Another example is "executing at least one of step 1 and step 2" which means the following three parallel situations: (1) executing step 1; (2) executing step 2; (3) executing step 1 and step 2.
[0055] Currently, data centers are facing many memory issues. First, data-centric technologies and applications are placing increasing demands on memory. Second, the number of central processing unit (CPU) cores is growing rapidly, but the memory bandwidth and capacity of each CPU core is decreasing. Previous hierarchical memory technologies, such as adding non-volatile memory to local dynamic random access memory (DRAM), or adding remote memory to local DRAM, increased latency on the one hand and reduced system performance on the other.
[0056] The emerging high-speed interconnect technology (Compute Express Link, CXL) maintains memory consistency between the CPU memory space and the device memory, thereby enabling resource sharing for high performance and reducing software stack complexity and overall system cost. Compared with previous memory extension technologies, the impact of CXL technology on system performance has been much smaller, but it still adds additional latency. In particular, when the data placement strategy between local DRAM and CXL memory devices is not appropriate, application performance may be significantly degraded. In addition, in multi-application scenarios, unfair memory resource allocation may lead to unbalanced performance degradation between applications. Existing memory systems allocate memory to each application as needed, without considering the performance degradation of applications due to competition for memory.
[0057] In the related art, an operating system-level application transparent page placement mechanism (TPP) is proposed for CXL tiered memory. The TPP uses the least recently used (LRU) mechanism to identify hot and cold pages and place them in the appropriate memory tier. It supports actively downgrading pages from local DRAM to CXL memory devices to ensure that new pages are allocated with sufficient memory space; at the same time, TPP can promote hot pages captured in CXL memory devices to local DRAM.
[0058] The page migration method in the related technology mainly has the following problems:
[0059] (1) Page migration is unaware of the application.
[0060] In the related art, when migrating pages between local DRAM and CXL memory devices, only the hotness or coldness of the pages is considered, and the performance of the application is ignored. That is, the page migration method provided in the related art is agnostic to the application. At this time, the hot pages of the application with originally good performance may be migrated from the CXL memory device to the local DRAM. However, since the performance of the application is originally good, there is not much value in performing page upgrade migration for the application with originally good performance, that is, meaningless page migration will occur. Alternatively, the cold pages of the application with originally severely degraded performance may be migrated from the local DRAM to the CXL memory device, which will cause an inappropriate decline in the performance of the application with originally poor performance.
[0061] (2) Page temperature recognition lacks fairness.
[0062] In the related art, the pages of all applications are put together for hot and cold identification. However, the hot and cold differences of pages of different applications may be very large. For example, some applications are relatively hot applications, so all the pages contained in the application may be identified as hot pages; some applications are relatively cold applications, so all the pages contained in the application may be identified as cold pages. At this time, for those relatively cold applications, since all the pages contained in them may be identified as cold pages, all the pages contained in the application lose the opportunity to be migrated to the local DRAM with a higher access speed, which will cause a significant decline in the performance of the application.
[0063] (3) Data migration costs are high.
[0064] In the related art, only one page is migrated each time a page is migrated, which will result in excessive page migration overhead.
[0065] In order to solve the problem of "(1) page migration is unaware of the application" in the related art, the present disclosure performs page migration based on the page temperature of the application and the quality of service (QoS) of the application. For example, when the performance of the application degrades, the hot pages in its CXL memory device will be migrated to the local DRAM with a higher access speed; when the reserved memory space of the local DRAM is insufficient, the cold pages in the local DRAM of the application with normal performance will be migrated to the CXL memory device with a lower access speed; when the reserved memory space of the CXL memory device is insufficient, the cold pages in the CXL memory device of the application with normal performance will be migrated to the swap device with a lower access speed.
[0066] In this way, when performing page migration, not only the page temperature is considered, that is, not only the hotness or coldness of the page is considered, but also the service quality parameters of the application, that is, the service performance of the application is considered, so that the application can perceive the placement of the page, and the situation that the performance of some applications is meaninglessly improved and the performance of some applications is inappropriately reduced due to the page migration method that only considers the page temperature can be avoided. That is, the page migration method provided by the present disclosure can ensure that the performance of different applications is in a relatively balanced state. At the same time, it can also achieve the improvement of the QoS of the system.
[0067] In order to solve the problem of "(2) lack of fairness in page temperature identification" in the related art, the present disclosure proposes an LRU-based application-level page temperature identification method, that is, to identify hot and cold pages for each application. In this way, each application may be identified as having hot pages and cold pages, thereby ensuring that each application can fairly obtain the opportunity to migrate hot pages to local DRAM, that is, to ensure that each application can fairly obtain the opportunity to improve performance.
[0068] In order to solve the problem of "(3) large data migration overhead" in the related art, the present disclosure makes the degree of system performance degradation positively correlated with the number of pages to be migrated, that is, multiple pages can be migrated in one migration process, which can reduce migration overhead and improve memory management efficiency. At the same time, it can also ensure that the performance of applications with degraded performance can be improved as soon as possible; and it can ensure that the remaining available space of the memory device reaches the preset requirements as soon as possible, thereby ensuring that the allocation of new pages / upgrade migration of hot pages / downgrade migration of cold pages can be carried out smoothly.
[0069] Figure 1 is a flowchart illustrating a page placement method according to an exemplary embodiment of the present disclosure.
[0070] Reference Figure 1 In step 101, in response to detecting the occurrence of a preset trigger event for executing page migration, the pages of applications within the system can be migrated based on the page temperature and service quality parameters of the applications within the system. The preset trigger event may include an event that affects the performance of the system. It should be noted that page migration is performed to improve or maintain system performance. For example, when it is found that system performance has declined or is about to decline, page migration is performed to improve or maintain system performance. The pages of the above-mentioned application can be divided into hot pages and cold pages according to temperature, and the higher the access frequency of the page, the hotter the temperature of the page.
[0071] The above system may include multiple memory devices, and page migration may include migrating the page from the original memory device where the page was originally placed to another new memory device for placement, and the access speeds of the original memory device and the new memory device are different. Exemplarily, the above system may include three memory devices, namely, a local DRAM, a CXL memory device, and a swap device (Swap Device). In addition, the access speed of the local DRAM is higher than that of the CXL memory device, and the access speed of the CXL memory device is higher than that of the swap device.
[0072] According to an exemplary embodiment of the present disclosure, page migration can be performed according to page temperature and application performance. Exemplarily, the performance status of each application currently running can be judged based on the service quality parameters corresponding to each application in the system to obtain abnormal performance parameters for evaluating the performance status of each application. For example, the QoS indicators of all applications can be monitored in real time and the specific values can be recorded in the QoS information table. For each application, an isolation forest model can be established based on the historical QoS data contained in the QoS information table of the application, and then the current QoS data of each application can be input into the corresponding isolation forest model to obtain the current abnormal performance parameters of the application. Exemplarily, the abnormal performance parameter can be an abnormal performance score (anomaly score). In addition, in addition to the abnormal performance score, the abnormal performance parameter can also be other types of parameters used to characterize application performance. The present disclosure does not make specific restrictions on this, and the aforementioned implementation is only an exemplary description.
[0073] It should be noted that, in addition to the isolation forest model, other models may be established to determine the current performance of an application program. The present disclosure does not impose any specific limitation on this, and the aforementioned implementation is merely an exemplary description.
[0074] Then, the target application for which page migration is to be performed may be determined based on the abnormal performance parameters of each application. Next, the pages of the target application may be migrated based on the page temperature within the target application.
[0075] In this way, since the service quality parameters corresponding to the application can truly reflect the service quality of the application, and the service quality of the application can objectively reflect the performance status of the application. For example, if the service quality level of the application is relatively high, it means that the performance status of the application is relatively good; if the service quality level of the application is relatively poor, it means that the performance status of the application is relatively poor. Therefore, the accuracy and credibility of judging the performance status of the current operation of the application based on the service quality parameters corresponding to the application are relatively high, that is, the service quality parameters corresponding to the application can describe the performance status of the application more objectively and accurately.
[0076] It should be noted that page migration can be divided into two scenarios, namely, "a page upgrade migration scenario in which a page is migrated to a new memory device with a higher access speed" and "a page downgrade migration scenario in which a page is migrated to a new memory device with a lower access speed". The following will explain these two page migration scenarios respectively.
[0077] According to an exemplary embodiment of the present disclosure, the preset trigger event may include a performance degradation of an application in the system. For example, when an abnormal performance parameter of an application is greater than or equal to a preset threshold, it can be considered that the performance of the application has degraded. At this time, the hot pages in the target application can be migrated from the original memory device to a new memory device with a higher access speed than the original memory device for placement. The target application may be an application whose abnormal performance parameter is greater than or equal to the preset threshold.
[0078] Exemplarily, the original memory device may be a CXL memory device, and the new memory device may be a local DRAM. When a performance degradation of an application is detected, the hot pages of the application stored in the CXL memory device may be migrated to the local DRAM. Moreover, the aforementioned "decline" scenario may be further refined into a "sudden drop" scenario. Among them, "sudden drop" refers to a sudden and rapid drop in the performance of an application in a short period of time. In this way, since hot pages are pages with a relatively high access frequency, migrating the hot pages of an application with a performance degradation to a new memory device with a higher access speed can ensure the performance of the application is improved.
[0079] According to an exemplary embodiment of the present disclosure, the upgrade migration of hot pages can also be performed in an iterative manner. Specifically, for each iterative process, the following operations can be performed:
[0080] At the beginning of this iteration, N hot pages can be selected from the hot pages contained in the target application and stored in the original memory device. Then, the first available space can be allocated in the new memory device. Next, the above N hot pages can be upgraded and migrated from the original memory device to the first available space, and it can be detected whether the performance of the target application is improved. If it is detected that the performance of the target application has not been improved, the next iteration of this iteration can be entered until the performance of the target application returns to normal; otherwise, it can be determined that the iteration is terminated.
[0081] It should be noted that, in addition to performing hot page upgrade migration in an iterative manner, other methods may be used to perform hot page upgrade migration, and the present disclosure does not impose any specific limitation on this, and the aforementioned iterative method is merely an exemplary description.
[0082] According to an exemplary embodiment of the present disclosure, in each iteration process, if the number of hot pages contained in the target application and stored in the original memory device is less than N, several cold pages can be selected from the cold page list of the target application to supplement the insufficient number.
[0083] According to an exemplary embodiment of the present disclosure, each application may correspond to a hot page list and a cold page list, the hot page list may include multiple hot pages with decreasing temperatures, the cold page list may include multiple cold pages with decreasing temperatures, and the temperatures of the hot pages included in the hot page list are all higher than the temperatures of the cold pages included in the cold page list. After N hot pages are upgraded and migrated from the original memory device to the first available space in each iteration, the N cold pages arranged at the head of the cold page list of the target application may be added to the tail of the hot page list of the target application.
[0084] According to an exemplary embodiment of the present disclosure, after N hot pages are upgraded and migrated from the original memory device to the first available space in each iteration, the N hot pages stored in the original memory device can also be recycled. In this way, after the hot pages are upgraded and migrated, the hot pages in the original memory device can be recycled, that is, the hot pages originally placed in the original memory device can be deleted, and the repeated occupation of the memory space by the same hot pages can be avoided, so as to save memory resources.
[0085] According to an exemplary embodiment of the present disclosure, the number of the above-mentioned target applications may be multiple, that is, there may be multiple applications with performance degradation. In this case, the multiple target applications can be sorted in descending order according to the Isolation Forest Anomaly Score, that is, the multiple target applications can be sorted in descending order according to the degree of performance degradation. Then, starting from the application with the highest Isolation Forest Anomaly Score, page upgrade migration can be performed for each sorted target application one by one. That is, for each sorted target application, the hot pages contained in each target application can be upgraded and migrated in an iterative manner until the iteration is terminated.
[0086] It should be noted that the higher the Isolation Forest anomaly score, the more serious the performance degradation of the corresponding application, and the more urgent the need for page upgrade and migration of the corresponding application. Therefore, we can start from the application with the highest Isolation Forest anomaly score and perform page upgrade and migration for each sorted target application one by one, which can ensure that the application with the most serious performance degradation can be upgraded and migrated first, that is, it can ensure that the application with the most serious performance degradation can be given priority for performance improvement, avoiding the situation where the application with the most serious performance degradation has not received the opportunity for performance improvement, and thus ensuring that the performance of different applications is maintained at a relatively balanced level.
[0087] According to an exemplary embodiment of the present disclosure, the above-mentioned preset trigger event may also include insufficient remaining available space of the system's memory device. At this time, the cold pages of the target application in the memory device with insufficient remaining available space may be migrated from the original memory device to a new memory device with a lower access speed than the original memory device for placement. The target application may be an application whose abnormal performance parameter is lower than a preset threshold, that is, the target application may be an application with relatively normal performance.
[0088] For example, when the remaining available space of the local DRAM is insufficient, the cold pages of the target application in the local DRAM with insufficient remaining available space can be migrated from the local DRAM to a CXL memory device having a lower access speed than the local DRAM for placement; or, when the remaining available space of the CXL memory device is insufficient, the cold pages of the target application in the CXL memory device with insufficient remaining available space can be migrated from the CXL memory device to a swap device having a lower access speed than the CXL memory device for placement.
[0089] It should be noted that, due to the fact that the remaining available space of the system's memory device is insufficient, page downgrade migration is required, that is, the page needs to be migrated to a memory device with a lower access speed, which is bound to lead to a decrease in the performance of the corresponding application. Therefore, it is necessary to select a page migration strategy that has the least impact on the application performance. Specifically, compared with performing page downgrade migration on applications with relatively poor performance, performing page downgrade migration on applications with relatively normal performance will have less adverse effects on the corresponding applications; and, since the access frequency of cold pages is lower than the access frequency of hot pages, the adverse effects of performing downgrade migration on cold pages on the corresponding applications will be less than the adverse effects of performing downgrade migration on hot pages on the corresponding applications. Therefore, the present disclosure can give priority to downgrade migration of cold pages of applications with relatively normal performance, which can minimize the adverse effects on the corresponding applications caused by downgrade migration, and thus ensure that the performance of different applications is maintained at a relatively balanced level.
[0090] According to an exemplary embodiment of the present disclosure, after the cold pages of the target application in the memory device with insufficient remaining free space are migrated from the original memory device to a new memory device with a lower access speed than the original memory device, the cold pages of the target application stored in the original memory device can be recycled. In this way, after the cold pages are downgraded and migrated, the cold pages in the original memory device can be recycled, that is, the cold pages originally placed in the original memory device can be deleted, and the repeated occupation of the memory space by the same cold pages can be avoided to save memory resources.
[0091] According to an exemplary embodiment of the present disclosure, the number of the above-mentioned target applications may be multiple, that is, there may be multiple applications with normal performance. In this case, the multiple target applications can be sorted in the order of small to large Isolation Forest anomaly scores, that is, the multiple target applications can be sorted in the order of large to small performance normality. Then, starting from the application with the lowest Isolation Forest anomaly score, page downgrade migration can be performed for each sorted target application one by one until the remaining available space size of the original memory device meets the preset requirements.
[0092] It should be noted that the lower the Isolation Forest anomaly score, the more normal the performance of the corresponding application, and the smaller the adverse impact of page downgrade migration for the application. Therefore, we can start from the application with the lowest Isolation Forest anomaly score and perform page downgrade migration for each sorted target application one by one, that is, we can start from the application with the most normal performance and perform page downgrade migration for each sorted target application one by one, which can avoid the situation where the performance of the corresponding application deteriorates sharply by directly performing page downgrade migration on some applications with relatively poor performance, and thus ensure that the performance of different applications is maintained at a relatively balanced level.
[0093] Figure 2 is a schematic diagram showing a hierarchical memory system according to an exemplary embodiment of the present disclosure. Figure 2 The hierarchical memory system in the present disclosure may include a local DRAM of a host and a CXL memory device connected to the host using a CXL protocol. The host server may include four modules, namely: "Application QoS Analysis Module", "Page Temperature Detection Module", "Initial Page Allocation Module" and "Page Migration Module".
[0094] Among them, for a system with multiple applications, the system QoS is affected by the QoS of all applications, and a sudden drop in the performance of any application will reduce the system QoS. The above-mentioned "application QoS analysis module" can detect in real time whether the application has a sudden drop in performance. As mentioned above, the QoS indicators of all applications can be monitored in real time and the specific values can be recorded in the QoS information table. The QoS indicators may vary from application to application, and QoS may include but is not limited to: throughput, bandwidth, read / write latency, etc. For each application, an isolation forest model can be established based on the historical QoS data of the application, and then based on the isolation forest model corresponding to the application and the current QoS data of the application, it can be detected whether the application has a sudden drop in performance.
[0095] Figure 3 is a schematic diagram showing an application performance QoS analysis process according to an exemplary embodiment of the present disclosure. Figure 3 , a total of 3 APPs are shown, namely APP1, APP2 and APP3. Among them, each APP corresponds to its own historical QoS data table (QoS info.table). Based on the multiple historical QoS data contained in the historical QoS data table corresponding to each APP, an isolation forest model (Isolation Forest Models, IF) corresponding to the APP can be established. Then, the current QoS data of each APP can be input into the corresponding isolation forest model IF to obtain the current abnormal performance parameters of the APP. For example, the abnormal performance parameters can be an abnormal performance score (anomaly score), which is used to evaluate the performance status of each application. Refer to Figure 3 , the abnormal performance score corresponding to APP1 is 0.9; the abnormal performance score corresponding to APP2 is 0.1; and the abnormal performance score corresponding to APP3 is 0.7.
[0096] According to an exemplary embodiment of the present disclosure, the number of pages to be migrated may also be determined based on the degree of system performance degradation, wherein the degree of system performance degradation is positively correlated with the number of pages to be migrated.
[0097] For example, in a scenario where the performance of an application in the system is degraded, the number N of hot pages for page upgrade migration can be selected according to the degree of performance degradation of the application. For example, if the performance degradation is not serious, N can be set to 4; if the performance degradation is serious, N can be set to 8, etc. Alternatively, in a scenario where the remaining available space of the system's memory device is insufficient, the number M of cold pages for page downgrade migration can be selected according to the degree of memory space consumption of the original memory device. For example, if the memory space consumption is not serious, M can be set to 4; if the memory space consumption is serious, M can be set to 8, etc.
[0098] In this way, by making the degree of system performance degradation positively correlated with the number of pages to be migrated, it can be ensured that the performance of applications with performance degradation can be improved as soon as possible; and it can be ensured that the remaining available space of the memory device reaches the preset requirements as soon as possible, thereby ensuring that the allocation of new pages / upgrade migration of hot pages / downgrade migration of cold pages can proceed smoothly.
[0099] It should be noted that Linux's existing LRU mechanism can help detect hot and cold pages. It maintains an active list to store frequently accessed pages and an inactive list to store rarely accessed pages. Figure 4 2 is a schematic diagram showing a conventional LRU mechanism page management method in the related art. It can be seen that in the related art, both the active list and the inactive list of the LRU mechanism contain pages of all applications, so the page of a specified application cannot be migrated based on this mechanism.
[0100] Reference Figure 4 , when a page is accessed, if the page is in the active list, the PG_referenced parameter of the page can be set to 1; if the page is in the inactive list and PG_referenced is 0, PG_referenced can be set to 1; if the page is in the inactive list and PG_referenced is 1, the page can be moved to the active list and PG_referenced will be set to 0. And, when page elimination is started, pages can be eliminated from the end of the inactive list. Exemplarily, for a certain page, if the PG_referenced of the page is 1, the page will be skipped and the PG_referenced of the page can be set to 0; if the PG_referenced of the page is 0, the page can be moved out to the swap device.
[0101] In an exemplary embodiment of the present disclosure, a method of identifying the page temperature of an application based on an LRU mechanism at the application level is proposed. That is, for each application in at least one application in the system, the page temperature can be identified for each application to obtain a hot page list and a cold page list for each application. The hot page list can include the hot pages of the application, and the cold page list can include the cold pages of the application.
[0102] According to an exemplary embodiment of the present disclosure, it is possible to determine whether each of the multiple pages of a single application is a hot page or a cold page based on the temperatures of the multiple pages contained in the single application. Exemplarily, the median of the multiple temperatures corresponding to the multiple pages can be determined, and then the pages with a temperature lower than the median can be determined as cold pages; and the pages with a temperature higher than the median can be determined as hot pages. Alternatively, a temperature threshold can be set, and pages with a temperature lower than the temperature threshold can be determined as cold pages; and the pages with a temperature higher than the temperature threshold can be determined as hot pages, and so on. The present disclosure does not limit the specific method of identifying hot and cold pages, and the aforementioned embodiment is merely an exemplary description.
[0103] Figure 5 Schematic diagram showing an LRU mechanism page management method at the application level according to an exemplary embodiment of the present disclosure. Figure 5 , showing multiple APPs, namely APP1, APP2, ..., APPN. For each application, there is an active list (Active List) and an inactive list (Inactive List), wherein the active list is used to record the hot pages contained in the corresponding application, and the inactive list is used to record the cold pages contained in the corresponding application.
[0104] It should be noted that the hot and cold pages of different applications may differ greatly. If all application pages are put together for hot and cold identification, some application pages may all be identified as cold pages, thus losing the opportunity to be migrated to the local DRAM, which may cause a significant drop in application performance. In the present disclosure, hot and cold identification can be performed for each application page separately, so that each application may be identified as a hot page and a cold page, thereby ensuring that each application can fairly obtain the opportunity to migrate the hot page to the local DRAM, that is, it can ensure that each application can fairly obtain the opportunity to improve performance.
[0105] It should be noted that in the present disclosure, the page management method of the active list and the inactive list of each application is similar to the traditional LRU mechanism, that is, Figure 4 The traditional LRU mechanism page management method shown in is similar, so it will not be repeated here.
[0106] According to an exemplary embodiment of the present disclosure, when it is detected that there is an initial page of a memory device to be allocated, the initial page can be allocated based on the service quality parameter of the application to which the initial page belongs and the type of the initial page. The "initial page" can be a page called based on the user's operation behavior on the application, or a page called by an internal service of the application, etc.
[0107] The present disclosure can reserve a small portion of memory space in the local DRAM and CXL memory device as an over provisioning memory space (OPM). For example, the size of the over provisioning memory space can be 5% of the memory space size of the corresponding memory device. The OPM in the local DRAM can ensure that the memory allocation of new pages and upgraded pages, that is, pages upgraded and migrated from the CXL memory device to the local DRAM, is always successful; the OPM in the CXL memory device can ensure that the memory allocation of new pages and downgraded pages, that is, pages downgraded and migrated from the local DRAM to the CXL memory device, is always successful.
[0108] According to an exemplary embodiment of the present disclosure, the present disclosure also provides a "process number-application program" mapping table for recording the corresponding relationship between the process number and the application program. Figure 6 is a schematic diagram showing a “process number-application mapping table” according to an exemplary embodiment of the present disclosure. Figure 6 , process numbers PID1, PID2 and PID3 all correspond to APP1; process numbers PID4 and PID5 all correspond to APP2; process number PIDM corresponds to APPN.
[0109] In this way, when a new page allocation request arrives, that is, when it is detected that there is an initial page of the memory device to be allocated, the process number contained in the initial page can be determined first, and then based on the process number contained in the initial page and the above-mentioned "process number-application mapping table", it can be determined which application the initial page belongs to. According to an exemplary embodiment of the present disclosure, the initial page can be added to the hot page list of the application to which it belongs, that is, the active page list.
[0110] According to an exemplary embodiment of the present disclosure, it can be determined whether the type of the initial page is an anonymous type. Among them, pages supported by backup files in Linux are called file pages, for example, pages belonging to the code segment and data segment of a process, etc., when memory is recycled, these pages only need to synchronize dirty pages (clean pages can be directly discarded); otherwise, they are anonymous pages, for example, pages used by the stack of a process, etc., when memory is recycled, these pages cannot be simply discarded, but need to be swapped to a swap partition or a swap file. Usually, anonymous pages are hotter than file pages, that is, the access frequency of anonymous pages is higher than the access frequency of file pages.
[0111] In the case where the type of the initial page is anonymous, that is, when the access frequency of the initial page is relatively high, the initial page can be allocated to the first predetermined memory device included in the system for placement, wherein the access speed of the first predetermined memory device is relatively high, for example, but not limited to, the first predetermined memory device can be a memory device with an access speed higher than a predetermined setting among multiple memory devices; otherwise, that is, when the access frequency of the initial page is relatively low, the initial page can be allocated based on the service quality parameters of the application to which the initial page belongs. The above-mentioned "predetermined setting" can be "access speed higher than other memory devices" or "access speed higher than a predetermined value", and the present disclosure does not make specific restrictions on this.
[0112] In this way, when the access frequency of the initial page is relatively high, the initial page can be allocated to a memory device with a higher access speed for placement, which can ensure that frequently accessed pages can be accessed quickly, that is, the access rate of pages with relatively high access frequency can be ensured to be at a higher level.
[0113] According to an exemplary embodiment of the present disclosure, the performance status of the application to which the initial page belongs can be determined based on the service quality parameters of the application to which the initial page belongs, so as to obtain abnormal performance parameters for evaluating the performance status of the application to which the initial page belongs.
[0114] When the abnormal performance parameter corresponding to the application to which the initial page belongs is greater than or equal to the preset threshold, it means that the performance of the corresponding application is relatively poor. Therefore, the initial page can be allocated to the first predetermined memory device for placement, that is, the initial page can be allocated to a memory device with a higher access speed for placement; otherwise, that is, when the abnormal performance parameter corresponding to the application to which the initial page belongs is less than the preset threshold, it means that the performance of the corresponding application is relatively normal, and the initial page can be allocated to the second predetermined memory device included in the system for placement. The access speed of the second predetermined memory device is relatively low, for example, but not limited to, the second predetermined memory device can be a memory device with an access speed lower than the predetermined setting among multiple memory devices.
[0115] In this way, when the performance of the application to which the initial page belongs is relatively poor, the initial page can be allocated to a memory device with a higher access speed to improve the performance of the application to which the initial page belongs. When the performance of the application to which the initial page belongs is already relatively good, there is no need to allocate a memory device with an access speed that is too high to the initial page. In other words, even if a memory device with a lower access speed is allocated to the initial page, the performance of the application to which the initial page belongs will not be greatly adversely affected. In this way, the performance of different applications can be ensured to be maintained at a relatively balanced level.
[0116] Figure 7 is a flowchart showing a specific implementation of initial page allocation according to an exemplary embodiment of the present disclosure.
[0117] Reference Figure 7 In step 701, a new page allocation request is generated, that is, an initial page of a memory device to be allocated is generated. The "initial page" may be a page called based on a user's operation on an application, or a page called by an internal service of an application, and so on.
[0118] In step 702, the page type of the initial page and the service quality parameters of the application to which the initial page belongs are obtained. The "page type of the initial page" can be "anonymous page" or "file page", and anonymous pages are usually hotter than file pages, that is, the access frequency of anonymous pages is usually higher than the access frequency of file pages.
[0119] Furthermore, based on the service quality parameter of the application to which the initial page belongs, the abnormal performance parameter of the application to which the initial page belongs can be determined. For example, the abnormal performance parameter can be an abnormal performance score, and the abnormal performance score can be used to evaluate the performance status of the application to which the initial page belongs. For example, the higher the abnormal performance score, the worse the performance of the corresponding application; the lower the abnormal performance score, the better the performance of the corresponding application.
[0120] In step 703, it is determined whether the initial page is an anonymous page. If the initial page is an anonymous page, step 705 is executed; if the initial page is not an anonymous page, step 704 is executed.
[0121] In step 704, it is detected whether the performance of the application to which the initial page belongs drops suddenly. If it is detected that the performance of the application to which the initial page belongs drops suddenly, step 705 is executed; if it is detected that the performance of the application to which the initial page belongs does not drop suddenly, step 706 is executed.
[0122] In step 705, the initial page is allocated to a local DRAM with a higher access speed.
[0123] In step 706 , the initial page is allocated to a CXL memory device with a lower access speed.
[0124] In step 707, the initial page is added to the hot page list of the application to which the initial page belongs, that is, the LRU active list.
[0125] In this way, when the access frequency of the initial page is relatively high, the initial page can be allocated to a memory device with a higher access speed for placement, which can ensure that the frequently accessed pages can be accessed quickly, that is, the access rate of the pages with a relatively high access frequency can be guaranteed to be at a higher level. In addition, when the performance of the application to which the initial page belongs is relatively poor, the initial page can be allocated to a memory device with a higher access speed for placement to improve the performance of the application to which the initial page belongs; when the performance of the application to which the initial page belongs is already relatively good, there is no need to allocate a memory device with an excessively high access speed to the initial page, that is, even if the initial page is allocated to a memory device with a lower access speed, the performance of the application to which the initial page belongs will not be greatly adversely affected. In this way, it is possible to ensure that the performance of different applications is maintained at a relatively balanced level.
[0126] Figure 8 FIG. 1 is a flowchart showing a specific implementation of the upgrade migration of hot pages according to an exemplary embodiment of the present disclosure. Figure 8 , you can perform the upgrade and migration of hot pages in an iterative manner. Specifically, for each iteration process, you can perform the following operations:
[0127] In step 801 , N hot pages stored in a CXL memory device are selected from a hot page list of a performance-slowing application.
[0128] In step 802, it is determined whether a sufficient number of N hot pages are selected. If the number of selected hot pages reaches N, step 803 is executed; if the number of selected hot pages is less than N, step 804 is executed.
[0129] In step 803, available space is allocated in the local DRAM.
[0130] In step 804 , a number of cold pages stored in the CXL memory device are selected from the cold page list of the performance-degraded application for replenishment, so that the total number of pages to be upgraded and migrated reaches N.
[0131] In step 805 , the selected N pages are upgraded and migrated from the CXL memory device to available space in the local DRAM.
[0132] In step 806 , the N pages originally stored in the CXL memory device are reclaimed, that is, the N pages originally stored in the CXL memory device are deleted.
[0133] In step 807 , the N cold pages arranged at the head of the cold page list of the application with performance degradation are filled to the tail of the hot page list of the application.
[0134] In step 808, it is determined whether the performance of the application with the performance suddenly degraded has returned to normal. If the performance of the application with the performance suddenly degraded has returned to normal, the iteration is terminated; otherwise, that is, if the performance of the application with the performance suddenly degraded has not returned to normal, the next iteration of the current iteration is entered, that is, execution returns to step 801 until the performance of the application with the performance suddenly degraded has returned to normal.
[0135] In this way, since hot pages are pages with a relatively high access frequency, migrating the hot pages of an application with a sudden performance drop from the CXL memory device to the local DRAM with a higher access speed can ensure that the performance of the application is improved.
[0136] Fig. 9 FIG. 4 is a flowchart showing a specific implementation of migrating cold pages from a local DRAM to a CXL memory device according to an exemplary embodiment of the present disclosure.
[0137] Reference Fig. 9 In step 901, when the reserved memory space OPM in the local DRAM is insufficient, M cold pages stored in the local DRAM are selected from the cold page list of the application with normal performance. If the number of the selected cold pages is less than M, only the selected cold pages are downgraded and migrated.
[0138] In step 902, available space is allocated in the CXL memory device. Since there is reserved memory space in the CXL memory device, the memory allocation will always succeed.
[0139] In step 903 , the selected M cold pages are destaged and migrated from the local DRAM to the available space of the CXL memory device.
[0140] In step 904, the M cold pages originally stored in the local DRAM are recovered, that is, the M cold pages originally stored in the local DRAM are deleted.
[0141] In this way, the present disclosure can preferentially downgrade and migrate cold pages of applications whose performance is originally relatively normal, and can minimize the adverse effects of downgrade and migration on the corresponding applications, thereby ensuring that the performance of different applications is maintained at a relatively balanced level. In addition, after the cold pages are downgraded and migrated, the cold pages originally stored in the local DRAM can be recycled, that is, the cold pages originally stored in the local DRAM can be deleted, and the repeated occupation of the memory space by the same cold pages can be avoided to save memory resources.
[0142] Fig.10 FIG. 4 is a flowchart showing a specific implementation of migrating cold pages from a CXL memory device to a swap device according to an exemplary embodiment of the present disclosure.
[0143] Reference Fig.10 In step 1001, when the reserved memory space OPM in the CXL memory device is insufficient, S cold pages stored in the CXL memory device are selected from a cold page list of applications with normal performance. If the number of selected cold pages is less than S, only the selected cold pages are downgraded and migrated.
[0144] In step 1002, available space is allocated in a swap device.
[0145] In step 1003, the selected S cold pages are downgraded and migrated from the CXL memory device to the available space of the swap device.
[0146] In step 1004 , the S cold pages originally stored in the CXL memory device are reclaimed, that is, the S cold pages originally stored in the CXL memory device are deleted.
[0147] In this way, the present disclosure can preferentially downgrade and migrate cold pages of applications whose performance is originally relatively normal, and can minimize the adverse effects of downgrade and migration on the corresponding applications, thereby ensuring that the performance of different applications is maintained at a relatively balanced level. In addition, after the cold pages are downgraded and migrated, the cold pages originally stored in the CXL memory device can be recycled, that is, the cold pages originally stored in the CXL memory device can be deleted, and the repeated occupation of the memory space by the same cold pages can be avoided to save memory resources.
[0148] Fig.11 is a block diagram illustrating a page placement device according to an exemplary embodiment of the present disclosure.
[0149] Reference Fig.11 , the page placement device 1100 may include a page migration module 1101.
[0150] In response to detecting the occurrence of a preset trigger event for executing page migration, the page migration module 1101 can migrate the pages of applications within the system based on the page temperature and service quality parameters of the applications within the system. Among them, the above-mentioned preset trigger events may include events that affect the performance of the system. It should be noted that page migration is performed to improve or maintain system performance. For example, when it is found that the system performance has declined or is about to decline, the system performance is improved or maintained by executing page migration. The pages of the above-mentioned applications can be divided into hot pages and cold pages according to the temperature, and the higher the access frequency of the page, the hotter the temperature of the page.
[0151] The above system may include multiple memory devices, and page migration may include migrating the page from the original memory device where the page was originally placed to another new memory device for placement, and the access speeds of the original memory device and the new memory device are different. Exemplarily, the above system may include three memory devices, namely, a local DRAM, a CXL memory device, and a swap device (Swap Device). In addition, the access speed of the local DRAM is higher than that of the CXL memory device, and the access speed of the CXL memory device is higher than that of the swap device.
[0152] According to an exemplary embodiment of the present disclosure, the above-mentioned page migration module 1101 can perform page migration according to page temperature and application performance. Exemplarily, the page migration module 1101 can determine the performance status of each application currently running based on the service quality parameters corresponding to each application in the system to obtain abnormal performance parameters for evaluating the performance status of each application. For example, the QoS indicators of all applications can be monitored in real time and the specific values can be recorded in the QoS information table. For each application, an isolation forest model can be established based on the historical QoS data contained in the QoS information table of the application, and then the current QoS data of each application can be input into the corresponding isolation forest model to obtain the current abnormal performance parameters of the application. Exemplarily, the abnormal performance parameter can be an abnormal performance score (anomalyscore). In addition, in addition to the abnormal performance score, the abnormal performance parameter can also be other types of parameters used to characterize application performance. The present disclosure does not make specific restrictions on this, and the aforementioned implementation is only an exemplary description.
[0153] It should be noted that, in addition to the isolation forest model, other models may be established to determine the current performance of an application program. The present disclosure does not impose any specific limitation on this, and the aforementioned implementation is merely an exemplary description.
[0154] Then, the page migration module 1101 may determine the target application for which page migration is to be performed based on the abnormal performance parameters of each application. Next, the page migration module 1101 may migrate the pages of the target application based on the page temperature within the target application.
[0155] In this way, since the service quality parameters corresponding to the application can truly reflect the service quality of the application, and the service quality of the application can objectively reflect the performance status of the application. For example, if the service quality level of the application is relatively high, it means that the performance status of the application is relatively good; if the service quality level of the application is relatively poor, it means that the performance status of the application is relatively poor. Therefore, the accuracy and credibility of judging the performance status of the current operation of the application based on the service quality parameters corresponding to the application are relatively high, that is, the service quality parameters corresponding to the application can describe the performance status of the application more objectively and accurately.
[0156] It should be noted that page migration can be divided into two scenarios, namely, "a page upgrade migration scenario in which a page is migrated to a new memory device with a higher access speed" and "a page downgrade migration scenario in which a page is migrated to a new memory device with a lower access speed". The following will explain these two page migration scenarios respectively.
[0157] According to an exemplary embodiment of the present disclosure, the above-mentioned preset trigger event may include a performance degradation of an application within the system. For example, when an abnormal performance parameter of an application is greater than or equal to a preset threshold, it can be considered that the performance of the application has degraded. At this time, the page migration module 1101 can migrate the hot pages within the target application from the original memory device to a new memory device with a higher access speed than the original memory device for placement. Among them, the target application can be an application whose abnormal performance parameter is greater than or equal to the preset threshold.
[0158] Exemplarily, the original memory device may be a CXL memory device, and the new memory device may be a local DRAM. When a performance degradation of an application is detected, the hot pages of the application stored in the CXL memory device may be migrated to the local DRAM. Moreover, the aforementioned "decline" scenario may be further refined into a "sudden drop" scenario. Among them, "sudden drop" refers to a sudden and rapid drop in the performance of an application in a short period of time. In this way, since hot pages are pages with a relatively high access frequency, migrating the hot pages of an application with a performance degradation to a new memory device with a higher access speed can ensure the performance of the application is improved.
[0159] According to an exemplary embodiment of the present disclosure, the above-mentioned preset trigger event may also include insufficient remaining available space of the system's memory device. At this time, the page migration module 1101 may migrate the cold pages of the target application in the memory device with insufficient remaining available space from the original memory device to a new memory device with a lower access speed than the original memory device for placement. The target application may be an application whose abnormal performance parameter is lower than a preset threshold, that is, the target application may be an application with relatively normal performance.
[0160] For example, when the remaining available space of the local DRAM is insufficient, the cold pages of the target application in the local DRAM with insufficient remaining available space can be migrated from the local DRAM to a CXL memory device having a lower access speed than the local DRAM for placement; or, when the remaining available space of the CXL memory device is insufficient, the cold pages of the target application in the CXL memory device with insufficient remaining available space can be migrated from the CXL memory device to a swap device having a lower access speed than the CXL memory device for placement.
[0161] It should be noted that, due to the fact that the remaining available space of the system's memory device is insufficient, page downgrade migration is required, that is, the page needs to be migrated to a memory device with a lower access speed, which is bound to lead to a decrease in the performance of the corresponding application. Therefore, it is necessary to select a page migration strategy that has the least impact on the application performance. Specifically, compared with performing page downgrade migration on applications with relatively poor performance, performing page downgrade migration on applications with relatively normal performance will have less adverse effects on the corresponding applications; and, since the access frequency of cold pages is lower than the access frequency of hot pages, the adverse effects of performing downgrade migration on cold pages on the corresponding applications will be less than the adverse effects of performing downgrade migration on hot pages on the corresponding applications. Therefore, the present disclosure can give priority to downgrade migration of cold pages of applications with relatively normal performance, which can minimize the adverse effects on the corresponding applications caused by downgrade migration, and thus ensure that the performance of different applications is maintained at a relatively balanced level.
[0162] According to an exemplary embodiment of the present disclosure, the page placement device 1100 may further include a quantity determination module. The quantity determination module may determine the number of pages to be migrated based on the degree of system performance degradation. The degree of system performance degradation is positively correlated with the number of pages to be migrated.
[0163] For example, in a scenario where the performance of an application in the system is degraded, the number N of hot pages for page upgrade migration can be selected according to the degree of performance degradation of the application. For example, if the performance degradation is not serious, N can be set to 4; if the performance degradation is serious, N can be set to 8, etc. Alternatively, in a scenario where the remaining available space of the system's memory device is insufficient, the number M of cold pages for page downgrade migration can be selected according to the degree of memory space consumption of the original memory device. For example, if the memory space consumption is not serious, M can be set to 4; if the memory space consumption is serious, M can be set to 8, etc.
[0164] In this way, by making the degree of system performance degradation positively correlated with the number of pages to be migrated, it can be ensured that the performance of applications with performance degradation can be improved as soon as possible; and it can be ensured that the remaining available space of the memory device reaches the preset requirements as soon as possible, thereby ensuring that the allocation of new pages / upgrade migration of hot pages / downgrade migration of cold pages can proceed smoothly.
[0165] According to an exemplary embodiment of the present disclosure, the page placement device 1100 may further include a page temperature identification module. That is, for each application in at least one application in the system, the page temperature identification module may perform page temperature identification for each application respectively, so as to obtain a hot page list and a cold page list for each application respectively. The hot page list may include hot pages of the application, and the cold page list may include cold pages of the application.
[0166] According to an exemplary embodiment of the present disclosure, the above-mentioned page temperature identification module can determine whether each of the multiple pages of a single application is a hot page or a cold page based on the temperatures of the multiple pages contained in the single application. Exemplarily, the median of the multiple temperatures corresponding to the multiple pages can be determined, and then the pages with a temperature lower than the median can be determined as cold pages; and the pages with a temperature higher than the median can be determined as hot pages. Alternatively, a temperature threshold can be set, and the pages with a temperature lower than the temperature threshold can be determined as cold pages; and the pages with a temperature higher than the temperature threshold can be determined as hot pages, and so on. The present disclosure does not limit the specific method of identifying hot and cold pages, and the aforementioned embodiment is merely an exemplary description.
[0167] In the present disclosure, hot and cold identification can be performed for each application's pages respectively, so that each application may be identified with hot pages and cold pages, thereby ensuring that each application can obtain a relatively fair opportunity to migrate hot pages to local DRAM, that is, ensuring that each application can obtain a relatively fair opportunity to improve performance.
[0168] According to an exemplary embodiment of the present disclosure, the page placement device 1100 may further include a page allocation module.
[0169] When it is detected that there is an initial page of the memory device to be allocated, the page allocation module can allocate the initial page based on the service quality parameter of the application to which the initial page belongs and the type of the initial page. The "initial page" can be a page called based on the user's operation behavior on the application, or a page called by the internal service of the application, etc.
[0170] The present disclosure can reserve a small portion of memory space in the local DRAM and CXL memory device as an over provisioning memory space (OPM). For example, the size of the over provisioning memory space can be 5% of the memory space size of the corresponding memory device. The OPM in the local DRAM can ensure that the memory allocation of new pages and upgraded pages, that is, pages upgraded and migrated from the CXL memory device to the local DRAM, is always successful; the OPM in the CXL memory device can ensure that the memory allocation of new pages and downgraded pages, that is, pages downgraded and migrated from the local DRAM to the CXL memory device, is always successful.
[0171] According to an exemplary embodiment of the present disclosure, the above-mentioned page allocation module can determine whether the type of the initial page is an anonymous type. Among them, pages supported by backup files in Linux are called file pages, for example, pages belonging to the code segment and data segment of the process, etc., when the memory is recycled, these pages only need to synchronize dirty pages (clean pages can be directly discarded); otherwise, they are anonymous pages, for example, pages used by the stack of the process, etc., when the memory is recycled, these pages cannot be simply discarded, but need to be swapped to a swap partition or a swap file. Normally, anonymous pages are hotter than file pages, that is, the access frequency of anonymous pages is higher than the access frequency of file pages.
[0172] In the case where the type of the initial page is anonymous, that is, when the access frequency of the initial page is relatively high, the page allocation module can allocate the initial page to the first predetermined memory device included in the system for placement, wherein the first predetermined memory device has a higher access speed, for example, but not limited to, the first predetermined memory device can be a memory device with an access speed higher than a predetermined setting among multiple memory devices; otherwise, that is, when the access frequency of the initial page is relatively low, the page allocation module can allocate the initial page based on the service quality parameters of the application to which the initial page belongs. The above-mentioned "predetermined setting" can be "access speed higher than other memory devices", or it can also be "access speed higher than a predetermined value", and the present disclosure does not make specific restrictions on this.
[0173] In this way, when the access frequency of the initial page is relatively high, the initial page can be allocated to a memory device with a higher access speed for placement, which can ensure that frequently accessed pages can be accessed quickly, that is, the access rate of pages with relatively high access frequency can be ensured to be at a higher level.
[0174] According to an exemplary embodiment of the present disclosure, the page allocation module may determine the current performance status of the application to which the initial page belongs based on the service quality parameters of the application to which the initial page belongs, so as to obtain abnormal performance parameters for evaluating the performance status of the application to which the initial page belongs.
[0175] When the abnormal performance parameter corresponding to the application to which the initial page belongs is greater than or equal to the preset threshold, it indicates that the performance of the corresponding application is relatively poor. Therefore, the page allocation module can allocate the initial page to the first predetermined memory device for placement, that is, the initial page can be allocated to a memory device with a higher access speed for placement; otherwise, that is, when the abnormal performance parameter corresponding to the application to which the initial page belongs is less than the preset threshold, it indicates that the performance of the corresponding application is relatively normal, and the page allocation module can allocate the initial page to the second predetermined memory device included in the system for placement. The second predetermined memory device has a lower access speed, for example, but not limited to, the second predetermined memory device can be a memory device with an access speed lower than the predetermined setting among multiple memory devices.
[0176] In this way, when the performance of the application to which the initial page belongs is relatively poor, the initial page can be allocated to a memory device with a higher access speed to improve the performance of the application to which the initial page belongs. When the performance of the application to which the initial page belongs is already relatively good, there is no need to allocate a memory device with an access speed that is too high to the initial page. In other words, even if a memory device with a lower access speed is allocated to the initial page, the performance of the application to which the initial page belongs will not be greatly adversely affected. In this way, the performance of different applications can be ensured to be maintained at a relatively balanced level.
[0177] Fig.12 is a block diagram illustrating an electronic device 1200 according to an exemplary embodiment of the present disclosure.
[0178] Reference Fig.12 The electronic device 1200 includes at least one memory 1201 and at least one processor 1202. The at least one memory 1201 stores instructions. When the instructions are executed by the at least one processor 1202, the page placement method according to the exemplary embodiment of the present disclosure is executed.
[0179] As an example, the electronic device 1200 may be a PC, a tablet device, a personal digital assistant, a smart phone, or other device capable of executing the above instructions. Here, the electronic device 1200 is not necessarily a single electronic device, but may also be any device or circuit collection capable of executing the above instructions (or instruction sets) individually or in combination. The electronic device 1200 may also be part of an integrated control system or system manager, or may be configured as a portable electronic device interconnected with a local or remote (e.g., via wireless transmission) interface.
[0180] In the electronic device 1200, the processor 1202 may include a central processing unit (CPU), a graphics processing unit (GPU), a programmable logic device, a dedicated processor system, a microcontroller or a microprocessor. As an example and not limitation, the processor may also include an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, etc.
[0181] The processor 1202 may execute instructions or codes stored in the memory 1201, wherein the memory 1201 may also store data. Instructions and data may also be sent and received over a network via a network interface device, wherein the network interface device may employ any known transmission protocol.
[0182] The memory 1201 may be integrated with the processor 1202, for example, by placing RAM or flash memory within an integrated circuit microprocessor or the like. In addition, the memory 1201 may include a separate device, such as an external disk drive, a storage array, or any other storage device that can be used by a database system. The memory 1201 and the processor 1202 may be operatively coupled, or may communicate with each other, such as through an I / O port, a network connection, etc., so that the processor 1202 can read files stored in the memory.
[0183] In addition, the electronic device 1200 may further include a video display (such as a liquid crystal display) and a user interaction interface (such as a keyboard, a mouse, a touch input device, etc.) All components of the electronic device 1200 may be connected to each other via a bus and / or a network.
[0184] According to an exemplary embodiment of the present disclosure, a computer-readable storage medium may also be provided, and when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to perform the above-mentioned page placement method. Examples of computer-readable storage media here include: read-only memory (ROM), random access programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, non-volatile memory, CD-ROM, CD-R, CD+R, CD-RW, CD+RW, DVD-ROM, DVD-R, DVD+R, DVD-RW, DVD+RW, DVD-RAM, BD-ROM, BD-R, BD-R LTH, BD-RE, Blu-ray or optical disk storage, hard disk drive (HDD), solid state drive (SSD), card storage (such as, multimedia card, secure digital (SD) card or extreme digital (XD) card), magnetic tape, floppy disk, magneto-optical data storage device, optical data storage device, hard disk, solid state disk and any other device, any other device is configured to store computer programs and any associated data, data files and data structures in a non-transitory manner and provide the computer programs and any associated data, data files and data structures to a processor or computer so that the processor or computer can execute the computer program. The computer program in the above-mentioned computer-readable storage medium can be run in an environment deployed in a computer device such as a client, a host, an agent device, a server, etc. In addition, in one example, the computer program and any associated data, data files and data structures are distributed on a networked computer system, so that the computer program and any associated data, data files and data structures are stored, accessed and executed in a distributed manner by one or more processors or computers.
[0185] According to an exemplary embodiment of the present disclosure, a computer program product may also be provided, including a computer program, and when the computer program is executed by a processor, the page placement method according to the present disclosure is implemented.
[0186] According to the page placement method, device, electronic device, storage medium and program product disclosed in the present invention, when performing page migration, not only the page temperature is considered, that is, not only the hotness or coldness of the page is considered, but also the service quality parameters of the application are considered, that is, the service performance of the application is also considered, so that the application can perceive the placement of the page, and the situation in which the performance of some applications is meaninglessly improved and the performance of some applications is inappropriately reduced due to the page migration method that only considers the page temperature can be avoided. That is, the page migration method provided by the present invention can ensure that the performance of different applications is in a relatively balanced state.
[0187] According to an exemplary embodiment of the present disclosure, hot and cold pages of each application may be identified separately, so that each application may be identified as having hot pages and cold pages, thereby ensuring that each application can obtain a relatively fair opportunity to migrate hot pages to local DRAM, that is, ensuring that each application can obtain a relatively fair opportunity to improve performance.
[0188] According to an exemplary embodiment of the present disclosure, since the service quality parameters corresponding to the application can truly reflect the service quality of the application, and the service quality of the application can objectively reflect the performance status of the application. For example, if the service quality level of the application is relatively high, it means that the performance status of the application is relatively good; if the service quality level of the application is relatively poor, it means that the performance status of the application is relatively poor. Therefore, the accuracy and credibility of judging the performance status of the current operation of the application based on the service quality parameters corresponding to the application are relatively high, that is, the performance status of the application can be described more objectively and accurately through the service quality parameters corresponding to the application.
[0189] According to an exemplary embodiment of the present disclosure, since hot pages are pages with relatively high access frequencies, migrating hot pages of an application with degraded performance to a new memory device with higher access speed can ensure improved performance of the application.
[0190] According to an exemplary embodiment of the present disclosure, after the hot pages are upgraded and migrated, the hot pages in the original memory device can be recycled, that is, the hot pages originally placed in the original memory device can be deleted, which can avoid repeated occupation of memory space by the same hot pages, thereby saving memory resources.
[0191] According to an exemplary embodiment of the present disclosure, the higher the Isolation Forest anomaly score is, the more serious the performance degradation of the corresponding application is, and the more urgent the need for page upgrade migration of the corresponding application is. Therefore, page upgrade migration can be performed for each sorted target application one by one starting from the application with the highest Isolation Forest anomaly score, which can ensure that the application with the most serious performance degradation can be upgraded and migrated first, that is, it can ensure that the application with the most serious performance degradation can be given priority for performance improvement, avoiding the situation where the application with the most serious performance degradation has not received the opportunity for performance improvement, and thus ensuring that the performance of different applications is maintained at a relatively balanced level.
[0192] According to an exemplary embodiment of the present disclosure, cold pages of applications whose performance is originally relatively normal can be preferentially downgraded and migrated, which can minimize the adverse effects of downgrading and migration on the corresponding applications, thereby ensuring that the performance of different applications is maintained at a relatively balanced level.
[0193] According to an exemplary embodiment of the present disclosure, after the cold page is downgraded and migrated, the cold page in the original memory device can be recycled, that is, the cold page originally placed in the original memory device can be deleted, which can avoid repeated occupation of memory space by the same cold page to save memory resources.
[0194] According to an exemplary embodiment of the present disclosure, page downgrade migration can be performed for each sorted target application one by one starting from the application with the lowest anomaly score in the isolated forest, that is, page downgrade migration can be performed for each sorted target application one by one starting from the application with the most normal performance, which can avoid the situation where the performance of the corresponding application deteriorates sharply by directly performing page downgrade migration on some applications with originally poor performance, thereby ensuring that the performance of different applications is maintained at a relatively balanced level.
[0195] According to an exemplary embodiment of the present disclosure, by making the degree of system performance degradation positively correlated with the number of pages to be migrated, it can be ensured that the performance of applications with performance degradation can be improved as soon as possible; and it can be ensured that the remaining available space of the memory device reaches the preset requirements as soon as possible, thereby ensuring that the allocation of new pages / upgrade migration of hot pages / downgrade migration of cold pages can proceed smoothly.
[0196] According to an exemplary embodiment of the present disclosure, when the access frequency of the initial page is relatively high, the initial page can be allocated to a memory device with a higher access speed for placement, which can ensure that frequently accessed pages can be accessed quickly, that is, the access rate of pages with relatively high access frequency can be ensured to be at a higher level.
[0197] According to an exemplary embodiment of the present disclosure, when the performance of the application to which the initial page belongs is relatively poor, the initial page can be allocated to a memory device with a higher access speed for placement, so as to improve the performance of the application to which the initial page belongs; when the performance of the application to which the initial page belongs is already relatively good, there is no need to allocate a memory device with an excessively high access speed to the initial page, that is, even if a memory device with a lower access speed is allocated to the initial page at this time, the performance of the application to which the initial page belongs will not be greatly adversely affected. In this way, it is possible to ensure that the performance of different applications is maintained at a relatively balanced level.
[0198] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. The present disclosure is intended to cover any variations, uses or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The description and examples are to be considered exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.
[0199] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims
1. A page placement method, characterized in that: include: In response to detecting the occurrence of a preset trigger event for executing page migration, migrating pages of applications in the system based on page temperatures and service quality parameters of the applications in the system; Wherein, the preset trigger event includes an event that affects the performance of the system; Wherein, the application pages are divided into hot pages and cold pages according to temperature, and the higher the access frequency of the page, the hotter the temperature of the page; The system includes multiple memory devices, the page migration includes migrating the page from an original memory device where the page was originally placed to another new memory device for placement, and the access speeds of the original memory device and the new memory device are different.
2. The page placement method according to claim 1, characterized in that: The migrating of pages of applications in the system based on page temperatures and service quality parameters of applications in the system includes: Based on the service quality parameter corresponding to each application in the system, determining the performance status of each application currently running, so as to obtain an abnormal performance parameter for evaluating the performance status of each application; Determining a target application for page migration to be performed based on the abnormal performance parameters of each application; Based on the page temperature in the target application, the pages of the target application are migrated.
3. The page placement method according to claim 2, characterized in that: The preset trigger event includes a decrease in performance of an application in the system; The migrating the page of the target application based on the page temperature in the target application includes: The hot pages in the target application are migrated from the original memory device to the new memory device with a higher access speed than the original memory device for placement, wherein the target application is an application whose abnormal performance parameter is greater than or equal to a preset threshold.
4. The page placement method according to claim 2, characterized in that: The preset triggering event includes insufficient remaining available space of the memory device of the system; The migrating the page of the target application based on the page temperature in the target application includes: The cold pages of the target application in the memory device with insufficient remaining available space are migrated from the original memory device to the new memory device with a lower access speed than the original memory device for placement, wherein the target application is the application whose abnormal performance parameter is lower than a preset threshold.
5. The page placement method according to claim 1, characterized in that: The page placement method also includes: For each application in at least one application within the system, page temperature identification is performed for each application to obtain a hot page list and a cold page list for each application, wherein the hot page list contains hot pages of the application, and the cold page list contains cold pages of the application.
6. The page placement method according to claim 5, characterized in that: The page temperature identification is performed for each application respectively, including: Based on the temperature of the plurality of pages contained in the single application, it is determined whether each of the plurality of pages of the single application is a hot page or a cold page.
7. The page placement method according to claim 1, characterized in that: The page placement method also includes: Determining the number of pages to be migrated based on the performance degradation of the system; The degree of performance degradation of the system is positively correlated with the number of pages to be migrated.
8. The page placement method according to claim 1, characterized in that: The page placement method also includes: In the case where it is detected that there is an initial page of the memory device to be allocated, the initial page is allocated based on the quality of service parameter of the application to which the initial page belongs and the type of the initial page.
9. The page placement method according to claim 8, characterized in that: The allocating the initial page based on the service quality parameter of the application to which the initial page belongs and the type of the initial page includes: Determine whether the type of the initial page is an anonymous type; In the case where the type of the initial page is the anonymous type, allocating the initial page to a first predetermined memory device included in the system for placement, wherein the first predetermined memory device is a memory device among the multiple memory devices with an access speed higher than a predetermined setting; Otherwise, the initial page is allocated based on the quality of service parameter of the application to which the initial page belongs.
10. The page placement method according to claim 9, characterized in that: The allocating the initial page based on the service quality parameter of the application to which the initial page belongs includes: Based on the service quality parameter of the application to which the initial page belongs, determining the current running performance state of the application to which the initial page belongs, so as to obtain an abnormal performance parameter for evaluating the performance state of the application to which the initial page belongs; When the abnormal performance parameter corresponding to the application to which the initial page belongs is greater than or equal to a preset threshold, allocating the initial page to the first predetermined memory device for placement; Otherwise, the initial page is allocated to a second predetermined memory device included in the system for placement, wherein the second predetermined memory device is a memory device among the multiple memory devices whose access speed is lower than the predetermined setting.
11. A page placement device, characterized in that: include: a page migration module configured to migrate pages of applications in the system based on page temperatures and service quality parameters of applications in the system in response to detecting a preset trigger event for performing page migration; Wherein, the preset trigger event includes an event that affects the performance of the system; Wherein, the application pages are divided into hot pages and cold pages according to temperature, and the higher the access frequency of the page, the hotter the temperature of the page; The system includes multiple memory devices, the page migration includes migrating the page from an original memory device where the page was originally placed to another new memory device for placement, and the access speeds of the original memory device and the new memory device are different.
12. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is configured to execute the instructions to implement the page placement method according to any one of claims 1 to 10.
13. A computer-readable storage medium, characterized in that: When the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the page placement method as described in any one of claims 1 to 10.
14. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the page placement method according to any one of claims 1 to 10 is implemented.
Citation Information
Cited By
Memory allocation method and device
CN121092335A
Memory allocation method and apparatus
CN121092335B