A method, device and storage medium for determining a binding core strategy of a virtual machine

By acquiring virtual machine runtime performance data and using a QoS prediction model to generate a CPU resource usage profile, the performance degradation and QoS fluctuation issues caused by virtual machine resource over-allocation were resolved. This enabled a dynamic core binding strategy, improving the resource utilization and service quality stability of the cloud computing platform.

CN121300915BActive Publication Date: 2026-03-24GUANGDONG LAB OF ARTIFICIAL INTELLIGENCE & DIGITAL ECONOMY (SZ)
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-12-11
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

In cloud computing environments, existing technologies lack effective dynamic adjustment mechanisms to address performance degradation, QoS fluctuations, and SLA breaches caused by virtual machine resource over-allocation.

Method used

By acquiring virtual machine runtime performance data, using QoS prediction models to predict service quality, generating CPU resource usage profiles, and determining differentiated CPU core binding strategies based on these profiles, dynamic mapping between virtual machines and physical CPU cores is achieved.

Benefits of technology

It enables dynamic adaptive adjustment of virtual machine resources, improving overall resource utilization and QoS stability, and avoiding resource waste and performance degradation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121300915B_ABST
    Figure CN121300915B_ABST
Patent Text Reader

Abstract

The application is suitable for the cloud service technical field, and provides a virtual machine core binding strategy determination method, device, equipment and storage medium, the method comprises the following steps: obtaining the running performance data of each virtual machine; according to the running performance data of each virtual machine, predicting the quality of service (QoS) of each virtual machine, and obtaining the QoS prediction result of each virtual machine. According to the CPU utilization rate and the QoS prediction result of each virtual machine, the CPU resource consumption image of each virtual machine is generated. According to the CPU resource consumption image of each virtual machine, the CPU core binding strategy corresponding to each virtual machine is determined. The real-time performance state of the virtual machine can be used to automatically judge whether the resource is excessive or insufficient, the dynamic self-adaptive adjustment of the CPU binding strategy is realized, and the differentiated core binding operation is executed accordingly, while the resource waste and performance degradation are avoided, and the balance of the overall QoS of the system is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of cloud service technology, and in particular relates to a method, apparatus, device and storage medium for determining the core binding strategy of a virtual machine. Background Technology

[0002] With the rapid development of cloud computing technology, virtualization technology, as one of the core technologies of cloud computing, has been widely used in various data centers and cloud service platforms.

[0003] In a virtualized environment, multiple virtual machines share the hardware resources of the same physical server, especially the central processing unit (CPU) resources. Although this resource sharing mechanism improves resource utilization, virtual machines may also experience performance degradation, QoS fluctuations, and SLA breaches due to CPU resource contention in resource over-allocation scenarios. Summary of the Invention

[0004] This application provides a method, apparatus, device, and storage medium for determining the core binding strategy of a virtual machine, which can solve the technical problems of performance degradation, QoS fluctuation, and SLA breach caused by CPU resource contention in virtual machines under resource over-allocation scenarios in existing cloud service environments.

[0005] In a first aspect, embodiments of this application provide a method for determining a virtual machine's core-binding strategy, the method comprising:

[0006] Obtain the runtime performance data of multiple virtual machines; wherein, the runtime performance data includes: CPU utilization, memory utilization, network bandwidth utilization, and disk read / write speed;

[0007] Based on the operating performance data of the multiple virtual machines, the Quality of Service (QoS) of each of the multiple virtual machines is predicted, and the QoS prediction results of each of the multiple virtual machines are obtained.

[0008] Based on the CPU utilization of each of the multiple virtual machines and the QoS prediction results, a CPU resource usage profile for each of the multiple virtual machines is generated.

[0009] Based on the CPU resource usage profiles of the multiple virtual machines, a CPU core binding strategy is determined for each of the multiple virtual machines, wherein the CPU core binding strategy is used to characterize the mapping relationship between the virtual machine and the physical CPU core.

[0010] In one possible implementation of the first aspect, the QoS prediction result includes: a QoS prediction value and the degree of deviation of the QoS prediction value;

[0011] The step of predicting the Quality of Service (QoS) of each of the multiple virtual machines based on their respective operating performance data, and obtaining the QoS prediction results for each of the multiple virtual machines, includes:

[0012] Based on the operational performance data, the QoS prediction model is used to predict the QoS of each of the multiple virtual machines, thereby obtaining the QoS prediction value of each of the multiple virtual machines.

[0013] The degree of deviation of the QoS prediction value is calculated based on the QoS prediction value and the preset QoS threshold in the Service Level Agreement (SLA).

[0014] In one possible implementation of the first aspect, generating a CPU resource usage profile for each of the plurality of virtual machines based on their respective CPU utilization and the QoS prediction result includes:

[0015] If the deviation of the QoS prediction value is greater than the first deviation value and the CPU utilization is lower than the first utilization, the CPU resource usage of the virtual machine is determined as the first CPU resource usage, and a first CPU resource usage profile of the virtual machine is generated.

[0016] If the deviation of the QoS prediction value is less than the second deviation value and the CPU utilization is higher than the second utilization, the CPU resource usage of the virtual machine is determined as the second CPU resource usage, and a second CPU resource usage profile of the virtual machine is generated.

[0017] If the deviation of the QoS prediction value is between the first deviation value and the second deviation value, and the CPU utilization is between the first utilization rate and the second utilization rate, the CPU resource usage of the virtual machine is determined as the third CPU resource usage, and a third CPU resource usage profile of the virtual machine is generated.

[0018] In one possible implementation of the first aspect, the CPU core binding strategy includes: a shared core binding strategy and a restricted core binding strategy;

[0019] The step of determining the CPU core binding strategy for each of the multiple virtual machines based on their respective CPU resource usage profiles includes:

[0020] When the CPU resource usage of the virtual machine is the first CPU resource usage profile, and the application type of the virtual machine is batch processing, the CPU core binding strategy of the virtual machine is determined to be the shared core binding strategy.

[0021] When the CPU resource usage of the virtual machine is the second CPU resource usage profile, and the application type of the virtual machine is real-time response, the CPU core binding strategy of the virtual machine is determined to be the restricted core binding strategy.

[0022] If the CPU resource usage of the virtual machine is the third CPU resource usage profile, then the CPU core binding strategy of the virtual machine is determined to remain unchanged.

[0023] In one possible implementation of the first aspect, the step of predicting the Quality of Service (QoS) of each of the plurality of virtual machines based on the runtime performance data using a QoS prediction model to obtain the QoS prediction value for each of the plurality of virtual machines includes:

[0024] The runtime performance data of each of the multiple virtual machines are sliced ​​according to time windows to obtain time-series data corresponding to the runtime performance data, and the statistical characteristics of the runtime performance data within each time window are calculated.

[0025] By utilizing a long short-term memory network, the dependencies in the time-series data are captured, and time-series dependency features are obtained.

[0026] Perform multi-dimensional cross-operations on the aforementioned performance data to generate combined features;

[0027] The statistical features, the temporal dependency features, and the combined features are fused to obtain the fused features;

[0028] Based on the fusion features, the QoS of each of the multiple virtual machines is predicted using a QoS prediction model to obtain the QoS prediction value for each of the multiple virtual machines.

[0029] In one possible implementation of the first aspect, obtaining the runtime performance data of each of the multiple virtual machines includes:

[0030] The host monitoring tool is used to collect the raw running performance data of each of the multiple virtual machines in real time.

[0031] The original runtime performance data is normalized and feature extracted to obtain the runtime performance data of each of the multiple virtual machines.

[0032] Secondly, embodiments of this application provide a device for determining a virtual machine's core-binding strategy, comprising:

[0033] The data acquisition module is used to acquire the running performance data of multiple virtual machines; wherein, the running performance data includes: CPU utilization, memory utilization, network bandwidth utilization, and disk read / write speed.

[0034] The QoS prediction module is used to predict the QoS of each of the multiple virtual machines based on their respective operating performance data, and to obtain the QoS prediction results for each of the multiple virtual machines.

[0035] The profile generation module is used to generate a profile of the CPU resource usage of each of the multiple virtual machines based on their respective CPU utilization and the QoS prediction results.

[0036] The strategy determination module is used to determine the CPU core binding strategy corresponding to each of the multiple virtual machines based on their respective CPU resource usage profiles, wherein the CPU core binding strategy is used to characterize the mapping relationship between the virtual machine and the physical CPU core.

[0037] Thirdly, embodiments of this application provide a terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the virtual machine core binding strategy determination method described in any of the above claims.

[0038] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method for determining the core binding strategy of a virtual machine as described in any of the preceding claims.

[0039] Fifthly, embodiments of this application provide a computer program product that, when run on a terminal device, causes the terminal device to execute the virtual machine core binding strategy determination method described in any of the first aspects above.

[0040] The beneficial effects of the embodiments in this application compared with the prior art are:

[0041] This application provides a method for determining the core binding strategy of virtual machines, including: acquiring the operating performance data of multiple virtual machines; wherein the operating performance data includes: CPU utilization, memory utilization, network bandwidth utilization, and disk read / write speed. Based on the operating performance data of the multiple virtual machines, the Quality of Service (QoS) of each of the multiple virtual machines is predicted, and the QoS prediction results of each of the multiple virtual machines are obtained. Then, based on the CPU utilization and QoS prediction results of the multiple virtual machines, a CPU resource usage profile of each of the multiple virtual machines is generated. Finally, based on the CPU resource usage profile of each of the multiple virtual machines, the CPU core binding strategy corresponding to each of the multiple virtual machines is determined, wherein the CPU core binding strategy is used to characterize the mapping relationship between the virtual machine and the physical CPU core. This application, by introducing QoS prediction and CPU resource usage profile, realizes the dynamic adaptive adjustment of the CPU binding strategy. It can automatically determine whether resources are excessive or insufficient based on the real-time performance status of the virtual machine and execute differentiated core binding operations accordingly, while avoiding resource waste and performance degradation, ensuring the overall QoS balance of the system, and significantly improving the overall resource utilization and QoS stability. Attached Figure Description

[0042] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0043] Figure 1 This is a flowchart illustrating a method for determining the core binding strategy of a virtual machine according to an embodiment of this application;

[0044] Figure 2 This is a schematic diagram of the structure of a virtual machine core binding strategy determination device provided in an embodiment of this application;

[0045] Figure 3 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application. Detailed Implementation

[0046] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.

[0047] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.

[0048] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0049] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."

[0050] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0051] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0052] With the rapid development of cloud computing and virtualization technologies, the way resources such as computing, storage, and network bandwidth are acquired has undergone fundamental changes. Cloud computing provides users with flexible and scalable computing resources via the internet on a "pay-as-you-go" basis, allowing users to use resources on demand without worrying about the underlying hardware configuration. This sharing model, achieved through resource pooling and virtualization, enables data centers to centrally schedule computing, storage, and network resources, flexibly allocate resources according to business needs, avoid hardware idleness, and improve resource utilization. Currently, this model has become the main operating mode for various online services, enterprise information systems, and artificial intelligence computing platforms.

[0053] In a typical cloud computing architecture, after receiving a tenant's request, the cloud service provider creates virtual machines (VMs) or container instances on physical servers and allocates a corresponding number of resources based on the tenant's selected specifications. Each VM logically possesses an independent operating system environment and virtual hardware resources, seemingly "exclusively" occupying server resources. However, in reality, all VMs share the underlying physical machine's CPU, memory, I / O, and cache hardware. The virtualization layer (such as kernel-based KVM) uses scheduling algorithms to map these virtual resources to physical resources. However, the workload of VMs is typically highly dynamic and uncertain. At the same time, some VMs may be under high load with high CPU utilization, while others may be under low load with low CPU utilization. Research shows that in large-scale cloud computing data centers, the average CPU utilization is consistently below 25%, while the resource allocation rate exceeds 80%, forming a typical "high allocation, low utilization" phenomenon. This not only leads to a significant waste of physical computing resources but also increases system energy consumption and operational costs.

[0054] To mitigate this issue, cloud computing platforms commonly employ resource over-allocation mechanisms, allowing multiple virtual machines to share the same physical core, resulting in a total number of virtual CPUs (vCPUs) exceeding the actual number of physical CPUs (pCPUs). This resource over-allocation improves resource utilization and enables dynamic load balancing among tenants. However, resource over-allocation also introduces new challenges. When multiple virtual machines or containers simultaneously compete for the same physical CPU, resource contention can easily occur, leading to significant performance differences between instances. Some instances may receive excessive CPU time slices, exceeding their Service Level Agreement (SLA) requirements; while other instances may experience performance degradation, increased response latency, or QoS non-compliance due to insufficient CPU resources. This performance imbalance is particularly pronounced in multi-tenant environments, not only reducing the overall fairness of computing resources but also potentially causing SLA violations and performance fluctuations in critical business applications.

[0055] Currently, existing technologies for addressing resource competition and performance fluctuations on cloud platforms mainly fall into the following categories:

[0056] (1) Fair allocation mechanism based on operating system scheduling algorithm. The most common approach is to rely on the scheduler built into the host operating system or hypervisor, such as the Completely Fair Scheduler (CFS) in Linux. CFS allocates CPU time slices to each virtual machine or task based on process weight (nice value), striving to achieve "fairness" in resource allocation in the time dimension. This method is simple to implement and suitable for general scenarios, but its scheduling logic only focuses on process priority or CPU utilization and does not consider application layer performance goals (such as throughput, response time, and other QoS indicators). In addition, CFS has a coarse scheduling granularity in high-concurrency environments and cannot identify the importance of different tenants or tasks.

[0057] (2) Threshold-triggered elastic scaling mechanism. Cloud computing platforms generally support automatic scaling. This mechanism monitors virtual machine CPU utilization, memory usage, and other indicators in real time, automatically scaling up (increasing the number of instances or configuration) when the threshold is exceeded, and automatically scaling down when the threshold is below. This method improves the flexibility of resource supply and alleviates the problem of resource waste at the macro level. However, elastic scaling decisions are usually based on minute-level or second-level monitoring data, which has a relatively slow response speed and cannot cope with millisecond-level dynamic changes such as CPU competition. At the same time, elastic scaling adjusts the "number of virtual resources" and does not involve the actual binding relationship of the underlying physical cores. Therefore, even if the system automatically scales up, virtual machines may still compete for resources on the same physical CPU, and performance jitter still exists.

[0058] (3) Static CPU core binding strategy. Some virtualization platforms (such as KVM) allow administrators to manually perform CPU core binding during deployment, fixing the virtual machine's vCPU to a specified pCPU, thereby reducing the performance overhead caused by task migration and context switching. Although static core binding can improve performance to some extent, its configuration method is usually fixed and lacks dynamic adjustment capabilities. When the virtual machine's load changes, static configuration can easily cause resource allocation imbalance: some low-load instances occupy cores for a long time, resulting in resource waste, while some high-load instances may experience performance degradation due to insufficient cores. In addition, static core binding lacks an intelligent judgment mechanism and cannot dynamically adjust the binding strategy based on the instance's real-time QoS performance.

[0059] The existing technologies have the following main defects: (1) Lack of physical layer performance isolation: Elastic scaling and fair scheduling algorithms can only control resource quotas at the virtualization layer and cannot ensure that virtual machines correspond one-to-one with physical CPU cores. Multiple instances may still compete for the same physical CPU, resulting in increased context switching and performance fluctuations. (2) Lack of QoS feedback: Current scheduling strategies generally rely on system-level indicators (such as CPU utilization) but lack feedback mechanisms for application-level QoS indicators (such as latency and throughput), making it impossible to dynamically optimize allocation strategies based on actual business performance. (3) Static configuration and lack of adaptive adjustment capabilities: Static core binding relies on manual configuration and cannot cope with dynamic changes in virtual machine load. Over-configuration leads to resource waste, while under-configuration leads to performance degradation, making it difficult to balance utilization and service quality. (4) Unfair resource allocation and high performance uncertainty: Due to significant differences in task types and resource requirements among different virtual machines, some instances may dominate for a long time when sharing the same physical core, leading to overall system QoS instability and affecting the service continuity of critical businesses.

[0060] To address the aforementioned shortcomings, this application proposes an adaptive CPU core-binding method that combines QoS prediction and resource usage profiling. By collecting various performance metrics of virtual machines in real time and inputting these metrics into a QoS model, the method predicts the QoS service quality of the virtual machines. Differentiated core-binding strategies are implemented for virtual machines whose performance significantly exceeds or falls below the SLA threshold, enabling dynamic reallocation of computing resources among virtual machines. This method can automatically perceive the performance status of virtual machines and execute differentiated core-binding operations without manual intervention, thus balancing overall resource utilization with QoS assurance for critical services.

[0061] Please see Figure 1 , Figure 1 This is a flowchart illustrating a method for determining a virtual machine's core binding strategy according to an embodiment of this application. The method includes:

[0062] S11. Obtain the running performance data of each of the multiple virtual machines; the running performance data includes: CPU utilization, memory utilization, network bandwidth utilization, and disk read / write speed.

[0063] S12. Based on the operating performance data of each virtual machine, predict the QoS of each virtual machine and obtain the QoS prediction results of each virtual machine.

[0064] S13. Based on the CPU utilization and QoS prediction results of each virtual machine, generate a CPU resource usage profile for each virtual machine.

[0065] S14. Based on the CPU resource usage profiles of multiple virtual machines, determine the CPU core binding strategy for each virtual machine. The CPU core binding strategy is used to characterize the mapping relationship between virtual machines and physical CPU cores.

[0066] It should be noted that, as an example rather than a limitation, this method can be applied in a cloud service environment, and the executing entity can be a terminal device such as a server; no specific limitations are imposed on this.

[0067] A virtual machine (VM) is a computer system simulated by software. It runs on top of a physical computer, has its own virtual hardware (such as a virtual CPU, virtual memory, and virtual disk), and can independently run operating systems and applications, providing users with a computing environment similar to a physical computer. Multiple VMs can share the resources of the same physical server.

[0068] Performance data refers to key performance parameters of a virtual machine during runtime, including CPU utilization, memory utilization, network bandwidth utilization, and disk read / write speed. These parameters comprehensively reflect the resource usage and load characteristics of the virtual machine. CPU utilization is the proportion of CPU resources used by the virtual machine over a period of time, reflecting its demand for CPU computing power. For example, a virtual machine continuously performing a large number of computational tasks will have high CPU utilization; conversely, CPU utilization is low when idle. Memory utilization is the proportion of memory used by the virtual machine to its total allocated memory, reflecting how the virtual machine uses memory resources. High memory utilization indicates that the application running on the virtual machine requires a large amount of memory to process data; insufficient memory may lead to performance degradation or even application crashes. Network bandwidth utilization is the proportion of bandwidth used by the virtual machine to transmit data over the network per unit time to the total network bandwidth, reflecting the intensity of the virtual machine's network resource usage. For example, network bandwidth utilization will increase when the virtual machine performs large-scale data transfers or high-concurrency network requests. Disk read / write speed refers to the disk's read and write speeds, representing the speed at which the virtual machine reads data from and writes data to the disk, respectively, reflecting the frequency of the virtual machine's access to storage devices and its data transfer capabilities.

[0069] Quality of Service (QoS) is a metric used to measure how well a service meets user needs. In networking and computing, QoS can encompass multiple aspects, such as response time, throughput, availability, and reliability. For virtual machines (VMs), QoS reflects the quality level of the service they provide. For example, the QoS of a VM running a web server might be reflected in its response speed to user requests and the number of requests it can handle simultaneously.

[0070] A CPU resource usage profile is a comprehensive description and characterization of a virtual machine's CPU resource usage. It combines the virtual machine's CPU utilization with predicted QoS results, generated through a specific algorithm or model. This profile can more comprehensively and accurately reflect the characteristics and patterns of a virtual machine's CPU resource demands, providing crucial information for determining core-binding strategies.

[0071] CPU core binding strategy is used to characterize the mapping relationship between virtual machines and physical CPU cores, that is, to determine which physical CPU cores the virtual machine's virtual CPU will be bound to for operation. It should be understood that a reasonable CPU core binding strategy can optimize resource allocation, reduce resource contention between virtual machines, and thus improve the performance and stability of virtual machines. For example, binding the virtual CPU of a high-load virtual machine to a specific physical CPU core avoids sharing these physical CPU cores with other virtual machines, thereby ensuring that the virtual machine can obtain sufficient computing resources.

[0072] Specifically, firstly, in step S11, the runtime performance data of multiple virtual machines is acquired. This data can be obtained from the virtual machine's operating system level or collected and aggregated by a monitoring agent on the physical server. It should be understood that runtime performance data is fundamental to understanding the current running status and resource requirements of virtual machines, providing the initial basis for subsequent QoS prediction and CPU resource usage profiling. Only by accurately acquiring this data can a comprehensive assessment and reasonable planning of virtual machine performance be conducted.

[0073] In one possible implementation, the runtime performance data of multiple virtual machines are obtained, including:

[0074] The host monitoring tool collects the raw performance data of multiple virtual machines in real time.

[0075] The raw runtime performance data is normalized and feature extracted to obtain the runtime performance data of each virtual machine.

[0076] The host monitoring tool is a collection of software or tools installed on the physical server (host) to monitor and manage the running status and resource usage of virtual machines. The host monitoring tool can collect various performance metrics of virtual machines, such as CPU, memory, network, and disk data, and present this data to administrators or provide it to other systems for analysis. Raw performance data consists of unprocessed performance metric values ​​directly collected by the host monitoring tool. This raw performance data may contain values ​​with different units and dimensions, as well as noise interference; therefore, this data needs to be processed before QoS prediction. Normalization is a data preprocessing method that transforms data with different dimensions and value ranges into a unified interval, typically [0,1] or [-1,1]. Normalization eliminates the influence of differences in units and value ranges between different performance metrics, making each metric comparable in subsequent analysis and comparison. Feature extraction is the process of extracting feature information from the raw performance data that is important for subsequent modeling and analysis. Raw runtime performance data contains a large amount of redundant information. Directly using this data for processing and analysis may lead to high computational complexity and poor model performance. Feature extraction can filter out key indicators that reflect the virtual machine's running status and performance characteristics, reducing data dimensionality and improving data processing efficiency and model accuracy.

[0077] Specifically, firstly, host monitoring tools installed on the host machine collect raw performance data from multiple virtual machines in real time. This raw performance data covers the usage of resources such as CPU, memory, network, and disk during virtual machine operation. Then, this raw performance data undergoes normalization and feature extraction processing to obtain the individual performance data for each virtual machine. The normalized and feature-extracted performance data is then input into the subsequent QoS prediction model module, providing the foundation for QoS prediction and resource profiling.

[0078] After obtaining the runtime performance data of multiple virtual machines, in step S12, a pre-established QoS prediction model is used. Taking this performance data as input, the model calculates and derives the potential service quality level for each virtual machine over a future period, thus obtaining the corresponding QoS prediction results. These QoS prediction results can be expressed in specific numerical values, such as predicted throughput. It should be understood that QoS prediction results allow for advance understanding of the future performance of virtual machines, helping resource scheduling algorithms make decisions in advance.

[0079] Then, in step S13, the CPU utilization of each virtual machine is comprehensively analyzed and processed with the corresponding QoS prediction results to generate a CPU resource usage profile for that virtual machine using specific algorithms or rules. It should be understood that the CPU resource usage profile can comprehensively describe the virtual machine's CPU resource requirements, providing a more accurate basis for determining core-binding strategies. Compared to simple CPU utilization data, the CPU resource usage profile can consider the virtual machine's future performance needs and business characteristics, making the core-binding strategy more consistent with the actual operation of the virtual machine, thereby improving the rationality and effectiveness of resource allocation.

[0080] Finally, in step S14, based on the CPU resource usage profile of each virtual machine, combined with the CPU core topology results and resource allocation rules of the physical server, it is possible to determine which physical CPU cores the virtual CPUs of the virtual machines are bound to, forming the final CPU core binding strategy. This achieves dynamic allocation of CPU resources and an overall improvement in physical core utilization while ensuring that the QoS standards of each virtual machine are met. When generating the CPU core binding strategy, the resource distribution of physical CPUs, virtual machine resource profiles, and application type differences are comprehensively considered to form a globally optimal CPU core binding strategy. Furthermore, this strategy can be periodically updated to adapt to load changes or the addition of new virtual machines, thereby achieving continuous optimization and dynamic balancing of CPU resources. It should be understood that a reasonable CPU core binding strategy can optimize the performance of virtual machines, reduce resource competition and interference between virtual machines, and improve the resource utilization of the physical server.

[0081] It is understood that this application provides a method for determining the core binding strategy of virtual machines, including: acquiring the operating performance data of multiple virtual machines; wherein the operating performance data includes: CPU utilization, memory utilization, network bandwidth utilization, and disk read / write speed. Based on the operating performance data of the multiple virtual machines, the Quality of Service (QoS) of the multiple virtual machines is predicted, and the QoS prediction results of the multiple virtual machines are obtained. Then, based on the CPU utilization and QoS prediction results of the multiple virtual machines, a CPU resource usage profile of the multiple virtual machines is generated. Finally, based on the CPU resource usage profile of the multiple virtual machines, the corresponding CPU core binding strategy of the multiple virtual machines is determined, wherein the CPU core binding strategy is used to characterize the mapping relationship between the virtual machine and the physical CPU core. By introducing QoS prediction and CPU resource usage profile, this application realizes the dynamic adaptive adjustment of the CPU binding strategy. It can automatically judge whether resources are excessive or insufficient according to the real-time performance status of the virtual machine and execute differentiated core binding operations accordingly, while avoiding resource waste and performance degradation, ensuring the overall QoS balance of the system, and significantly improving the overall resource utilization and QoS stability.

[0082] In one possible implementation, the QoS prediction result includes: the QoS prediction value and the degree of deviation of the QoS prediction value.

[0083] Based on the individual performance data of multiple virtual machines, the Quality of Service (QoS) of each virtual machine is predicted, resulting in QoS predictions for each virtual machine, including:

[0084] The QoS prediction model is used to predict the QoS of multiple virtual machines based on runtime performance data, and the QoS prediction value of each virtual machine is obtained.

[0085] The degree of deviation of the QoS prediction value is calculated based on the QoS prediction value and the preset QoS threshold in the Service Level Agreement (SLA).

[0086] The QoS prediction result is the predicted service quality metric for the virtual machine's future. The QoS prediction result may include the predicted QoS value and the degree of deviation from the predicted QoS value. Since cloud service platforms typically cannot access tenant application layer runtime data (such as actual throughput or response latency), a QoS prediction model is built and trained to indirectly predict the virtual machine's service performance. The QoS prediction model is a model built based on machine learning, which can use this runtime performance data of the virtual machine as an input feature vector and output the predicted QoS value of the virtual machine at the current moment (such as predicted throughput, predicted average response time). By learning patterns and regularities in historical data, the QoS prediction model can accurately predict the future QoS of the virtual machine.

[0087] The QoS prediction model is trained offline by the cloud platform administrator before system deployment. Training data comes from historical samples of tenants with real QoS labels; each sample contains a set of performance metrics (inputs) and their corresponding actual QoS values ​​(outputs). Through supervised learning, the QoS prediction model learns the non-linear mapping relationship between performance metrics and actual QoS values. The QoS prediction model structure can employ deep neural networks to enhance its ability to fit complex resource interaction characteristics. After training, the QoS prediction model is deployed in the cloud platform, and during runtime, the QoS prediction level of virtual machines, i.e., the QoS prediction value, is inferred in real time based on collected runtime performance data.

[0088] After obtaining the QoS prediction value, the QoS prediction model can also calculate the degree of deviation between the QoS prediction value and the preset QoS threshold (such as target throughput) in the SLA, based on the QoS prediction value and the preset QoS threshold in the SLA. That is, the degree of deviation of the QoS prediction value:

[0089] ;

[0090] in, Indicates the degree of deviation of the QoS prediction value. This represents the QoS prediction value, where S represents the preset QoS threshold in the SLA. The degree of deviation of the QoS prediction value... A positive value indicates that the virtual machine's performance is better than the SLA (resources may be redundant); if the QoS prediction value deviates from the expected value... A negative value indicates that the QoS is below the requirement (resources may be insufficient).

[0091] A Service Level Agreement (SLA) is a formal agreement between a service provider and a user that clearly defines key elements of the service, such as quality standards, availability, response time, and performance metrics, as well as the rights and obligations of both parties in these areas. The preset QoS thresholds in the SLA are an important basis for measuring whether the virtual machine service quality meets the standards. If the predicted QoS value of a virtual machine is lower than these thresholds, it may mean that the service has not met the promised level, and corresponding measures need to be taken for improvement or compensation.

[0092] Specifically, after obtaining the current runtime performance data of multiple virtual machines, this performance data is used as input to a pre-built QoS prediction model. Based on learned historical data patterns and rules, the QoS prediction model calculates and predicts the future service quality indicators for each virtual machine, outputting the corresponding QoS prediction value. Then, it obtains a preset QoS threshold corresponding to the predicted QoS indicator from the Service Agreement (SLA) (e.g., if the QoS prediction value is the predicted value of the average response time, then the average response time threshold specified in the SLA is obtained). The deviation of the QoS prediction value from the preset QoS threshold is calculated using the formula described above. By calculating the deviation of the QoS prediction value, the difference between the virtual machine's QoS prediction value and the preset threshold can be clearly identified, thereby determining whether the virtual machine meets its service commitments.

[0093] Specifically, in one possible implementation, a QoS prediction model is used to predict the Quality of Service (QoS) of multiple virtual machines based on runtime performance data, resulting in QoS prediction values ​​for each virtual machine, including:

[0094] The runtime performance data of multiple virtual machines are sliced ​​according to time windows to obtain time-series data corresponding to the runtime performance data, and the statistical characteristics of the runtime performance data within each time window are calculated.

[0095] By utilizing long short-term memory networks, dependencies in time-series data can be captured to obtain time-series dependency features.

[0096] Perform multi-dimensional cross-operations on runtime performance data to generate combined features.

[0097] The statistical features, time-dependent features, and combined features are fused together to obtain the fused features.

[0098] Based on the fusion characteristics, the QoS prediction model is used to predict the QoS of multiple virtual machines, and the QoS prediction value of each virtual machine is obtained.

[0099] A time window divides a continuous time series into fixed-length time intervals. By setting time windows, performance data can be segmented for analysis of its characteristics and patterns of change within different time periods. Time-series data, on the other hand, is a sequence of data arranged chronologically, recording the values ​​of a specific metric at different points in time. In virtual machine performance data, time-series data reflects how performance metrics change over time.

[0100] Statistical features are characteristic values ​​obtained by statistical analysis of time-series data within each time window. Common statistical features may include mean, median, maximum, minimum, and standard deviation. These statistical features can summarize the central tendency, dispersion, and other statistical characteristics of the data within a time window, and can help understand the performance of the virtual machine during that time period.

[0101] Long Short-Term Memory (LSTM) networks are a type of recurrent neural network used to process sequential data. In virtual machine QoS prediction, LTM networks can effectively capture long-term dependencies in time-series data. Temporal dependency features are features extracted from time-series data using LTM networks; these features reflect the dependencies and trends of data across different time points.

[0102] Multi-dimensional cross-operation involves combining and processing data from different dimensions. Combined features are new features generated through multi-dimensional cross-operation. These features can reflect the complex relationships of virtual machine performance from different perspectives, providing richer information than single-dimensional features and helping to improve the accuracy of QoS prediction. In this embodiment, performance data may include CPU utilization, memory utilization, network bandwidth utilization, disk read / write speed, etc. By performing multi-dimensional cross-operation on the virtual machine's performance data, new features reflecting the complex relationships of virtual machine performance can be obtained, namely combined features. For example, cross-operating CPU utilization and memory utilization yields a new feature that reflects the impact of the collaborative work between the CPU and memory on virtual machine performance.

[0103] Fusion features are a set of features obtained by integrating statistical features, temporal dependency features, and combined features. Fusion features combine the advantages of different types of features, which can more comprehensively and accurately describe the running performance status of virtual machines and provide more reliable data input for QoS prediction.

[0104] The fused features are input into a pre-trained QoS prediction model. Based on the learned data patterns and rules, the model predicts the QoS indicators of each virtual machine for a future period of time and outputs the corresponding QoS prediction value.

[0105] It should be understood that by comprehensively utilizing statistical features, temporal dependency features, and combined features, and by leveraging long short-term memory networks to capture complex patterns and dependencies in the data, the operating performance status of virtual machines can be described more comprehensively and accurately, thereby improving the accuracy of QoS prediction and better addressing the complex changes and uncertainties in virtual machine performance.

[0106] In one possible implementation, based on the CPU utilization and QoS prediction results of multiple virtual machines, a CPU resource usage profile for each virtual machine is generated, including:

[0107] If the deviation of the QoS prediction value is greater than the first deviation value and the CPU utilization is lower than the first utilization, the CPU resource usage of the virtual machine is determined as the first CPU resource usage, and a first CPU resource usage profile of the virtual machine is generated.

[0108] If the deviation of the QoS prediction value is less than the second deviation value and the CPU utilization is higher than the second utilization, the CPU resource usage of the virtual machine is determined as the second CPU resource usage, and a second CPU resource usage profile of the virtual machine is generated.

[0109] If the deviation of the QoS prediction value is between the first deviation value and the second deviation value, and the CPU utilization is between the first utilization rate and the second utilization rate, the CPU resource usage of the virtual machine is determined as the third CPU resource usage, and a third CPU resource usage profile of the virtual machine is generated.

[0110] Since different virtual machines have different business load types and performance requirements under the same resource configuration, we analyze the relationship between CPU utilization and QoS prediction values ​​to provide a reasonable recommended value for CPU resource usage for each virtual machine.

[0111] Specifically, first, the CPU utilization of each virtual machine is obtained, and the QoS prediction value output by the QoS prediction model is received. Then, based on the deviation between the pre-set performance target (the preset QoS threshold in the SLA) and the QoS prediction value (i.e., the deviation of the QoS prediction value), it is determined whether the current CPU resources of the virtual machine are reasonable.

[0112] If the deviation of the QoS prediction value is greater than the first deviation value (e.g., the first deviation value is 20%) and the CPU utilization is lower than the first utilization rate (e.g., the first utilization rate is 30%), it indicates that the current CPU resources are allocated too much. The system then calculates the reasonable CPU usage after reduction. At this time, the CPU resource usage of the virtual machine is determined as the first CPU resource usage, and the first CPU resource usage profile of the virtual machine is generated.

[0113] If the deviation of the QoS prediction value is less than the second deviation value (e.g., the second deviation value is -10%) and the CPU utilization is higher than the second utilization (e.g., the second utilization is 80%), it indicates that the current CPU resources are insufficient. The system calculates the reasonable CPU usage after the increase. At this time, the CPU resource usage of the virtual machine is determined as the second CPU resource usage, and the second CPU resource usage profile of the virtual machine is generated.

[0114] If the deviation of the QoS prediction value is between the first and second deviation values ​​(i.e., greater than -10% and less than 20%), and the CPU utilization is between the first and second utilization rates (i.e., between 30% and 80%), the current resource allocation is considered reasonable and no adjustment is needed. The CPU resource usage of the virtual machine is determined as the third CPU resource usage, and a third CPU resource usage profile of the virtual machine is generated.

[0115] The first deviation value and the second deviation value are pre-set thresholds used to define the range of deviations from the QoS prediction values. The first deviation value represents a relatively large deviation limit; the second deviation value represents a relatively small deviation limit; together, they define different QoS deviation intervals. The first utilization rate and the second utilization rate are pre-set thresholds used to define the range of CPU utilization. The first utilization rate is a lower utilization limit, and the second utilization rate is a higher utilization limit, used to distinguish different states of virtual machine CPU utilization. The first CPU resource usage profile, the second CPU resource usage profile, and the third CPU resource usage profile describe the CPU resource usage patterns determined for the virtual machine based on different combinations of QoS prediction value deviations and CPU utilization rates. Different CPU resource usage profiles correspond to different resource allocation strategies and expected performance.

[0116] Following the above analysis, a CPU resource usage profile for each virtual machine is output. This profile describes the CPU resource level required for the virtual machine to maintain its QoS under different loads, and can be represented as a mapping curve or discrete point table between QoS and CPU resource usage. The system continuously updates this CPU resource usage profile during operation to reflect the latest operational characteristics and performance requirements of the virtual machines. The final generated CPU resource usage profile will serve as input to the CPU core-binding decision module, providing quantitative basis for subsequent restrictive core-binding and shared core-binding strategies.

[0117] In one possible implementation, CPU core binding strategies include: shared core binding strategy and restricted core binding strategy.

[0118] Based on the CPU resource usage profiles of multiple virtual machines, determine the corresponding CPU core binding strategy for each virtual machine, including:

[0119] Given that the virtual machine's CPU resource usage is the first CPU resource usage profile, and based on the virtual machine's application type being batch processing, the virtual machine's CPU core binding strategy is determined to be a shared core binding strategy.

[0120] Given that the virtual machine's CPU resource usage is the second CPU resource usage profile, and based on the virtual machine's application type being real-time response, the virtual machine's CPU core binding strategy is determined to be a restricted core binding strategy.

[0121] When the CPU resource usage of the virtual machine is the third CPU resource usage profile, the CPU core binding strategy of the virtual machine is determined to remain unchanged.

[0122] CPU core binding strategies include shared core binding and restricted core binding. Shared core binding allows virtual machines to share bound physical CPU cores with other virtual machines or processes. This strategy is suitable for applications with low resource utilization that can tolerate a certain degree of CPU sharing, such as batch processing or background computing tasks. The system binds multiple virtual machines to the same set of physical cores, allowing them to run together, thereby improving overall CPU utilization and reducing idle cores.

[0123] The core-binding restriction strategy can be understood as exclusively using a physical CPU core bound to a virtual machine, preventing other virtual machines or processes from using those cores. This strategy is suitable for applications with high performance isolation requirements and sensitivity to CPU fluctuations, such as high-concurrency computing and real-time inference scenarios. It allocates the required number of CPU cores to each virtual machine individually, ensuring exclusive CPU use and avoiding resource contention.

[0124] The selection of a CPU core-binding strategy is not random, but rather determined based on the characteristics of the application type and the CPU resource profile of the virtual machine. Specifically, if the virtual machine's CPU resource usage matches the first CPU resource usage profile, and the application type is batch processing, then the CPU core-binding strategy can be determined to be a shared core-binding strategy. For example, for two virtual machines, VM-1 and VM-2, running batch processing applications, their CPU resource usage profiles are both 2 cores, but analysis shows that they have better QoS performance and higher resource utilization when sharing 4 CPUs. Therefore, VM-1 and VM-2 are more suitable for shared core-binding.

[0125] When a virtual machine's CPU resource usage is in the second CPU resource usage profile, and the application type of the virtual machine is a real-time response type, then the CPU core binding strategy of the virtual machine can be determined to be a restricted core binding strategy. For example, for two virtual machines, VM-3 and VM-4, running a real-time response application, their CPU resource usage profiles both show a reasonable CPU usage of 2 cores. If restricted core binding is implemented (i.e., each VM exclusively uses two cores), more stable performance can be obtained; if four CPUs are shared, QoS will degrade significantly. Therefore, VM-3 and VM-4 are more suitable for restricted core binding.

[0126] If the virtual machine's CPU resource usage is the third CPU resource usage profile, then the virtual machine's current resource allocation is reasonable and does not need to be adjusted. It can be determined that the virtual machine's CPU core binding strategy will remain unchanged.

[0127] It's important to note that in actual implementation, the reasonable CPU requirements for each virtual machine are first calculated based on the CPU resource usage profile. Then, combined with application type preferences, a complete CPU core binding policy table is generated. The system can periodically update the binding policy to adapt to changes in virtual machine load or the addition of new tasks. Through this design, the automatic generation and intelligent selection of global binding policies from resource profiles are achieved, maximizing the overall CPU resource utilization of the data center while taking into account the performance requirements of different applications.

[0128] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0129] A method for determining the core binding strategy of a virtual machine, corresponding to the above embodiment, Figure 2 The diagram shows a schematic of a virtual machine core binding strategy determination device according to an embodiment of this application. For ease of explanation, only the parts related to the embodiment of this application are shown.

[0130] Reference Figure 2 The virtual machine core binding strategy determination device 2 in this embodiment includes:

[0131] The data acquisition module 21 is used to acquire the runtime performance data of multiple virtual machines. This runtime performance data includes: CPU utilization, memory utilization, network bandwidth utilization, and disk read / write speed.

[0132] The QoS prediction module 22 is used to predict the QoS of each virtual machine based on the running performance data of each virtual machine, and obtain the QoS prediction results of each virtual machine.

[0133] The profile generation module 23 is used to generate a profile of the CPU resource usage of each virtual machine based on the CPU utilization and QoS prediction results of each virtual machine.

[0134] The strategy determination module 24 is used to determine the CPU core binding strategy for each of the multiple virtual machines based on their respective CPU resource usage profiles. The CPU core binding strategy represents the mapping relationship between virtual machines and physical CPU cores.

[0135] Furthermore, the QoS prediction results include: the QoS prediction value and the degree of deviation of the QoS prediction value.

[0136] QoS prediction module 22 includes:

[0137] The QoS prediction submodule is used to predict the QoS of multiple virtual machines based on runtime performance data using a QoS prediction model, and obtain the QoS prediction value for each virtual machine.

[0138] The deviation calculation submodule is used to calculate the deviation of the QoS prediction value based on the QoS prediction value and the preset QoS threshold in the Service Level Agreement (SLA).

[0139] Furthermore, the portrait generation module 23 includes:

[0140] The first profile generation unit is used to determine the CPU resource usage of the virtual machine as the first CPU resource usage when the deviation of the QoS prediction value is greater than the first deviation value and the CPU utilization is lower than the first utilization, and to generate the first CPU resource usage profile of the virtual machine.

[0141] The second profile generation unit is used to determine the CPU resource usage of the virtual machine as the second CPU resource usage when the deviation of the QoS prediction value is less than the second deviation value and the CPU utilization is higher than the second utilization, and to generate a profile of the second CPU resource usage of the virtual machine.

[0142] The third profile generation unit is used to determine the CPU resource usage of the virtual machine as the third CPU resource usage when the deviation of the QoS prediction value is between the first deviation value and the second deviation value, and the CPU utilization is between the first utilization rate and the second utilization rate, and to generate a profile of the third CPU resource usage of the virtual machine.

[0143] Furthermore, CPU core binding strategies include: shared core binding strategy and restricted core binding strategy.

[0144] Strategy determination module 24 includes:

[0145] The first determining unit is used to determine the CPU core binding strategy of the virtual machine as a shared core binding strategy based on the fact that the CPU resource usage of the virtual machine is the first CPU resource usage profile and the application type of the virtual machine is batch processing.

[0146] The second determining unit is used to determine the CPU core binding strategy of the virtual machine as a restrictive core binding strategy based on the fact that the CPU resource usage of the virtual machine is the second CPU resource usage profile and the application type of the virtual machine is a real-time response type.

[0147] The third determining unit is used to determine that the CPU core binding strategy of the virtual machine remains unchanged when the CPU resource usage of the virtual machine is the third CPU resource usage profile.

[0148] Furthermore, the QoS prediction submodule includes:

[0149] The statistical feature determination unit is used to slice the runtime performance data of multiple virtual machines according to time windows to obtain the time-series data corresponding to the runtime performance data, and to calculate the statistical features of the runtime performance data within each time window.

[0150] The dependency feature determination unit is used to capture the dependencies in time series data using a long short-term memory network to obtain time series dependency features.

[0151] The combined feature determination unit is used to perform multi-dimensional cross-operations on the running performance data to generate combined features.

[0152] The fusion feature determination unit is used to fuse statistical features, temporal dependency features, and combined features to obtain fused features.

[0153] The QoS prediction unit is used to predict the QoS of multiple virtual machines based on the fusion characteristics and through the QoS prediction model, so as to obtain the QoS prediction value of each virtual machine.

[0154] Furthermore, the data acquisition module 21 includes:

[0155] The data acquisition unit is used to collect raw operating performance data of multiple virtual machines in real time through host monitoring tools.

[0156] The data processing unit is used to normalize and extract features from the raw runtime performance data to obtain the runtime performance data of each of the multiple virtual machines.

[0157] It is understood that the embodiments of this application, by constructing an automated, closed-loop, and adaptive virtual machine core binding strategy determination device, realize the transformation of the virtual machine resource allocation process from "static configuration" to "dynamic perception and intelligent decision-making." During operation, this device can continuously monitor the real-time performance status of each virtual machine, combine the output results of the QoS prediction model with the generated resource usage profile, automatically determine the type of performance deviation of the virtual machine, and execute differentiated CPU core binding strategies accordingly, thereby optimizing CPU resource utilization and service quality compliance rate globally.

[0158] It should be noted that the virtual machine core binding strategy determination method provided in this embodiment can be widely applied to the resource scheduling and virtualization management modules of cloud computing platforms. By integrating the virtual machine core binding strategy determination device proposed in this embodiment, the cloud platform can monitor the QoS changes of virtual machines in real time, dynamically adjust the CPU core binding strategy based on prediction results and resource profiles, and achieve fine-grained scheduling of computing resources. This can effectively reduce CPU resource contention, improve the performance isolation between virtual machines, and thus improve overall resource utilization and quality of service (QoS).

[0159] In high-performance computing (HPC) and artificial intelligence (AI) inference cluster environments, this embodiment can also be used to dynamically adjust the CPU core binding strategy based on the performance of different tasks, thereby reducing resource interference between tasks and ensuring the stable operation of computationally intensive tasks.

[0160] It should be noted that the information interaction and execution process between the modules in the above-mentioned virtual machine core binding strategy determination device 2 are based on the same concept as the method embodiment of this application. For details on their specific functions and technical effects, please refer to the method embodiment section, and they will not be repeated here.

[0161] This application also provides a terminal device, such as... Figure 3 As shown, Figure 3 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application. (Refer to...) Figure 3 The terminal device 3 in this embodiment includes: a memory 31, a processor 32, and a computer program stored in the memory 31 and executable on the processor 32. When the processor 32 executes the computer program, it implements the steps in the embodiment of the virtual machine core binding strategy determination method of any of the above-mentioned items.

[0162] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps described in the various method embodiments above.

[0163] This application provides a computer program product that, when run on a mobile terminal, enables the mobile terminal to implement the steps described in the above-described method embodiments.

[0164] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments of this application can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include at least: any entity or device capable of carrying the computer program code to a photographic device / terminal device, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks.

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

[0166] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0167] In the embodiments provided in this application, it should be understood that the disclosed apparatus / network devices and methods can be implemented in other ways. For example, the apparatus / network device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0168] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0169] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A method for determining the core-binding strategy of a virtual machine, characterized in that, include: Obtain the runtime performance data of multiple virtual machines; wherein, the runtime performance data includes: CPU utilization, memory utilization, network bandwidth utilization, and disk read / write speed; Based on the operating performance data of the multiple virtual machines, the Quality of Service (QoS) of each of the multiple virtual machines is predicted, and the QoS prediction results of each of the multiple virtual machines are obtained. Based on the CPU utilization of each of the multiple virtual machines and the QoS prediction results, a CPU resource usage profile for each of the multiple virtual machines is generated. Based on the CPU resource usage profiles of the multiple virtual machines, a CPU core binding strategy is determined for each of the multiple virtual machines, wherein the CPU core binding strategy is used to characterize the mapping relationship between the virtual machine and the physical CPU cores; the QoS prediction result includes: QoS prediction value; the step of predicting the Quality of Service (QoS) of each of the multiple virtual machines based on their respective operating performance data, and obtaining the QoS prediction result for each of the multiple virtual machines, includes: The runtime performance data of each of the multiple virtual machines are sliced ​​according to time windows to obtain time-series data corresponding to the runtime performance data, and the statistical characteristics of the runtime performance data within each time window are calculated. By utilizing a long short-term memory network, the dependencies in the time-series data are captured, and time-series dependency features are obtained. Perform multi-dimensional cross-operations on the aforementioned performance data to generate combined features; The statistical features, the temporal dependency features, and the combined features are fused to obtain the fused features; Based on the fusion features, the QoS of each of the multiple virtual machines is predicted using a QoS prediction model to obtain the QoS prediction value for each of the multiple virtual machines.

2. The method for determining the core binding strategy of a virtual machine as described in claim 1, characterized in that, The QoS prediction results also include: the degree of deviation of the QoS prediction values; The step of predicting the Quality of Service (QoS) of the multiple virtual machines based on their respective runtime performance data, and obtaining the QoS prediction results for the multiple virtual machines, further includes: The degree of deviation of the QoS prediction value is calculated based on the QoS prediction value and the preset QoS threshold in the Service Level Agreement (SLA).

3. The method for determining the core binding strategy of a virtual machine as described in claim 2, characterized in that, The step of generating a CPU resource usage profile for each of the multiple virtual machines based on their respective CPU utilization and the QoS prediction results includes: If the deviation of the QoS prediction value is greater than the first deviation value and the CPU utilization is lower than the first utilization, the CPU resource usage of the virtual machine is determined as the first CPU resource usage, and a first CPU resource usage profile of the virtual machine is generated. If the deviation of the QoS prediction value is less than the second deviation value and the CPU utilization is higher than the second utilization, the CPU resource usage of the virtual machine is determined as the second CPU resource usage, and a second CPU resource usage profile of the virtual machine is generated. If the deviation of the QoS prediction value is between the first deviation value and the second deviation value, and the CPU utilization is between the first utilization rate and the second utilization rate, the CPU resource usage of the virtual machine is determined as the third CPU resource usage, and a third CPU resource usage profile of the virtual machine is generated.

4. The method for determining the core binding strategy of a virtual machine as described in claim 3, characterized in that, The CPU core binding strategies include: shared core binding strategy and restricted core binding strategy; The step of determining the CPU core binding strategy for each of the multiple virtual machines based on their respective CPU resource usage profiles includes: When the CPU resource usage of the virtual machine is the first CPU resource usage profile, and the application type of the virtual machine is batch processing, the CPU core binding strategy of the virtual machine is determined to be the shared core binding strategy. When the CPU resource usage of the virtual machine is the second CPU resource usage profile, and the application type of the virtual machine is real-time response, the CPU core binding strategy of the virtual machine is determined to be the restricted core binding strategy. If the CPU resource usage of the virtual machine is the third CPU resource usage profile, then the CPU core binding strategy of the virtual machine is determined to remain unchanged.

5. The method for determining the core binding strategy of a virtual machine as described in claim 1, characterized in that, The acquisition of runtime performance data for each of the multiple virtual machines includes: The host monitoring tool is used to collect the raw running performance data of each of the multiple virtual machines in real time. The original runtime performance data is normalized and feature extracted to obtain the runtime performance data of each of the multiple virtual machines.

6. A device for determining the core binding strategy of a virtual machine, characterized in that, include: The data acquisition module is used to acquire the running performance data of multiple virtual machines; wherein, the running performance data includes: CPU utilization, memory utilization, network bandwidth utilization, and disk read / write speed. The QoS prediction module is used to predict the QoS of each of the multiple virtual machines based on their respective operating performance data, and to obtain the QoS prediction results for each of the multiple virtual machines. The profile generation module is used to generate a profile of the CPU resource usage of each of the multiple virtual machines based on their respective CPU utilization and the QoS prediction results. The strategy determination module is used to determine the CPU core binding strategy corresponding to each of the multiple virtual machines based on their respective CPU resource usage profiles. The CPU core binding strategy is used to characterize the mapping relationship between the virtual machine and the physical CPU core. The QoS prediction result includes a QoS prediction value. The QoS prediction module includes a QoS prediction submodule. The QoS prediction submodule includes: The statistical feature determination unit is used to slice the running performance data of each of the plurality of virtual machines according to time windows to obtain time-series data corresponding to the running performance data, and to calculate the statistical features of the running performance data within each time window. The dependency feature determination unit is used to capture the dependencies in the time series data using a long short-term memory network to obtain time series dependency features; A combined feature determination unit is used to perform multi-dimensional cross operations on the operating performance data to generate combined features; The fusion feature determination unit is used to fuse the statistical features, the temporal dependency features, and the combined features to obtain fusion features; The QoS prediction unit is used to predict the QoS of each of the plurality of virtual machines based on the fusion features and through the QoS prediction model, so as to obtain the QoS prediction value of each of the plurality of virtual machines.

7. A terminal device, characterized in that, The method includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the method as claimed in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method as described in any one of claims 1 to 5.

9. A computer program product, characterized in that, Includes a computer program, which, when run, causes the method as described in any one of claims 1 to 5 to be performed.

Citation Information

Patent Citations

  • Binding method and device of processor core, equipment and computer storage medium

    CN117742876A

  • Dynamic resource allocation based on quality-of-service prediction

    US20220326999A1