A method and computing device for predicting service quality
By constructing a black-box metric set and prediction model, the service quality after virtual machine migration can be accurately predicted, solving the problem of inaccurate prediction of service quality after virtual machine migration in existing technologies and improving the reliability and efficiency of migration.
Patent Information
- Application Number
- CN202210609398.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-31
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2042-05-31
AI Technical Summary
Existing methods for predicting service quality cannot accurately characterize the impact of factors on service quality in complex real-world environments, leading to inaccurate service quality predictions after virtual machine migration.
By acquiring detection data from virtual machines and physical machines, and using classifiers and noise reduction autoencoders, a target black-box indicator set and prediction model are constructed to predict the degree of white-box indicator degradation after a virtual machine is migrated to a new physical machine, and physical machines that meet the service quality requirements are selected for migration.
This improves the reliability and efficiency of virtual machine migration, ensuring that the quality of service after migration meets expectations.
Smart Images

Figure CN117215883B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud technology, and more particularly to a method and computing device for predicting service quality. Background Technology
[0002] Cloud platforms can provide virtual machines to users. For applications, tasks, or jobs that users run on virtual machines, the cloud platform should guarantee the quality of service for such applications, tasks, or jobs in accordance with the service level agreement (SLA) metrics.
[0003] One current method for predicting service quality is roughly as follows: Perform cache stress testing on the target application to obtain the correlation between cache stress and the service quality of the target application. This correlation can be represented by a sensitivity curve. Based on the sensitivity curve, the lower limit of the service quality of the target application and the corresponding cache stress can be determined. Based on the cache stress of candidate physical machines and the sensitivity curve of the target application, the service quality of the target application on the candidate physical machines can be predicted.
[0004] In real-world environments, the reasons for service quality degradation are complex and varied, and the sensitivity curves described above cannot adequately characterize the interference of real-world environmental factors on service quality. Summary of the Invention
[0005] In view of this, this application provides a method for predicting service quality, which can predict the service quality of virtual machines after migration, and perform virtual machine migration based on the predicted service quality, thereby improving the reliability of virtual machine migration.
[0006] The first aspect provides a method for predicting service quality. In this method, after acquiring first detection data, the first detection data is input into a classifier, and the classifier outputs a target black-box indicator set for the target virtual machine; a target prediction model corresponding to the target black-box indicator set for the target virtual machine is determined; after acquiring second detection data, the first detection data and the second detection data are input into the target prediction model; and the target prediction model is used to predict the degree of degradation of the white-box indicators of the target virtual machine on the second physical machine.
[0007] The first detection data includes target virtual machine data and physical machine data of the first physical machine. The second detection data includes physical machine data of the second physical machine during the target time period. Target virtual machine data includes resource usage data and underlying metric data of the target virtual machine. The target virtual machine is any virtual machine running on the first physical machine. Physical machine data includes resource usage data and underlying metric data of the physical machine. The target black-box metric set includes one or more target black-box metrics, which are black-box metrics whose correlation with the white-box metrics of the target virtual machine is greater than or equal to a preset correlation. The degree of white-box metric degradation refers to the ratio of degraded white-box metric data to unaffected white-box metric data.
[0008] In this implementation, the target virtual machine data is related to the target virtual machine's load, and the physical machine data of the first physical machine is related to the interference sources of the target virtual machine on the first physical machine. Therefore, the target black-box indicator set obtained by the classifier is related to both the target virtual machine's load and interference sources. Moreover, this target black-box indicator set has a good correlation with the target virtual machine's white-box indicators, which can more accurately reflect the service quality of the target virtual machine on the first physical machine. Furthermore, the training sample set of the target prediction model is related to the target virtual machine's load and the interference sources of the target virtual machine on both the first and second physical machines. Therefore, based on the prediction model corresponding to the target black-box indicators, the degree of white-box indicator degradation of the target virtual machine when migrated to the second physical machine can be predicted more accurately.
[0009] In a first possible implementation of the first aspect, inputting the first detection data into the classifier includes: inputting the first detection data into the classifier when the first detection data meets a preset interference condition. When interference exists in the virtual machine during the current time period, the degree of degradation of the virtual machine's white-box metrics can be automatically predicted.
[0010] In conjunction with the first aspect or the first possible implementation of the first aspect, in the second possible implementation of the first aspect, predicting the degree of white-box metric degradation of the target virtual machine on the second physical machine through the target prediction model includes: inputting first detection data into a denoising autoencoder, and outputting virtual machine feature data through the denoising autoencoder; inputting second detection data into the autoencoder, and outputting second physical machine feature data through the autoencoder; combining the virtual machine feature data and the second physical machine feature data as input data for the target prediction model; and outputting the degree of white-box metric degradation of the target virtual machine on the second physical machine through the target prediction model. The denoising autoencoder can reduce the noise in the target virtual machine data, obtaining noise-free or low-noise virtual machine feature data. Combining this with the second physical machine feature data can simulate the detection data of the target virtual machine on the second physical machine, thus predicting the degree of white-box metric degradation of the target virtual machine on the second physical machine. Furthermore, the autoencoder can reduce the dimensionality of the physical machine data on the second physical machine, improving computational speed.
[0011] In conjunction with the first aspect or the above possible implementations of the first aspect, in the third possible implementation of the first aspect, when the degradation level of the white-box metrics is less than a preset value, the target virtual machine is migrated to a second physical machine. This can automatically predict the degradation level of the white-box metrics after migration, thereby selecting a physical machine that meets the service quality requirements for migration, improving the efficiency and reliability of the migration.
[0012] In conjunction with the first aspect or the above possible implementations of the first aspect, in the fourth possible implementation of the first aspect, a training sample set of the i-th virtual machine on the first physical machine is obtained. This training sample set includes physical machine data from the first physical machine and virtual machine data of the i-th virtual machine during multiple interference periods. Then, multiple fusion index vectors are determined based on the virtual machine data of the i-th virtual machine. At least one target fusion index vector is selected from these multiple fusion index vectors, and a target black-box index set for the i-th virtual machine is determined based on this at least one target fusion index vector. A classifier is trained based on the training sample set and the target black-box index set of the multiple virtual machines. The correlation between the target fusion index vector and the preset white-box index vector is greater than or equal to the preset correlation, thus enabling the selection of black-box indicators related to the white-box indicators. The target black-box index set of the multiple virtual machines is used as the training label, making the classifier's category related to the actual service quality of the virtual machine.
[0013] In conjunction with the first aspect or the above possible implementations of the first aspect, in the fifth possible implementation of the first aspect, determining multiple fusion indicator vectors based on the virtual machine data of the i-th virtual machine includes: selecting multiple vector pairs from the virtual machine data of the i-th virtual machine, calculating the elements of the fusion indicator vector for all individual indicator data of each vector pair according to a preset calculation rule, and assembling the elements of the fusion indicator vector into a fusion indicator vector. Each vector includes individual indicator data from multiple interference periods. The preset calculation rule is division, multiplication, or weighted operation, thus providing multiple methods for indicator fusion.
[0014] In conjunction with the fifth possible implementation of the first aspect, the sixth possible implementation of the first aspect involves obtaining a first training data set and a second training data set. The first training data set is input into a denoising autoencoder, which outputs a virtual machine feature data set. The second training data set is input into the autoencoder, which outputs a second physical machine feature data set. A third training data set is then generated based on the virtual machine feature data set and the second physical machine feature data set. A prediction model corresponding to the i-th target black-box indicator set is trained based on the third training data set and a preset white-box indicator degradation degree. Here, the white-box indicator degradation degree serves as the training label. The first training data set includes training data sets of at least one virtual machine, and the training data set of at least one virtual machine corresponds to the i-th target black-box indicator. The second training data set includes physical machine data of the second physical machine during multiple interference periods. Each training sample in the third training data set includes one virtual machine feature data set and one second physical machine feature data set. This provides a specific method for training the prediction model, allowing a prediction model to be trained for each target black-box indicator set.
[0015] In conjunction with the first aspect or the above possible implementations of the first aspect, in the seventh possible implementation of the first aspect, the resource usage data of the target virtual machine includes one or more of the following: processor runtime in the target virtual machine, remaining memory of the target virtual machine, number of network read bytes, number of network write bytes, number of block read bytes, and number of block write bytes; the underlying indicator data of the target virtual machine includes the number of instruction rollbacks and / or the number of last-level cache misses in the target virtual machine; the resource usage data of the physical machine includes one or more of the following: number of messages processed per second, processor utilization of the physical machine, memory utilization, number of packets received per second, and number of packets sent per second; the underlying indicator data of the physical machine includes one or more of the following: number of instructions per second of the physical machine, memory bandwidth statistically measured per unit time, and size of shared cache occupied per unit time.
[0016] The second aspect provides a computing device that can have the function of implementing the method for predicting service quality in any embodiment of the first aspect. This function can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-described function.
[0017] A third aspect provides a computing device including a processor and a memory, the memory being used to store program code; the processor executing the program code to implement the method of the first aspect.
[0018] The fourth aspect provides a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the method of the first aspect.
[0019] The fifth aspect provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the method of the first aspect.
[0020] A sixth aspect provides a chip system including at least one processor coupled to a memory for storing computer programs or instructions, and the processor for executing the computer programs or instructions to implement the method of the first aspect. Attached Figure Description
[0021] Figure 1 This is a schematic diagram of an application scenario in an embodiment of this application;
[0022] Figure 2 This is a schematic diagram of a virtual machine in an embodiment of this application;
[0023] Figure 3 This is a schematic diagram of processor virtualization in an embodiment of this application;
[0024] Figure 4 This is another schematic diagram of processor virtualization in the embodiments of this application;
[0025] Figure 5 This is a schematic diagram of memory virtualization in an embodiment of this application;
[0026] Figure 6 This is a flowchart of training a classifier in an embodiment of this application;
[0027] Figure 7 This is a flowchart of training a prediction model in an embodiment of this application;
[0028] Figure 8 This is a flowchart of a method for predicting service quality in an embodiment of this application;
[0029] Figure 9This is a schematic diagram illustrating the classification in an embodiment of this application;
[0030] Figure 10 This is a schematic diagram illustrating the prediction of service quality in an embodiment of this application;
[0031] Figure 11 This is a structural diagram of a computing device in an embodiment of this application;
[0032] Figure 12 This is another structural diagram of the computing device in the embodiments of this application. Detailed Implementation
[0033] The method for predicting service quality presented in this application can be applied to Infrastructure as a Service (IaaS) scenarios. The IaaS scenario is described below; please refer to [link / reference]. Figure 1 In one example, the IaaS scenario includes a client 11, the internet 12, and a data center 13. In data center 13, a cloud management platform 131 connects to multiple servers, such as server 133, server 134, and server 135, via an internal data center network 132. Each server can be considered a physical machine, and multiple virtual machines can be created on each server.
[0034] Cloud management platform functions: It provides access interfaces (such as interfaces or APIs), allowing tenants to remotely access the cloud management platform through client devices. Tenants can register a cloud account and password on the cloud management platform and log in. After successful authentication of the cloud account and password, tenants can further select and purchase virtual machines with specific specifications (processor, memory, disk) on the cloud management platform. After successful purchase, the cloud management platform provides the remote login account and password for the purchased virtual machine. Clients can remotely log in to the virtual machine and install and run the tenant's applications on it.
[0035] The cloud management platform is logically divided into the following functions: User Console, Compute Management Service, Network Management Service, Storage Management Service, Authentication Service, and Image Management Service. The User Console provides an interface or API for interaction with tenants. The Compute Management Service manages servers running virtual machines and containers, as well as bare metal servers. The Network Management Service manages network services (such as gateways and firewalls). The Storage Management Service manages storage services (such as data bucket services). The Authentication Service manages tenant account passwords. The Image Management Service manages virtual machine images.
[0036] Cloud management platform client functions: Receive control plane commands sent by the cloud management platform, and create and manage virtual machines on the server according to the control plane commands throughout their entire lifecycle.
[0037] Tenants can create, manage, log in, and operate virtual machines in data center 13 through cloud management platform 131. Virtual machines can also be called cloud servers (elastic compute service, ECS) or elastic instances.
[0038] Virtualization technologies include compute virtualization and I / O virtualization, among others. (See also...) Figure 2 Virtualization technology, as a core technology in cloud scenarios, uses virtual machines as the granularity to share a physical server with multiple tenants, enabling tenants to use physical resources conveniently and flexibly under the premise of secure isolation, and greatly improving the utilization rate of physical resources.
[0039] Computational virtualization provides computing resources such as the server's processor and memory to virtual instances. Virtual instances can be virtual machines, and in some scenarios, they can also be containers, bare metal servers, etc.
[0040] (1) Processor virtualization
[0041] Servers running virtual machines typically have multiple physical CPUs. The physical CPUs are the processors in the hardware layer, while the vCPUs are virtual processors in the software layer, also known as hyper-threading. Virtual machines are not aware of the physical CPUs; they are only aware of the vCPUs presented to them by the virtual machine manager.
[0042] Figure 3 It is an architectural example, in Figure 3 In the architecture shown, the server has four physical CPUs: CPU0, CPU1, CPU2, and CPU3. Each physical CPU includes four CPU cores, and each CPU core supports two hyperthreads. Therefore, the total number of vCPUs that the virtual machine manager can provide for virtual machines = the total number of hyperthreads = the number of physical CPUs (also known as the number of sockets) x the number of CPU cores per physical CPU x the number of hyperthreads supported by each CPU core = 32. It is important to note that this is merely an example; this embodiment does not limit the number of physical CPUs configured on the server, the number of CPU cores contained in each physical CPU, or the number of hyperthreads on each CPU core.
[0043] like Figure 4As shown, one hyperthread can be provided as one VCPU to a virtual machine. In other implementations, one hyperthread can also be provided as multiple VCPUs in a time-sharing manner to a virtual machine, depending on the virtual machine's CPU quality of service (QoS). In some practical applications, tenants can pay more to the cloud management platform to purchase virtual machines with higher CPU QoS, in which case one hyperthread can be provided as one VCPU to a virtual machine.
[0044] (2) Memory Virtualization
[0045] The purpose of memory virtualization technology is to provide virtual machines with a contiguous physical memory space starting from address 0, and to effectively isolate and schedule memory resources between virtual machines.
[0046] Memory virtualization technology mainly involves the translation of Guest Virtual Address (GVA) → Guest Physical Address (GPA) → Host Virtual Address (GVA) → Host Physical Address (HPA).
[0047] In virtualization technology, multiple virtual machines often run on a physical host. Each virtual machine believes that it has exclusive access to the physical host's memory space. Therefore, the virtual machine uses the Guest Physical Address (GPA) to represent the memory space it owns. This memory space is considered to be contiguous by the virtual machine (i.e., the virtual machine believes that it owns a complete physical memory block).
[0048] GVA is an address formed by the virtual machine's operating system mapping GPA. The virtual machine's operating system provides GVA to processes or application software set on the virtual machine's operating system. The virtual machine's operating system records the mapping relationship between GVA and GPA. The conversion between GVA and GPA is implemented by the page table of the virtual machine's operating system.
[0049] HPA is the actual physical memory address, while HVA is the address formed by the host operating system mapping HPA. The host operating system provides HVA to processes on the operating system (such as virtual machines). The host operating system records the mapping relationship between HVA and HPA. The conversion from HVA to HPA is implemented by the page table of the host operating system.
[0050] exist Figure 5In this scenario, Virtual Machine 1 and Virtual Machine 2 are hosted on the same server (hereinafter referred to as the host machine). The host machine's virtual machine manager sets the GPA address range of Virtual Machine 1 to 0-5GB, corresponding to the HPA address ranges of 1.5GB-4.5GB and 6.5GB-8.5GB on physical memory. Similarly, the host machine's virtual machine manager sets the GPA address range of Virtual Machine 2 to 0-4GB, corresponding to the HPA address ranges of 9GB-11GB and 13GB-15GB on physical memory. Therefore, Virtual Machine 1 exclusively uses the 0-5GB GPA address range, and Virtual Machine 2 exclusively uses the 0-4GB GPA address range. Both the 0-5GB and 0-4GB GPA address ranges can be mapped to different HPA address ranges on physical memory, thus achieving memory isolation between the virtual machines.
[0051] The GPA address range is related to the virtual machine specifications mentioned above. For example, a tenant can set the virtual machine specification in the cloud management platform to have a memory size of 5G for virtual machine 1. At this time, the virtual machine manager is notified by the cloud management platform to create virtual machine 1 with a GPA of 0-5G.
[0052] (3) I / O virtualization
[0053] I / O virtualization refers to simulating a corresponding device for each virtual machine through software or hardware-assisted virtualization. For example, each virtual machine believes it has a complete disk device. In reality, the VMM creates a file or allocates a region on the physical hard drive for each virtual machine as its "physical hard drive." When the guest operating system accesses the "physical hard drive," the hypervisor converts the hard drive number into an offset relative to the file or region and returns the result to the guest operating system. I / O virtualization faces three basic tasks: device discovery, access interception, and device emulation.
[0054] A) Device Discovery
[0055] The hypervisor needs to provide a device discovery method so that the guest operating system can discover virtual devices and load the corresponding drivers. The device discovery method depends on the type of virtual device, and includes two types: bus enumeration and non-enumeration. Enumeration refers to the operating system accessing various configuration spaces to read information such as device type and communication method.
[0056] B) Access interception
[0057] After the guest operating system finds the corresponding virtual device through "device discovery," it will issue I / O requests based on the device's interface resources. Depending on the device access method, the VMM will intercept the guest operating system's I / O requests in different ways to provide the corresponding device functions for the device emulation phase.
[0058] C) Equipment Simulation
[0059] When a hypervisor receives an I / O request from a virtual machine, it needs to simulate the functionality of the physical device so that the virtual machine's access to the virtual device achieves the same effect as accessing a real physical device. The functionality of the virtual device is simulated by the hypervisor, but when and which device to simulate is determined by the physical device, the hypervisor's policy, and the requirements of the guest operating system.
[0060] The following is an introduction to some of the terminology used in this application:
[0061] Service quality metrics include white-box metrics and black-box metrics. White-box metrics refer to the performance metrics of users using virtual machine applications, processing tasks, or jobs. White-box metrics include, but are not limited to, transactions per second (TPS) and latency.
[0062] Black-box metrics are metrics acquired in a black-box environment. Black-box metrics include resource usage metrics and underlying metrics. Resource usage metrics include, but are not limited to, CPU runtime, remaining memory size, network read / write bytes, and block read / write bytes. Underlying metrics include, but are not limited to, instructions per cycle (IPC), cycles per instruction (CPI), misses per thousand instructions (MPKI), and instruction rollbacks.
[0063] A virtual machine phase change refers to a change in the resource usage behavior of a virtual machine. For example, a virtual machine may start running as disk-intensive and later become compute-intensive. Changes in the virtual machine's load can be considered a virtual machine phase change.
[0064] A source of interference (SOI) refers to a shared resource that causes interference. Examples include the last level cache (LLC), memory bandwidth, and network bandwidth. When a processor chip includes L1, L2, and L3, L3 is the LLC. When a processor chip includes L1 and L2, L2 is the LLC.
[0065] Because shared resources are limited, virtual machines competing for these resources can cause interference. In scenarios where multiple virtual machines are co-located, interference-aware QoS prediction is the technical problem this application aims to solve. Existing prediction methods use sensitivity curves that only represent the correlation between cache pressure and the service quality of the target application, which is not accurate enough in predicting service quality. Therefore, this application provides a method for predicting service quality that can obtain a set of black-box metrics related to white-box metrics through a classifier, and then predict the degree of service quality degradation of a virtual machine deployed on a new physical machine based on the prediction model corresponding to the black-box metric set.
[0066] First, the process of training the classifier in the service quality prediction method of this application is introduced, see reference. Figure 6 In one embodiment, the method for predicting service quality of this application includes:
[0067] Step 601: Obtain the training sample set of the i-th virtual machine on the first physical machine.
[0068] The first training sample set includes physical machine data of the first physical machine and virtual machine data of the i-th virtual machine during multiple interference periods. The physical machine data of the first physical machine and the virtual machine data of the i-th virtual machine during each interference period serve as a training sample. The physical machine data of the first physical machine includes resource usage data and underlying metric data of the first physical machine. The virtual machine data includes resource usage data and underlying metric data of the virtual machine.
[0069] For example, let P be the physical machine data of the first physical machine, and let R be the resource usage data of the first physical machine. PM The underlying performance data of the first physical machine is denoted as H. PM R PM This includes resource usage data across multiple interference periods. For example, the resource usage data for the j-th period is denoted as... H PM This includes underlying indicator data from multiple interference periods, for example, the underlying indicator data for the j-th period is denoted as... Both i and j are positive integers.
[0070] The physical machine's resource usage data includes one or more of the following: messages processed per second, processor utilization, memory utilization, packets received per second, and packets sent per second. The physical machine's underlying performance data includes one or more of the following: instructions per second, memory bandwidth per unit time, and the size of the shared cache occupied per unit time. It should be understood that other metrics can be selected for the physical machine's resource usage data and underlying performance data based on actual circumstances; this application does not impose any limitations on these metrics.
[0071] The resource usage data of the i-th virtual machine on the first physical machine is denoted as... The underlying metric data of the i-th virtual machine is denoted as: This includes resource usage data for multiple time periods, for example, the resource usage data for the j-th time period is denoted as... This includes underlying indicator data for multiple time periods. For example, the underlying indicator data for the j-th time period is denoted as...
[0072] Virtual machine resource usage data includes one or more of the following: virtual machine processor runtime, virtual machine remaining memory, network read bytes, network write bytes, block read bytes, and block write bytes. Virtual machine low-level metrics include the number of instruction rollbacks and / or last-level cache misses.
[0073] Step 602: Determine multiple fusion index vectors based on the virtual machine data of the i-th virtual machine.
[0074] Optionally, step 602 includes: selecting multiple vector pairs from the virtual machine data of the i-th virtual machine, calculating the elements of the fused index vector for all individual index data of each vector pair according to a preset calculation rule, and assembling the elements of the fused index vector into a fused index vector. The preset calculation rule is division, multiplication, or weighted operation.
[0075] In one example, the virtual machine data for the i-th virtual machine during multiple interference periods includes three vectors, each vector including the processor runtime, remaining memory size, and MPKI for multiple interference periods.
[0076] The vector corresponding to the processor runtime is denoted as [Ct1, Ct2, ..., Ct n The vector corresponding to the remaining memory size is denoted as [m1, m2, ..., m]. n The vector corresponding to MPKI is denoted as [MPKI1, MPKI2, ..., MPKI]. n The fusion index vector obtained by dividing all individual index data from the above three vectors can be:
[0077]
[0078]
[0079]
[0080] Step 603: Select at least one target fusion index vector from multiple fusion index vectors. The correlation between the target fusion index vector and the preset white-box index vector is greater than or equal to the preset correlation.
[0081] The preset white-box indicator vector includes white-box indicator data measured during multiple interference periods.
[0082] Multiple fusion indicator vectors are compared with white-box indicator vectors using Pearson correlation calculations. If the correlation between the i-th fusion indicator vector and the white-box indicator vector is greater than or equal to a preset correlation, then the i-th fusion indicator vector is determined to be a target fusion indicator vector. If the correlation between the i-th fusion indicator vector and the white-box indicator vector is less than the preset correlation, then the i-th fusion indicator vector is determined not to be a target fusion indicator vector. The number of target fusion indicator vectors can be one or more.
[0083] Step 604: Determine the target black-box index set for the i-th virtual machine based on at least one target fusion index vector.
[0084] The target black-box metric set includes two metrics corresponding to the target fusion metric vector. For example, the target fusion metric vector is... The target black-box metrics set includes remaining memory size and MPKI.
[0085] Step 605: Train a classifier based on the training sample sets and target black-box metric sets of multiple virtual machines, where the target black-box metric sets of the multiple virtual machines serve as training labels. In some cases, the training sample sets of several virtual machines may have the same target black-box metric set. Methods for training the classifier include, but are not limited to, XGBoost.
[0086] This embodiment can filter out black-box metrics that are highly correlated with white-box metrics. These metrics can more accurately reflect the impact of the actual environment on white-box metrics than existing cache pressure metrics.
[0087] In an optional embodiment, before determining multiple fusion index vectors based on the virtual machine data of the i-th virtual machine, the method further includes: selecting two vectors from the virtual machine data of the i-th virtual machine, performing a Pearson correlation operation on the two vectors to obtain their similarity, and removing either vector when the similarity of the two vectors is greater than or equal to a preset similarity. This can reduce the similarity of vectors in the training sample set.
[0088] In another optional embodiment, before determining multiple fusion index vectors based on the virtual machine data of the i-th virtual machine, two vectors are selected from the virtual machine data of the i-th virtual machine. A Pearson correlation operation is performed on the two vectors to obtain their similarity. When the similarity between the two vectors is greater than or equal to a preset similarity, the similarity between the first vector and other vectors in the virtual machine data of the i-th virtual machine is obtained as a first set of similarities, and the similarity between the second vector and other vectors in the virtual machine data of the i-th virtual machine is obtained as a second set of similarities. When the sum of the first set of similarities is greater than the sum of the second set of similarities, the second vector is removed. When the sum of the second set of similarities is greater than the sum of the first set of similarities, the first vector is removed. This provides another method for reducing the similarity of vectors in the training sample set.
[0089] The following section describes the process of training the prediction model in methods for predicting service quality. (See attached document.) Figure 7 In another embodiment, the method for predicting service quality in this application includes:
[0090] Step 701: Obtain the first training data set and the second training data set.
[0091] The first training data set corresponds to the i-th target black-box metric set, and includes the training data sets of one or more virtual machines corresponding to the i-th target black-box metric set. The second training data set includes the physical machine data of the second physical machine during multiple interference periods.
[0092] Step 702: Input the first training data set into the denoising autoencoder, and output the virtual machine feature data set through the denoising autoencoder.
[0093] A denoising autoencoder is used to denoise the training samples in the first training dataset to obtain virtual machine feature data. The virtual machine feature dataset includes multiple virtual machine feature data sets.
[0094] Step 703: Input the second training dataset into the autoencoder, and output the second physical machine feature dataset through the autoencoder. The second physical machine feature dataset includes multiple second physical machine feature datasets. The autoencoder can reduce dimensionality, so that the second physical machine feature dataset occupies less storage space than the physical machine data of the second physical machine.
[0095] Step 704: Generate a third training data set based on the virtual machine feature data set and the second physical machine feature data set. Each training sample in the third training data set includes one virtual machine feature data set and one second physical machine feature data set.
[0096] Step 705: Train the prediction model corresponding to the i-th target black box indicator set based on the third training data set and the preset white box indicator degradation degree.
[0097] The degree of degradation of white-box metrics can be either TPS degradation or latency degradation. The degree of degradation of white-box metrics is pre-measured under test conditions with multiple interference periods.
[0098] In this embodiment, multiple sets of virtual machine training samples, target black-box metrics, and prediction models have a corresponding relationship. Therefore, the input of the prediction model is related to the load and interference of the virtual machine. This can more accurately reflect the interference of the actual environment than existing cache pressure metrics, thus obtaining more accurate prediction results.
[0099] Secondly, since virtual machine feature data can represent denoised virtual machine data, and second physical machine feature data can represent physical machine data of a second physical machine with interference, the training samples including virtual machine feature data and second physical machine feature data can represent virtual machine data when the second physical machine has interference sources. Therefore, the target prediction model trained based on the third training dataset and the degree of white-box metric degradation can be used to predict the degree of white-box metric degradation of the virtual machine on the second physical machine, and this degree of white-box metric degradation can reflect the service quality of the virtual machine.
[0100] Based on the classifier and prediction model described above, this application can predict the service quality of any virtual machine. The process of predicting service quality is described below; please refer to [link / reference]. Figure 8 In one embodiment, the method for predicting service quality in this application includes:
[0101] Step 801: Obtain the first detection data, which includes the target virtual machine data and the physical machine data of the first physical machine in the current time period.
[0102] The target virtual machine data includes the target virtual machine's resource usage data and its underlying metrics. The first physical machine's data includes the first physical machine's resource usage data and its underlying metrics. The current time period can be any time period. The target virtual machine is any virtual machine running on the first physical machine.
[0103] Step 802: Input the first detection data into the classifier, and output the target black box index set of the target virtual machine through the classifier.
[0104] The classifier's categories include multiple sets of target black-box metrics, each representing a category. When the first detection data meets the preset interference conditions, the first detection data is input into the classifier.
[0105] Optionally, if the first detection data meets a preset interference condition, the first detection data is input into the classifier. Specifically, the presence of interference can be determined based on the physical machine data of the first physical machine or the target virtual machine data in the first detection data. For example, if the processor utilization of the first physical machine is detected to be greater than or equal to a preset utilization rate in the current time period, it is determined that the first detection data meets the preset interference condition. For example, if the number of last-level cache misses is detected to be greater than or equal to a preset number of misses in the current time period, it is determined that the first detection data meets the preset interference condition.
[0106] It should be noted that this application can also determine whether the target virtual machine is being interfered with in the current period based on other data in the target virtual machine data. And / or, this application can also determine whether the target virtual machine is being interfered with in the current period based on other data in the physical machine data of the first physical machine. When the virtual machine is interfered with on the first physical machine, the service quality of the virtual machine when migrated to the second physical machine can be automatically predicted.
[0107] Step 803: Determine the target prediction model corresponding to the target black-box index set of the target virtual machine.
[0108] Step 804: Obtain the second detection data, which includes the physical machine data of the second physical machine.
[0109] The target time period refers to the period during which the virtual machine is migrated to the second physical machine. The physical machine data of the second physical machine includes the resource usage data and the underlying metric data of the second physical machine.
[0110] Step 805: Input the first detection data and the second detection data into the target prediction model.
[0111] Step 806: Predict the degree of white-box performance degradation of the target virtual machine on the second physical machine using the target prediction model.
[0112] Optionally, step 806 includes: inputting the first detection data into the noise reduction autoencoder; inputting the second detection data into the autoencoder; combining the virtual machine feature data output by the noise reduction autoencoder and the second physical machine feature data output by the autoencoder into the input data of the target prediction model; and outputting the white-box index degradation degree of the target virtual machine on the second physical machine through the target prediction model.
[0113] In this embodiment, the target virtual machine data is related to the load of the target virtual machine, and the physical machine data of the first physical machine is related to the interference source of the target virtual machine. After classifying the target virtual machine data and the physical machine data of the first physical machine by a classifier, the target black-box index is related to both the load and interference source of the target virtual machine. Moreover, the target black-box index has a good correlation with the target virtual machine white-box index, which can more accurately reflect the service quality of the target virtual machine on the first physical machine.
[0114] Since the training sample set of the target prediction model is related to the load of the target virtual machine and the interference sources of the target virtual machine on both the first and second physical machines, the prediction model corresponding to the target black-box metric (i.e., the target prediction model) can more accurately predict the service quality of the target virtual machine when it is migrated to the second physical machine.
[0115] The following is based on Figure 9 and Figure 10 This section introduces the classification process and the process of predicting service quality. (See attached document.) Figure 9 The classifier has eight categories: target black box metric set 1 to target black box metric set 8. Taking the training sample set, which includes the CPU utilization and IPC of the first physical machine in multiple interference periods, the processor runtime, remaining memory size and MPKI of the target virtual machine, as an example, the target black box metric set corresponding to this training sample set is target black box metric set 4, which includes the remaining memory size and MPKI of the virtual machine.
[0116] When the target virtual machine is interfered with in the current time period, the CPU utilization and IPC of the first physical machine in the current time period, as well as the processor runtime, remaining memory size and MPKI of the target virtual machine in the current time period, are classified by the xgboost classifier to obtain the target black box indicator set of the target virtual machine as the target black box indicator set 4.
[0117] See Figure 10 The target prediction model corresponds to the target black-box metric 4. The processor runtime, remaining memory size, and MPKI of the target virtual machine, along with the CPU utilization and IPC of the first physical machine, are input to the denoising autoencoder, which outputs virtual machine feature data. The CPU utilization and IPC of the second physical machine are input to the autoencoder, which outputs second physical machine feature data. The virtual machine feature data and the second physical machine feature data are combined into the input data of the target prediction model, which outputs the white-box metric degradation degree.
[0118] This application provides a computing device capable of realizing Figure 6 The embodiments shown to Figure 8 The method in the illustrated embodiment. See also Figure 11The computing device 1100 of this application includes:
[0119] The acquisition unit 1101 is used to acquire first detection data. The first detection data includes target virtual machine data and physical machine data of the first physical machine in the current time period. The target virtual machine data includes resource usage data and underlying indicator data of the target virtual machine. The target virtual machine is any virtual machine running on the first physical machine. The physical machine data includes resource usage data and underlying indicator data of the physical machine.
[0120] Classification unit 1102 is used to input the first detection data into the classifier and output the target black box index set of the target virtual machine through the classifier;
[0121] Processing unit 1103 is used to determine the target prediction model corresponding to the target black-box index set of the target virtual machine;
[0122] The acquisition unit 1101 is also used to acquire second detection data, which includes physical machine data of the second physical machine in the target time period;
[0123] The prediction unit 1104 is used to input the first detection data and the second detection data into the target prediction model, and predict the degree of white-box index degradation of the target virtual machine on the second physical machine through the target prediction model.
[0124] In an optional embodiment, the classification unit 1102 is specifically used to input the first detection data into the classifier when the first detection data meets the preset interference conditions.
[0125] In another optional embodiment, the prediction unit 1104 is specifically used to input the first detection data into the noise reduction autoencoder and output virtual machine feature data through the noise reduction autoencoder; input the second detection data into the autoencoder and output the second physical machine feature data through the autoencoder; combine the virtual machine feature data and the second physical machine feature data into the input data of the target prediction model; and output the white-box index degradation degree of the target virtual machine on the second physical machine through the target prediction model.
[0126] In another alternative embodiment, the computing device 1100 further includes a migration unit for migrating a target virtual machine to a second physical machine when the white-box metric degradation is less than a preset value.
[0127] In another optional embodiment, the acquisition unit 1101 is further configured to acquire the training sample set of the i-th virtual machine on the first physical machine, the training sample set including the physical machine data of the first physical machine and the virtual machine data of the i-th virtual machine during multiple interference periods;
[0128] The computing device 1100 also includes:
[0129] The indicator fusion unit is used to determine multiple fusion indicator vectors based on the virtual machine data of the i-th virtual machine.
[0130] The indicator filtering unit is used to select at least one target fusion indicator vector from multiple fusion indicator vectors, wherein the correlation between the target fusion indicator vector and the preset white-box indicator vector is greater than or equal to the preset correlation; and to determine the target black-box indicator set of the i-th virtual machine based on at least one target fusion indicator vector.
[0131] The classifier training unit is used to train a classifier based on a set of training samples from multiple virtual machines and a set of target black-box metrics from multiple virtual machines, with the set of target black-box metrics from multiple virtual machines serving as the training labels.
[0132] Optionally, the indicator fusion unit is specifically used to select multiple vector pairs from the virtual machine data of the i-th virtual machine, each vector including single indicator data of multiple interference periods; calculate the elements of the fused indicator vector according to the preset operation rules for all single indicator data of each vector pair; and form the fused indicator vector by combining the elements of the fused indicator vector. The preset operation rules are division, multiplication or weighted operation.
[0133] In another alternative embodiment,
[0134] The acquisition unit 1101 is also used to acquire a first training data set and a second training data set. The first training data set includes the training data set of at least one virtual machine and the training data set of at least one virtual machine corresponds to the i-th target black box index set. The second training data set includes the physical machine data of the second physical machine during multiple interference periods.
[0135] The computing device 1100 also includes:
[0136] The noise reduction autoencoder unit is used to input the first training data set into the noise reduction autoencoder and output the virtual machine feature data set through the noise reduction autoencoder.
[0137] The autoencoder unit is used to input the second training data set into the autoencoder and output the second physical machine feature data set through the autoencoder.
[0138] The processing unit 1103 is also used to generate a third training data set based on the virtual machine feature data set and the second physical machine feature data set, wherein each training sample in the third training data set includes a virtual machine feature data set and a second physical machine feature data set; and to train a prediction model corresponding to the i-th target black box indicator set based on the third training data set and the preset white box indicator degradation degree.
[0139] In another alternative embodiment,
[0140] The resource usage data of the target virtual machine includes one or more of the following: processor runtime in the target virtual machine, remaining memory of the target virtual machine, number of network read bytes, number of network write bytes, number of block read bytes, and number of block write bytes;
[0141] The underlying metrics data of the target virtual machine include the number of instruction rollbacks and / or the number of last-level cache misses in the target virtual machine;
[0142] The resource usage data of the first physical machine includes one or more of the following: messages processed per second, processor utilization, memory utilization, number of packets received per second, and number of packets sent per second.
[0143] The underlying metrics of the first physical machine include one or more of the following: the number of instructions per second, the memory bandwidth measured per unit time, and the size of the shared cache occupied per unit time.
[0144] The computing device of this application will now be described from a hardware perspective. (See attached document.) Figure 12 Another embodiment of the computing device 1200 in this application includes a processor 1201, a memory 1202, and a network interface 1203 connected via a bus 1204.
[0145] In this embodiment, the memory 1202 is used to store program code. The processor 1201 executes the program code stored in the memory 1202. Figures 6 to 8 The method for predicting service quality in the illustrated embodiment.
[0146] It should be understood that the processor 1201 mentioned in this embodiment can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0147] It should also be understood that the memory 1202 mentioned in the embodiments of this application can be volatile memory or non-volatile memory, or both. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0148] Network interface 1203 can be used to receive or send information. Information can be, but is not limited to, messages, data packets, or commands.
[0149] It should be noted that the information interaction and execution process between the modules / units of the above-mentioned device are based on the same concept as the method embodiments of this application, and the resulting technical effects are the same as those of the method embodiments of this application. For details, please refer to the description in the method embodiments shown above in this application, and will not be repeated here.
[0150] This application provides a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to perform the method for predicting quality of service as described in the above embodiments or optional embodiments.
[0151] This application also provides a computer program product that, when run on a computer, causes the computer to perform a method for predicting quality of service as described in the above embodiments or alternative embodiments.
[0152] This application also provides a chip system comprising a processor and a memory coupled to each other. The memory stores computer programs or instructions, and the processing unit executes the computer programs or instructions stored in the memory to cause a computer to perform the steps performed by the computing device in the above embodiments. Optionally, the memory is on-chip memory, such as registers, caches, etc. The memory can also be off-chip memory within a site, such as read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, random access memory (RAM), etc. The processor mentioned above can be a general-purpose central processing unit, a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for implementing the above-described methods for predicting quality of service.
[0153] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and 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 modules can be selected to achieve the purpose of this embodiment according to actual needs. Furthermore, in the accompanying drawings of the device embodiments provided in this application, the connection relationships between modules indicate that they have communication connections, which can specifically be implemented as one or more communication buses or signal lines.
[0154] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, and of course, it can also be implemented by special hardware including application-specific integrated circuits, special CPUs, special memory, special components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often the preferred implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods of the various embodiments of this application.
[0155] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.
[0156] A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state disks (SSDs)).
Claims
1. A method for predicting service quality, characterized in that, include: Acquire first detection data, which includes target virtual machine data and physical machine data of the first physical machine in the current time period. The target virtual machine data includes resource usage data and underlying indicator data of the target virtual machine. The target virtual machine is any virtual machine running on the first physical machine. The physical machine data includes resource usage data and underlying indicator data of the physical machine. The first detection data is input into the classifier, and the classifier outputs the target black-box index set of the target virtual machine. Determine the target prediction model corresponding to the target black-box metric set of the target virtual machine; Acquire second detection data, which includes physical machine data of the second physical machine during the target time period; Input the first detection data and the second detection data into the target prediction model; The white-box performance degradation of the target virtual machine on the second physical machine is predicted using the target prediction model.
2. The method according to claim 1, characterized in that, The step of inputting the first detection data into the classifier includes: When the first detection data meets the preset interference conditions, the first detection data is input into the classifier.
3. The method according to claim 1, characterized in that, The step of predicting the white-box performance degradation of the target virtual machine on the second physical machine using the target prediction model includes: The first detection data is input into the noise reduction autoencoder, and the virtual machine feature data is output through the noise reduction autoencoder. The second detection data is input into the autoencoder, and the second physical machine feature data is output through the autoencoder. The virtual machine feature data and the second physical machine feature data are combined as input data for the target prediction model; The target prediction model outputs the white-box metric degradation level of the target virtual machine on the second physical machine.
4. The method according to claim 1, characterized in that, The method further includes: When the degradation of the white-box metrics is less than a preset value, the target virtual machine is migrated to the second physical machine.
5. The method according to any one of claims 1 to 4, characterized in that, The method further includes: Obtain the training sample set of the i-th virtual machine on the first physical machine, wherein the training sample set includes physical machine data of the first physical machine and virtual machine data of the i-th virtual machine during multiple interference periods; Multiple fusion index vectors are determined based on the virtual machine data of the i-th virtual machine; At least one target fusion index vector is selected from the plurality of fusion index vectors, wherein the correlation between the target fusion index vector and the preset white-box index vector is greater than or equal to the preset correlation. The target black-box metric set of the i-th virtual machine is determined based on the at least one target fusion metric vector; A classifier is trained based on a set of training samples from multiple virtual machines and a set of target black-box metrics from multiple virtual machines, wherein the set of target black-box metrics from multiple virtual machines serves as the training label.
6. The method according to claim 5, characterized in that, The process of determining multiple fusion metric vectors based on the virtual machine data of the i-th virtual machine includes: Select multiple vector pairs from the virtual machine data of the i-th virtual machine, each vector including single indicator data for multiple interference periods; The elements of the fused index vector are calculated from all individual index data of each vector pair according to a preset operation rule, which is a division operation, a multiplication operation, or a weighted operation. The elements of the fusion index vector are combined to form the fusion index vector.
7. The method according to claim 5, characterized in that, The method further includes: Obtain a first training data set and a second training data set. The first training data set includes the training data set of at least one virtual machine and the training data set of at least one virtual machine corresponds to the i-th target black box index set. The second training data set includes the physical machine data of the second physical machine in multiple interference periods. The first training data set is input into the noise reduction autoencoder, and the noise reduction autoencoder outputs a virtual machine feature data set. The second training data set is input into the autoencoder, and the autoencoder outputs the second physical machine feature data set. A third training data set is generated based on the virtual machine feature data set and the second physical machine feature data set, wherein each training sample in the third training data set includes one virtual machine feature data and one second physical machine feature data. The prediction model corresponding to the i-th target black-box indicator set is trained based on the third training data set and the preset white-box indicator degradation level.
8. The method according to any one of claims 1 to 4, characterized in that, The resource usage data of the target virtual machine includes one or more of the following: processor runtime in the target virtual machine, remaining memory of the target virtual machine, number of network read bytes, number of network write bytes, number of block read bytes, and number of block write bytes. The underlying metrics data of the target virtual machine include the number of instruction rollbacks and / or the number of last-level cache misses in the target virtual machine; The resource usage data of the physical machine includes one or more of the following: messages processed per second, processor utilization, memory utilization, number of packets received per second, and number of packets sent per second. The underlying metrics of the physical machine include one or more of the following: the number of instructions per second, the memory bandwidth measured per unit time, and the size of the shared cache occupied per unit time.
9. A computing device, characterized in that, include: The acquisition unit is used to acquire first detection data, which includes target virtual machine data and physical machine data of the first physical machine in the current time period. The target virtual machine data includes resource usage data and underlying indicator data of the target virtual machine. The target virtual machine is any virtual machine running on the first physical machine. The physical machine data includes resource usage data and underlying indicator data of the physical machine. A classification unit is used to input the first detection data into a classifier and output the target black-box indicator set of the target virtual machine through the classifier. The processing unit is used to determine the target prediction model corresponding to the target black-box indicator set of the target virtual machine; The acquisition unit is further configured to acquire second detection data, the second detection data including physical machine data of the second physical machine in the target time period; The prediction unit is used to input the first detection data and the second detection data into the target prediction model, and predict the degree of white-box metric degradation of the target virtual machine on the second physical machine through the target prediction model.
10. The computing device according to claim 9, characterized in that, The classification unit is specifically used to input the first detection data into the classifier when the first detection data meets the preset interference conditions.
11. The computing device according to claim 9, characterized in that, The prediction unit is specifically used to input the first detection data into a noise reduction autoencoder and output virtual machine feature data through the noise reduction autoencoder; input the second detection data into the autoencoder and output second physical machine feature data through the autoencoder; combine the virtual machine feature data and the second physical machine feature data into input data for the target prediction model; and output the white-box performance degradation degree of the target virtual machine on the second physical machine through the target prediction model.
12. The computing device according to claim 9, characterized in that, The computing device further includes a migration unit, which is used to migrate the target virtual machine to the second physical machine when the degradation degree of the white-box indicator is less than a preset value.
13. The computing device according to any one of claims 9 to 12, characterized in that, The acquisition unit is further configured to acquire a training sample set of the i-th virtual machine on the first physical machine, the training sample set including physical machine data of the first physical machine and virtual machine data of the i-th virtual machine during multiple interference periods; The computing device further includes: The indicator fusion unit is used to determine multiple fusion indicator vectors based on the virtual machine data of the i-th virtual machine; The indicator filtering unit is used to select at least one target fusion indicator vector from the plurality of fusion indicator vectors, wherein the correlation between the target fusion indicator vector and the preset white-box indicator vector is greater than or equal to the preset correlation; and to determine the target black-box indicator set of the i-th virtual machine based on the at least one target fusion indicator vector. The classifier training unit is used to train a classifier based on a set of training samples from multiple virtual machines and a set of target black-box metrics from multiple virtual machines, wherein the set of target black-box metrics from multiple virtual machines is the training label.
14. The computing device according to claim 13, characterized in that, The indicator fusion unit is specifically used to select multiple vector pairs from the virtual machine data of the i-th virtual machine, each vector including single indicator data of multiple interference periods; calculate the elements of the fused indicator vector according to the preset operation rules of all single indicator data of each vector pair; and form the fused indicator vector by combining the elements of the fused indicator vector. The preset operation rules are division operation, multiplication operation or weighted operation.
15. The computing device according to claim 13, characterized in that, The acquisition unit is further configured to acquire a first training data set and a second training data set. The first training data set includes the training data set of at least one virtual machine and the training data set of at least one virtual machine corresponds to the i-th target black box index set. The second training data set includes physical machine data of the second physical machine during multiple interference periods. A noise reduction autoencoder unit is used to input a first training data set into a noise reduction autoencoder and output a virtual machine feature data set through the noise reduction autoencoder. An autoencoder unit is used to input a second training data set into an autoencoder and output a second physical machine feature data set through the autoencoder. The processing unit is further configured to generate a third training data set based on the virtual machine feature data set and the second physical machine feature data set, wherein each training sample in the third training data set includes a virtual machine feature data set and a second physical machine feature data set. The prediction model corresponding to the i-th target black-box indicator set is trained based on the third training data set and the preset white-box indicator degradation level.
16. The computing device according to any one of claims 9 to 12, characterized in that, The resource usage data of the target virtual machine includes one or more of the following: processor runtime in the target virtual machine, remaining memory of the target virtual machine, number of network read bytes, number of network write bytes, number of block read bytes, and number of block write bytes. The underlying metrics data of the target virtual machine include the number of instruction rollbacks and / or the number of last-level cache misses in the target virtual machine; The resource usage data of the physical machine includes one or more of the following: messages processed per second, processor utilization, memory utilization, number of packets received per second, and number of packets sent per second. The underlying metrics of the physical machine include one or more of the following: the number of instructions per second, the memory bandwidth measured per unit time, and the size of the shared cache occupied per unit time.
17. A computing device, characterized in that, Including processor and memory; The memory is used to store program code; The processor is used to call program code in the memory to cause the processor to perform the method as described in any one of claims 1 to 8.
18. A computer-readable storage medium storing instructions, characterized in that, When the instructions are executed on a computer, the computer performs the method as described in any one of claims 1 to 8.
Citation Information
Patent Citations
Method for determining virtual machine migration opportunity based on prediction of utilization rate change trend
CN108804198A
Performance prediction device, performance model generation method and program
JP2015138432A