A memory management method, system, device, computer program product and storage medium
Patent Information
- Application Number
- CN202510449518.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-10
- Publication Date
- 2026-10-20
AI Technical Summary
内存超分机制在提高内存利用率等方面效果显著,但是,目前的内存超分机制,经常导致实例出现响应延时过长及与其它实例发生内存竞争等问题,影响了实例的性能稳定性
[0018]在本申请实施例中,提出了一种支持内存超分的内存管控方案。在物理机中,可以虚拟化实例为单位,预测出内存需求信息,为此提出,可采集目标实例对应的历史运行数据,还可获取目标实例在实例维度和用户维度上分别对应的属性信息,并基于采集到的历史运行数据和获取到的属性信息,为目标实例预测在不同时间长度下的内存需求信息。在这种预测方案中,引入了历史运行数据,从而可充分分析目标实例在内存方面的历史使用情况,还引入了上述的属性信息,不仅可分析实例自身的内存需求,还可充分感知用户要求,从而有效提升所预测出的内存需求信息的准确性。这可在物理机中进行内存超分的过程中,提供更加全面,更加准确的内存超分测依据。基于此,在物理机中进行内存超分的过程中,可基于上述内存需求信息,更加精准地对目标实例进行内存管控,这不仅可更好地保障目标实例的性能稳定性,还可更好地提升物理机中的内存利用率。
Smart Images

Figure HDA0005356057110000011 
Figure HDA0005356057110000012 
Figure HDA0005356057110000021
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud computing technology, and in particular to a memory management method, system, device, computer program product, and storage medium. Background Technology
[0002] In cloud computing systems, memory is one of the most important factors affecting the overall performance of an instance. Sufficient memory can support efficient data access and higher concurrency of access requests within the instance, thereby ensuring the overall performance of the instance.
[0003] Memory super-allocation is a resource management mechanism in cloud computing systems. It refers to the allocation of more memory to instances on a physical machine than the actual physical memory available on that machine. While memory super-allocation is effective in improving memory utilization, current mechanisms often lead to excessively long response times and memory contention with other instances, impacting instance performance and stability. Summary of the Invention
[0004] This application provides a memory management method, system, device, computer program product, and storage medium to improve memory utilization in a physical machine while ensuring the performance stability of instances within the physical machine.
[0005] This application provides a memory management method, including:
[0006] In response to a prediction instruction for a target instance in a physical machine, historical running data corresponding to the target instance is collected;
[0007] Obtain the attribute information of the target instance in the instance dimension and the user dimension, respectively;
[0008] Based on the historical operation data and the attribute information, predict the memory requirements of the target instance at different time lengths;
[0009] During the process of memory over-allocation in the physical machine, memory management is performed on the target instance based on the memory requirement information.
[0010] This application also provides a memory management system, including: a super-resolution planning system and a dynamic adjustment system;
[0011] The super-resolution planning system is configured to, in response to a prediction instruction for a target instance in a physical machine, collect historical running data corresponding to the target instance; obtain attribute information corresponding to the target instance in the instance dimension and the user dimension respectively; and, based on the historical running data and the attribute information, predict the memory requirement information of the target instance at different time lengths.
[0012] The dynamic adjustment system is configured to manage the memory of the target instance based on the memory requirement information during the process of memory over-allocation in the physical machine.
[0013] This application also provides a computing device, including a memory, a processor, and a communication component;
[0014] The memory is used to store one or more computer instructions;
[0015] The processor is coupled to the memory and the communication component and is used to execute one or more computer instructions to perform the aforementioned memory management method.
[0016] This application also provides a computer-readable storage medium for storing a computer program, which, when executed by one or more processors, causes the one or more processors to perform the aforementioned memory management method.
[0017] This application also provides a computer program product, including a computer program that, when executed by one or more processors, causes the one or more processors to perform the aforementioned memory management method.
[0018] This application proposes a memory management scheme supporting memory over-allocation. In a physical machine, memory requirements can be predicted at the virtualization instance level. To this end, historical operational data of the target instance can be collected, along with attribute information corresponding to the target instance at both the instance and user dimensions. Based on the collected historical operational data and the acquired attribute information, memory requirements for the target instance at different time lengths are predicted. This prediction scheme incorporates historical operational data, allowing for a comprehensive analysis of the target instance's historical memory usage. It also incorporates the aforementioned attribute information, enabling analysis not only of the instance's own memory requirements but also a full understanding of user needs, thus effectively improving the accuracy of the predicted memory requirements. This provides a more comprehensive and accurate basis for memory over-allocation during the physical machine's memory over-allocation process. Therefore, during memory over-allocation in the physical machine, memory management of the target instance can be more precise based on the aforementioned memory requirement information. This not only better ensures the performance stability of the target instance but also improves the memory utilization rate of the physical machine. Attached Figure Description
[0019] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments of this application and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0020] Figure 1A flowchart illustrating a memory management method provided for an exemplary embodiment of this application;
[0021] Figure 2 A logical schematic diagram of a memory management method provided for an exemplary embodiment of this application;
[0022] Figure 3 and Figure 4 A schematic diagram illustrating an application scenario provided for an exemplary embodiment of this application;
[0023] Figure 5 A schematic diagram of the structure of a memory management system provided for another exemplary embodiment of this application;
[0024] Figure 6 This is a schematic diagram of the structure of a computing device provided for another exemplary embodiment of this application. Detailed Implementation
[0025] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0026] It should be noted that, in the cases involving user information in the embodiments of this application, the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in the embodiments of this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse. In addition, the various models involved in this application (including but not limited to language models or large models) comply with relevant laws and standards.
[0027] Before proceeding with a detailed description of the technical solutions provided in the various embodiments of this application, the following is a brief explanation of several technical concepts involved in this application.
[0028] Cloud computing: a model that provides computing resources (including servers, storage, networks, software, etc.) on demand, enabling resource sharing and elastic scaling via the Internet.
[0029] Multi-tenant cloud environment: A cloud computing environment in which multiple users (tenants) share the same infrastructure, and resources are logically isolated among multiple users.
[0030] Virtualized instances: Virtualized computing resources that simulate independent computers on which users can run operating systems and applications. Typical virtualized instances may include, but are not limited to, virtual machines (VMs) or elastic computing service instances (ECS).
[0031] Physical Machine: An actual physical hardware server that hosts the physical resources for running virtual machines.
[0032] Memory utilization: The ratio of actual physical memory usage to total capacity, measuring the efficiency of physical memory usage.
[0033] Elastic Memory Management: Dynamically adjusts memory allocation based on actual needs, enabling flexible allocation and efficient utilization of memory resources.
[0034] System Stability: The ability of a virtualized instance to maintain a normal and reliable state during operation, avoiding crashes or unpredictable behavior.
[0035] Memory overcommitment: A technique that allocates more memory to virtualized instances than the physical machine actually has available memory.
[0036] Memory Allocation: The process of allocating available memory resources to virtualization instances.
[0037] As described in the background section, currently, to improve memory utilization in physical machines, a memory super-allocation mechanism can be used to manage the physical memory. However, current memory super-allocation mechanisms often lead to excessively long response times and memory contention with other instances, affecting the performance stability of the instances.
[0038] To address the aforementioned technical problems, this application provides a solution. The basic idea is to propose a new memory management scheme to improve memory utilization in physical machines by over-splitting memory while ensuring the performance stability of instances in the physical machine.
[0039] The technical solutions provided by the various embodiments of this application are described in detail below with reference to the accompanying drawings.
[0040] Figure 1 This is a flowchart illustrating a memory management method provided for an exemplary embodiment of this application. Figure 2 This is a logical schematic diagram of a memory management method provided for an exemplary embodiment of this application. (Reference) Figure 1 The method may include:
[0041] Step 100: In response to the prediction instruction for the target instance, collect the historical running data corresponding to the target instance;
[0042] Step 101: Obtain the attribute information of the target instance in the instance dimension and the user dimension respectively;
[0043] Step 102: Based on historical running data and attribute information, predict the memory requirements of the target instance at different time lengths;
[0044] Step 103: During the process of memory super-allocation in the physical machine, memory management is performed on the target instance based on the memory requirement information predicted for the target instance.
[0045] The memory management method in this embodiment can be implemented by a memory management system. This memory management system may contain multiple subsystems, each responsible for different aspects of the memory management method in this embodiment. The multiple subsystems cooperate with each other to realize the memory management method proposed in this embodiment.
[0046] The memory management method in this embodiment may include at least a prediction stage and a dynamic adjustment stage.
[0047] In this embodiment, the prediction process may include steps 100-102 as described above. The prediction process will be explained below.
[0048] In the prediction phase, a prediction mechanism based on virtualized instances is proposed.
[0049] refer to Figure 1 In step 100, a prediction operation for the target instance can be initiated in response to a prediction instruction for the target instance. The target instance can be any instance in a physical machine, a virtualized instance as described above, or a non-virtualized instance; no limitation is made here.
[0050] This embodiment does not limit the triggering form of the prediction instruction. For example, the prediction instruction can be triggered by a triggering event, which can be a timed triggering event, a periodic triggering event, and / or a manually triggered event. In this embodiment, the form of the prediction triggering event can be flexibly set according to actual needs, and no further examples are given here. Moreover, the prediction instruction can be triggered multiple times for any instance in the physical machine, thereby enabling dynamic prediction for the instance.
[0051] In this embodiment, a wealth of predictive criteria are incorporated into the prediction mechanism. (Continue to refer to...) Figure 1 In step 100, it is proposed that historical operational data corresponding to the target instance can be collected as one of the prediction bases.
[0052] The historical runtime data in this embodiment can be understood as time-series data that reflects the historical runtime status of the target instance. Several exemplary historical runtime data are as follows:
[0053] • CPU utilization: Reflects the load on the virtual processors in the target instance, helping to determine the computing needs of the target instance.
[0054] • Memory utilization: Displays the overall memory usage of the target instance and is the basic data for memory over-scoring.
[0055] • Cold page ratio: This represents the proportion of infrequently accessed memory pages allocated to the target instance, helping to identify reclaimable portions of the target instance's memory.
[0056] • Page Fault Count: Records the number of page faults that occurred in the target instance, reflecting the efficiency of memory access in the target instance.
[0057] • Memory access latency: Measures the response speed of memory access in the target instance. Excessive memory access latency will affect the performance of the target instance.
[0058] Further examples of historical operational data are not provided here. In this embodiment, the historical operational data collected can cover at least the past 30 days to better analyze the long-term trends and periodic changes in the target instance's operational status. Of course, this embodiment does not limit the length of the historical operational data.
[0059] In addition, continue to refer to Figure 1 As proposed in step 101, the attribute information corresponding to the target instance in the instance dimension and the user dimension can also be obtained.
[0060] In this embodiment, instance-level attribute information can be understood as information that reflects the natural attributes of the instance itself. Instance-level attribute information can originate from the static configuration information and lifecycle information corresponding to the target instance. Several exemplary instance-level attribute information are as follows:
[0061] • Hardware configuration: This includes hardware configuration information such as the number of CPU cores, memory capacity, and storage type.
[0062] • Instance type: such as general-purpose, compute-optimized, memory-optimized, etc. The memory usage patterns of different instance types may differ significantly.
[0063] • Purpose tag: The specific tasks or services that the instance performs, such as database, web server, caching service, etc.
[0064] • Lifecycle information: instance creation time, runtime, start / stop status changes, etc., to help analyze the changing trends of memory requirements.
[0065] We will not provide further examples of instance-level attribute information here.
[0066] refer to Figure 2 In this embodiment, by introducing instance-level attribute information as the basis for prediction, the memory requirements of the target instance itself can be perceived more precisely and accurately.
[0067] In this embodiment, user-level attribute information can be understood as information that reflects the memory requirements of the user to whom the instance belongs. Referring to the preceding explanation of technical concepts, in the aforementioned multi-tenant cloud environment, instances on physical machines are deployed for tenants (i.e., users), and different users have vastly different usage needs for instances. However, the aforementioned historical operating data and instance-level attribute information cannot reflect the user's memory requirements within the instance. In this embodiment, user-level attribute information is introduced to perceive the user's memory requirements. Several exemplary user-level attribute information are as follows:
[0068] • User type: such as paid users and free users, can help analyze the importance of users.
[0069] • User behavior data: This includes dynamic behavior data such as the frequency of instance usage and access patterns at different time periods.
[0070] • User feedback information: This includes user complaints, fault reports, etc., which can help analyze users' memory preferences and the aspects of memory usage experience they care about.
[0071] We will not provide further examples of user-level attribute information here.
[0072] refer to Figure 2In this embodiment, by introducing user-dimensional attribute information as the basis for prediction, the memory requirements of the user to which the target instance belongs can be perceived more precisely and accurately.
[0073] In this embodiment, by introducing the aforementioned multi-dimensional data collection, a richer, more comprehensive, and more three-dimensional instance profile can be constructed for the target instance from both static and dynamic data levels, as well as from both instance and user dimensions. This profile serves as the basis for prediction of the target instance. This provides higher-quality prediction data for subsequent prediction operations, thereby effectively improving the accuracy of prediction results.
[0074] Continue to refer to Figure 1 In step 102, it is proposed that the memory requirements of the target instance at different time lengths can be predicted based on the historical operation data and attribute information mentioned above.
[0075] Here, memory requirement information can be understood as multi-dimensional information that reflects a user's memory needs in the future.
[0076] In this embodiment, it is possible to predict memory requirements for a target instance at various time lengths. Here, "time length" can be understood as the length of a time period, such as the next 72 hours, 15 days, and 30 days. Memory requirement information at different time lengths can more comprehensively characterize the future trends and potential risks of the target instance's memory usage.
[0077] In this embodiment, the information dimensions in the memory requirement information can be flexibly set as needed. Preferably, in this embodiment, the information dimensions introduced in the memory requirement information may include, but are not limited to, memory requirement amount, cold page rate, over-division risk level, and over-division memory amount, which will be described in detail in later embodiments and will not be elaborated here.
[0078] In this embodiment, the dynamic adjustment step mentioned above may include step 103. The dynamic adjustment step will be further described below.
[0079] In this embodiment, in step 103, memory super-allocation is supported in the physical machine. Moreover, when managing the memory of the target instance, the multi-dimensional and accurate memory demand information predicted for the target instance in step 102 of this embodiment can be referenced. This enables the future trend and potential risks of memory usage of different instances in the physical machine to be fully perceived during the memory super-allocation process, so that memory management of different instances in the physical machine can be performed more accurately and more finely.
[0080] Thus, in step 103, based on the memory requirement information corresponding to the target instance, the memory requirements of the target instance can be fully perceived, and the potential risks of the target instance can be accurately identified. This allows for a more reasonable and dynamic adjustment of the amount of memory allocated to the target instance. Similarly, other instances in the physical machine can also receive more reasonable memory management. This not only fully guarantees the performance stability of the target instance, but also enables the physical memory in the physical machine to be more reasonably over-allocated, and the physical memory to be used more fully.
[0081] In summary, this embodiment proposes a memory management scheme supporting memory over-allocation. In a physical machine, memory requirements can be predicted at the virtualized instance level. To this end, historical operational data corresponding to the target instance can be collected, along with attribute information corresponding to the target instance at both the instance and user dimensions. Based on the collected historical operational data and the acquired attribute information, memory requirements for the target instance at different time lengths can be predicted. This prediction scheme incorporates historical operational data, allowing for a comprehensive analysis of the target instance's historical memory usage. It also incorporates the aforementioned attribute information, enabling analysis not only of the instance's own memory requirements but also a full understanding of user needs, thereby effectively improving the accuracy of the predicted memory requirements. This provides a more comprehensive and accurate basis for memory over-allocation measurement during the physical machine's memory over-allocation process. Therefore, during memory over-allocation in the physical machine, memory management of the target instance can be more precise based on the aforementioned memory requirement information. This not only better ensures the performance stability of the target instance but also improves the memory utilization rate of the physical machine.
[0082] In the above or following embodiments, it is proposed that an artificial intelligence model can be used to implement the aforementioned prediction process. Here, the historical operational data and attribute information collected from the target instance can be used as the basis for the AI model's predictions. In this embodiment, the AI model can be pre-trained to enable it to predict memory requirements for the target instance at different time durations based on historical operational data and attribute information.
[0083] Moreover, as mentioned above, this embodiment supports multiple prediction operations on the target instance, and the historical running data and attribute information used in different prediction operations may change dynamically. The artificial intelligence model can dynamically output prediction results based on the dynamically changing prediction basis.
[0084] One alternative implementation proposes introducing a multi-model fusion mechanism to perform the prediction process described above. This multi-model fusion mechanism can be understood as introducing multiple prediction models and combining them into a single prediction unit. Within this unit, the multiple prediction models can cooperate to predict memory requirements for the target instance at different time intervals.
[0085] In this embodiment, the model types of the multiple prediction models are not limited. Several exemplary prediction models may be: Long Short-Term Memory network (LSTM), Transformer model, extreme gradient boosting (XGBoost) model, or light gradient boosting machine (LightGBM) model, etc. No further examples of prediction models will be given here.
[0086] In this optional implementation, an exemplary combination method within the prediction unit can be: after multiple prediction models make predictions separately, the prediction results output by the multiple prediction models are fused to obtain the prediction result corresponding to the prediction unit.
[0087] Following this exemplary combination method, one exemplary prediction logic in the prediction process could be:
[0088] Based on the attribute information obtained for the target instance, usage weights are determined for each of the multiple prediction models. Using these multiple prediction models, and based on the historical runtime data and attribute information collected for the target instance, candidate memory requirements for the target instance at different time lengths are predicted. According to the determined usage weights, the candidate memory requirements predicted by the multiple prediction models for the same time length are fused to obtain the target instance's memory requirements for that time length. Similarly, the memory requirements for the target instance at other time lengths can be obtained.
[0089] Here, weights can be understood as the importance or reliability of the prediction results output by any prediction model. The higher the weights used in the prediction models, the greater their influence on the fused prediction results.
[0090] This exemplary prediction logic proposes a technical approach to effectively adapt to different computing scenarios by flexibly configuring the usage weights of different prediction models within the prediction unit. Different prediction models have varying degrees of adaptability to the same computing scenario; in this exemplary prediction logic, higher usage weights can be configured for prediction models with higher adaptability to the computing scenario.
[0091] Based on this, in this exemplary prediction logic, by analyzing the aforementioned attribute information obtained for the target instance, the computational scenario corresponding to the target instance can be fully understood. For example, the computational scenario corresponding to the target instance might be a memory-sensitive scenario. Then, based on the computational scenario determined for the target instance, a higher usage weight is assigned to the prediction model that is more suitable for that computational scenario. For example, if the computational scenario corresponding to the target instance is a memory-sensitive scenario, a higher usage weight can be assigned to the deep learning prediction model, because the prediction results output by the deep learning prediction model are of higher quality in memory-sensitive scenarios.
[0092] In practical applications, within this exemplary prediction logic, a pre-established association between computational scenarios and a set of usage weights can be constructed. This set of usage weights includes the usage weights that should be configured for each of the multiple prediction models. Based on this, when performing the prediction process for a target instance, the computational scenario corresponding to the target instance can be determined using the aforementioned attribute information collected for the target instance. Then, based on the aforementioned association, the set of usage weights suitable for the target instance can be efficiently found, thereby determining the corresponding usage weights for the target instance under multiple prediction models.
[0093] Understandably, in this exemplary prediction logic, multiple prediction models can predict memory requirements for the target instance at different time lengths based on the aforementioned historical operational data and attribute information collected for the target instance. By determining the usage weights for each prediction model, weighted averaging or other calculation methods can be used during the fusion operation to integrate the prediction results of the multiple prediction models.
[0094] It is worth emphasizing that since the prediction results output by a single prediction model for a target instance involve multiple different time lengths, during the fusion operation, the memory requirement information predicted by multiple prediction models for the target instance at any time length can be fused to obtain the memory requirement information of the target instance at that time length (as the prediction result provided by the prediction unit to the target instance at that time length).
[0095] In addition, in this embodiment, data cleaning, normalization and feature extraction operations can be performed on the historical operation data and attribute information collected for the target instance to obtain the instance features corresponding to the target instance, and then input into multiple prediction models respectively.
[0096] One exemplary feature extraction scheme incorporates the following feature dimensions:
[0097] • Time-series features: Extract time-related features, such as the average, maximum, and minimum values over the past 1 hour, 6 hours, and 12 hours, to capture short-term and medium-term trends in memory usage.
[0098] • Statistical characteristics: Calculate statistical measures such as mean, variance, skewness, and kurtosis to reflect the distribution characteristics of memory usage.
[0099] • Cross-combination features: By combining different features, such as the interaction terms of CPU utilization and memory utilization, complex feature relationships can be captured.
[0100] • Memory cold page rate related features: Focus on extracting the memory cold page rate and its changing trend to assess the space in memory that can be reclaimed.
[0101] • Instance lifecycle characteristics: Combine information such as instance creation time and runtime to analyze long-term memory requirement change patterns.
[0102] In this exemplary feature extraction scheme, instance features can be extracted from historical operational data and attribute information collected for the target instance according to the aforementioned feature dimensions. Understandably, the instance features extracted through these feature dimensions not only directly represent the collected raw data but also construct derived data from more perspectives based on the raw data, and feature-represent these derived data are also expressed. This allows the instance features input into the prediction model to possess higher expressive power and predictive value, thereby effectively improving the accuracy of the memory requirement information output by the prediction model.
[0103] Therefore, it can be ensured that the prediction process can be effectively adapted to the computing scenarios corresponding to different instances in the physical machine. For different computing scenarios, the weights used by multiple prediction models can be flexibly adjusted, so that the prediction results of the prediction model that is more adapted to the computing scenario can have a stronger impact on the final prediction result, thus further improving the accuracy of the prediction results.
[0104] Of course, other implementation schemes can also be used in this embodiment to implement the prediction stage based on the artificial intelligence model. For example, in a multi-model fusion mechanism, multiple prediction models can be chained together to complete the prediction operation. Alternatively, instead of using a multi-model fusion mechanism, a single prediction model can be selected to complete the prediction operation; more specifically, different prediction models can be selected for different computing scenarios. No limitations are placed on the implementation schemes that can be used in the prediction stage, and no further examples will be provided here.
[0105] In addition, in this embodiment, the information dimensions introduced in the memory requirement information may include, but are not limited to, memory requirement, cold page rate, over-division risk level, and amount of memory that can be over-division.
[0106] In response, one alternative implementation scheme is proposed:
[0107] Based on the historical operational data and attribute information collected for the target instance, the memory requirements and cold page rate for the target instance at different time lengths can be predicted; based on the memory requirements and cold page rate, the amount of memory that can be over-divided and the over-divided risk level for the target instance at different time lengths can be predicted; the memory requirements, cold page rate, amount of memory that can be over-divided and the over-divided risk level predicted for the target instance at different time lengths can be used as memory requirement information.
[0108] Memory requirement refers to the amount of memory a target instance needs to use within a future time period (i.e., the length of time). Cold page rate refers to the proportion of cold pages generated by the target instance within its total memory pages during the future time period. The prediction model described above can learn the mapping relationship between historical operating data and attribute information and memory requirement and cold page rate through pre-training. Therefore, based on the historical operating data and attribute information collected for the target instance, it can predict the memory requirement and cold page rate for the target instance at different time lengths.
[0109] In this optional implementation, further predictions can be made based on the predicted memory requirements and cold page rate to predict the amount of memory that can be over-divided and the over-divided risk level for the target instance at different time lengths.
[0110] The amount of superdivisible memory is used to characterize the total amount of superdivisible memory that a target instance can be allowed to use in the future. Superdivisible memory can be understood as memory that may be reclaimed at any time. When predicting the amount of superdivisible memory, other predictive factors can be introduced into the prediction model, such as the amount of memory purchased for the target instance (i.e., the memory specifications determined for the target instance when the user purchases it). Of course, other predictive factors that may affect the amount of superdivisible memory can also be introduced, but further examples are not provided here.
[0111] By predicting the amount of superdivisible memory for a target instance, we can assess how much memory can be reclaimed at any time without affecting the performance of the target instance, thus providing a strong reference for subsequent dynamic adjustments.
[0112] The memory over-division risk level can be used to characterize the likelihood of a target instance experiencing performance risks due to memory over-division in the future. In this optional implementation, the number, name, and meaning of memory over-division risk levels can be flexibly defined, as long as they effectively distinguish different probabilities of performance risks occurring. For example, three memory over-division risk levels—low risk, medium risk, and high risk—can be defined. When predicting the memory over-division risk level, other predictive factors can be introduced into the prediction model, such as the target instance's memory purchase amount, the predicted over-division memory amount for the target instance, and various thresholds and rules referenced during the classification process. Of course, other predictive factors that may affect the over-division risk level can also be introduced; further examples are not provided here.
[0113] By predicting the over-division risk level for a target instance, the target instance can be classified into an appropriate memory over-division risk level. In the subsequent dynamic adjustment phase, appropriate dynamic adjustment schemes can be adopted for different memory over-division risk levels. For example, if the predicted memory over-division risk level for a target instance is high, over-division can be turned off for the target instance in the dynamic adjustment phase. That is, over-division memory can no longer be allocated to the target instance in the future to ensure that the memory allocated to the target instance will not be reclaimed, thereby ensuring the performance stability of the target instance.
[0114] Of course, in this embodiment, the information dimensions in the memory requirement information are not limited to these, and in this embodiment, it is not required to output all of the above exemplary information dimensions for the target instance. Therefore, no further examples are provided regarding the information dimensions in the memory requirement information.
[0115] In summary, this embodiment utilizes an artificial intelligence (AI) model to perform the prediction operations in the prediction phase. The AI model enables dynamic prediction of the target instance, supporting the dynamic output of memory requirement information for the target instance at different time lengths. Furthermore, a multi-model fusion mechanism is proposed, introducing multiple prediction models to jointly predict memory requirement information for the target instance. This multi-model fusion mechanism is adaptable to different computing scenarios, allowing for flexible configuration of appropriate weights for multiple prediction models under different computing scenarios, thereby effectively improving prediction quality. A preferred feature extraction scheme is also proposed, designing several feature dimensions to give the instance features input into the prediction model higher expressive power and predictive value, thus effectively improving the accuracy of the memory requirement information output by the prediction model. In addition, several information dimensions are designed into the memory requirement information. By introducing these information dimensions, more multidimensional and refined adjustment criteria can be provided for the subsequent dynamic adjustment phase, thereby effectively improving the memory management effect in the dynamic adjustment phase.
[0116] In the above or following embodiments, a non-uniform memory access (NUMA) architecture may be used in the physical machine.
[0117] NUMA architecture is a computer architecture designed for multiprocessor systems to address memory access bottlenecks encountered with multiple processors. The basic principle of NUMA is to divide the physical machine's memory into multiple memory nodes, each with its own independent local memory, typically tightly coupled to a set of processor cores. Processors can directly access local memory, resulting in low access latency and high bandwidth. When a processor needs to access the memory of another memory node (remote memory), cross-node communication is required via the system bus or network, leading to higher access latency.
[0118] Based on this, this embodiment proposes that the NUMA architecture in the physical machine can be perceived during the dynamic adjustment process, and a dynamic adjustment strategy for the memory super-division process is designed based on the NUMA architecture.
[0119] In this embodiment, the designed dynamic adjustment strategy may include methods for scheduling instances. Instance scheduling strategy slightly It may also include features for elastic memory management of instances. Memory scaling strategy .
[0120] The instance scheduling strategy will be explained below.
[0121] Based on the instance scheduling strategy, in the dynamic adjustment phase, this embodiment proposes: Based on the predicted memory demand information for different time lengths for instances already allocated to any memory node in the physical machine, the over-division risk status, hot / cold page distribution status, and / or memory demand fluctuation status of that memory node can be monitored. If any abnormality is detected in the over-division risk status, hot / cold page distribution status, and / or memory demand fluctuation status of any memory node in the physical machine, instance scheduling for that memory node can be triggered. Based on this, when a target instance is scheduled, memory is reallocated to the target instance within the memory node to which the target instance is scheduled, thereby managing the memory of the target instance.
[0122] In this embodiment, a scheduling trigger condition is introduced in the instance scheduling strategy: an abnormality in the over-division risk state is detected on a per-memory node basis.
[0123] Regarding the scheduling triggering condition, this embodiment proposes that the over-division risk status corresponding to a memory node can be monitored based on the over-division risk level predicted for different time lengths of the instances already allocated on any memory node in the physical machine.
[0124] As explained earlier regarding the over-division risk level, from the perspective of an instance, its corresponding over-division risk level is a variable that changes over time. From the perspective of a memory node, the over-division risk level corresponding to the instances allocated within it is dynamically changing; therefore, the overall over-division risk status of the memory node is also dynamically changing. In this embodiment, by monitoring the overall over-division risk status of the memory node, any anomalies in the over-division risk status of the memory node can be detected in a timely manner. If an anomaly is detected, instance scheduling of the memory node can be triggered promptly to resolve the abnormal over-division risk status of the memory node.
[0125] In this embodiment, the over-resolution risk status of a memory node can be determined based on the predicted over-resolution risk levels for different time lengths of the instances already allocated within the memory node. This embodiment does not limit the specific calculation logic and allows for flexible design of the calculation logic. For example, an exemplary calculation logic could be to superimpose the predicted over-resolution risk levels for the same time length of the instances already allocated within the memory node to obtain the over-resolution risk index of the memory node for that time length. If the over-resolution risk index of a memory node at any time length dynamically changes to exceed a preset threshold, it can be determined that an abnormal over-resolution risk status has been detected on the memory node.
[0126] In this way, by introducing the above scheduling triggering conditions, the fluctuation of the over-division risk state on the memory node can be fully perceived. When an anomaly is detected in the over-division risk state on the memory node, instance scheduling can be triggered in a timely manner to resolve the anomaly in the over-division risk state on the memory node, thereby effectively ensuring the stability of the over-division risk state on the memory node.
[0127] In this embodiment, another scheduling trigger condition is introduced in the instance scheduling strategy: an abnormality in the distribution of hot and cold pages is detected on a per-memory-node basis.
[0128] Regarding the scheduling triggering condition, this embodiment proposes that the cold and hot page distribution status of each memory node can be monitored based on the cold page rate predicted for different time lengths of the instances already allocated to multiple memory nodes in the physical machine.
[0129] As explained earlier regarding the cold page rate, from the perspective of an instance, its corresponding cold page rate is also a variable that changes over time. From the perspective of a memory node, the cold page rate corresponding to the instances allocated within it is dynamically changing. Therefore, the overall hot and cold page distribution on the memory node is also dynamically changing. In this embodiment, by monitoring the overall hot and cold page distribution on the memory node, any abnormalities in the distribution can be detected in a timely manner. If an abnormality is detected, instance scheduling of the memory node can be triggered promptly to resolve the abnormal hot and cold page distribution.
[0130] In this embodiment, the distribution status of hot and cold pages corresponding to a memory node can be determined based on the predicted cold page rate for different time lengths of the instances allocated to that memory node. The distribution status of hot and cold pages in this embodiment can be characterized by the ratio between cold and hot pages; alternatively, it can be characterized by the cold page rate, which is not limited here. This embodiment does not limit the specific calculation logic, and flexible design of the calculation logic is supported. For example, an exemplary calculation logic could be to calculate the average of the predicted cold page rates for the same time length of the instances allocated to that memory node, thus obtaining the hot and cold page distribution index of the memory node for that time length. If the hot and cold page distribution index of the memory node is detected to dynamically change to exceed a preset threshold at any time length, it can be determined that an abnormality has occurred in the hot and cold page distribution status of the memory node.
[0131] In this way, by introducing the above scheduling triggering conditions, the fluctuation of the hot and cold page distribution status on the memory node can be fully perceived. When an abnormality is detected in the hot and cold page distribution status on the memory node, instance scheduling can be triggered in a timely manner to resolve the abnormality in the hot and cold page distribution status on the memory node, thereby effectively ensuring the stability of the hot and cold page distribution status on the memory node.
[0132] In this embodiment, another scheduling trigger condition is introduced in the instance scheduling strategy: an abnormal fluctuation in memory demand is detected on a per-memory-node basis.
[0133] Regarding the scheduling triggering condition, this embodiment proposes: the peak time period of memory demand for each instance can be determined based on the memory demand for different time lengths predicted for different instances in the physical machine; and the fluctuation status of memory demand for each of the multiple memory nodes can be monitored based on the peak time period of memory demand determined for the instances already allocated to the multiple memory nodes.
[0134] As explained earlier regarding memory requirements, from an instance's perspective, the corresponding memory requirement reflects the amount of memory the instance will need to use in the future. Based on this prediction, this embodiment further analyzes the fluctuation of memory requirements for different instances over time and identifies peak periods for memory requirements for different instances. It can be understood that peak periods for memory requirements characterize the periods of highest memory demand for an instance. Therefore, this embodiment proposes monitoring the overall memory requirement fluctuations on memory nodes. If an anomaly is detected in the memory requirement fluctuations on a memory node, instance scheduling is triggered on the memory node to stagger the peak periods of memory requirements between instances within the memory node.
[0135] In this embodiment, the memory demand fluctuation state of a memory node can be determined based on the peak periods of memory demand identified for the instances allocated within that memory node. This embodiment does not limit the specific calculation logic and allows for flexible design of the calculation logic. For example, an exemplary calculation logic could be: within the memory node, for different statistical periods, count the number of instances in the peak periods of memory demand to characterize the memory demand fluctuation state of the memory node. If the number of instances in the peak periods of memory demand in any statistical period exceeds a preset threshold, it can be determined that an abnormality has occurred in the memory demand fluctuation state of the memory node.
[0136] In this way, by introducing the above scheduling triggering conditions, the distribution of peak memory demand periods for different instances on the memory node can be fully perceived. When it is found that the memory demand on the memory node is excessively concentrated in any period, instance scheduling can be triggered in time to alleviate the problem of excessive concentration of memory demand, thereby effectively ensuring the stability of the overall memory demand on the memory node.
[0137] Corresponding to the scheduling triggering conditions introduced above, this embodiment also proposes that several scheduling constraints be introduced into the instance scheduling strategy. One scheduling constraint could be: ensuring the stability of the over-division risk state on a memory node, on a unit basis. Another scheduling constraint could be: ensuring the stability of the hot and cold page distribution state on a memory node, on a unit basis. Yet another scheduling constraint could be: ensuring the stability of the memory demand on a memory node, on a unit basis.
[0138] Based on the two introduced scheduling constraints, in the case where instance scheduling of any memory node in the physical machine is triggered by either of the above scheduling triggering conditions, this embodiment proposes:
[0139] An instance to be scheduled can be selected from memory nodes; according to preset scheduling constraints, the target memory node to which the instance to be scheduled is determined in the physical machine; the instance to be scheduled is then migrated to the target memory node. The preset scheduling constraints include one or more of the scheduling constraints introduced above. That is, the instance to be scheduled will not cause any of the following anomalies on the target memory node: over-division risk anomaly, hot / cold page distribution anomaly, or memory demand fluctuation anomaly.
[0140] In this embodiment, during instance scheduling, the aforementioned preset scheduling constraints can be combined with a bin packing mechanism to avoid excessive memory over-allocation on a memory node basis. The general principle of the bin packing mechanism is as follows: given a set of items, each item has its specific dimensions (such as volume, weight, etc.), and a certain number of bins (also with specific dimensions), the goal is to minimize the number of bins used, or to meet other optimization conditions, by rationally packing all items into bins.
[0141] In this embodiment, during the memory over-allocation process on the physical machine, memory nodes are used as boxes, and instances are used as items to be packed. Based on the memory over-allocation ratio corresponding to each memory node, the allocatable memory capacity for that memory node can be determined, serving as the size of the box, to support memory over-allocation for the memory nodes.
[0142] In this way, through the combination of the binning mechanism and the scheduling constraints introduced in this embodiment, the stability of the over-allocation risk state, the stability of the hot and cold page distribution, and the stability of memory demand can be fully guaranteed during instance scheduling in the dynamic adjustment phase. Furthermore, it can also effectively achieve memory over-allocation for memory nodes. This not only further improves memory utilization in memory nodes but also further ensures the performance stability of instances within those nodes.
[0143] Based on the instance scheduling strategy described above, this embodiment allows for flexible and timely scheduling of instances among multiple memory nodes in the physical machine. Returning to the perspective of the target instance, if the target instance is scheduled, memory can be reallocated to that memory node after the target instance has migrated there.
[0144] The memory scaling strategy in the dynamic adjustment phase is explained below.
[0145] In this embodiment, during the process of exceeding the memory limit in the physical machine, memory scaling can be performed for different instances, which can also be understood as elastic memory management, to dynamically adjust the amount of memory allocated to the instances.
[0146] Taking the target instance as an example, based on the memory scaling strategy, this embodiment proposes that: while the target instance is kept at any memory node, if the actual cold page rate of the target instance exceeds the predicted cold page rate, and / or the actual memory usage of the target instance is lower than the predicted memory requirement, then memory reclamation of the target instance is triggered.
[0147] It is understandable that memory is allocated to the target instance based on the predicted memory requirements of the target instance in the memory node. However, the prediction results may be biased. In this embodiment, according to the memory scaling strategy, the actual memory usage of the target instance can be perceived, and based on this, unreasonable allocation problems caused by the prediction result bias can be corrected in a timely manner.
[0148] As described above, if the actual cold page rate of the target instance exceeds the predicted cold page rate, and / or the actual memory usage of the target instance is lower than the predicted memory requirement, it indicates that the predicted cold page rate of the target instance may be too low, and the predicted memory requirement may be too high. Therefore, the amount of memory allocated to the target instance may be excessive. In this case, the memory scaling strategy proposed in this embodiment can promptly trigger memory reclamation for the target instance, thereby reducing the amount of memory allocated to the target instance and distributing the reclaimed memory to other instances in a timely manner.
[0149] Based on the memory scaling strategy, this embodiment proposes that when reclaiming memory for a target instance, the cold pages corresponding to the target instance can be reclaimed first. Specifically, the cold data and hot data corresponding to the target instance are stored separately in different memory pages. Memory pages used to store cold data are called cold pages; memory pages used to store hot data are called hot pages. In a physical machine, different instances can use memory pages according to the cold and hot data separation storage mechanism, which makes it easier to prioritize the reclamation of cold pages during memory reclamation.
[0150] In addition, in this embodiment, a small-scale, gradual reclamation method can be used to reclaim memory for the target instance. During the reclamation process, the performance indicators of the target instance can be monitored. If any abnormality is detected in the performance indicators, the reclamation can be stopped in time.
[0151] It is understandable that cold pages store cold data, which is data with low access frequency in the target instance. Therefore, prioritizing the reclamation of cold pages can effectively reduce the performance impact on the target instance and ensure the performance stability of the target instance.
[0152] In addition to memory reclamation, this embodiment also supports flexible increases in memory for instances based on memory scaling strategies. To this end, this embodiment proposes:
[0153] If any memory node in the physical machine has free memory, then select an instance to be added from the instances already allocated in the memory node; gradually increase the amount of memory for the instance to be added from the free memory until the performance indicators of the instance to be added reach the preset standard and / or the free memory is exhausted.
[0154] In one exemplary scheme, memory priorities can be configured for different instances. The memory priority of an instance can be determined based on parameters such as the predicted over-resolution risk level for the instance. Memory priority can be used to identify the urgency of an instance's memory requirement. Based on this, this exemplary scheme proposes that the instances to be incrementally added can be selected according to the memory priorities of the instances already allocated in the memory nodes. For example, the instance with the highest memory priority in the memory node can be selected as the instance to be incrementally added.
[0155] When increasing memory for incremental instances, a gradual, small-scale increase while simultaneously monitoring the performance metrics of the incremental instances can effectively prevent the excessive concentration of idle memory in a single instance. For example, when increasing memory for a multi-story instance, if the performance metrics of the incremental instance stabilize and no longer show an upward trend after two consecutive memory increases, then increasing memory for the incremental instance can be stopped. In this case, a new incremental instance can be selected from the memory nodes. This allows for a more rational allocation of idle memory in the memory nodes to more instances, improving the performance of more instances and thus increasing the memory utilization rate of the memory nodes.
[0156] In summary, this embodiment, during the dynamic adjustment phase, can dynamically adjust both instance scheduling and instance memory scaling within the physical machine based on the memory requirements predicted for different instances during the prediction phase. This effectively improves the rationality and timeliness of instance memory management, thereby ensuring instance performance stability and memory utilization within the physical machine. Furthermore, by fully recognizing the inconsistent memory access architecture used in the physical machine, an instance scheduling strategy was designed from the perspective of memory nodes, and memory is elastically allocated to instances within memory nodes. This allows for more refined memory over-allocation within the physical machine. By ensuring the stability of memory nodes, the performance stability of instances within those nodes is further guaranteed. And by implementing elastic memory management within memory nodes, memory utilization within those nodes is further improved.
[0157] In the above or below embodiments, in addition to memory management based on the memory requirement information provided in the prediction stage, another reference dimension is proposed in the dynamic adjustment stage.
[0158] In response, this embodiment proposes a risk avoidance mechanism to correct the management results after memory management based on predicted memory demand information, so as to further improve memory utilization and instance performance stability.
[0159] In the risk avoidance mechanism proposed in this embodiment: the performance indicators of the target instance can be monitored while the target instance is kept in any memory node; if the performance indicators of the target instance are found to be abnormal, the instance scheduling operation in the above-mentioned dynamic adjustment process is triggered.
[0160] In other words, in addition to triggering instance scheduling operations based on the scheduling triggering conditions introduced in the above embodiments, the risk avoidance mechanism in this embodiment can also trigger the above instance scheduling operations.
[0161] It is understandable that the risk avoidance mechanism in this embodiment primarily focuses on the instance's performance metrics. Abnormal performance metrics can also reflect potential deviations in the predicted memory requirements during the prediction process. Therefore, the risk avoidance mechanism in this embodiment can further correct unreasonable allocation problems caused by prediction deviations.
[0162] In this embodiment, based on the risk avoidance mechanism, when the above-mentioned instance scheduling operation is triggered against the target instance, the target memory node to which the target instance is scheduled can be determined in the physical machine according to preset scheduling constraints; the target instance is then migrated to the target memory node; wherein, the preset scheduling constraints include: the target instance will not cause any of the following anomalies on the target memory node: over-allocation risk state anomaly, cold and hot page distribution state anomaly, and / or memory demand fluctuation state anomaly. Here, the preset scheduling constraints can also be combined with the bin packing mechanism to ensure that excessive memory over-allocation is avoided on a memory node basis.
[0163] For the specific logic of performing the above instance scheduling operation on the target instance, please refer to the description in the foregoing embodiments. To avoid repetition, it will not be elaborated here.
[0164] As can be seen, based on the risk avoidance mechanism introduced in this embodiment, a fallback mechanism for dynamic adjustment can be achieved, which can improve the memory utilization rate of the physical machine through memory over-division while fully ensuring the performance stability of the instance.
[0165] In addition, this embodiment proposes an adaptive learning mechanism for the prediction stage.
[0166] As mentioned earlier, in this embodiment, the prediction operation in the prediction stage can be implemented based on an artificial intelligence model. In the dynamic adjustment stage of this embodiment, memory management for instances can be triggered from multiple perspectives. Based on this, the adaptive learning mechanism introduced in this embodiment proposes:
[0167] It can obtain the actual information value generated over any time period after memory management of the target instance, based on the different information dimensions contained in the memory requirement information for any predicted time period of the target instance.
[0168] The obtained information values are fed back into the prediction model used to predict memory requirements for the target instance, so that the prediction model can optimize its parameters.
[0169] In other words, the memory allocation results obtained through the dynamic adjustment phase can be fed back into the prediction model. The memory allocation results can be aligned with the memory demand information generated in the prediction phase in terms of both time length and information dimension. This allows the prediction model to continuously refine its ability to predict memory demand information based on the historical operational data and attribute information it has learned. This enables the prediction model to achieve adaptive learning capabilities and continuously improve its prediction quality. Correspondingly, as the prediction quality of the prediction model continuously improves, the number of instance scheduling and memory scaling operations in the dynamic adjustment phase of this embodiment will continuously decrease, thereby further reducing the impact on instance performance.
[0170] In summary, this embodiment proposes a risk avoidance mechanism for the dynamic adjustment stage and an adaptive learning mechanism for the prediction stage. By introducing these two optimization mechanisms, the memory utilization rate of the physical machine can be further improved, and the performance stability of the instance can be further guaranteed.
[0171] Figure 3 and Figure 4 This is a schematic diagram illustrating an application scenario provided for an exemplary embodiment of this application. The following is in conjunction with... Figure 3 and Figure 4 The application scheme of the memory management method proposed in this embodiment in this application scenario is described. In this application scenario, the instance deployed in the physical machine is an ECS instance, and the physical machine also adopts a NUMA architecture.
[0172] refer to Figure 3The memory management system (hereinafter referred to as the "system") provided in this embodiment is divided into several subsystems according to their functions: super-resolution planning system, which is used to implement the aforementioned prediction stage; super-resolution variable allocation system, which is used to implement the aforementioned memory scaling operation; super-resolution virtualization system, which is used to implement the aforementioned instance scheduling operation; risk avoidance system, which is used to implement the aforementioned risk avoidance mechanism; and super-resolution risk management system, which is used to monitor the performance indicators of instances.
[0173] In this application scenario, the memory management method provided in this embodiment aims to improve memory utilization in physical machines and ensure the service quality and performance stability of ECS instances. The core idea is to achieve more efficient and secure memory super-division through accurate prediction, optimized scheduling, and dynamic risk control.
[0174] To ensure the effectiveness and reliability of the memory management method provided in this implementation, the aforementioned super-resolution programming system plays a crucial role. This system comprehensively predicts memory usage risks through systematic data collection, precise data preprocessing, advanced model training and evaluation, and comprehensive prediction output, thus providing a precise basis for the optimized allocation and dynamic adjustment of memory resources. The technical details of the prediction process will be elaborated below:
[0175] 5.1.1. Prediction Result Output
[0176] 1. For each ECS instance in the physical machine, output the predicted memory requirements for different time periods such as the next 72 hours, 15 days, and 30 days.
[0177] 2. For each ECS instance in the physical machine, output the predicted cold page rate for different time periods such as the next 72 hours, 15 days, and 30 days.
[0178] 3. Based on the above predicted values, instance memory quota, and cold page ratio, calculate the amount of memory that can be oversold and the over-sold risk level for each instance.
[0179] 4. Store the prediction results in the database for use in subsequent dynamic scheduling.
[0180] 5.1.2. Historical Data Collection
[0181] To build an accurate predictive model, the system first needs to comprehensively collect historical operational data for each ECS instance from the monitoring system. This includes, but is not limited to, the following metrics:
[0182] CPU utilization: Reflects the processor's load and helps determine the instance's computing needs.
[0183] Memory utilization: This shows the overall memory usage and is the basic data for memory over-scoring.
[0184] Cold page ratio: This represents the proportion of data pages in memory that are not frequently accessed, and helps to identify the parts of memory that can be reclaimed.
[0185] Page Fault Count: Records the number of errors caused by page faults, reflecting the efficiency of memory access.
[0186] Memory access latency: measures the response speed of memory access and affects system performance.
[0187] The timeframe of this data must cover at least the past 30 days to ensure that the model can capture long-term trends and cyclical changes in the system's operation.
[0188] 5.1.3. Collection of Instance Profile Data
[0189] In addition to historical operational data, the system also needs to collect detailed configuration information and usage characteristics for each ECS instance, specifically including:
[0190] o Instance configuration: Includes hardware configuration information such as the number of CPU cores, memory capacity, and storage type.
[0191] o Instance type: such as general-purpose, compute-optimized, memory-optimized, etc. The memory usage patterns of different instance types may differ significantly.
[0192] o Purpose tag: The specific tasks or services that the instance undertakes, such as database, web server, caching service, etc.
[0193] o User behavior patterns: This includes dynamic behavioral data such as the frequency of instance usage and access patterns at different time periods.
[0194] o Lifecycle information: instance creation time, runtime, stop / start status changes, etc., to help analyze the changing trends of memory requirements.
[0195] These static and dynamic data together constitute a comprehensive profile of ECS instances, providing rich feature support for subsequent memory usage prediction.
[0196] 5.2.2. Data Preprocessing
[0197] Data preprocessing is fundamental to risk prediction, aiming to improve data quality and ensure the effectiveness and accuracy of model training.
[0198] The specific steps are as follows:
[0199] 5.2.1.1. Data Cleaning
[0200] 1. Outlier data removal: Identify and remove outliers in the data, such as extreme CPU or memory utilization, which may be caused by temporary failures or sudden events.
[0201] 2. Missing data handling: For missing data points, use appropriate filling methods, such as median filling, mean filling, or interpolation, to ensure data integrity.
[0202] 5.2.1.2. Data Normalization
[0203] To eliminate the dimensional differences between different features, the system performs data normalization:
[0204] Scaling range: Scaling all feature values to the range of [0, 1] or [-1, 1] to ensure that all features are analyzed at the same scale.
[0205] Method selection: Select a suitable normalization method based on the data distribution and model requirements, such as Min-Max scaling or Z-score standardization.
[0206] 5.2.1.3. Feature Engineering
[0207] Feature engineering aims to extract features from raw data that have a significant impact on the prediction model, specifically including:
[0208] • Time-series features: Extract time-related features, such as the average, maximum, and minimum values over the past 1 hour, 6 hours, and 12 hours, to capture short-term and medium-term trends in memory usage.
[0209] • Statistical characteristics: Calculate statistical measures such as mean, variance, skewness, and kurtosis to reflect the distribution characteristics of memory usage.
[0210] • Cross-combination features: By combining different features, such as the interaction terms of CPU utilization and memory utilization, complex feature relationships can be captured.
[0211] • Memory cold page rate related features: Focus on extracting the memory cold page rate and its changing trend to assess the space in memory that can be reclaimed.
[0212] • Instance lifecycle characteristics: Combine information such as instance creation time and runtime to analyze long-term memory requirement change patterns.
[0213] Through systematic feature engineering, we ensure that the data input into the model has high expressive power and predictive value.
[0214] 5.2.1. Model Training and Evaluation
[0215] After data preprocessing is completed, the system enters the model training and evaluation phase, aiming to build an efficient and accurate prediction model.
[0216] 5.2.1.1. Selecting an appropriate prediction model
[0217] Based on the temporal characteristics and complexity of the data, the system can select and compare multiple suitable prediction models:
[0218] • Time series forecasting models:
[0219] Long Short-Term Memory (LSTM) networks excel at capturing long-term dependencies in sequence data and are suitable for complex temporal pattern recognition.
[0220] o Transformer model: Through self-attention mechanism, it efficiently processes long sequence data, improving the accuracy and efficiency of prediction.
[0221] • Machine learning models:
[0222] XGBoost: A decision tree model based on gradient boosting, featuring efficient training speed and excellent prediction performance.
[0223] o LightGBM: Another efficient model based on the gradient boosting framework, suitable for fast training and prediction on large-scale datasets.
[0224] In addition, the system also employs multi-model fusion technology to combine the advantages of different models and improve overall prediction performance.
[0225] 5.2.1.2. Model Training
[0226] • Training data: The model is trained using historical data that has undergone preprocessing and feature engineering.
[0227] • Parameter tuning: Use the validation set to tune the model's hyperparameters and optimize its performance. For example, adjust the number of hidden layers and learning rate of the LSTM, or adjust the tree depth and learning stride of the XGBoost.
[0228] • Selecting a prediction model: Among multiple models, select the model with sufficiently high performance as the final prediction model by comparing their performance on the validation set. For example, an LSTM model and an XGBoost model can be selected and combined as a prediction unit.
[0229] 5.2.1.3. Model Evaluation
[0230] • Test set evaluation: Use an independent test set to evaluate the trained model and ensure its generalization ability on unseen data.
[0231] • Evaluation indicators:
[0232] Mean Error (MAE): Measures the average difference between the predicted and actual values, reflecting the accuracy of the prediction.
[0233] Root Mean Square Error (RMSE): Calculates the square root of the prediction error. It is more sensitive to larger errors and is suitable for evaluating the performance of a model in extreme cases.
[0234] Through a systematic evaluation process, we ensure that the selected model has high accuracy and stability, and meets the needs of practical applications.
[0235] 5.2.1.4. Predicted Output
[0236] After model training and evaluation are completed, the system generates multi-dimensional prediction outputs for subsequent memory overrun scheduling and risk control.
[0237] Memory usage prediction
[0238] • Multi-timescale prediction: Outputs predicted memory usage values for each ECS instance in the next 72 hours, 15 days, and 30 days, helping to anticipate changes in memory demand at different time scales.
[0239] Prediction of cold page percentage in memory
[0240] • Cold Page Rate Prediction: For each instance, predict the percentage of cold pages in future memory, assess the potential for reclaimable memory, and support the development of memory optimization strategies.
[0241] Calculation of the amount of memory that can be oversold and the risk level of over-resolution
[0242] • Memory oversold: Based on the predicted memory demand, instance memory quota, and cold page ratio, calculate the amount of memory that each instance can safely oversell to ensure that normal operation is not affected.
[0243] • Over-division risk level assessment: Combining the above predicted values with the actual memory quota, each instance is assigned to a corresponding risk level, such as low risk, medium risk, and high risk, based on different thresholds and rules, so that appropriate management measures can be taken.
[0244] 5.2.1.5. Result Storage and Subsequent Scheduling
[0245] • Database storage: Store all prediction results in a database to ensure data persistence and traceability.
[0246] • Scheduling and Usage: Through the super-resolution variable allocation system and super-resolution virtualization system mentioned above, these prediction results are invoked on demand to achieve dynamic allocation and optimization of memory resources, ensuring the efficiency and stability of system operation.
[0247] The super-resolution planning system in this embodiment achieves accurate prediction and risk assessment of ECS instance memory usage through a systematic process and advanced technologies. Its core advantages are:
[0248] 1. Comprehensive data collection and accurate instance profiling: Through multi-dimensional data collection, the operational characteristics of ECS instances are fully characterized, ensuring that the input data of the prediction model has high quality and high relevance.
[0249] 2. Advanced data preprocessing and feature engineering: Through data cleaning, normalization, and feature extraction, the quality of data and the expressive power of the model are improved, ensuring the accuracy and stability of predictions.
[0250] 3. Multi-model fusion training and evaluation mechanism: Combining the advantages of time series models and machine learning models, the model fusion technology significantly improves prediction performance and meets the needs of different application scenarios.
[0251] 4. Multi-dimensional forecast output and risk assessment: It not only provides memory usage and cold page rate forecasts for multiple time periods, but also combines memory quota and cold page ratio to conduct a comprehensive assessment of the amount of memory that can be oversold and the risk level, ensuring the optimal allocation of memory resources and effective control of risks.
[0252] Through the comprehensive predictive outputs described above, the system can accurately grasp future trends and potential risks in memory usage, providing a scientific basis for subsequent dynamic adjustments and ensuring maximum resource utilization and minimum risk.
[0253] Through the above-mentioned refined risk prediction process, the system can identify potential memory overselling risks in advance, implement targeted memory resource optimization strategies, and significantly improve the operating efficiency of ECS instances and the overall stability of the system.
[0254] 5.3.2. Dynamic Adjustment Phase
[0255] 1. Packing mechanism:
[0256] • NUMA-aware boxing operation: Boxing operations are performed within the NUMA nodes of physical machines, prioritizing the deployment of related instances to the same NUMA node.
[0257] • Dynamic hot and cold data separation: Based on the peak and valley characteristics of instance memory usage and the distribution of hot and cold pages, dynamic boxing and hot and cold data migration are performed to stagger the peak memory usage of different instances and store hot and cold data separately.
[0258] • Load balancing: Ensure that instances on the same NUMA node have a balanced load to prevent local nodes from becoming overloaded, while also considering the distribution of hot and cold data to avoid hot spots being concentrated.
[0259] 2. Memory allocation:
[0260] • Initial allocation: Based on the above predictions, cold page rate, and binning results, allocate initial memory to each ECS instance.
[0261] • Dynamic Adjustment: Based on real-time monitoring data, dynamically adjust the memory allocation of ECS instances. If memory usage exceeds the threshold, reduce allocation and prioritize the reclamation of cold pages; if memory usage is low, increase allocation.
[0262] 3. Scheduling Algorithm:
[0263] Greedy algorithm: Prioritize deployment on nodes with lower resource utilization.
[0264] • Genetic Algorithm: Optimizes scheduling based on factors such as memory utilization, performance metrics, and distribution of hot and cold data.
[0265] 4. Scheduling strategy:
[0266] • Prioritize deploying ECS instances with the same computing task or strong correlation on the same NUMA node.
[0267] • By leveraging the peak and valley characteristics of memory usage and the distribution of hot and cold pages across different instances, dynamic scheduling is performed to reduce memory contention and latency for hotspot access.
[0268] • Introduce a load balancing mechanism to ensure load balancing of instances on the same NUMA node, prevent local node overload, and consider the distribution of hot and cold data to avoid hot spot concentration.
[0269] 5.4.3. Real-time risk avoidance mechanism
[0270] 1. Real-time monitoring:
[0271] o Monitoring metrics: Real-time monitoring of key metrics for each ECS instance, such as the number of page faults, memory access latency, swap usage, memory utilization, and cold page ratio.
[0272] o Threshold settings: Set multiple thresholds for each indicator. When an indicator exceeds the threshold, different levels of risk warnings and maintenance actions will be triggered.
[0273] o Monitoring cycle: Set a reasonable monitoring cycle, usually 1-5 minutes.
[0274] 2. Risk Warning:
[0275] The system issues an alarm when it detects an increase in the number of page faults, an increase in memory access latency, excessive swap usage, excessive memory utilization, or an excessively low percentage of cold pages.
[0276] It supports multiple alarm methods, such as DingTalk, telephone, and platform alarms.
[0277] 3. Dynamic adjustment:
[0278] Cold page priority reclamation: When memory pressure is high, cold pages are reclaimed first, and the memory driver is dynamically adjusted.
[0279] o Resource migration: When the memory pressure on a NUMA node is too high, the ECS instance can be migrated to another NUMA node.
[0280] o Overselling ratio adjustment: The overselling ratio of NUMA nodes is dynamically adjusted based on real-time risk and historical experience.
[0281] In summary, the memory management system in this embodiment can provide the following in the above application scenarios:
[0282] 1. A multi-dimensional adaptive prediction model based on ECS instance profiling and memory cold page prediction:
[0283] By integrating rich information such as instance profiles, memory cold page rate, and lifecycle information, accurate prediction of ECS instance memory usage can be achieved.
[0284] Comprehensive feature extraction: It not only utilizes historical CPU and memory utilization data, but also delves into memory cold page rate, and combines multi-dimensional features such as instance type, purpose, user behavior patterns, and lifecycle to build a high-precision prediction model.
[0285] High-granularity prediction: Employing advanced time series models such as LSTM and Transformer, and machine learning models such as XGBoost and LightGBM, it enables refined prediction of memory usage over different time periods of 72 hours, 15 days, and 30 days, and supports hourly memory usage prediction.
[0286] Adaptive learning mechanism: By introducing an adaptive learning mechanism, the model can be continuously optimized and updated based on new data, real-time monitoring data, and overshoot effect, ensuring the effectiveness and accuracy of long-term predictions, and dynamically adjusting prediction parameters based on actual overshoot effect.
[0287] 2. A dynamic scheduling system based on dynamic bin packing and scheduling optimization, including the super-division variable allocation system and the super-division virtualization subsystem mentioned above.
[0288] By using a cold and hot data separation storage mechanism, ECS instance deployment is optimized, reducing memory contention and hotspot access latency.
[0289] Dynamic hot and cold data separation: Based on the peak and valley characteristics of instance memory usage and the distribution of hot and cold pages, the virtual machine packing and hot and cold data migration are dynamically adjusted. Instances with complementary properties are scheduled to the same physical machine, and hot and cold data are stored separately, reducing memory contention and hot memory access latency.
[0290] Fine-grained load balancing mechanism: Implements finer-grained load balancing within NUMA nodes, ensuring load balance between nodes while considering the distribution of hot and cold data, avoiding local node overload and hot spot concentration.
[0291] 3. A risk avoidance system based on real-time monitoring and cold page reclamation to implement an adaptive risk avoidance mechanism:
[0292] Through multi-dimensional real-time monitoring and a cold page priority reclamation mechanism, risk control and dynamic adjustment are achieved during the memory overselling process.
[0293] Multi-dimensional real-time monitoring: Real-time monitoring of key indicators such as the number of page faults, memory access latency, swap usage, memory utilization, and cold page ratio for each virtual machine, with multi-level thresholds for accurate risk warnings.
[0294] Cold page priority reclamation mechanism: When performance degradation is detected or the warning threshold is reached, cold pages in memory are reclaimed first. Memory pressure is relieved by dynamically adjusting memory and other methods, reducing the impact on hot data.
[0295] Adaptive risk avoidance mechanism: Based on historical overselling failure cases, real-time monitoring data and cold page recycling efficiency, the overselling ratio is dynamically adjusted to avoid repeated risks. At the same time, the adjustment results are fed back to the prediction model to optimize the model parameters, forming a closed-loop adaptive adjustment mechanism.
[0296] The memory management system in this embodiment implements an advanced system architecture and platform integration:
[0297] By integrating the functions of each module and through advanced system architecture design, efficient collaboration and intelligent operation and maintenance can be achieved.
[0298] Modular design: The prediction module, scheduling module, and monitoring system module are independent yet work together efficiently, ensuring the system's flexibility and maintainability.
[0299] Intelligent scheduling strategy: Combining prediction results and real-time monitoring data, memory resources are intelligently allocated and adjusted to improve the overall system's responsiveness and stability.
[0300] Real-time feedback and optimization: Through a real-time feedback mechanism, the scheduling adjustment results are fed back to the prediction model to continuously optimize the prediction and scheduling strategies, ensuring the dynamic adaptability and efficiency of the system.
[0301] In this application scenario, the memory management scheme provided in this embodiment can achieve at least the following technical effects:
[0302] Significantly improve memory utilization: Effectively utilize idle memory and improve resource utilization through accurate prediction and dynamic allocation.
[0303] Reduce over-division risk: Reduce performance issues and system crashes caused by over-division through real-time monitoring, cold page reclamation, and adaptive risk control.
[0304] Improve service quality: Ensure the stability and performance of virtual machine operation by optimizing memory allocation and scheduling.
[0305] Implement flexible memory management: dynamically adjust memory allocation according to actual needs to achieve flexible resource configuration and efficient utilization.
[0306] Better prediction accuracy: Based on instance profiles and multi-dimensional features, the prediction model more accurately predicts memory requirements, thus achieving safer super-resolution.
[0307] It should be noted that some processes described in the above embodiments and accompanying drawings include multiple operations that appear in a specific order. However, it should be clearly understood that these operations may not be executed in the order they appear herein, or they may be executed in parallel. The operation numbers, such as 101, 102, etc., are merely used to distinguish different operations and do not represent any execution order. Furthermore, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel.
[0308] Figure 5 This is a schematic diagram of the structure of a memory management system provided for another exemplary embodiment of this application. (See diagram below.) Figure 5 As shown, the memory management system may include a super-resolution planning system 50 and a dynamic adjustment system 51.
[0309] The super-resolution planning system 50 can be configured to respond to prediction instructions for a target instance in a physical machine, collect historical running data corresponding to the target instance; obtain attribute information of the target instance in the instance dimension and user dimension respectively; and predict the memory requirement information of the target instance at different time lengths based on historical running data and attribute information.
[0310] The dynamic adjustment system 51 can be configured to manage the memory of the target instance based on memory demand information during the process of memory over-allocation on the physical machine.
[0311] In an optional embodiment, the memory management system may further include: a risk avoidance system 52, which may be configured as follows:
[0312] While the target instance remains in any memory node, monitor the corresponding performance metrics for the target instance;
[0313] If an abnormality is detected in the performance metrics corresponding to the target instance, the target memory node to which the target instance is scheduled will be determined in the physical machine according to the preset scheduling constraints.
[0314] Migrate the target instance to the target memory node;
[0315] The preset scheduling constraints include: the target instance will not cause any of the following anomalies on the target memory node: over-division risk anomaly, cold and hot page distribution anomaly, and memory demand fluctuation anomaly.
[0316] It is worth noting that, Figure 5 The diagram only illustrates some subsystems of the memory management system and does not imply that the memory management system includes only a portion of the subsystems. Figure 5 The diagram shows several subsystems. In this embodiment, the memory management system may also include other subsystems, and Figure 5 The subsystems shown can be further subdivided into more systems, such as the super-resolution allocation system and super-resolution virtualization system mentioned in the previous application scenario. No further limitations or detailed examples are provided here.
[0317] Figure 6 This is a schematic diagram of a computing device provided as another exemplary embodiment of this application. The aforementioned memory management system for executing the memory management method can be integrated into this computing device. Figure 6 As shown, the computing device may include: memory 60 and processor 61.
[0318] The memory 60 is used to store the computer program corresponding to the above-mentioned model performance optimization device.
[0319] The processor 61, coupled to the memory 60, is used to execute computer programs in the memory 60 for performing the aforementioned memory management method.
[0320] Furthermore, such as Figure 6 As shown, the computing device also includes other components such as a communication component 62 and a power supply component 63. Figure 6 The diagram only shows some components and does not mean that the computing device includes only these components. Figure 6 The components shown.
[0321] It is worth noting that the technical details of the above embodiments of the computer device can be referred to the relevant descriptions in the foregoing method embodiments. To save space, they will not be repeated here, but this should not cause any loss to the scope of protection of this application.
[0322] The aforementioned memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random-Access Memory (SRAM), Electrically Erasable Programmable Read Only Memory (EEPROM), Erasable Programmable Read Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0323] The aforementioned communication component is configured to facilitate wired or wireless communication between the device containing the communication component and other devices. The device containing the communication component can access wireless networks based on communication standards, such as 2G, 3G, 4G / LTE, 5G, or combinations thereof. In one exemplary embodiment, the communication component receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel.
[0324] The aforementioned power supply components provide power to various components within the device in which they reside. These power supply components may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power to the device in which they reside.
[0325] Accordingly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, enables the processor to implement the steps in the above-described method embodiments. The computer-readable storage medium may be volatile, non-volatile, or a combination thereof, and may be removable or non-removable. Examples of computer-readable storage media include, but are not limited to, phase-change random access memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), flash memory or other memory technologies, CD-ROM, digital video disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transfer medium.
[0326] Accordingly, this application also provides a computer program product, which includes a computer program or instructions that, when executed by a processor, cause the processor to implement the steps in the above method embodiments. It should be understood that each step or combination of steps in the above method flow can be implemented by the computer program or instructions. Furthermore, these computer programs or instructions can be applied to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device, enabling the processor of the general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to function as an apparatus for implementing the corresponding functions in the above method embodiments.
[0327] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0328] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A memory management method, characterized in that, include: In response to a prediction instruction for a target instance in a physical machine, historical running data corresponding to the target instance is collected; Obtain the attribute information of the target instance in the instance dimension and the user dimension, respectively; Based on the historical operation data and the attribute information, predict the memory requirements of the target instance at different time lengths; During the process of memory over-allocation in the physical machine, memory management is performed on the target instance based on the memory requirement information.
2. The method according to claim 1, characterized in that, Based on the historical operational data and the attribute information, the memory requirements of the target instance are predicted at different time lengths, including: Based on the attribute information, the usage weights for multiple prediction models are determined for the target instance respectively; Using the multiple prediction models, based on the historical running data and the attribute information, candidate memory requirement information for the target instance is predicted for different time lengths. Based on the determined usage weights, the candidate memory requirement information predicted by the multiple prediction models for the target instance at the same time length is fused to obtain the memory requirement information of the target instance at the time length.
3. The method according to claim 2, characterized in that, Using the multiple prediction models, based on the historical runtime data and the attribute information, candidate memory requirement information for the target instance at different time lengths is predicted, including: In any prediction model, based on the historical running data and the attribute information, the memory requirement and cold page rate of the target instance are predicted for different time lengths. Based on the memory requirement and the cold page rate, predict the amount of memory that can be over-divided and the over-divided risk level for the target instance at different time lengths; The memory requirement information is the predicted memory requirement, cold page rate, amount of memory that can be over-divided, and over-divided risk level for the target instance at different time lengths.
4. The method according to claim 1, characterized in that, During the process of memory over-allocation on the physical machine, memory management is performed on the target instance based on the memory requirement information, including: In the case of a non-consistent memory access architecture in the physical machine, for any memory node in the physical machine, based on the memory demand information of different time lengths predicted for the instances allocated to the memory node, the over-division risk status, hot and cold page distribution status and / or memory demand fluctuation status of the memory node are monitored. If any abnormality is detected in the super-division risk status, hot and cold page distribution status and / or memory demand fluctuation status of any memory node in the physical machine, instance scheduling of the memory node is triggered. In the event of a scheduling of the target instance, memory is reallocated for the target instance in the memory node to which the target instance is scheduled, in order to manage the memory of the target instance.
5. The method according to claim 4, characterized in that, Based on the memory demand information predicted for different time lengths for the instances already allocated on the memory node, monitor the over-division risk status, hot and cold page distribution status, and / or memory demand fluctuation status corresponding to the memory node, including: Based on the over-resolution risk level predicted for different time lengths for the instances already allocated on the memory node, monitor the over-resolution risk status corresponding to the memory node; Based on the cold page rate predicted for different time lengths for the instances allocated on the memory node, monitor the cold and hot page distribution status corresponding to the memory node; Based on the memory demand predicted for different instances in the physical machine at different time lengths, the peak periods of memory demand for each instance are determined; based on the determined peak periods of memory demand, the fluctuation status of memory demand corresponding to the memory node is monitored.
6. The method according to claim 4, characterized in that, Triggering instance scheduling for the memory node includes: Select an instance to be scheduled from the memory nodes; According to the preset scheduling constraints, the target memory node to which the instance to be scheduled is determined in the physical machine; The instance to be scheduled is migrated to the target memory node; The preset scheduling constraints include: the instance to be scheduled will not cause any of the following anomalies on the target memory node: over-division risk anomaly, cold and hot page distribution anomaly, and memory demand fluctuation anomaly.
7. The method according to any one of claims 1, characterized in that, Also includes: If, while the target instance remains in any memory node, the actual cold page rate of the target instance exceeds the predicted cold page rate, and / or the actual memory usage of the target instance is lower than the predicted memory requirement, then memory reclamation of the target instance is triggered.
8. The method according to claim 7, characterized in that, Triggering memory reclamation for the target instance includes: Reclaim the cold pages corresponding to the target instance; The cold and hot data corresponding to the target instance are stored in different memory pages.
9. The method according to claim 8, characterized in that, Also includes: If any memory node in the physical machine has free memory, then select an instance to be incremented from the instances already allocated on that memory node; Gradually increase the amount of memory for the instance to be incremented from the free memory until the performance indicators of the instance to be incremented reach the preset standard and / or the amount of memory in the free memory is lower than the preset threshold.
10. The method according to claim 9, characterized in that, From the instances already allocated in the memory nodes, select instances to be incrementally added, including: Based on the memory priority of each instance allocated in the memory node, the instances are sorted in descending order of memory priority; Select the instance to be incremented according to its sorting position; The memory priority of an instance is determined based on the over-resolution risk level predicted for that instance.
11. The method according to any one of claims 4-10, characterized in that, Also includes: While the target instance remains in any memory node, monitor the performance metrics corresponding to the target instance; If an abnormality is detected in the performance indicators corresponding to the target instance, then according to the preset scheduling constraints, the target memory node to which the target instance is scheduled is determined in the physical machine. Migrate the target instance to the target memory node; The preset scheduling constraints include: the target instance will not cause any of the following anomalies on the target memory node: over-division risk anomaly, cold and hot page distribution anomaly, and memory demand fluctuation anomaly.
12. The method according to claim 11, characterized in that, Also includes: For any time length predicted for the target instance, according to the different information dimensions described in the memory requirement information, obtain the actual information value generated at the time length after memory management of the target instance; The obtained information values are fed back into the prediction model used to predict the memory requirement information for the target instance, so that the prediction model can optimize its parameters.
13. A memory management system, characterized in that, include: Super-resolution programming systems and dynamic adjustment systems; The super-resolution programming system is configured to, in response to a prediction instruction for a target instance, collect historical operational data corresponding to the target instance; obtain attribute information corresponding to the target instance in the instance dimension and the user dimension respectively; and, based on the historical operational data and the attribute information, predict the memory requirement information of the target instance at different time lengths. The dynamic adjustment system is configured to manage the memory of the target instance based on the memory requirement information during the process of memory over-allocation in the physical machine.
14. The system according to claim 13, characterized in that, It also includes a risk avoidance system; the risk avoidance subsystem is configured as follows: While the target instance remains in any memory node, monitor the performance metrics corresponding to the target instance; If an abnormality is detected in the performance indicators corresponding to the target instance, then according to the preset scheduling constraints, the target memory node to which the target instance is scheduled is determined in the physical machine. Migrate the target instance to the target memory node; The preset scheduling constraints include: the target instance will not cause any of the following anomalies on the target memory node: over-division risk anomaly, cold and hot page distribution anomaly, and memory demand fluctuation anomaly.
15. A computing device, characterized in that, Includes memory, processor, and communication components; The memory is used to store one or more computer instructions; The processor is coupled to the memory and the communication component and is used to execute one or more computer instructions to perform the memory management method according to any one of claims 1-12.
16. A computer-readable storage medium for storing a computer program, characterized in that, When the computer program is executed by one or more processors, the one or more processors perform the memory management method according to any one of claims 1-12.
17. A computer program product, characterized in that, The invention includes a computer program that, when executed by one or more processors, causes the one or more processors to perform the memory management method according to any one of claims 1-12.