Memory super-division processing method and system

By analyzing the page fault status and cold page data of the virtual machine, the memory overspending index is dynamically adjusted, which solves the performance degradation problem caused by memory overspending and improves the operating stability and performance of the host machine.

CN120994352APending Publication Date: 2025-11-21CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410627061.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-05-20
Publication Date
2025-11-21

AI Technical Summary

Technical Problem

In existing technologies, page faults caused by memory over-splitting severely degrade host machine performance and input/output performance, affecting the stability of host machine operation.

Method used

By identifying page fault status data of virtual machines over historical time periods, the performance loss is assessed, and historical cold page data is used to predict future cold page data. The memory overspending index is then dynamically adjusted to optimize memory resource allocation and reduce page replacement and address translation pressure.

Benefits of technology

It improves the host machine's memory performance and input/output performance, enhances the host machine's operational stability, and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120994352A_ABST
    Figure CN120994352A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a memory super-division processing method and system, the memory super-division processing method is applied to a host machine, the host machine runs a plurality of virtual machines, and the method comprises the following steps: determining missing page state data of the plurality of virtual machines in a first historical time period; determining performance loss results of the plurality of virtual machines according to the missing page state data; according to historical cold page data of the multiple virtual machines in a second historical time period, predicted cold page data of the multiple virtual machines in the future time period is determined, the duration of the second historical time period is smaller than or equal to that of the first historical time period, and the duration of the second historical time period is the same as that of the future time period; according to the performance loss result and the predicted cold page data, determining memory super-resolution indexes of the plurality of virtual machines in the future time period; according to the method, the page replacement pressure and the address conversion pressure of the virtual machine are reduced, the performance reduction probability of the host machine is reduced, and the stability of the memory and operation of the host machine is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of computer technology, and in particular to a method for memory over-division processing. One or more embodiments of this specification also relate to a memory over-division processing system. Background Technology

[0002] Typically, in order to balance the memory resources of various virtual machines, the host machine's memory management system will perform memory over-allocation on the virtual memory of the virtual machines to achieve memory resource scheduling.

[0003] However, memory over-division can lead to page faults. When a persistent page fault occurs, the page replacement and address translation operations caused by the page fault will continue, which will severely degrade the host machine's memory performance, input / output performance, and other performance characteristics, thereby reducing the stability of the host machine's operation.

[0004] Therefore, a technical solution is urgently needed to solve the above-mentioned technical problems. Summary of the Invention

[0005] In view of this, embodiments of this specification provide a memory over-division processing method. One or more embodiments of this specification also relate to a memory over-division processing apparatus, a computing device, a computer-readable storage medium, and a computer program product, to address the technical deficiencies in the prior art where persistent page faults lead to reduced host machine performance and decreased operational stability.

[0006] According to a first aspect of the embodiments of this specification, a memory over-distribution processing method is provided, applied to a host machine running multiple virtual machines, the method comprising:

[0007] Determine the page fault status data of the multiple virtual machines in the first historical time period;

[0008] Based on the page fault status data, determine the performance loss results of the multiple virtual machines;

[0009] Based on the historical cold page data of the plurality of virtual machines in the second historical time period, the predicted cold page data of the plurality of virtual machines in the future time period is determined, wherein the duration of the second historical time period is less than or equal to the duration of the first historical time period, and the duration of the second historical time period is the same as that of the future time period.

[0010] Based on the performance loss results and the predicted cold page data, the memory overspending metrics of the multiple virtual machines in the future time period are determined.

[0011] According to a second aspect of the embodiments of this specification, a memory super-distribution processing system is provided, applied to a host machine running multiple virtual machines, the system comprising:

[0012] The status data determination unit is configured to determine the page fault status data of the plurality of virtual machines in a first historical time period;

[0013] The performance loss result determination unit is configured to determine the performance loss result of the plurality of virtual machines based on the page fault state data;

[0014] The cold page data determination unit is configured to determine the predicted cold page data of the plurality of virtual machines in a future time period based on the historical cold page data of the plurality of virtual machines in a second historical time period, wherein the duration of the second historical time period is less than or equal to the duration of the first historical time period, and the duration of the second historical time period is the same as that of the future time period.

[0015] The memory overspending metric determination unit is configured to determine the memory overspending metric of the plurality of virtual machines in the future time period based on the performance loss results and the predicted cold page data.

[0016] According to a third aspect of the embodiments of this specification, a computing device is provided, comprising:

[0017] Memory and processor;

[0018] The memory is used to store computer programs / instructions, and the processor is used to execute the computer programs / instructions, which, when executed by the processor, implement the steps of the above-described memory over-division processing method.

[0019] According to a fourth aspect of the embodiments of this specification, a computer-readable storage medium is provided that stores a computer program / instructions that, when executed by a processor, implement the steps of the above-described memory over-division processing method.

[0020] According to a fifth aspect of the embodiments of this specification, a computer program product is provided, including a computer program / instructions that, when executed by a processor, implement the steps of the above-described memory over-division processing method.

[0021] This specification provides a memory over-split processing method in one embodiment. By determining page fault state data of multiple virtual machines in a first historical time period, the performance loss results of the multiple virtual machines are determined, thus identifying the host machine performance loss (e.g., memory performance, I / O performance) caused by page faults. Furthermore, by utilizing historical cold page data of the multiple virtual machines in a second historical time period, predicted cold page data for the multiple virtual machines in future time periods can be determined to obtain the upper limit of memory over-split that the multiple virtual machines can handle. Based on the performance loss results of the multiple virtual machines and the predicted cold page data for the multiple virtual machines in future time periods, the memory over-split index for the multiple virtual machines in future time periods is determined. Considering the handling capacity of the multiple virtual machines, the available virtual memory is increased, reducing the page replacement pressure and address translation pressure during the operation of each virtual machine. This reduces the probability of a decrease in host machine memory performance and I / O performance, and further improves the stability of host machine memory and the stability of host machine operation. Attached Figure Description

[0022] Figure 1 This is a diagram illustrating a specific application scenario of a memory super-resolution processing method provided in one embodiment of this specification.

[0023] Figure 2 This is a flowchart illustrating a memory super-resolution processing method according to one embodiment of this specification;

[0024] Figure 3 This is a flowchart illustrating the process of a memory over-division processing method provided in one embodiment of this specification;

[0025] Figure 4 This is a schematic diagram of the structure of a memory super-resolution processing system provided in one embodiment of this specification;

[0026] Figure 5 This is a structural block diagram of a computing device provided in one embodiment of this specification. Detailed Implementation

[0027] Many specific details are set forth in the following description to provide a full understanding of this specification. However, this specification can be implemented in many other ways than those described herein, and those skilled in the art can make similar extensions without departing from the spirit of this specification. Therefore, this specification is not limited to the specific implementations disclosed below.

[0028] The terminology used in one or more embodiments of this specification is for the purpose of describing particular embodiments only and is not intended to be limiting of the one or more embodiments of this specification. The singular forms “a,” “described,” and “the” as used in one or more embodiments of this specification and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in one or more embodiments of this specification refers to and includes any or all possible combinations of one or more associated listed items.

[0029] It should be understood that although the terms first, second, etc., may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first may also be referred to as second without departing from the scope of one or more embodiments of this specification, and similarly, second may also be referred to as first. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to a determination."

[0030] Furthermore, it should be noted that 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 one or more embodiments of this specification are all information and data authorized by the user or fully authorized by all parties. Moreover, 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.

[0031] First, the terms and concepts used in one or more embodiments of this specification will be explained.

[0032] Host operating system: The operating system of the host machine, which can manage various resources on the host machine.

[0033] Virtual machine operating system (guest): A guest operating system that runs in a virtualization environment and can manage various resources within the virtual machine.

[0034] Memory overcommitment: This can be understood as excessive memory allocation. It is a memory allocation strategy that allows temporarily unused memory from one guest to be borrowed by other guests or by the host.

[0035] Over-allocation quota: The amount of memory that is exceeded. The memory over-allocation quota can be understood as the amount of memory that a single guest needs to handle.

[0036] Holt-Winters model: also known as the triple exponential smoothing model, is a time series forecasting model that can be used to predict the future values ​​of time series.

[0037] Page fault: also known as page miss, page seek failure, page fault interrupt, page failure, hard error, hard interrupt, etc., refers to the interrupt that occurs when a software (such as a virtual machine) attempts to access a memory page that is mapped in the virtual address space but is not loaded into physical memory.

[0038] Central Processing Unit (CPU): One of the core components of a computer system, responsible for executing instructions, processing data, and controlling the operation of the entire system.

[0039] In virtualization systems, guest memory over-allocation can help improve the utilization of host memory resources; to improve the utilization of host memory resources, quotas can be allocated to each guest to swap out the pages corresponding to each guest.

[0040] This specification provides an embodiment of a quota allocation scheme, specifically, in which the total memory super-component of the host is evenly distributed to each guest.

[0041] However, since each guest handles different types of tasks and has different memory usage, evenly distributing quotas may result in insufficient memory for guests with high workloads, while guests with lower workloads have surplus memory and idle space, leading to a decrease in the overall memory resource utilization of the host.

[0042] Therefore, one embodiment of this specification provides another quota allocation scheme, which specifically allocates quotas based on the load of each guest.

[0043] However, since the guest load changes in real time, real-time quota allocation will cause a significant decrease in host performance. In addition, failure to allocate quotas to guests with high load in a timely manner will cause guests to perform continuous and frequent paging and address switching operations during operation, which will also lead to a significant decrease in host performance. Even worse, it will cause more performance fluctuations in the host and make it unable to run stably.

[0044] In view of this, this specification provides a memory over-division processing method, and also relates to a memory over-division processing apparatus, a computing device, a computer-readable storage medium, and a computer program product, which will be described in detail in the following embodiments.

[0045] See Figure 1 , Figure 1 The diagram illustrates a specific application scenario of a memory super-division processing method provided according to an embodiment of this specification.

[0046] like Figure 1 As shown, Figure 1 This includes a client 102, a host machine 104, and multiple virtual machines 106 running on the host machine 104. The client 102 can be understood as a mobile phone, tablet computer, laptop computer, desktop computer, smart bracelet, smartwatch, etc. The host machine 104 can be understood as the client 102, or as other servers, including but not limited to a single physical server, a physical server cluster, a single cloud server, a cloud server cluster, etc. The virtual machine 106 can be understood as a complete computer system with complete hardware system functions, running in a completely isolated environment on the host machine 104. When the host machine 104 is understood as other servers besides the client 102, the client 102 and the host machine 104 can communicate through connection methods including but not limited to wired connection, wireless connection, etc.

[0047] In practice, users can use any one or more virtual machines 106 running on the host machine 104 in the client 102. In order to support the operation of each virtual machine 106, the host machine provides memory support to each virtual machine 106, that is, allocates memory to each virtual machine 106.

[0048] Since each virtual machine 106 does not use all the memory allocated to itself at the same time, there is a situation where the utilization rate of total memory (i.e. the total memory allocated to each virtual machine) is low. Therefore, the host machine 104 can over-allocate memory to each virtual machine 106.

[0049] Specifically, the host machine 104 determines the page fault status data of multiple virtual machines 106 in the first historical time period. By using the page fault status data of multiple virtual machines 106, the host machine 104 determines the page fault situation of multiple virtual machines 106 and the impact of page faults, and evaluates the performance loss results of multiple virtual machines 106. Then, based on the historical cold page data of multiple virtual machines 106 in the second historical time period, the host machine 104 determines the predicted cold page data of multiple virtual machines 106 in the future time period, so as to determine the memory overload that multiple virtual machines 106 can handle. Furthermore, based on the above performance loss results and predicted cold page data, the host machine 104 determines the memory overload index of multiple virtual machines in the future time period, which is used for memory overload of each virtual machine.

[0050] This specification provides a memory over-split processing method. By determining page fault status data of multiple virtual machines in a first historical time period, the performance loss results of these virtual machines are determined. This determines the host machine performance loss (e.g., memory performance, I / O performance) caused by page faults. Furthermore, by utilizing historical cold page data of the multiple virtual machines in a second historical time period, predicted cold page data for future time periods can be determined to obtain the upper limit of memory over-split that the multiple virtual machines can handle. Based on the performance loss results of the multiple virtual machines and the predicted cold page data for future time periods, the memory over-split index for the multiple virtual machines in future time periods is determined. Considering the handling capacity of the multiple virtual machines, the available virtual memory is increased, reducing the page replacement pressure and address translation pressure during the operation of each virtual machine. This reduces the probability of host machine memory performance and I / O performance degradation, and further improves the stability of host machine operation. Additionally, it can improve the operational stability of the virtual machines used by users and running on the host machine, thereby improving the user experience.

[0051] See Figure 2 , Figure 2 A flowchart of a memory over-division processing method according to an embodiment of this specification is shown, applied to a host machine running multiple virtual machines, specifically including the following steps.

[0052] Step 202: Determine the page fault status data of the multiple virtual machines in the first historical time period.

[0053] The host machine can be understood as the aforementioned host machine 104. The host machine operating system runs a memory over-allocation processing system, which can perform memory over-allocation processing on the host machine's memory. The virtual machine can be understood as the aforementioned virtual machine 106.

[0054] Page fault status data can be understood as data describing page fault events and / or the impact of page faults. For example, page fault status data can be understood as the occurrence of page fault events (e.g., number of page faults), page fault types (e.g., major page fault, minor page fault), page fault causes (e.g., first access, insufficient memory leading to replacement, shared resource access), page fault rate, page fault impacts (response time, CPU utilization, CPU performance, disk I / O performance), etc.

[0055] The first historical time period can be understood as one or more historical time periods. For example, a first historical time period can be understood as from 10:30:00 on January 1, 2024 to 10:30:05 on January 1, 2024, or from 10:30:00 on January 1, 2024 to 11:00:00 on January 1, 2024, or from 10:30:00 on January 1, 2024 to 22:30:00 on January 1, 2024, and so on.

[0056] Based on this, the page fault status data of the virtual machine in the first historical time period can be understood as the page fault status data of the virtual machine with the data timestamp located in the first historical time period.

[0057] In practical applications, the memory over-division processing method provided in the embodiments of this specification can perform memory over-division processing according to the scheduling cycle, that is, perform memory over-division once in each scheduling cycle. For example, if the scheduling cycle is 5 seconds, performing memory over-division once in each scheduling cycle can be understood as performing memory over-division processing once every 5 seconds.

[0058] Taking the current scheduling moment as an example, the memory super-resolution processing server can calculate the first historical time period based on the current scheduling moment. The specific implementation method is as follows:

[0059] Before determining the page fault status data of the plurality of virtual machines in the first historical time period, the method further includes:

[0060] The current scheduling time and preset duration are determined, and a first historical time period is determined based on the current scheduling time and the preset duration, wherein the current scheduling time is the starting point of the future time period.

[0061] Specifically, the current scheduling moment can be understood as the start time of the current memory super-division processing server performing memory super-division processing, and the preset duration can be understood as one or more time dimensions set in advance to analyze the page fault status data of multiple virtual machines under one or more time dimensions.

[0062] The future time period can be understood as the time period that corresponds to the current scheduling cycle. For example, if the length of the scheduling cycle is set to 5 seconds and the current scheduling time is 10:30:00 on January 1, 2024, then the time period corresponding to the current scheduling cycle is from 10:30:00 on January 1, 2024 to 10:30:05 on January 1, 2024. Based on this, the future time period can be understood as from 10:30:00 on January 1, 2024 to 10:30:05 on January 1, 2024.

[0063] The starting point of time can be understood as the beginning of a time period. The starting point of a time period can be understood as the earliest moment of that time period or the latest moment of that time period. For ease of understanding, this specification uses the example of understanding the starting point of a time period as the earliest moment of the time period and the example of understanding the ending point of a time period as the latest moment of the time period. However, it is not limited to this and can be set according to the needs in specific implementation. For example, a time period from 10:30:00 on January 1, 2024 to 10:30:10 on January 1, 2024 has a starting point of 10:30:00 on January 1, 2024.

[0064] In specific implementation, the current scheduling time and the preset duration are determined, and the first historical time period is determined based on the current scheduling time and the preset duration. This can be understood as taking the current scheduling time as a time end point and the preset duration as a duration length. Based on the time end point and the duration length, a corresponding time start point can be determined. Then, the time period between the time start point and the time end point is determined as the first historical time period.

[0065] For example, if the current scheduling time is 10:30:00 on January 1, 2024, and the preset duration is 5 seconds, the first historical time period can be determined to be from 10:29:55 on January 1, 2024 to 10:30:00 on January 1, 2024.

[0066] The memory over-splitting method provided in this specification determines a first historical time period by utilizing the current scheduling time and a preset duration. This makes the page fault status data of multiple virtual machines in the first historical time period closer to the current scheduling time, thereby improving the accuracy of subsequent memory over-splitting based on the page fault status data of multiple virtual machines in the first historical time period. Furthermore, memory over-splitting is performed in each scheduling cycle, allowing for dynamic memory over-splitting based on the dynamic information of each virtual machine. This further reduces the probability of host machine memory performance and input / output performance degradation, and improves the stability of host machine operation.

[0067] In practical applications, to improve the accuracy of subsequent memory over-division processing based on page fault status data, page fault status data can be determined from multiple time dimensions. The specific implementation method is as follows.

[0068] The preset duration includes a first preset duration, a second preset duration, and a third preset duration;

[0069] The step of determining the first historical time period based on the current scheduling time and the preset duration includes:

[0070] Based on the current scheduling time, the first preset duration, the second preset duration, and the third preset duration, three first historical time periods are determined.

[0071] The first preset duration, second preset duration, and third preset duration can be understood as three preset durations of different time lengths. For example, the first preset duration can be understood as 5 seconds, the second preset duration as half an hour, and the third preset duration as 12 hours; or, the first preset duration can be understood as 10 seconds, the second preset duration as 1 minute, and the third preset duration as 1 hour. In practical applications, the settings of the first preset duration, second preset duration, and third preset duration can be set according to actual needs. This specification does not limit this. In addition, for ease of explanation, this specification uses the example of the first preset duration being less than the second preset duration and the second preset duration being less than the third preset duration for subsequent explanation and description, but this specification is not limited to this size limitation relationship.

[0072] Furthermore, when the first preset duration is less than the second preset duration, and the second preset duration is less than the third preset duration, the length of the first preset duration can be understood as the length of time used to observe sudden page faults; the length of the second preset duration can be understood as the length of time used to observe short-term page faults; and the third preset duration can be understood as the length of time used to observe long-term page faults. Among these, sudden page faults, short-term page faults, and long-term page faults are page fault states under three time dimensions.

[0073] A sudden page fault can be understood as a memory page fault caused by a sudden loading of a page that exceeds the physical memory limit, resulting in the page not being stored in physical memory. A short-term page fault can be understood as a page that will not be used for a short period of time (e.g., half an hour or an hour), and is loaded from memory to disk when memory is insufficient, but will be used after that short period of time, resulting in a page fault. A long-term page fault can be understood as a page fault caused by the use of a rarely used page that will not be used for a long period of time (e.g., half a day or a day).

[0074] Based on this, the first preset duration, the second preset duration, and the third preset duration can be understood as three preset durations of different time lengths for the time dimensions corresponding to the three page fault states. Accordingly, based on the current scheduling time, the first preset duration, the second preset duration, and the third preset duration, the three first historical time periods can be understood as the first historical time periods under the three time dimensions corresponding to the current scheduling time, namely, the first historical time period for observing sudden page faults, the second historical time period for observing short-term page faults, and the third historical time period for observing long-term page faults.

[0075] In specific implementation, a first historical time period can be determined based on the current scheduling time and the first preset duration, another first historical time period can be determined based on the current scheduling time and the second preset duration, and yet another first historical time period can be determined based on the current scheduling time and the third preset duration, thereby determining three first historical time periods. For details on the specific implementation of determining the corresponding first historical time period based on the current scheduling time and a certain preset duration, please refer to the above-described embodiment, which will not be repeated here.

[0076] The memory over-division processing method provided in this specification determines three first historical time periods based on the current scheduling time and three different preset durations, enabling subsequent analysis of page fault information from three time dimensions and improving the richness of page fault information.

[0077] In practical applications, after determining the three first historical time periods, the page fault status data corresponding to the three historical time periods can be determined to improve data richness. The specific implementation method is as follows.

[0078] Determining the page fault status data of the plurality of virtual machines in the first historical time period includes:

[0079] Determine the page fault status data of the multiple virtual machines in each of the three first historical time periods.

[0080] The memory super-splitting processing method provided in this specification determines the page fault status data of multiple virtual machines in three first historical time periods through three time dimensions, making the page fault status data richer. Furthermore, it avoids the problem that the page fault status data observed in a single time dimension may contain errors, which may lead to inaccuracies in the subsequent memory super-splitting processing, thereby further improving the accuracy of the subsequent memory super-splitting processing based on the page fault status data.

[0081] Step 204: Determine the performance loss results of the multiple virtual machines based on the page fault status data.

[0082] Among them, the performance loss result can be understood as the result of scoring the performance loss of the virtual machine.

[0083] Specifically, since page fault status data includes one or more of the following: page fault event occurrence (e.g., number of page faults), page fault type (e.g., major page fault, minor page fault), page fault cause (e.g., first access, memory shortage leading to replacement, shared resource access), page fault rate, and page fault impact (response time, CPU utilization, CPU performance, disk I / O performance), when evaluating virtual machine performance loss based on page fault status data, more suitable data can be selected according to actual needs, and virtual machine performance loss evaluation can be performed based on the selected data. It should be noted that the following embodiments in this specification use page fault status data including the number of page faults and page fault costs as examples for illustrative purposes, but are not limited to this.

[0084] In practical applications, when the page fault status data includes the number of page faults and the cost of page faults, the specific implementation method for determining the performance loss of multiple virtual machines based on the page fault status data is as follows.

[0085] The page fault status data includes the number of page faults and the cost of page faults;

[0086] The step of determining the performance loss results of the multiple virtual machines based on the page fault status data includes:

[0087] Based on the page fault status data, determine the number of page faults and the page fault cost of the multiple virtual machines in the first historical time period;

[0088] Determine a first performance loss result for the number of page faults of the plurality of virtual machines for the first historical time period, and a second performance loss result for the page fault cost of the plurality of virtual machines for the first historical time period;

[0089] Using the weights of the first performance loss result and the second performance loss result, the first performance loss result of the number of page faults of the multiple virtual machines for the first historical time period and the second performance loss result of the page fault cost of the multiple virtual machines for the first historical time period are weighted, summed, and normalized to determine the performance loss result of the multiple virtual machines.

[0090] Specifically, page fault count (hereinafter referred to as pf) can be understood as the number of times a page fault occurs. The page fault count of a virtual machine can be understood as the number of times a page fault occurs during the operation of the virtual machine. Page fault cost can be understood as the additional CPU performance usage caused by page faults. For example, page fault cost (hereinafter referred to as psi) can be understood as the additional time consumption and power consumption of the CPU caused by page faults.

[0091] Based on this, after obtaining the page fault status data, the number of page faults and the page fault cost of multiple virtual machines in the first historical time period can be determined according to the page fault status data. Then, based on the first performance loss result of multiple virtual machines for the number of page faults and the second performance loss result for the page fault cost, as well as the respective weights of the first performance loss result and the second performance loss result, the first performance loss result and the second performance loss result are weighted, summed and normalized to obtain the performance loss result of each virtual machine in the multiple virtual machines.

[0092] For example, the number of page faults for a virtual machine in the first historical period can be understood as 2, and the first performance loss for that virtual machine due to the number of page faults can be understood as 2. As another example, the number of page faults for a virtual machine in the first historical period can be understood as 5, and the first performance loss for that virtual machine due to the number of page faults can be understood as 5. If the page fault cost is understood as the CPU time overhead caused by page faults, the page fault cost for a virtual machine in the first historical period can be understood as 10ms, 20ms, etc., and the corresponding second performance loss for that virtual machine due to the page fault cost can be understood as 500J, 600J, etc. Alternatively, if the page fault cost is understood as the CPU power consumption overhead caused by page faults, the page fault cost for a virtual machine in the first historical period can be understood as 500, 600, etc.

[0093] Given the first and second performance loss results of multiple virtual machines, the first and second performance loss results can be weighted and summed according to their respective weights, and then normalized. The normalization process can be understood as normalizing the sum of the first and second performance loss results to a value between (0, 1) to obtain the performance loss results of each virtual machine in the multiple virtual machines.

[0094] It should be noted that the weights of the first loss result and the second loss result can be set according to actual needs. The embodiments in this specification do not limit the values ​​of the weights of the first loss result and the second loss result.

[0095] The memory over-distribution processing method provided in this specification determines the performance loss results by specifically utilizing the page fault count and page fault cost contained in the page fault state data. This makes the analysis of page fault information more comprehensive and improves the accuracy of the performance loss results. Furthermore, by weighted summation and normalization of the first and second loss results, the performance loss data of the determined multiple virtual machines is more standardized, which improves the accuracy of the memory over-distribution indicators of each virtual machine in the subsequently determined multiple virtual machines.

[0096] In practical applications, when there are three first historical time periods, the performance loss data of multiple virtual machines can also be determined based on the page fault status data of multiple virtual machines in the three first historical time periods. The specific implementation method is as follows.

[0097] The step of determining the performance loss results of the multiple virtual machines based on the page fault status data includes:

[0098] Based on the page fault status data of the multiple virtual machines in each first historical time period, determine the performance loss results of the multiple virtual machines in each first historical time period;

[0099] By utilizing the weights corresponding to the multiple virtual machines in each first historical time period, the performance loss results of the multiple virtual machines in each first historical time period are subjected to weighted summation and normalization to determine the performance loss results of the multiple virtual machines.

[0100] Specifically, given the three first historical time periods determined based on the current scheduling time, the first preset duration, the second preset duration, and the third preset duration, the performance loss of multiple virtual machines in each first historical time period can be determined based on the page fault status data of multiple virtual machines in each first historical time period.

[0101] The weights corresponding to each first historical time period can be understood as the weights corresponding to each first historical time period. For example, the weights of the three first historical time periods can be understood as 0.2, 0.3, and 0.5, or the weights of the three first historical time periods can be understood as 0.4, 0.3, and 0.3, etc.

[0102] Based on this, the weights of multiple virtual machines in each first historical time period can be understood as the weights of each virtual machine in each first historical time period. For example, the weights of each virtual machine in each first historical time period can be understood as 0.2, 0.3, 0.5 or 0.4, 0.3, 0.3. Multiple virtual machines have the same weight for the same first historical time period.

[0103] Furthermore, after determining the weights of multiple virtual machines in each first historical time period and the performance loss results of multiple virtual machines in each first historical time period, the weights of each first historical time period are used to perform weighted summation and normalization on the performance loss results of multiple virtual machines in each first historical time period, thereby determining the performance loss results of each virtual machine.

[0104] It should be noted that the weights corresponding to each first historical time period can also be set according to actual needs, which can be used to specifically increase the emphasis on a certain first historical time period.

[0105] The memory super-splitting processing method provided in this specification improves the accuracy of performance loss analysis for multiple virtual machines by performing weighted summation and normalization on the performance loss results of three first historical time periods. This allows for comprehensive analysis of performance loss from multiple time dimensions, with a focus on key time dimensions. Furthermore, by comparing the normalized results, the standardization of performance loss results is improved, as well as the accuracy of the subsequently obtained memory super-splitting indicators.

[0106] In practical applications, when there are three historical time periods, the page fault status data can also include the number of page faults and the page fault cost. This allows for a comprehensive consideration of the three historical time periods and the two types of page fault status data, resulting in a more complete and accurate analysis of performance loss. The specific implementation method is as follows:

[0107] The page fault status data includes the number of page faults and the cost of page faults;

[0108] The step of determining the performance loss results of the multiple virtual machines based on the page fault status data includes:

[0109] Based on the page fault status data, determine the number of page faults and the page fault cost of the multiple virtual machines in the first historical time period;

[0110] Determine a first performance loss result for the number of page faults of the plurality of virtual machines for the first historical time period, and a second performance loss result for the page fault cost of the plurality of virtual machines for the first historical time period;

[0111] Using the weights of the first performance loss result and the second performance loss result, the first performance loss result of the number of page faults of the multiple virtual machines for the first historical time period and the second performance loss result of the page fault cost of the multiple virtual machines for the first historical time period are weighted, summed, and normalized to determine the performance loss result of the multiple virtual machines.

[0112] Specifically, for ease of differentiation, the three first historical time periods are labeled as burst (the first historical time period corresponding to a sudden page fault), short (the first historical time period corresponding to a short-term page fault), and long (the first historical time period corresponding to a long-term page fault). The duration of burst is less than that of short, and the duration of short is less than that of long.

[0113] Based on this, the following example demonstrates the determination of performance loss results for a target virtual machine (the target virtual machine is any one of multiple virtual machines). For specific implementation methods for multiple virtual machines, please refer to the specific implementation of determining performance loss results for a target virtual machine in the embodiments of this specification. Specifically, using the weight of the first performance loss result and the weight of the second performance loss result, the target virtual machine performs weighted summation and normalization processing on the first performance loss result of the number of page faults in the first historical time period and the second performance loss result of the target virtual machine on the page fault cost in the first historical time period to determine the performance loss result of the target virtual machine. This can be understood as being implemented according to the following calculation formula (1):

[0114] Impair(t) = K(F([pf burst (t), pf short (t), pf long (t)]), G([psi) burst (t), psi short (t), psi long (t)]))

[0115] Where t can be understood as the current scheduling time, Impair(t) can be understood as the performance loss result determined by the target virtual machine for the current scheduling time, and pf burst (t) can be understood as the number of page faults that occur in the target virtual machine at the current scheduling time, pf short (t) can be understood as the number of short-term page faults occurring at the current scheduling moment, pf long (t) can be understood as the number of page faults that occur in the target virtual machine at the current scheduling time, psi. burst (t) can be understood as the page fault cost caused by a sudden page fault in the target virtual machine at the current scheduling moment, psi. short (t) can be understood as the page fault cost (psi) caused by a short-term page fault in the target virtual machine at the current scheduling moment. long (t) can be understood as the page fault cost caused by a long-term page fault in the target virtual machine at the current scheduling moment, and F represents the cost of page faults in pf. burst (t), pf short (t), pf long The calculation of weighted summation and normalization of (t), where G represents the summation of psi. burst (t)psi short (t), psi long The calculation of the weighted summation and normalization of (t), where K represents the calculation of the weighted summation and normalization of F and G.

[0116] Specifically, the specific implementation methods of the weighted summation and normalization processes in the embodiments of this specification can be found in the embodiments of the above specification, and will not be repeated here.

[0117] The memory over-division processing method provided in this specification, by comprehensively weighting and normalizing the page fault state data corresponding to three first historical time periods and two types of page fault state data, achieves a comprehensive consideration of the three historical time periods and the two types of page fault state data, making the analysis of performance loss results more comprehensive and accurate.

[0118] Step 206: Based on the historical cold page data of the multiple virtual machines in the second historical time period, determine the predicted cold page data of the multiple virtual machines in the future time period.

[0119] Wherein, the duration of the second historical time period is less than or equal to the duration of the first historical time period, and the duration of the second historical time period is the same as that of the future time period.

[0120] Specifically, a cold page can be understood as a memory page that has not been used by the virtual machine for a period of time, such as a memory page that has not been used for 7 days, a memory page that has not been used for 8 days, etc. Cold page data can be understood as data related to cold pages, including but not limited to the number of cold pages, the type of cold pages, the memory occupied by cold pages, etc. The second historical time period can be understood as one or more historical time periods with the same duration as the scheduling cycle. The future time period can be understood as the current scheduling cycle (i.e., the current scheduling cycle mentioned above).

[0121] In practical applications, time-series forecasting methods can be used to predict future cold page data using historical cold page data. For example, time-series forecasting models can be used to predict the cold page data of multiple virtual machines in future time periods, thereby improving forecasting efficiency and accuracy. The specific implementation method is as follows:

[0122] The step of determining the predicted cold page data for the multiple virtual machines in a future time period based on the historical cold page data of the multiple virtual machines in the second historical time period includes:

[0123] Based on the historical cold page data of the multiple virtual machines in the second historical time period, the predicted cold page data of the multiple virtual machines in the future time period is determined using a time-series prediction model, wherein the time-series prediction model is a machine learning model.

[0124] Among them, time series prediction models can be understood as models used to predict data for a future period of time based on historical data, such as Holt-Winters models and autoregressive models (AR) used for time series prediction.

[0125] Specifically, based on the historical cold page data of multiple virtual machines in the second historical time period, the predicted cold page data of multiple virtual machines in the future time period is determined using a time series prediction model. This can be understood as inputting the historical cold page data of multiple virtual machines in the second historical time period into the time series prediction model respectively, and obtaining the predicted cold page data of multiple virtual machines in the future time period output by the time series prediction model.

[0126] It should be noted that the time series prediction model can be pre-trained by a third party, or it can be trained by the host / virtual machine based on historical cold page data of multiple virtual machines in multiple historical time periods. The training process of the time series prediction model will not be described in detail in the embodiments of this specification.

[0127] For example, if cold page data is understood as the number of cold pages, and a virtual machine has 30 cold pages from 10:00:00 on January 1, 2024 to 10:30:00 on January 1, 2024, based on the cold page data of the virtual machine in the second historical time period, it can be predicted that the virtual machine will have 60 cold pages from 10:00:00 on January 1, 2024 to 10:30:00 on January 1, 2024.

[0128] The memory over-allocation processing method provided in this specification predicts the cold page data for future time periods based on the historical cold page data of multiple virtual machines in a second historical time period. This allows the host machine to refer to the memory over-allocation portion that multiple virtual machines can handle in the future time period for subsequent memory over-allocation processing (i.e., the virtual machine can handle a memory over-allocation portion equal to or less than its cold page data). This avoids an increase in page faults of multiple virtual machines due to excessive memory over-allocation, thereby reducing the probability of host machine performance degradation.

[0129] Step 208: Based on the performance loss results and the predicted cold page data, determine the memory overspending index of the multiple virtual machines in the future time period.

[0130] Among them, the memory over-allocation metric can be understood as the quota metric for excessive memory allocation. For example, the memory over-allocation metric can be understood as the amount of excessive memory that a virtual machine can handle, i.e., the quota mentioned above.

[0131] Specifically, the performance loss results characterize the memory overload that multiple virtual machines need to bear, and the predicted cold page data characterizes the memory overload limit that multiple virtual machines can bear. Based on the performance loss results and the predicted cold page data, the memory overload metric allocated by the host to multiple virtual machines in the future time period can be determined.

[0132] In practical applications, the specific implementation method for determining the memory overspending index of multiple virtual machines in the future time period based on the performance loss results and predicted cold page data is as follows.

[0133] The step of determining the memory overspending metric for the plurality of virtual machines in the future time period based on the performance loss results and the predicted cold page data includes:

[0134] Based on the performance loss results, determine the memory over-allocation ratio of the multiple virtual machines;

[0135] Based on the memory over-allocation ratio and the memory over-allocation of the host machine, the initial memory over-allocation index of the multiple virtual machines is determined;

[0136] Based on the initial memory overspending metrics of the multiple virtual machines and the predicted cold page data, the memory overspending metrics of the multiple virtual machines in the future time period are determined.

[0137] The memory overspending ratio can be understood as the proportion of memory overspending that needs to be handled, and the sum of the memory overspending ratios of multiple virtual machines is 1.

[0138] Determining the memory over-allocation ratio for multiple virtual machines based on the performance loss results can be understood as determining the memory over-allocation ratio for multiple virtual machines based on the numerical ratio between the performance loss results of multiple virtual machines. The specific implementation method is as follows:

[0139] Determining the memory over-allocation ratio of the multiple virtual machines based on the performance loss results includes:

[0140] The performance loss results of the multiple virtual machines are added together to obtain the total performance loss result;

[0141] The memory overspending ratio of each virtual machine is determined based on the proportion of the performance loss result of each virtual machine relative to the sum of the performance loss results.

[0142] The total performance loss can be understood as the sum of the performance loss results of multiple virtual machines.

[0143] For example, multiple virtual machines include virtual machine 1, virtual machine 2, and virtual machine 3. The performance loss of virtual machine 1 is 0.1, the performance loss of virtual machine 2 is 0.2, and the performance loss of virtual machine 3 is 0.2. The memory over-sizing ratio of virtual machine 1 is 0.1 / (0.1+0.2+0.2), which is 20%, the memory over-sizing ratio of virtual machine 2 is 0.2 / (0.1+0.2+0.2), which is 40%, and the memory over-sizing ratio of virtual machine 3 is 0.2 / (0.1+0.2+0.2), which is 40%.

[0144] The memory over-allocation processing method provided in this specification determines the memory over-allocation ratio of each virtual machine by taking into account the proportion of the performance loss result of each virtual machine in the total performance loss result of all virtual machines. That is, the more damage is caused, the higher the memory over-allocation ratio that the virtual machine needs to bear. This makes the memory over-allocation ratio take into account the memory over-allocation required by each virtual machine, thus improving the accuracy of the memory over-allocation ratio.

[0145] Furthermore, the initial memory metric can be understood as the memory overload that each virtual machine in multiple virtual machines needs to bear; based on this, the initial memory metric of multiple virtual machines can be determined according to the memory overload ratio of multiple virtual machines and the memory overload of the host machine.

[0146] Using the previous example, if the host machine's memory overage is 100quota, based on the memory overage ratios of the three virtual machines, we can determine that the initial memory quota of virtual machine 1 is 100*20%, or 20quota; the initial memory quota of virtual machine 2 is 100*40%, or 40quota; and the initial memory quota of virtual machine 3 is 100*40%, or 40quota.

[0147] Given the initial memory overspending metric and predicted cold page data for multiple virtual machines, the memory metric that each virtual machine needs to handle and the memory metric that it can handle can be determined based on the initial memory metric and predicted cold page data for multiple virtual machines. Thus, the memory overspending metric for multiple virtual machines can be determined.

[0148] The memory over-split processing method provided in the embodiments of this specification allows the host machine to determine the memory over-split index of multiple virtual machines by perceiving damage to multiple virtual machines (i.e., using the initial memory index determined based on the performance loss results) and load prediction (i.e. using the predicted cold page data obtained from the above prediction). By comprehensively considering the memory over-split load that multiple virtual machines need to bear and the memory over-split load that they can bear, the determination of the memory over-split index is more reasonable and accurate, thereby reducing the probability of memory failure (i.e. the probability of page faults occurring in virtual machines) and greatly improving the operational stability of the host machine.

[0149] In practical applications, the memory overspending index of multiple virtual machines is determined based on the initial memory metrics of multiple virtual machines and the predicted cold page data. The specific implementation method is as follows.

[0150] The step of determining the memory overrun metrics of the multiple virtual machines in the future time period based on the initial memory overrun metrics and predicted cold page data includes:

[0151] The target virtual machine is determined sequentially from the plurality of virtual machines;

[0152] If the initial memory overspending metric of the target virtual machine is greater than or equal to the predicted cold page data of the target virtual machine, the memory metric included in the predicted cold page data shall be determined as the memory overspending metric of the target virtual machine in the future time period; or

[0153] If the initial memory overspending metric of the target virtual machine is less than the predicted cold page data of the target virtual machine, the initial memory overspending metric will be determined as the memory overspending metric of the target virtual machine in the future time period.

[0154] Based on the memory overspending metric of the target virtual machine in the future time period, the memory overspending metric of the plurality of virtual machines in the future time period is determined.

[0155] Specifically, given the above determination of the initial memory overspending metric and predicted cold page data for multiple virtual machines, the smaller value between the initial memory metric and the predicted cold page data for each virtual machine can be determined as the memory overspending metric for that virtual machine.

[0156] Using the previous example, if the predicted cold page data for virtual machine 1 is 100 cold pages, the predicted cold page data for virtual machine 2 is 20 cold pages, and the predicted cold page data for virtual machine 3 is 60 cold pages, and combining the initial memory metrics of virtual machines 1, 2, and 3 above, we can determine that the memory overspending metric for virtual machine 1 is min(100, 20), which is 20; the memory overspending metric for virtual machine 2 is min(20, 40), which is 20; and the memory overspending metric for virtual machine 3 is min(60, 40), which is 40.

[0157] The memory over-split processing method provided in this specification determines the smaller value between the initial memory index of multiple virtual machines and the predicted cold page data as the memory over-split index of multiple virtual machines. This ensures that the memory over-split component does not exceed the memory over-split component that the virtual machine can handle. Since the memory over-split processing of multiple virtual machines can be implemented through the cold page data of multiple virtual machines, it is not necessary to process the memory pages used frequently by multiple virtual machines. This avoids the situation where the virtual machine bears a high memory over-split component, which leads to an increase in page faults. This further improves the running stability of multiple virtual machines and reduces the impact of page faults on the host machine performance.

[0158] In practical applications, the excess memory that was not allocated during the above allocation process can also be reallocated. The specific implementation method is as follows.

[0159] After determining the memory overspending metric for the plurality of virtual machines in the future time period, the process includes:

[0160] The total memory overrun metric is determined based on the memory overrun metrics of the multiple virtual machines in the future time period.

[0161] If the total memory overspending index is determined to be less than the memory overspending index of the host machine, then based on the memory overspending index of the multiple virtual machines in the future time period and the predicted cold page data, a virtual machine to be added is determined from the multiple virtual machines.

[0162] Determine the difference between the total memory overshoot metric and the host machine's memory overshoot metric;

[0163] Based on the performance loss results of the virtual machine to be supplemented, determine the over-allocation ratio of the supplemented memory for the virtual machine to be supplemented;

[0164] The supplementary memory over-score index of the virtual machine to be supplemented is determined based on the over-score difference and the supplementary memory over-score ratio.

[0165] The total memory overspending metric can be understood as the sum of the memory overspending metrics of multiple virtual machines in a future time period. Based on the total memory overspending metric, the allocated memory overspending component in the host machine's memory overspending component can be determined. The virtual machines to be supplemented can be understood as virtual machines that need to be allocated memory overspending components. The overspending difference between the total memory overspending metric and the host machine's memory overspending component can be understood as the difference in the number of pages between the total memory overspending metric and the number of pages between the total memory overspending metric and the host machine's memory overspending component.

[0166] The supplementary memory over-allocation ratio can be understood as the proportion of the number of pages for which the virtual machine to be supplemented needs to be allocated additional memory to the above over-allocation difference. Based on this ratio and the over-allocation difference, the number of pages for which the virtual machine to be supplemented needs to be allocated additional memory can be determined, which is the supplementary memory over-allocation index.

[0167] Using the previous example, the host machine's memory excess is 100. The memory excess indicators of the three virtual machines in the future time period are 20, 20, and 40, respectively. The total memory excess indicator is 20 + 20 + 40, which is 80. The total memory excess indicator is less than the host machine's memory excess. Therefore, we can determine that the difference between the total memory excess indicator and the host machine's memory excess is 20.

[0168] Based on the memory overspending metrics and predicted cold page data of multiple virtual machines in the future time period, the virtual machines to be supplemented are determined from among the multiple virtual machines. This can be understood as determining the virtual machines among the multiple virtual machines whose memory overspending metrics are less than the predicted cold page data in the future time period, and then identifying them as virtual machines to be supplemented.

[0169] Optionally, based on the memory overspending metrics and predicted cold page data of multiple virtual machines in a future time period, the virtual machines to be supplemented are determined from among the multiple virtual machines. This can also be understood as, based on the memory overspending metrics and predicted cold page data of multiple virtual machines in a future time period, determining the virtual machines among the multiple virtual machines whose memory overspending metrics in the future time period are less than a preset memory overspending metric reference value and / or whose predicted cold page data are less than a preset predicted cold page data reference value, and identifying them as virtual machines to be supplemented.

[0170] To identify virtual machines that have a memory overspending ratio less than the predicted cold page data in a future time period, and to designate them as virtual machines to be supplemented, let's take the previous example. Virtual machine 1 has a memory overspending ratio of 20 and a predicted cold page data of 100 cold pages. Since the memory overspending ratio of virtual machine 1 is less than the predicted cold page data of virtual machine 1, virtual machine 1 is identified as a virtual machine to be supplemented. Similarly, virtual machine 3 can be identified as a virtual machine to be supplemented.

[0171] After identifying the virtual machines to be supplemented, the proportion of memory excess that each virtual machine needs to be supplemented is determined based on its performance loss. Continuing with the previous example, the performance loss data for virtual machine 1 is 0.1, and the performance loss data for virtual machine 3 is 0.2. Therefore, the proportion of memory excess that virtual machine 1 needs to supplement (i.e., the proportion of memory excess that needs to be supplemented) is 0.1 / (0.1+0.2), which is 0.33. The proportion of memory excess that virtual machine 2 needs to supplement (i.e., the proportion of memory excess that needs to be supplemented) is 0.2 / (0.1+0.2), which is 0.67.

[0172] Furthermore, based on the super-resolution difference and the super-resolution ratio of the supplementary memory, the super-resolution index of the virtual machine to be supplemented is determined. Continuing with the previous example, the super-resolution ratio of virtual machine 1 is 0.33. Based on the product of the super-resolution difference and the super-resolution ratio, 20 * 0.33, the super-resolution index of virtual machine 1 can be obtained, which is 6.6. The super-resolution ratio of virtual machine 2 is 0.67. Based on the product of the super-resolution difference and the super-resolution ratio, 20 * 0.67, the super-resolution index of virtual machine 1 can be obtained, which is 13.4.

[0173] The memory over-allocation processing method provided in the embodiments of this specification, after determining the memory over-allocation indicators of multiple virtual machines in the future time period, performs secondary memory over-allocation on the unallocated memory over-allocation of the host machine's memory over-allocation, so that all the memory over-allocation of the host machine can be borne by the virtual machines, ensuring the stability of the host machine's memory level and improving the host machine's operational stability.

[0174] In practical applications, the specific implementation method for determining the excess memory components of the host machine can be described as follows.

[0175] Before determining the initial memory over-allocation index of the plurality of virtual machines based on the memory over-allocation ratio and the memory over-allocation of the host machine, the method further includes:

[0176] Determine the memory quantity control parameters, and based on the memory quantity control parameters, determine the predicted memory quantity of the host machine in the future time period;

[0177] The current amount of memory used and the current amount of free memory of the plurality of virtual machines are determined, and the memory excess of the host machine is determined based on the predicted memory amount, the current amount of memory used, and the current amount of free memory.

[0178] Among them, the memory control parameter can be understood as the configuration parameter input by the user, that is, the configuration parameter that the user needs to configure for the total virtual memory level of the host machine in the future time period. Based on the configuration parameter, the number of memory pages in the virtual memory of the host machine in the future time period can be determined, that is, the predicted memory amount of the host machine in the future time period.

[0179] The amount of memory currently used by multiple virtual machines can be understood as the number of virtual memory pages currently used by multiple virtual machines, while the amount of free memory can be understood as the number of virtual memory pages not currently used by any virtual machine.

[0180] In practice, after determining the predicted memory amount of the host machine in the future time period, the current memory used by multiple virtual machines, and the current free memory amount, the predicted memory amount of the host machine in the future time period is subtracted from the current memory used by multiple virtual machines and the current free memory amount. This yields the amount of memory that the host machine needs to over-allocate, i.e., the host machine's memory over-allocation. For example, if the predicted memory amount of the host machine in the future time period is 1000, the current memory used by multiple virtual machines is 600, and the current free memory amount is 300, then according to 1000-600-300, the host machine's memory over-allocation can be determined to be 100.

[0181] The memory over-allocation processing method provided in the embodiments of this specification, after determining the memory over-allocation indicators of multiple virtual machines in the future time period, performs secondary memory over-allocation on the unallocated memory over-allocation of the host machine's memory over-allocation, so that all the memory over-allocation of the host machine can be borne by the virtual machines, ensuring the stability of the host machine's memory level and improving the host machine's operational stability.

[0182] In practical applications, after determining the memory over-allocation metric, page swapping can be performed on multiple virtual machines to achieve dynamic memory over-allocation. The specific implementation method is as follows.

[0183] After determining the memory overspending metric for the plurality of virtual machines in the future time period based on the performance loss results and the predicted cold page data, the method further includes:

[0184] Based on the memory overspending metric, the target memory pages of the multiple virtual machines are determined;

[0185] The target memory page is swapped to the page swap space, wherein the page swap space is a storage space different from memory.

[0186] The target memory page can be understood as a cold page in multiple virtual machines. The page swap space includes, but is not limited to, disks (HDDs), solid-state drives (SSDs), and memory cards.

[0187] Specifically, based on the memory overspending metrics of each virtual machine, the cold pages that need to be page-swapped in each virtual machine, i.e., the target memory pages, can be determined. The cold pages that need to be page-swapped in each virtual machine are then page-swapped, i.e., the target memory pages are swapped to the page swap space. The page swap space can be selected according to actual needs, and this manual does not impose any restrictions on it.

[0188] The memory over-splitting processing method provided in the embodiments of this specification determines the target memory pages in multiple virtual machines based on the memory over-splitting index determined above, and replaces the target memory pages with storage spaces different from memory, thereby realizing memory over-splitting of the host machine. This expands the virtual memory of each virtual machine, and since the target memory pages are cold pages of each virtual machine, it also reduces the impact of memory over-splitting on the operation of virtual machines while realizing memory over-splitting.

[0189] In practical applications, an algorithm pool can be configured and multiple performance loss algorithms and multiple cold page prediction algorithms can be pre-stored to optimize memory super-division processing. The specific implementation method is as follows.

[0190] After determining the page fault status data of the plurality of virtual machines in the first historical time period, the method further includes:

[0191] The target performance loss algorithm and the target cold page prediction algorithm are determined from the algorithm pool, wherein the algorithm pool includes at least two performance loss algorithms and at least two cold page prediction algorithms;

[0192] The step of determining the performance loss results of the multiple virtual machines based on the page fault status data includes:

[0193] Based on the page fault status data, the performance loss results of the multiple virtual machines are determined using the target performance loss algorithm;

[0194] The step of determining the predicted cold page data for the multiple virtual machines in a future time period based on the historical cold page data of the multiple virtual machines in the second historical time period includes:

[0195] Based on the historical cold page data of the multiple virtual machines in the second historical time period, the target cold page prediction algorithm is used to determine the predicted cold page data of the multiple virtual machines in the future time period.

[0196] The algorithm pool contains multiple selectable performance loss algorithms and cold page prediction algorithms. The algorithms in the algorithm pool are pluggable and can be replaced.

[0197] For example, a performance loss algorithm can be understood as the specific implementation of determining the performance loss of multiple virtual machines based on page fault status data, or it can be understood as determining the loss value based on the number of page faults that occurred in the virtual machines within 5 seconds before the current scheduling time and the scheduling cycle, or other performance loss algorithms, etc.

[0198] A cold page prediction algorithm can be understood as the specific implementation of determining the predicted cold page data for multiple virtual machines as described above. Alternatively, it can be understood as using the average of the cold page amounts from the five scheduling cycles preceding the current scheduling cycle of multiple virtual machines to determine the predicted cold page data for the current scheduling cycle, i.e., the predicted cold page data for multiple virtual machines in the future time period. Other cold page prediction algorithms may also exist.

[0199] The memory super-division processing method provided in the embodiments of this specification improves the scalability of memory super-division processing by designing a pluggable algorithm pool. By dynamically selecting performance loss algorithms and cold page prediction algorithms from the algorithm pool in each scheduling cycle, it improves the adaptability, flexibility, and recovery capability of algorithm failures. Furthermore, new algorithms can be added to the algorithm pool in the future, making the use of new algorithms more convenient and facilitating subsequent optimization of memory super-division processing.

[0200] In practical applications, a performance loss algorithm and a cold page prediction algorithm can be selected from the algorithm pool as an algorithm combination to implement the above memory super-division processing method. The specific implementation method is as follows.

[0201] The step of determining the target performance loss algorithm and the target cold page prediction algorithm from the algorithm pool includes:

[0202] Multiple algorithm combinations are determined from the algorithm pool, wherein any one of the multiple algorithm combinations includes a performance loss algorithm and a cold page prediction algorithm;

[0203] Multiple algorithm combinations are determined as the initial algorithm combination;

[0204] Based on the determined page fault status data of multiple virtual machines and the simulation history cold page data of the multiple virtual machines in the second simulation history time period, the data is processed using the initial algorithm combination to obtain the initial memory super-scoring index of the multiple virtual machines in the simulation future time period corresponding to the initial algorithm combination.

[0205] Based on the initial memory super-scoring metrics, the target memory super-scoring metrics are determined, and based on the target algorithm combination corresponding to the target memory super-scoring metrics, the target performance loss algorithm and the target cold page prediction algorithm are determined.

[0206] The algorithm combination can be understood as a combination of an algorithm with a performance loss algorithm and a cold page prediction algorithm.

[0207] The simulated virtual machine can be understood as a simulated virtual machine. The simulated page fault state data can be understood as the page fault state data of the simulated virtual machine. The second simulated historical time period can be understood as the second historical time period set during simulation. The simulated historical cold page data can be understood as the simulated historical cold page data obtained by simulating the historical cold page data of the simulated virtual machine.

[0208] Specifically, the detailed implementation method for determining the initial memory overspending index of multiple simulation virtual machines in the future simulation time period can be found in the above-mentioned specification embodiments, and will not be repeated here.

[0209] Furthermore, after determining the initial memory super-scoring index corresponding to each initial algorithm combination, a target memory super-scoring index is determined from the initial memory super-scoring indices. The overall loss corresponding to the target memory super-scoring index is less than the overall loss corresponding to other initial memory super-scoring indices. The overall loss can be understood as a comprehensive score of the performance loss results of multiple simulated virtual machines and page fault state data. After determining the target memory super-scoring index, the performance loss algorithm and cold page prediction algorithm included in the target algorithm combination can be determined based on the target algorithm combination corresponding to the target memory super-scoring index, i.e., the target performance loss algorithm and the target cold page prediction algorithm.

[0210] The memory super-resolution processing method provided in this specification determines the target algorithm combination by simulating and testing various algorithm combinations in the algorithm pool that include a performance loss algorithm and a cold page prediction algorithm. In order to select the algorithm combination with the lower overall loss in each scheduling cycle, the memory super-resolution processing system can achieve rapid iteration.

[0211] In practical applications, the selection of the target performance loss algorithm and the target cold page prediction algorithm can be achieved by using the loss value corresponding to each initial memory super-resolution index as a reference factor. The specific implementation method is as follows:

[0212] The step of determining a target memory super-scoring index based on each initial memory super-scoring index, and determining the target performance loss algorithm and the target cold page prediction algorithm based on the target algorithm combination corresponding to the target memory super-scoring index, includes:

[0213] Based on the initial memory over-scoring indicators, determine the corresponding damage value for each initial memory over-scoring indicator;

[0214] Based on the damage value corresponding to each initial memory super-scoring indicator, a target memory super-scoring indicator is determined from each initial memory super-scoring indicator, wherein the damage value of the target memory super-scoring indicator is less than or equal to any one of the damage values ​​of each initial memory super-scoring indicator;

[0215] Based on the target memory super-resolution index, the initial algorithm combination that corresponds to the target memory super-resolution index in the initial algorithm combination is determined as the target algorithm combination corresponding to the target memory super-resolution index;

[0216] The performance loss algorithm included in the target algorithm combination is determined as the target performance loss algorithm, and the cold page prediction algorithm included in the target algorithm combination is determined as the target cold page prediction algorithm.

[0217] The damaged value can be understood as the performance loss result of the simulated virtual machine. When there are multiple simulated virtual machines, the damaged value can be understood as the sum of the performance loss results of multiple simulated virtual machines. The performance loss result can be understood as the above performance loss result. The simulated virtual machine can be understood as the simulated virtual machine used for simulation testing.

[0218] In practical applications, simulation tests can be conducted using various initial memory metrics to determine the corresponding damage values ​​for each initial memory metric. The specific implementation method is as follows:

[0219] The step of determining the damage value corresponding to each initial memory over-scoring index based on each initial memory over-scoring index includes:

[0220] Each of the initial memory super-resolution metrics is determined as the target simulation memory super-resolution metric;

[0221] Using the target simulation memory super-resolution index, memory super-resolution simulation is performed on multiple simulation virtual machines to obtain the initial damage values ​​of the multiple simulation virtual machines;

[0222] The sum of the initial damage values ​​of each simulation virtual machine is determined as the damage value corresponding to the target simulation memory over-resolution index;

[0223] Based on the damage value corresponding to the target simulated memory over-resolution index, determine the damage value corresponding to each initial memory over-resolution index.

[0224] The initial damage value of multiple simulated virtual machines can be understood as the performance loss result of each virtual machine in the multiple simulated virtual machines.

[0225] Using the target simulation memory super-resolution index to perform memory super-resolution simulation on multiple simulation virtual machines can be understood as using the target simulation memory super-resolution index and the memory super-resolution method provided in the above-described embodiment to determine the memory super-resolution component of each simulation virtual machine, and then performing simulation memory super-resolution on each simulation virtual machine based on the memory super-resolution component of each simulation virtual machine.

[0226] Subsequently, through the specific implementation of determining the performance loss result of the target virtual machine provided in the above-described embodiment, the performance loss result corresponding to each simulated virtual machine at the moment of completing the simulated memory over-allocation is obtained, and the performance loss result of each simulated virtual machine is determined as the initial damage value of each simulated virtual machine.

[0227] Furthermore, the initial damage values ​​of each simulated virtual machine are added together, and the sum of the initial damage values ​​of each simulated virtual machine is determined as the damage value corresponding to the target simulated memory over-resolution index. Thus, the damage value corresponding to each initial memory over-resolution index can be determined.

[0228] The memory over-splitting processing method provided in this specification uses various initial memory over-splitting indicators to perform memory over-splitting simulations on multiple virtual machines to determine the simulation memory over-splitting results, i.e., the damage values ​​of multiple virtual machines. This allows for the analysis of the memory over-splitting effect corresponding to each initial memory over-splitting indicator, reducing the resource consumption of actual memory over-splitting tests and improving the iterative update efficiency of the memory over-splitting processing system.

[0229] Furthermore, after determining the damage value corresponding to each initial simulation memory over-resolution index, the target memory over-resolution index can be determined based on the smaller value among the damage values ​​corresponding to each initial simulation memory over-resolution index. That is, the damage value of the target memory over-resolution index is less than or equal to any one of the damage values ​​of each initial memory over-resolution index.

[0230] Based on this, after obtaining the target memory super-splitting index, the performance loss algorithm included in the initial algorithm combination corresponding to the target memory super-splitting index can be identified as the target performance loss algorithm, and the cold page prediction algorithm included in the initial algorithm combination corresponding to the target memory super-splitting index can be identified as the target cold page prediction algorithm. Subsequently, the target performance loss algorithm and the target cold page prediction algorithm can be used to achieve memory super-splitting for multiple virtual machines.

[0231] This specification provides a memory super-resolution processing method. By determining the algorithm combination corresponding to the initial memory super-resolution index with smaller damage value as the algorithm combination for actual application, this method optimizes the iterative selection of the memory super-resolution processing system for rapid iteration by selecting the algorithm combination with lower overall damage in each scheduling cycle.

[0232] In practical applications, the specific implementation method for determining the initial memory overspending index is as follows, based on the determined simulation page fault status data of multiple simulation virtual machines and the simulation historical cold page data of the multiple simulation virtual machines in the second simulation historical time period.

[0233] The step involves processing data based on the determined page fault status data of multiple virtual machines and the simulation history cold page data of the multiple virtual machines in the second simulation history time period, using the initial algorithm combination to obtain the initial memory super-resolution index of the multiple virtual machines in the future simulation time period corresponding to the initial algorithm combination, including:

[0234] Based on the determined page fault state data of multiple virtual machines, the initial performance loss result of the multiple virtual machines is determined using the performance loss algorithm included in the initial algorithm combination.

[0235] Based on the simulation history cold page data of the multiple virtual machines in the second simulation history time period, the simulation cold page prediction algorithm included in the initial algorithm combination is used to determine the simulation initial prediction cold page data of the multiple virtual machines in the simulation future time period.

[0236] Based on the initial performance loss results of the simulation and the initial predicted cold page data of the simulation, the initial memory super-scoring index of the multiple simulation virtual machines corresponding to the initial algorithm combination in the future time period of the simulation is determined.

[0237] Specifically, the specific implementation methods of the embodiments in this specification can be found in the embodiments of the above specification, and will not be repeated here.

[0238] The memory super-division processing method provided in the embodiments of this specification improves the accuracy of simulation testing by simulating and testing each combination of algorithms in the algorithm pool that includes a performance loss algorithm and a cold page prediction algorithm. Specifically, the performance loss algorithm and the cold page prediction algorithm are used to determine the initial performance loss result and the initial predicted cold page data of the simulation, respectively, thereby improving the accuracy of the simulation test and making the subsequently determined target algorithm combination more accurate.

[0239] This specification provides a memory over-split processing method in one embodiment. By determining the page fault status data of multiple virtual machines in a first historical time period, the performance loss results of the multiple virtual machines are determined, thus identifying the host machine performance loss (e.g., memory performance, I / O performance) caused by page faults. Furthermore, by utilizing historical cold page data of the multiple virtual machines in a second historical time period, predicted cold page data for the multiple virtual machines in future time periods can be determined to obtain the upper limit of memory over-split that the multiple virtual machines can handle. Based on the performance loss results of the multiple virtual machines and the predicted cold page data for the multiple virtual machines in future time periods, the memory over-split index for the multiple virtual machines in future time periods is determined. Considering the handling capacity of the multiple virtual machines, the available virtual memory is increased, reducing the page replacement pressure and address translation pressure during the operation of each virtual machine. This reduces the probability of a decrease in host machine memory performance and I / O performance, and further improves the stability of host machine operation.

[0240] The above is an illustrative scheme of a memory super-division processing method according to this embodiment. It should be noted that the technical solution of this memory super-division processing method belongs to the same concept as the technical solution of the memory super-division processing method described above. For details not described in detail in the technical solution of the memory super-division processing method, please refer to the description of the technical solution of the memory super-division processing method described above.

[0241] The following is in conjunction with the appendix Figure 3 The memory over-division processing method will be further explained below. Figure 3 The flowchart illustrates a memory over-division processing method according to an embodiment of this specification, applied to a host machine running multiple virtual machines, and specifically includes the following steps.

[0242] Step 302: Obtain data.

[0243] In this context, acquiring data can be understood as acquiring the status information of each virtual machine operating system (guest).

[0244] Specifically, the host operating system (host) deploys host kernel components (such as memory control components, I / O control components, etc.). The host kernel components provide virtual machine status information in real time through the interaction interface between the host kernel components and the memory management system. In each scheduling cycle, the memory management system (i.e., the aforementioned memory super-division processing system) periodically collects the virtual machine status information from the data input layer through the interaction interface between the host kernel components and the memory management system.

[0245] Step 304: Calculate the water level.

[0246] Specifically, the memory management system determines the required virtual memory level of the host machine through water level control parameters, which is the total amount of virtual memory required. Based on the current virtual memory usage of the host machine, it predicts the amount of additional memory the host machine needs to add in the current scheduling cycle. For example, the host machine needs to add 100 quotas of additional memory.

[0247] Step 306: Damage perception.

[0248] Before performing virtual machine damage detection, a damage assessment algorithm (i.e., the aforementioned target performance loss algorithm) and a load prediction algorithm (i.e., the aforementioned target cold page prediction algorithm) can be determined from the algorithm pool. The damage assessment algorithm is used to perform virtual machine damage detection, and the load prediction algorithm is used to perform load prediction. The damage assessment algorithm and the load prediction algorithm can be determined by configuration parameters, which include selection parameters for the damage assessment algorithm and selection parameters for the complex prediction algorithm. The configuration parameters can be determined by input from the user (i.e., the developer or user of the host machine's memory management system) or based on the simulation results of the simulation test system.

[0249] Furthermore, the selection parameters for the damage assessment algorithm and the complex prediction algorithm can be obtained through a simulation testing system. Specifically, the damage assessment algorithm and the load prediction algorithm are randomly combined to obtain multiple algorithm combinations. Simulation tests are performed on multiple algorithm combinations to determine the algorithm combination with the lowest overall damage amount, which is then identified as the target algorithm combination. Based on the damage assessment algorithm and the load prediction algorithm included in the target algorithm combination, the selection parameters for the damage assessment algorithm and the complex prediction algorithm in the above configuration parameters are updated.

[0250] A specific implementation of a damage assessment algorithm is as follows: based on the virtual machine state information collected above, the number of page faults is obtained in three time dimensions (i.e., the three first historical time periods) with the current scheduling time (the start time of the current scheduling cycle) as the time end point: burst time period (i.e., the first historical time period corresponding to the burst page fault), short time period (i.e., the first historical time period corresponding to the short-term page fault), and long time period (i.e., the first historical time period corresponding to the long-term page fault). p f) and the CPU time overhead (psi) caused by page faults, to measure the performance impairment of the virtual machine (including but not limited to memory performance, I / O performance, etc.), and the following data are obtained:

[0251] (1) Burst page fault (burst_pf, burst_psi)

[0252] (2) Short-term page faults (short_term_pf, short_term_psi)

[0253] (3) Long-term page faults (long_term_pf, long_term_psi)

[0254] Here, burst_pf can be understood as the number of page faults that occur during a burst page fault; burst_psi can be understood as the CPU time overhead caused by a burst page fault; short_term_pf can be understood as the number of page faults that occur during a short-term page fault; short_term_psi can be understood as the CPU time overhead caused by a short-term page fault; long_term_pf can be understood as the number of page faults that occur during a long-term page fault; long_term_psi can be understood as the CPU time overhead caused by a long-term page fault.

[0255] Based on burst_pf, burst_psi, short_term_pf, short_term_psi, long_term_pf, and long_term_psi, calculate the damage score using the following virtual machine damage assessment formula.

[0256] Impair(t) = K(F([pf burst (t), pf short (t), pf long (t)]), G([psi) burst (t), psi short (t), psi long (t)]))

[0257] Where t can be understood as the current scheduling time, Impair(t) can be understood as the damage score determined by the target virtual machine at the current scheduling time, and pf burst (t) can be understood as the number of page faults that occur in the target virtual machine at the current scheduling time, pf short (t) can be understood as the number of short-term page faults occurring in the target virtual machine at the current scheduling moment, pf long (t) can be understood as the number of page faults that occur in the target virtual machine at the current scheduling time, psi. burst (t) can be understood as the CPU time overhead caused by a sudden page fault in the target virtual machine at the current scheduling moment, psi. short (t) can be understood as the CPU time overhead caused by a short-term page fault in the target virtual machine at the current scheduling moment, psi. long (t) can be understood as the CPU time overhead caused by a long page fault in the target virtual machine at the current scheduling moment, where F represents the CPU time overhead caused by pf. burst (t), pf short (t), pf longThe calculation of weighted summation and normalization of (t), where G represents the summation of psi. burst (t)psi short (t), psi long The calculation of the weighted summation and normalization of (t), where K represents the calculation of the weighted summation and normalization of F and G.

[0258] Step 308: Load forecasting.

[0259] Load forecasting can be understood as using the load forecasting algorithm in the algorithm pool to predict the number of cold pages for each virtual machine in the future.

[0260] A specific implementation of a load prediction algorithm is as follows: based on the number of cold pages of each virtual machine in a historical time period, the Holt-Winters model is used to predict the number of cold pages of each virtual machine in a future time period. The number of cold pages of each virtual machine in a historical time period can be determined by identifying the number of memory pages that have not been accessed for more than a preset cold page time period in the historical time period. The duration of the future time period can be consistent with the duration of the scheduling cycle.

[0261] Step 310: Quota allocation.

[0262] Quota allocation can be understood as calculating the quota that each virtual machine needs to bear based on the damage score of each virtual machine obtained in step 306 and the predicted cold page quantity of each virtual machine obtained in step 308. The specific calculation steps are as follows:

[0263] (1) Calculate the quota ratio that each virtual machine needs to bear based on the damage score of each virtual machine, and determine the quota amount that each virtual machine needs to bear based on the quota ratio and the amount of quota that the host needs to increase to maintain the water level.

[0264] (2) Sequentially determine whether the quota amount that each virtual machine needs to bear exceeds its predicted cold page amount. If the quota amount that the virtual machine needs to bear does not exceed its predicted cold page amount, the quota amount that the virtual machine needs to bear, determined according to the virtual machine damage score, is determined as the quota amount that the virtual machine needs to bear. If the quota amount that the virtual machine needs to bear exceeds its predicted cold page amount, the predicted cold page amount is determined as the quota amount that the virtual machine needs to bear.

[0265] (3) Based on the quotas that the above-mentioned virtual machines need to bear, determine the remaining quota amount, that is, the unallocated quota amount, and recalculate the supplementary allocation ratio according to the virtual machine damage score, and allocate the remaining quota amount to the virtual machines with cold page surplus according to the supplementary allocation ratio.

[0266] Step 312: Assembly instructions.

[0267] The assembly instructions can be understood as generating control instructions according to the quotas that each virtual machine needs to handle, and using the control instructions to implement memory over-allocation control.

[0268] Specifically, based on the quota that each virtual machine needs to bear calculated in step 310, a quota memory over-allocation control instruction is generated and sent to the instruction output layer so that the memory management system can set the paging target for each virtual machine, specifically, to paging the number of cold pages corresponding to the quota amount to the disk.

[0269] This specification provides a memory over-division processing method. Within each scheduling cycle, by determining the number of page faults and the CPU time overhead caused by page faults for multiple virtual machines in multiple time periods (bursts, short periods, long periods, etc.), the host machine performance loss due to page faults is determined. Furthermore, by predicting the amount of cold pages for multiple virtual machines in future time periods, the upper limit of memory over-division that multiple virtual machines can handle can be determined. Therefore, based on the number of page faults, the CPU time overhead caused by page faults, and the predicted amount of cold pages for multiple virtual machines in future time periods, the quota for multiple virtual machines in future time periods is determined. Considering the memory over-division handling capacity of multiple virtual machines, the available virtual memory is increased, dynamically reducing the pressure of page replacement and address translation during the operation of each virtual machine, reducing the probability of host machine performance degradation, thereby improving the overall memory level stability of the host machine and making the host machine run more smoothly.

[0270] The above is an illustrative scheme of a memory super-division processing method according to this embodiment. It should be noted that the technical solution of this memory super-division processing method belongs to the same concept as the technical solution of the memory super-division processing method described above. For details not described in detail in the technical solution of the memory super-division processing method, please refer to the description of the technical solution of the memory super-division processing method described above.

[0271] Corresponding to the above method embodiments, this specification also provides embodiments of a memory super-resolution processing system. Figure 4 A schematic diagram of a memory super-division processing system according to one embodiment of this specification is shown. Figure 4As shown, this system is applied to a host machine that runs multiple virtual machines. The system includes:

[0272] The status data determination unit 402 is configured to determine the page fault status data of the plurality of virtual machines in a first historical time period;

[0273] The performance loss result determination unit 404 is configured to determine the performance loss result of the plurality of virtual machines based on the page fault state data;

[0274] The cold page data determination unit 406 is configured to determine the predicted cold page data of the plurality of virtual machines in a future time period based on the historical cold page data of the plurality of virtual machines in a second historical time period, wherein the duration of the second historical time period is less than or equal to the duration of the first historical time period, and the duration of the second historical time period is the same as that of the future time period.

[0275] The memory overspending metric determination unit 408 is configured to determine the memory overspending metric of the plurality of virtual machines in the future time period based on the performance loss results and the predicted cold page data.

[0276] Optionally, the memory over-resolution index determination unit 408 is further configured to:

[0277] Based on the performance loss results, determine the memory over-allocation ratio of the multiple virtual machines;

[0278] Based on the memory over-allocation ratio and the memory over-allocation of the host machine, the initial memory over-allocation index of the multiple virtual machines is determined;

[0279] Based on the initial memory overspending metrics of the multiple virtual machines and the predicted cold page data, the memory overspending metrics of the multiple virtual machines in the future time period are determined.

[0280] Optionally, the memory over-resolution index determination unit 408 is further configured to:

[0281] The target virtual machine is determined sequentially from the plurality of virtual machines;

[0282] If the initial memory overspending metric of the target virtual machine is greater than or equal to the predicted cold page data of the target virtual machine, the memory metric included in the predicted cold page data shall be determined as the memory overspending metric of the target virtual machine in the future time period; or

[0283] If the initial memory overspending metric of the target virtual machine is less than the predicted cold page data of the target virtual machine, the initial memory overspending metric will be determined as the memory overspending metric of the target virtual machine in the future time period.

[0284] Based on the memory overspending metric of the target virtual machine in the future time period, the memory overspending metric of the plurality of virtual machines in the future time period is determined.

[0285] Optionally, the device further includes a supplementary super-resolution unit, configured as follows:

[0286] The total memory overrun metric is determined based on the memory overrun metrics of the multiple virtual machines in the future time period.

[0287] If the total memory overspending index is determined to be less than the memory overspending index of the host machine, then based on the memory overspending index of the multiple virtual machines in the future time period and the predicted cold page data, a virtual machine to be added is determined from the multiple virtual machines.

[0288] Determine the difference between the total memory overshoot metric and the host machine's memory overshoot metric;

[0289] Based on the performance loss results of the virtual machine to be supplemented, determine the over-allocation ratio of the supplemented memory for the virtual machine to be supplemented;

[0290] The supplementary memory over-score index of the virtual machine to be supplemented is determined based on the over-score difference and the supplementary memory over-score ratio.

[0291] Optionally, the apparatus further includes a host memory super-component determination unit, configured to:

[0292] Determine the memory quantity control parameters, and based on the memory quantity control parameters, determine the predicted memory quantity of the host machine in the future time period;

[0293] The current amount of memory used and the current amount of free memory of the plurality of virtual machines are determined, and the memory excess of the host machine is determined based on the predicted memory amount, the current amount of memory used, and the current amount of free memory.

[0294] Optionally, the device further includes a time period determination unit, configured to:

[0295] The current scheduling time and preset duration are determined, and a first historical time period is determined based on the current scheduling time and the preset duration, wherein the current scheduling time is the starting point of the future time period.

[0296] Optionally, the preset duration includes a first preset duration, a second preset duration, and a third preset duration;

[0297] The time period determination unit is further configured as follows:

[0298] Based on the current scheduling time, the first preset duration, the second preset duration, and the third preset duration, three first historical time periods are determined.

[0299] Optionally, the state data determination unit 402 is further configured to:

[0300] Determine the page fault status data of the multiple virtual machines in each of the three first historical time periods.

[0301] Optionally, the performance loss result determination unit 404 is further configured to:

[0302] Based on the page fault status data of the multiple virtual machines in each first historical time period, determine the performance loss results of the multiple virtual machines in each first historical time period;

[0303] By utilizing the weights corresponding to the multiple virtual machines in each first historical time period, the performance loss results of the multiple virtual machines in each first historical time period are subjected to weighted summation and normalization to determine the performance loss results of the multiple virtual machines.

[0304] Optionally, the page fault status data includes the number of page faults and the cost of page faults;

[0305] The performance loss result determination unit 404 is further configured to:

[0306] Based on the page fault status data, determine the number of page faults and the page fault cost of the multiple virtual machines in the first historical time period;

[0307] Determine a first performance loss result for the number of page faults of the plurality of virtual machines for the first historical time period, and a second performance loss result for the page fault cost of the plurality of virtual machines for the first historical time period;

[0308] Using the weights of the first performance loss result and the second performance loss result, the first performance loss result of the number of page faults of the multiple virtual machines for the first historical time period and the second performance loss result of the page fault cost of the multiple virtual machines for the first historical time period are weighted, summed, and normalized to determine the performance loss result of the multiple virtual machines.

[0309] Optionally, the cold page data determination unit 406 is further configured to:

[0310] Based on the historical cold page data of the multiple virtual machines in the second historical time period, the predicted cold page data of the multiple virtual machines in the future time period is determined using a time-series prediction model, wherein the time-series prediction model is a machine learning model.

[0311] Optionally, the apparatus further includes an algorithm selection unit configured to:

[0312] The target performance loss algorithm and the target cold page prediction algorithm are determined from the algorithm pool, wherein the algorithm pool includes at least two performance loss algorithms and at least two cold page prediction algorithms;

[0313] The step of determining the performance loss results of the multiple virtual machines based on the page fault status data includes:

[0314] Based on the page fault status data, the performance loss results of the multiple virtual machines are determined using the target performance loss algorithm;

[0315] The step of determining the predicted cold page data for the multiple virtual machines in a future time period based on the historical cold page data of the multiple virtual machines in the second historical time period includes:

[0316] Based on the historical cold page data of the multiple virtual machines in the second historical time period, the target cold page prediction algorithm is used to determine the predicted cold page data of the multiple virtual machines in the future time period.

[0317] Optionally, the algorithm selection unit is further configured to:

[0318] Multiple algorithm combinations are determined from the algorithm pool, wherein any one of the multiple algorithm combinations includes a performance loss algorithm and a cold page prediction algorithm;

[0319] Multiple algorithm combinations are determined as the initial algorithm combination;

[0320] Based on the determined page fault status data of multiple virtual machines and the simulation history cold page data of the multiple virtual machines in the second simulation history time period, the data is processed using the initial algorithm combination to obtain the initial memory super-scoring index of the multiple virtual machines in the simulation future time period corresponding to the initial algorithm combination.

[0321] Based on the initial memory super-scoring metrics, the target memory super-scoring metrics are determined, and based on the target algorithm combination corresponding to the target memory super-scoring metrics, the target performance loss algorithm and the target cold page prediction algorithm are determined.

[0322] Optionally, the algorithm selection unit is further configured to:

[0323] Based on the determined page fault state data of multiple virtual machines, the initial performance loss result of the multiple virtual machines is determined using the performance loss algorithm included in the initial algorithm combination.

[0324] Based on the simulation history cold page data of the multiple virtual machines in the second simulation history time period, the simulation cold page prediction algorithm included in the initial algorithm combination is used to determine the simulation initial prediction cold page data of the multiple virtual machines in the simulation future time period.

[0325] Based on the initial performance loss results of the simulation and the initial predicted cold page data of the simulation, the initial memory super-scoring index of the multiple simulation virtual machines corresponding to the initial algorithm combination in the future time period of the simulation is determined.

[0326] Optionally, the device further includes a page-changing unit configured to:

[0327] Based on the memory overspending metric, the target memory pages of the multiple virtual machines are determined;

[0328] The target memory page is swapped to the page swap space, wherein the page swap space is a storage space different from memory.

[0329] Optionally, the memory over-resolution index determination unit 408 is further configured to...

[0330] The performance loss results of the multiple virtual machines are added together to obtain the total performance loss result;

[0331] The memory overspending ratio of each virtual machine is determined based on the proportion of the performance loss result of each virtual machine relative to the sum of the performance loss results.

[0332] Optionally, the algorithm selection unit is further configured to:

[0333] Based on the initial memory over-scoring indicators, determine the corresponding damage value for each initial memory over-scoring indicator;

[0334] Based on the damage value corresponding to each initial memory super-scoring indicator, a target memory super-scoring indicator is determined from each initial memory super-scoring indicator, wherein the damage value of the target memory super-scoring indicator is less than or equal to any one of the damage values ​​of each initial memory super-scoring indicator;

[0335] Based on the target memory super-resolution index, the initial algorithm combination that corresponds to the target memory super-resolution index in the initial algorithm combination is determined as the target algorithm combination corresponding to the target memory super-resolution index;

[0336] The performance loss algorithm included in the target algorithm combination is determined as the target performance loss algorithm, and the cold page prediction algorithm included in the target algorithm combination is determined as the target cold page prediction algorithm.

[0337] Optionally, the algorithm selection unit is further configured to:

[0338] Each of the initial memory super-resolution metrics is determined as the target simulation memory super-resolution metric;

[0339] Using the target simulation memory super-resolution index, memory super-resolution simulation is performed on multiple simulation virtual machines to obtain the initial damage values ​​of the multiple simulation virtual machines;

[0340] The sum of the initial damage values ​​of each simulation virtual machine is determined as the damage value corresponding to the target simulation memory over-resolution index;

[0341] Based on the damage value corresponding to the target simulated memory over-resolution index, determine the damage value corresponding to each initial memory over-resolution index.

[0342] This specification provides a memory over-division processing system in one embodiment. It utilizes a state data determination unit to determine page fault state data of multiple virtual machines in a first historical time period, thereby determining the performance loss results of the multiple virtual machines. A performance loss result determination unit then determines the host machine performance loss (e.g., memory performance, I / O performance) caused by page faults in the multiple virtual machines. Further, a cold page data determination unit utilizes historical cold page data of the multiple virtual machines in a second historical time period to determine the predicted cold page data of the multiple virtual machines in future time periods, thus obtaining the upper limit of memory over-division that the multiple virtual machines can handle. Finally, a memory over-division index determination unit determines the memory over-division index of the multiple virtual machines in future time periods based on the performance loss results and the predicted cold page data of the multiple virtual machines. Considering the handling capacity of the multiple virtual machines, virtual memory is increased, reducing the page replacement pressure and address translation pressure during the operation of each virtual machine. This reduces the probability of a decrease in host machine memory performance and I / O performance, thereby improving the stability of host machine operation.

[0343] The above is an illustrative scheme of a memory super-resolution processing system according to this embodiment. It should be noted that the technical solution of this memory super-resolution processing system and the technical solution of the memory super-resolution processing method described above belong to the same concept. For details not described in detail in the technical solution of the memory super-resolution processing system, please refer to the description of the technical solution of the memory super-resolution processing method described above.

[0344] Figure 5 A structural block diagram of a computing device 500 according to one embodiment of this specification is shown. The components of the computing device 500 include, but are not limited to, a memory 510 and a processor 520. The processor 520 is connected to the memory 510 via a bus 530, and a database 550 is used to store data.

[0345] The computing device 500 also includes an access device 540, which enables the computing device 500 to communicate via one or more networks 560. Examples of these networks include Public Switched Telephone Network (PSTN), Local Area Network (LAN), Wide Area Network (WAN), Personal Area Network (PAN), or combinations of communication networks such as the Internet. The access device 540 may include one or more of any type of wired or wireless network interface (e.g., a network interface card (NIC)), such as an IEEE 802.11 Wireless Local Area Network (WLAN) wireless interface, a Wi-MAX (Worldwide Interoperability for Microwave Access) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, or a Near Field Communication (NFC) interface.

[0346] In one embodiment of this specification, the above-described components of the computing device 500 and Figure 5 Other components, not shown, can also be connected to each other, for example, via a bus. It should be understood that... Figure 5 The block diagram of the computing device shown is for illustrative purposes only and is not intended to limit the scope of this specification. Those skilled in the art can add or replace other components as needed.

[0347] Computing device 500 can be any type of stationary or mobile computing device, including mobile computers or mobile computing devices (e.g., tablet computers, personal digital assistants, laptop computers, notebook computers, netbooks, etc.), mobile phones (e.g., smartphones), wearable computing devices (e.g., smartwatches, smart glasses, etc.) or other types of mobile devices, or stationary computing devices such as desktop computers or personal computers (PCs). Computing device 500 can also be a mobile or stationary server.

[0348] The processor 520 is used to execute the following computer program / instructions, which, when executed by the processor, implement the steps of the above-described memory over-division processing method.

[0349] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on its differences from other embodiments. In particular, the computing device embodiments are basically similar to the memory super-resolution processing method embodiments, so the description is relatively simple; relevant parts can be referred to in the description of the memory super-resolution processing method embodiments.

[0350] An embodiment of this specification also provides a computer-readable storage medium storing a computer program / instructions that, when executed by a processor, implement the steps of the above-described memory over-division processing method.

[0351] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on its differences from other embodiments. In particular, the computer-readable storage medium embodiments are relatively simple in description because they are fundamentally similar to the memory super-resolution processing method embodiments; relevant parts can be referred to in the description of the memory super-resolution processing method embodiments.

[0352] An embodiment of this specification also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the above-described memory over-division processing method.

[0353] The above is an illustrative scheme of a computer program product according to this embodiment. It should be noted that the technical solution of this computer program product and the technical solution of the above-described memory over-division processing method belong to the same concept. For details not described in detail in the technical solution of the computer program product, please refer to the description of the technical solution of the above-described memory over-division processing method.

[0354] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.

[0355] The computer instructions include computer program code, which may be in the form of source code, object code, executable file, or certain intermediate forms. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium may be appropriately added or removed according to the requirements of patent practice. For example, in some regions, according to patent practice, computer-readable media may not include electrical carrier signals and telecommunication signals.

[0356] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments in this specification are not limited to the described order of actions, because according to the embodiments in this specification, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the embodiments in this specification.

[0357] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.

[0358] The preferred embodiments disclosed above are merely illustrative of this specification. The optional embodiments do not exhaustively describe all details, nor do they limit the invention to the specific implementations described. Clearly, many modifications and variations can be made based on the embodiments described herein. These embodiments are selected and specifically described in this specification to better explain the principles and practical applications of the embodiments, thereby enabling those skilled in the art to better understand and utilize this specification. This specification is limited only by the claims and their full scope and equivalents.

Claims

1. A memory over-distribution processing method, applied to a host machine, wherein the host machine runs multiple virtual machines, the method comprising: Determine the page fault status data of the multiple virtual machines in the first historical time period; Based on the page fault status data, determine the performance loss results of the multiple virtual machines; Based on the historical cold page data of the plurality of virtual machines in the second historical time period, the predicted cold page data of the plurality of virtual machines in the future time period is determined, wherein the duration of the second historical time period is less than or equal to the duration of the first historical time period, and the duration of the second historical time period is the same as that of the future time period. Based on the performance loss results and the predicted cold page data, the memory overspending metrics of the multiple virtual machines in the future time period are determined.

2. The memory over-distribution processing method according to claim 1, wherein determining the memory over-distribution index of the plurality of virtual machines in the future time period based on the performance loss result and the predicted cold page data includes: Based on the performance loss results, determine the memory over-allocation ratio of the multiple virtual machines; Based on the memory over-allocation ratio and the memory over-allocation of the host machine, the initial memory over-allocation index of the multiple virtual machines is determined; Based on the initial memory overspending metrics of the multiple virtual machines and the predicted cold page data, the memory overspending metrics of the multiple virtual machines in the future time period are determined.

3. The memory over-division processing method according to claim 2, wherein determining the memory over-division index of the plurality of virtual machines in the future time period based on the initial memory over-division index of the plurality of virtual machines and the predicted cold page data includes: The target virtual machine is determined sequentially from the plurality of virtual machines; If the initial memory overspending metric of the target virtual machine is greater than or equal to the predicted cold page data of the target virtual machine, the memory metric included in the predicted cold page data shall be determined as the memory overspending metric of the target virtual machine in the future time period; or If the initial memory overspending metric of the target virtual machine is less than the predicted cold page data of the target virtual machine, the initial memory overspending metric will be determined as the memory overspending metric of the target virtual machine in the future time period. Based on the memory overspending metric of the target virtual machine in the future time period, the memory overspending metric of the plurality of virtual machines in the future time period is determined.

4. The memory over-spending processing method according to claim 3, wherein after determining the memory over-spending index of the plurality of virtual machines in the future time period, the step includes: The total memory overrun metric is determined based on the memory overrun metrics of the multiple virtual machines in the future time period. If the total memory overspending index is determined to be less than the memory overspending index of the host machine, then based on the memory overspending index of the multiple virtual machines in the future time period and the predicted cold page data, a virtual machine to be added is determined from the multiple virtual machines. Determine the difference between the total memory overshoot metric and the host machine's memory overshoot metric; Based on the performance loss results of the virtual machine to be supplemented, determine the over-allocation ratio of the supplemented memory for the virtual machine to be supplemented; The supplementary memory over-score index of the virtual machine to be supplemented is determined based on the over-score difference and the supplementary memory over-score ratio.

5. The memory over-allocation processing method according to claim 2, further comprising, before determining the initial memory over-allocation index of the plurality of virtual machines based on the memory over-allocation ratio and the memory over-allocation amount of the host machine: Determine the memory quantity control parameters, and based on the memory quantity control parameters, determine the predicted memory quantity of the host machine in the future time period; The current amount of memory used and the current amount of free memory of the plurality of virtual machines are determined, and the memory excess of the host machine is determined based on the predicted memory amount, the current amount of memory used, and the current amount of free memory.

6. The memory over-division processing method according to claim 1, further comprising, before determining the page fault status data of the plurality of virtual machines in the first historical time period: The current scheduling time and preset duration are determined, and a first historical time period is determined based on the current scheduling time and the preset duration, wherein the current scheduling time is the starting point of the future time period.

7. The memory over-division processing method according to claim 6, wherein the preset duration includes a first preset duration, a second preset duration, and a third preset duration; The step of determining the first historical time period based on the current scheduling time and the preset duration includes: Based on the current scheduling time, the first preset duration, the second preset duration, and the third preset duration, three first historical time periods are determined.

8. The memory over-division processing method according to claim 7, wherein determining the page fault status data of the plurality of virtual machines in the first historical time period includes: Determine the page fault status data of the multiple virtual machines in each of the three first historical time periods.

9. The memory over-distribution processing method according to claim 8, wherein determining the performance loss result of the plurality of virtual machines based on the page fault state data includes: Based on the page fault status data of the multiple virtual machines in each first historical time period, determine the performance loss results of the multiple virtual machines in each first historical time period; By utilizing the weights corresponding to the multiple virtual machines in each first historical time period, the performance loss results of the multiple virtual machines in each first historical time period are subjected to weighted summation and normalization to determine the performance loss results of the multiple virtual machines.

10. The memory over-division processing method according to claim 1 or 9, wherein the page fault status data includes the number of page faults and the page fault cost; The step of determining the performance loss results of the multiple virtual machines based on the page fault status data includes: Based on the page fault status data, determine the number of page faults and the page fault cost of the multiple virtual machines in the first historical time period; Determine a first performance loss result for the number of page faults of the plurality of virtual machines for the first historical time period, and a second performance loss result for the page fault cost of the plurality of virtual machines for the first historical time period; Using the weights of the first performance loss result and the second performance loss result, the first performance loss result of the number of page faults of the multiple virtual machines for the first historical time period and the second performance loss result of the page fault cost of the multiple virtual machines for the first historical time period are weighted, summed, and normalized to determine the performance loss result of the multiple virtual machines.

11. The memory super-division processing method according to claim 1, wherein determining the predicted cold page data of the plurality of virtual machines in a future time period based on the historical cold page data of the plurality of virtual machines in a second historical time period includes: Based on the historical cold page data of the multiple virtual machines in the second historical time period, the predicted cold page data of the multiple virtual machines in the future time period is determined using a time-series prediction model, wherein the time-series prediction model is a machine learning model.

12. The memory over-division processing method according to claim 1, further comprising, after determining the page fault status data of the plurality of virtual machines in the first historical time period: The target performance loss algorithm and the target cold page prediction algorithm are determined from the algorithm pool, wherein the algorithm pool includes at least two performance loss algorithms and at least two cold page prediction algorithms; The step of determining the performance loss results of the multiple virtual machines based on the page fault status data includes: Based on the page fault status data, the performance loss results of the multiple virtual machines are determined using the target performance loss algorithm; The step of determining the predicted cold page data for the multiple virtual machines in a future time period based on the historical cold page data of the multiple virtual machines in the second historical time period includes: Based on the historical cold page data of the multiple virtual machines in the second historical time period, the target cold page prediction algorithm is used to determine the predicted cold page data of the multiple virtual machines in the future time period.

13. The memory super-division processing method according to claim 12, wherein determining the target performance loss algorithm and the target cold page prediction algorithm from the algorithm pool includes: Multiple algorithm combinations are determined from the algorithm pool, wherein any one of the multiple algorithm combinations includes a performance loss algorithm and a cold page prediction algorithm; Multiple algorithm combinations are determined as the initial algorithm combination; Based on the determined page fault status data of multiple virtual machines and the simulation history cold page data of the multiple virtual machines in the second simulation history time period, the data is processed using the initial algorithm combination to obtain the initial memory super-scoring index of the multiple virtual machines in the simulation future time period corresponding to the initial algorithm combination. Based on the initial memory super-scoring metrics, the target memory super-scoring metrics are determined, and based on the target algorithm combination corresponding to the target memory super-scoring metrics, the target performance loss algorithm and the target cold page prediction algorithm are determined.

14. The memory super-resolution processing method according to claim 13, wherein the step of processing data using the initial algorithm combination based on the determined simulation page fault state data of multiple simulated virtual machines and the simulation historical cold page data of the multiple simulated virtual machines in the second simulation historical time period to obtain the initial memory super-resolution index of the multiple simulated virtual machines in the simulation future time period corresponding to the initial algorithm combination includes: Based on the determined page fault state data of multiple virtual machines, the initial performance loss result of the multiple virtual machines is determined using the performance loss algorithm included in the initial algorithm combination. Based on the simulation history cold page data of the multiple virtual machines in the second simulation history time period, the simulation cold page prediction algorithm included in the initial algorithm combination is used to determine the simulation initial prediction cold page data of the multiple virtual machines in the simulation future time period. Based on the initial performance loss results of the simulation and the initial predicted cold page data of the simulation, the initial memory super-scoring index of the multiple simulation virtual machines corresponding to the initial algorithm combination in the future time period of the simulation is determined.

15. The memory over-distribution processing method according to claim 1, further comprising, after determining the memory over-distribution index of the plurality of virtual machines in the future time period based on the performance loss result and the predicted cold page data: Based on the memory overspending metric, the target memory pages of the multiple virtual machines are determined; The target memory page is swapped to the page swap space, wherein the page swap space is a storage space different from memory.

16. The memory over-allocation processing method according to claim 2, wherein determining the memory over-allocation ratio of the plurality of virtual machines based on the performance loss result includes: The performance loss results of the multiple virtual machines are added together to obtain the total performance loss result; The memory overspending ratio of each virtual machine is determined based on the proportion of the performance loss result of each virtual machine relative to the sum of the performance loss results.

17. The memory super-resolution processing method according to claim 12, wherein determining a target memory super-resolution index based on each initial memory super-resolution index, and determining the target performance loss algorithm and the target cold page prediction algorithm based on the target algorithm combination corresponding to the target memory super-resolution index, comprises: Based on the initial memory over-scoring indicators, determine the corresponding damage value for each initial memory over-scoring indicator; Based on the damage value corresponding to each initial memory super-scoring indicator, a target memory super-scoring indicator is determined from each initial memory super-scoring indicator, wherein the damage value of the target memory super-scoring indicator is less than or equal to any one of the damage values ​​of each initial memory super-scoring indicator; Based on the target memory super-resolution index, the initial algorithm combination that corresponds to the target memory super-resolution index in the initial algorithm combination is determined as the target algorithm combination corresponding to the target memory super-resolution index; The performance loss algorithm included in the target algorithm combination is determined as the target performance loss algorithm, and the cold page prediction algorithm included in the target algorithm combination is determined as the target cold page prediction algorithm.

18. The memory over-resolution processing method according to claim 17, wherein determining the damaged value corresponding to each initial memory over-resolution index based on each initial memory over-resolution index includes: Each of the initial memory super-resolution metrics is determined as the target simulation memory super-resolution metric; Using the target simulation memory super-resolution index, memory super-resolution simulation is performed on multiple simulation virtual machines to obtain the initial damage values ​​of the multiple simulation virtual machines; The sum of the initial damage values ​​of each simulation virtual machine is determined as the damage value corresponding to the target simulation memory over-resolution index; Based on the damage value corresponding to the target simulated memory over-resolution index, determine the damage value corresponding to each initial memory over-resolution index.

19. A memory super-distribution processing system, applied to a host machine, the host machine running multiple virtual machines, the system comprising: The status data determination unit is configured to determine the page fault status data of the plurality of virtual machines in a first historical time period; The performance loss result determination unit is configured to determine the performance loss result of the plurality of virtual machines based on the page fault state data; The cold page data determination unit is configured to determine the predicted cold page data of the plurality of virtual machines in a future time period based on the historical cold page data of the plurality of virtual machines in a second historical time period, wherein the duration of the second historical time period is less than or equal to the duration of the first historical time period, and the duration of the second historical time period is the same as that of the future time period. The memory overspending metric determination unit is configured to determine the memory overspending metric of the plurality of virtual machines in the future time period based on the performance loss results and the predicted cold page data.

20. A computing device, comprising: Memory and processor; The memory is used to store computer programs / instructions, and the processor is used to execute the computer programs / instructions, which, when executed by the processor, implement the steps of the memory super-division processing method according to any one of claims 1 to 18.

21. A computer-readable storage medium storing a computer program / instructions that, when executed by a processor, implement the steps of the memory over-division processing method according to any one of claims 1 to 18.

22. A computer program product comprising a computer program / instructions which, when executed by a processor, implement the steps of the memory over-division processing method according to any one of claims 1 to 18.