A cloud service load prediction method and system based on dual channels

Through a dual-channel cloud service load prediction method, using technical means such as SG filters and bidirectional long short-term memory networks, the problem of insufficient load prediction accuracy in existing technologies is solved, more efficient load prediction and resource management are achieved, and the service level and profits of cloud service providers are improved.

CN116302515BActive Publication Date: 2025-10-03SICHUAN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310189763.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-02
Publication Date
2025-10-03
Estimated Expiration
2043-03-02

AI Technical Summary

Technical Problem

Existing cloud service load prediction methods are difficult to accurately capture the nonlinear characteristics of server load, resulting in poor load prediction accuracy and inability to effectively guarantee service level agreement compliance and resource utilization.

Method used

A dual-channel cloud service load prediction method is adopted. By combining the data fitting channel and the difference channel, the historical load data and denoised data of the cloud server cluster are processed respectively. The future load data is predicted using technical means such as SG filter, bidirectional long short-term memory network and convolutional neural network.

Benefits of technology

It improves the accuracy of load forecasting, ensures compliance with service level agreements and resource utilization, reduces resource waste, and increases the profits of cloud service providers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116302515B_ABST
    Figure CN116302515B_ABST
Patent Text Reader

Abstract

The embodiments of this specification provide a dual-channel cloud service load prediction method and system, which belongs to the field of cloud services, wherein the method includes obtaining historical load data of a cloud server cluster; preprocessing the historical load data of the cloud server cluster to generate preprocessed historical load data; a data fitting channel removes noise information in the preprocessed historical load data to obtain denoised historical load data, and based on the denoised historical load data, determines the load change trend of the cloud server cluster and outputs a first output vector; a difference channel determines the difference between the historical load data of the cloud server cluster and the denoised historical load data, and outputs a second output vector; based on the first output vector and the second output vector, predicts the future load data of the cloud server cluster, which has the advantage of realizing different functions through dual channels to improve prediction performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of cloud services, and in particular to a dual-channel based cloud service load prediction method and system. Background Art

[0002] As the internet becomes increasingly ubiquitous, more and more people are using it daily. Numerous internet companies have been established, and a vast number of IoT devices are connected to the internet. While these changes have made daily life more convenient, they have also brought with them challenges, including the storage and computation of massive amounts of data. The development of cloud computing services has effectively addressed these issues, providing computing resources, memory resources, storage resources, and network resources tailored to customer needs. Most typical cloud service providers have built large-scale server clusters and rented these resources to users, generating significant profits for cloud service companies. Cloud computing services must adhere to the Service Level Agreements (SLAs) signed between the service provider and the user. The service provider must ensure that user needs are met before the deadline.

[0003] However, dramatic workload fluctuations can easily lead to underutilized resources and service-level agreement violations. For example, sometimes user requests arrive simultaneously, straining service resources and making it difficult to guarantee the agreed quality of service. Meanwhile, sometimes users submit few tasks, leaving server resources idle and wasting resources.

[0004] To ensure service-level agreements are not violated and to improve cluster resource utilization, cloud service providers typically dynamically allocate resources, allocating them on demand based on the amount of resources required by user-submitted tasks. This requires cloud service providers to maintain a large reserve of resources for use when resources are scarce. Server clusters typically employ proactive resource allocation methods to achieve optimal resource allocation, which requires accurate predictions of future server load conditions. In server clusters, host load monitoring tools are often used to record historical host load data so that future load conditions can be predicted based on past host load trajectories. Predicting future host load conditions in advance facilitates efficient task scheduling, improves the overall resource utilization of the server cluster, and thus enhances service levels and increases profits for cloud service providers.

[0005] However, the historical load data of servers is extremely volatile and contains a large number of nonlinear features. It is difficult to accurately predict future load conditions using traditional statistical methods. This is because existing load prediction methods are usually linear methods, including non-deep learning methods such as autoregression models, moving average models, differential integrated moving average autoregressive models, and support vector machines. These methods have difficulty capturing nonlinear load characteristics, resulting in poor accuracy in load prediction.

[0006] Therefore, it is necessary to provide a cloud service load prediction method and system based on dual channels to improve the accuracy of the predicted load. Summary of the Invention

[0007] One of the embodiments of this specification provides a cloud service load prediction method based on a dual channel, the method comprising: obtaining historical load data of a cloud server cluster; preprocessing the historical load data of the cloud server cluster to generate preprocessed historical load data; a data fitting channel removing noise information in the preprocessed historical load data to obtain denoised historical load data, and based on the denoised historical load data, determining the load change trend of the cloud server cluster and outputting a first output vector; a difference channel determining the difference between the historical load data of the cloud server cluster and the denoised historical load data, and outputting a second output vector; and predicting future load data of the cloud server cluster based on the first output vector and the second output vector.

[0008] In some embodiments, the preprocessing of the historical load data of the cloud server cluster to generate preprocessed historical load data includes: normalizing the historical load data of the cloud server cluster to generate normalized historical load data.

[0009] In some embodiments, the data fitting channel includes an SG filter for removing noise information from the preprocessed historical load data.

[0010] In some embodiments, the data fitting channel includes a two-layer bidirectional long short-term memory network, and the two-layer bidirectional long short-term memory network is used to determine the load change trend of the cloud server cluster based on the denoised historical load data.

[0011] In some embodiments, the data fitting channel includes a hierarchical normalization unit for normalizing the output of the two-layer bidirectional long short-term memory network and outputting a first output vector.

[0012] In some embodiments, the difference channel includes a convolutional neural network unit and a bidirectional long short-term memory network unit, the convolutional neural network unit is used to determine a first prediction difference between the historical load data of the cloud server cluster and the denoised historical load data, and the bidirectional long short-term memory network unit is used to determine a second prediction difference between the historical load data of the cloud server cluster and the denoised historical load data; the difference channel determines the difference between the historical load data of the cloud server cluster and the denoised historical load data, and outputs a second output vector, including: determining the difference between the historical load data of the cloud server cluster and the denoised historical load data based on the first prediction difference and the second prediction difference.

[0013] In some embodiments, determining the difference between the historical load data of the cloud server cluster and the denoised historical load data based on the first prediction difference and the second prediction difference includes: normalizing the first prediction difference and the second prediction difference, and determining the difference between the historical load data of the cloud server cluster and the denoised historical load data based on the normalized first prediction difference and the second prediction difference.

[0014] In some embodiments, predicting the future load data of the cloud server cluster based on the first output vector and the second output vector includes: splicing the first output vector and the second output vector to obtain a spliced ​​vector; and predicting the future load data of the cloud server cluster based on the spliced ​​vector and a nonlinear activation function by a fully connected layer.

[0015] In some embodiments, the nonlinear activation function is a Swish function.

[0016] One of the embodiments of the present specification provides a cloud service load prediction method based on dual channels, the system including: a data acquisition module for acquiring historical load data of a cloud server cluster; a preprocessing module for preprocessing the historical load data of the cloud server cluster to generate preprocessed historical load data; a data fitting channel for removing noise information in the preprocessed historical load data, acquiring denoised historical load data, and determining the load change trend of the cloud server cluster based on the denoised historical load data, and outputting a first output vector; a difference channel for determining the difference between the historical load data of the cloud server cluster and the preprocessed historical load data, and outputting a second output vector; and a load prediction module for predicting future load data of the cloud server cluster based on the first output vector and the second output vector. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] This specification will be further described in the form of exemplary embodiments, which will be described in detail with reference to the accompanying drawings. These embodiments are not limiting, and in these embodiments, like numbers represent like structures, wherein:

[0018] Figure 1 is a module diagram of an exemplary dual-channel-based cloud service load prediction system according to some embodiments of this specification;

[0019] Figure 2 is a flowchart of an exemplary dual-channel-based cloud service load prediction method according to some embodiments of this specification;

[0020] Figure 3 is a schematic structural diagram of an exemplary dual-channel hybrid model according to some embodiments of this specification;

[0021] Figure 4 is a schematic diagram of CPU utilization data of Alibaba's server cluster according to some embodiments of this specification;

[0022] Figure 5 Schematic diagram of CPU utilization data of a Google server cluster according to some embodiments of this specification. DETAILED DESCRIPTION

[0023] To more clearly illustrate the technical solutions of the embodiments of this specification, the following briefly describes the drawings required for describing the embodiments. Obviously, the drawings described below are merely examples or embodiments of this specification. Those skilled in the art can apply this specification to other similar scenarios based on these drawings without inventive effort. Unless otherwise apparent from the context or otherwise noted, the same reference numerals in the figures represent the same structure or operation.

[0024] It should be understood that the terms "system," "device," "unit," and / or "module" used herein are a method for distinguishing different components, elements, parts, portions, or assemblies at different levels. However, if other terms can achieve the same purpose, the terms may be replaced by other expressions.

[0025] As used in this specification and claims, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" do not refer to the singular but also include the plural. Generally speaking, the terms "comprises" and "include" only indicate the inclusion of the steps and elements specifically identified, and these steps and elements do not constitute an exclusive list. A method or apparatus may also include other steps or elements.

[0026] Flowcharts are used throughout this specification to illustrate the operations performed by systems according to embodiments of this specification. It should be understood that preceding or following operations do not necessarily need to be performed in exact order. Instead, the steps may be processed in reverse order or simultaneously. Furthermore, other operations may be added to these processes, or one or more operations may be removed from these processes.

[0027] Figure 1 This is a module diagram of an exemplary dual-channel cloud service load prediction system according to some embodiments of this specification. Figure 1 As shown, the cloud service load prediction system based on dual channels may include a data acquisition module, a preprocessing module, a data fitting channel, a difference channel and a load prediction module.

[0028] The data acquisition module can be used to obtain historical load data of the cloud server cluster.

[0029] The preprocessing module can be used to preprocess the historical load data of the cloud server cluster to generate preprocessed historical load data.

[0030] In some embodiments, the preprocessing module may also be used to normalize the historical load data of the cloud server cluster to generate normalized historical load data.

[0031] The data fitting channel can be used to remove noise information from the preprocessed historical load data, obtain the denoised historical load data, and determine the load change trend of the cloud server cluster based on the denoised historical load data, and output a first output vector.

[0032] In some embodiments, the data fitting channel may include an SG filter for removing noise information from the pre-processed historical load data.

[0033] In some embodiments, the data fitting channel may include a two-layer bidirectional long short-term memory network, which is used to determine the load change trend of the cloud server cluster based on the denoised historical load data.

[0034] In some embodiments, the data fitting channel may include a hierarchical normalization unit for normalizing the output of the two-layer bidirectional long short-term memory network and outputting a first output vector.

[0035] The difference channel can be used to determine the difference between the historical load data of the cloud server cluster and the preprocessed historical load data, and output a second output vector.

[0036] In some embodiments, the difference channel may include a convolutional neural network unit and a bidirectional long short-term memory network unit, the convolutional neural network unit being used to determine a first predicted difference between the historical load data of the cloud server cluster and the denoised historical load data, and the bidirectional long short-term memory network unit being used to determine a second predicted difference between the historical load data of the cloud server cluster and the denoised historical load data. The difference channel may determine the difference between the historical load data of the cloud server cluster and the denoised historical load data based on the first predicted difference and the second predicted difference.

[0037] In some embodiments, the difference channel can normalize the first prediction difference and the second prediction difference, and determine the difference between the historical load data of the cloud server cluster and the denoised historical load data based on the normalized first prediction difference and the second prediction difference.

[0038] The load prediction module may be configured to predict future load data of the cloud server cluster based on the first output vector and the second output vector.

[0039] In some embodiments, the load prediction module can also be used to splice the first output vector and the second output vector to obtain a spliced ​​vector; the fully connected layer predicts the future load data of the cloud server cluster based on the spliced ​​vector and the nonlinear activation function.

[0040] Figure 2 1 is a flow chart of an exemplary dual-channel cloud service load prediction method according to some embodiments of this specification. In some embodiments, the dual-channel cloud service load prediction method can be executed by a dual-channel cloud service load prediction system. Figure 2 As shown, the cloud service load prediction method based on dual channels may include the following steps.

[0041] Step 210: Obtain historical load data of the cloud server cluster. In some embodiments, step 210 may be performed by a data acquisition module.

[0042] For example, the data acquisition module can acquire historical load data of the hosts of the cloud server cluster through a large number of host load monitors. The historical load data may include load information of the hosts of the cloud server cluster at multiple historical time points.

[0043] Step 220: Preprocess the historical load data of the cloud server cluster to generate preprocessed historical load data. In some embodiments, step 220 may be performed by a preprocessing module.

[0044] In some embodiments, the pre-processing module may normalize the historical load data of the cloud server cluster to generate normalized historical load data. For example, the pre-processing module may use a Min-Max Scaler tool to normalize the historical load data of the cloud server cluster, normalizing the load information of the hosts in the cloud server cluster at multiple historical time points to a range of 0-1.

[0045] In step 230 , the data fitting channel removes noise information from the preprocessed historical load data to obtain the denoised historical load data, and determines the load change trend of the cloud server cluster based on the denoised historical load data, and outputs a first output vector.

[0046] Generally speaking, load information obtained through host load monitors contains a significant amount of noise, which can severely impact machine learning models' predictions of actual load conditions. Smoothing can make load information more consistent and facilitate prediction. Among various data smoothing methods, the Savitzky-Golay (SG) filter achieves sliding averaging while preserving as much information about historical load data as possible. Therefore, the data fitting pipeline can include an SG filter. The SG filter, based on the SG filtering algorithm, removes noise from preprocessed historical load data, generating denoised historical load data.

[0047] The SG filter algorithm is a polynomial smoothing algorithm based on the least squares principle in the time domain. The weights used in smoothing are obtained by least squares fitting of a high-order polynomial. When smoothing the current load value x0 is required, a load value sequence is used. The load value sequence includes a total of 2m+1 load values ​​before and after the current load value x0, and its format is as follows:

[0048] X={x -m ,…,x0,…,x m}

[0049] Use k-1 order polynomial to fit the load value at each moment, that is, use the following formula to fit the historical load data, where k-1 is the order of the polynomial used, a iis the parameter used in the i-th term of the polynomial, x t is the load value at time t.

[0050]

[0051] Among them, x t i is x t After calculating the 2m+1 original load values ​​before and after, we will get 2m+1 y t value, adjust all a i The value of y t By minimizing the mean square error with the historical load data, we can get the fitting of the above formula to the historical load data, that is, we can get the optimal parameter a, and its minimization objective function is:

[0052]

[0053] Among them, ε is the optimization target, x t is the load value at time t, y t is the fitted value of the polynomial at time t. Finally, the optimal parameter a and the load value sequence X are weighted and summed to obtain the smoothed value of the load value at time t = 0 after SG filtering.

[0054] In some embodiments, the data fitting channel may include a two-layer bidirectional long short-term memory network. The two-layer bidirectional long short-term memory network is used to fit the overall load trend of the cloud server cluster based on the denoised historical load data, thereby determining the load trend of the cloud server cluster. Because smoothed data generally does not fluctuate dramatically in a short period of time, the two-layer bidirectional long short-term memory network is considered to capture the overall load trend.

[0055] When processing time series data, a common approach is to use recurrent neural networks (RNNs). Unlike convolutional neural networks, RNNs can theoretically process sequences of unlimited length, while convolutional neural networks can only process inputs of the same length as the training set. A recurrent neural network has a hidden layer that reads an input at each time step, generates an output, updates the hidden layer parameters, and then passes the hidden layer parameters to the recurrent neural unit for the next time step. The long short-term memory (LSTM) structure was developed to address the exploding and vanishing gradient problems that traditional recurrent neural networks encounter when training on very long time series data. Multiple experiments have shown that LSTMs can achieve better results than traditional RNNs when processing long sequence data.

[0056] The LSTM network innovatively uses cell states to maintain information stability and uses three gating systems: forget gate, input gate, and output gate to solve the long-term dependency problem. Among them, the forget gate reads the hidden state h of the previous time step. t-1 and the input x at this time step t , use the sigmoid function to output a value from 0 to 1 as the gating signal to determine what information in the previous cell state ct-1 needs to be forgotten. The gating signal generation principle of the input gate and output gate is similar to that of the forget gate, except that the gating signal of the input gate acts on That is h t-1 with x t The value of the splicing vector after tanh activation, the data passing through the input gate will be added to the cell state, so as to update the cell state and obtain the cell state C at that moment t The gating signal of the output gate acts on the updated cell state C t , the output is the hidden state h of this time step t The updated cell state C t and hidden state h t will be passed to the next time step.

[0057] The calculation details of each gate control unit are shown in the following formula:

[0058] f t =σ(W f ×[h t-1 , x t ]+b f );

[0059] i t =σ(W i ×[h t-1 , x t ]+b i );

[0060] o t =σ(W o ×[h t-1 , x t ]+b o );

[0061] Among them, f t Represents the output of the forget gate, W f is the optimization parameter of the forget gate, h t-1 is the hidden state at time t-1, x t is the output at time t, b f is the bias value of the forget gate. t represents the output of the input gate, W i is the optimized parameter of the input gate, bi is the bias value of the input gate. t Represents the output of the output gate, W o is the optimization parameter of the output gate, b o is the bias value of the output gate.

[0062] The update of the cell state is completed by the forget gate and the input gate, and the calculation process is as follows:

[0063]

[0064] Among them, C t is the cell state at time t, f t is the output of the forget gate, C t-1 is the cell state at time t-1, i t is the output of the output gate, It is h t-1 with x t The value of the splicing vector after tanh activation.

[0065] The update of the hidden state is completed by the output gate, and its calculation process is as follows:

[0066] h t =o t ×tanh(C t );

[0067] As a variant of LSTM, bidirectional LSTM includes LSTM networks in both the forward and backward directions. It can not only capture features from the front to the back in the sequence, but also capture features from the back to the front, and has more powerful expressive capabilities.

[0068] In some embodiments, the data fitting channel may include a hierarchical normalization unit (a first hierarchical normalization unit) for normalizing the output of the two-layer bidirectional long short-term memory network and outputting a first output vector.

[0069] In step 240 , the difference channel determines the difference between the historical load data of the cloud server cluster and the denoised historical load data, and outputs a second output vector.

[0070] Since the difference may have a relatively large variation amplitude and frequency, the difference channel uses both a convolutional neural network and a bidirectional long short-term memory network to effectively capture the difference.

[0071] Although using the SG filter makes historical load data easier to train and improves model prediction, the process of using the filter inevitably results in the loss of information details. These losses are irreversible and difficult to recover from the filtered data. Therefore, both the smoothed data and the historical load data after passing through the SG filter are passed as input to the difference channel. The function of this difference channel is to predict the difference between the smoothed data and the historical load data, that is, the difference between the overall load trend and the exact load value. Because this difference may have a relatively large amplitude and frequency of change, the difference channel uses both a convolutional neural network and a bidirectional long short-term memory network to effectively capture this difference.

[0072] It can be understood that the use of the difference channel will effectively compensate for the irreversible loss of historical load data caused by the smoothing process of the SG filter. The combined use of the data fitting channel and the difference channel can effectively improve the model's prediction ability for complex load data.

[0073] In some embodiments, the difference channel may include a convolutional neural network unit and a bidirectional long short-term memory network unit, the convolutional neural network unit is used to determine a first predicted difference between the historical load data of the cloud server cluster and the denoised historical load data, and the bidirectional long short-term memory network unit is used to determine a second predicted difference between the historical load data of the cloud server cluster and the denoised historical load data.

[0074] In some embodiments, the difference channel can determine the difference between the historical load data of the cloud server cluster and the denoised historical load data based on the first prediction difference and the second prediction difference. For example, the difference channel can normalize the first prediction difference and the second prediction difference, and determine the difference between the historical load data of the cloud server cluster and the denoised historical load data based on the normalized first prediction difference and the second prediction difference. As an example only, the difference channel can stretch the first prediction difference output by the convolutional neural network unit and the second prediction difference output by the bidirectional long short-term memory network unit into a one-dimensional tensor, and then splice them as the difference between the historical load data of the cloud server cluster and the denoised historical load data.

[0075] Understandably, in order to accelerate the training and inference process of the model, a hierarchical normalization unit is added inside each channel. Compared with batch normalization, the hierarchical normalization method is more suitable for processing time series data, avoiding problems such as large numerical gaps and gradient disappearance, thereby accelerating the convergence speed of the model.

[0076] Figure 3 is a schematic structural diagram of an exemplary dual-channel hybrid model according to some embodiments of this specification, such as Figure 3As shown, in some embodiments, the dual-channel mixture model (HSG_ConvBiLSTM) may include a data fitting channel and a difference channel.

[0077] In some embodiments, the parameters of the difference channel can be fixed first, and only the parameters of the data fitting channel (also called the SG channel) can be trained. After the SG channel is trained, the parameters of the SG channel are fixed and the parameters of the difference channel are trained to make up for the lost detail information of the SG channel and improve the prediction accuracy of the dual-channel hybrid model (HSG_ConvBiLSTM).

[0078] Step 250: Predict future load data of the cloud server cluster based on the first output vector and the second output vector. In some embodiments, step 250 may be performed by a load prediction module.

[0079] In some embodiments, the load prediction module can concatenate the first output vector and the second output vector to obtain a concatenated vector; the fully connected layer predicts future load data of the cloud server cluster based on the concatenated vector and the nonlinear activation function.

[0080] When using activation functions, since activation functions like ReLU and Sigmoid only give positive or zero values, this will have an adverse effect on the model's prediction performance. In addition, the use of the ReLU activation function may cause neuron death, that is, the data flow becomes 0 after passing through the activation function in the forward propagation phase, making it impossible to effectively train the neurons connected to the activation function during the backpropagation process. The two-channel hybrid model uses a smooth and non-monotonic activation function, namely the Swish function, as the activation function of the fully connected layer. Its structure is shown below:

[0081] f(x)=x*sigmoid(βx);

[0082] Among them, β can be used as a constant or as a trainable parameter.

[0083] like Figure 3 As shown, in some embodiments, the two-channel mixture model may include the fully connected layer.

[0084] Determining appropriate hyperparameters in deep learning models has always been a challenging problem. In a two-channel hybrid model, the kernel size and number of kernels in the convolutional neural network, the output vector length of the bidirectional long short-term memory network, and multiple other hyperparameter values ​​must be determined during training. For simplicity and efficiency, a random search strategy can be used to effectively search for optimal hyperparameter values ​​within a given search space.

[0085] To validate the effectiveness of the dual-channel hybrid model, we conducted experimental comparisons using two real-world server cluster workload datasets: the Alibaba-cluster-trace-v2018 dataset provided by Alibaba and the Google-cluster-trace2011 dataset provided by Google. The Alibaba dataset is smaller, covering the resource usage of 4,000 machines over eight days. The Google dataset, on the other hand, is larger, recording the workload of approximately 12,500 machines over 29 days, encompassing approximately 700,000 jobs and 40 million tasks. Using these two datasets effectively validates the model's performance on workloads of varying sizes.

[0086] The Alibaba dataset is collected from the server cluster of one of its products. It has two types of tasks, online services and batch services. The dataset collects the load of 4,000 machines over eight days. There are six tables in total, of which the machine_usage.csv table is the main one. This table records the CPU utilization, memory utilization, bandwidth utilization and other data of all machines over eight days. The CPU utilization data of Alibaba's server cluster is as follows: Figure 4 shown.

[0087] Google's server cluster is a computer cluster connected by a high-bandwidth network. A unit is a group of computers controlled by the same cluster management system. This Google dataset records the load of approximately 12,500 machines over 29 days in May 2011, including approximately 700k jobs and 40 million tasks. A large number of studies have used Google datasets for experiments. The data used is the task resource usage table, which has twenty fields, including start time of measurement period, job ID, machine ID, mean CPU usage rate, canonical memory usage, etc. The CPU utilization data of the Google server cluster is as follows: Figure 5 shown.

[0088] During data preprocessing, the original CPU utilization is divided into time intervals of 5 minutes and 10 minutes respectively, and the first 60% of the data is taken as the training set, the middle 20% of the data is taken as the validation set, and the last 20% of the data is taken as the test set. Some research results use the utilization information of multiple resources to predict the load. The cloud service load prediction method based on dual channels described in this specification can also receive multiple resource utilizations as input after slight modifications. In order to speed up the training process of the dual-channel hybrid model, the input data is preprocessed and normalized to between 0 and 1. The CPU utilization of a window size is sent to the dual-channel hybrid model as output, and the output is the predicted server CPU utilization at six time points in the future.

[0089] During the training of the dual-channel hybrid model, in order to ensure that the two channels can achieve their pre-conceived functions, that is, the data fitting channel has the ability to predict the overall trend of the load, and the difference channel has the ability to predict the difference between the overall trend and the precise load, the two channels need to be pre-trained. During the pre-training process, the load data smoothed by the SG filter is used as the input of the data fitting channel, and its pre-trained label is the load data of several future time steps that has also been smoothed by the SG filter. For the difference channel, its input is the original load data and the load information smoothed by the SG filter, and the pre-trained label used is the difference between the original precise load and the smoothed data. After a sufficient pre-training process, the parameters of the two channels are simultaneously migrated to the final dual-channel hybrid model for the final step of overall model training.

[0090] The dual-channel hybrid model proposed in this manual and all comparison models are built using the Keras and scikit-learn frameworks, and are trained and tested using the NVIDIA GeForce RTX 3090 GPU graphics card.

[0091] During the experiment, some parameter values ​​of the dual-channel hybrid model are shown in Table 1.

[0092] Table 1

[0093] Parameter name Numerical Parameter meaning X 25 The length of the model input vector Y 6 The length of the model output vector optimizer Adam Model Optimizer Type batch_size 32 The batch size used by the model epoch_num 400 The number of iterations during the model training phase SG_window_size 11 SG filter window size SG_rank 2 The order used by the SG filter

[0094] To validate the effectiveness of the proposed dual-channel hybrid model, multiple evaluation metrics were used, including the root mean square error (RMSE) and mean absolute percentage error (MAPE). For predictive models, smaller RMSE and MAPE values ​​indicate better predictive performance. The root mean square error (RMSE) is commonly used to validate the effectiveness of regression models. The calculation involves summing the squares of the differences between the predicted and true values, then taking the square root of the result. This intuitively demonstrates the magnitude of the discrepancy between the predicted and true values.

[0095] In order to verify the effectiveness of the dual-channel hybrid model described in this specification, that is, to verify that subdividing the functions of the two channels can improve the performance of the model, a number of single-channel models were implemented using the long short-term memory unit LSTM, the gated recurrent unit GRU, the bidirectional long short-term memory unit BiLSTM and the convolutional neural network Conv1D structure, and compared with the dual-channel hybrid model proposed in this specification. Among them, the single-channel model is a model with only a single type of input, including four single-channel models of LSTM, GRU, BiLSTM, and Conv1D, which only use the original data as the model input, and four models of SG_LSTM, SG_GRU, SG_BiLSTM, and SG_Conv1D. These four models only use the load data smoothed by the SG filter as the model input. The RMSE and MAPE indicators are used to verify the effectiveness of the structure. The experimental results are shown in Table 2.

[0096] Table 2

[0097]

[0098] Experimental results on both datasets show that, in single-channel model comparisons, models using SG filters perform significantly better than models using raw data. Compared to single-channel models using raw data, single-channel models using SG filters achieve lower RMSE and MAPE, both at 5-minute and 10-minute time intervals. This is because SG filters effectively eliminate noise and extreme points in the raw data, allowing the model to more easily capture the patterns and features in the raw data. This demonstrates that smoothing data using SG filters is beneficial for improving model accuracy. Among all compared models, the dual-channel hybrid model achieved the lowest RMSE and MAPE across all time intervals in both the Alibaba and Google datasets. These results demonstrate that the proposed model outperforms all other single-channel models and demonstrate that effectively splitting module functions can improve the model's predictive power.

[0099] The proposed dual-channel hybrid model is compared with the traditional statistical ARIMA model and several recently proposed models, including the LSTM-ED model and the LSRU model. The ARIMA model is a common time series prediction model in statistics. It combines the characteristics of autoregressive and moving average models and has good predictive capabilities. The LSTM-ED model uses LSTM units in an encoder-decoder structure, using one LSTM unit as the encoder and another LSTM unit as the decoder. The encoder sequentially reads the time series input and encodes it into a fixed-length vector. The decoder reads this fixed-length vector and decodes it to obtain the final prediction result. The LSRU model, on the other hand, is a hybrid model that combines one-dimensional convolution, LSTM, and GRU units, simply stacking multiple units.

[0100] The experimental results show that compared to the other three comparison models, the dual-channel hybrid model achieves the lowest RMSE and MAPE values ​​overall. On the Alibaba dataset, the RMSE reached 2.955 and 4.248, respectively, and the MAPE reached 0.033 and 0.078, respectively, on the 5-minute and 10-minute time intervals. On the Google dataset, the RMSE reached 0.00081 and 0.00085, respectively, and the MAPE reached 0.01710 and 0.01988, respectively. The traditional ARIMA algorithm achieves the worst performance. The experimental results show that the dual-channel hybrid model outperforms the other three models in terms of both RMSE and MAPE. The dual-channel hybrid model can achieve prediction accuracy that exceeds that of the LSTM-ED and LSRU models. This is mainly because the model is not a simple stack of modules, but rather effectively splits the functions of different channels. Specifically, the data fitting channel is only used to predict the overall trend of load changes, while the difference module is only used to predict the difference between the change trend and the exact load value. Slight errors in any channel will not have a destructive impact on the other channel, making the final prediction results more stable and achieving efficient collaboration between channels, thereby achieving prediction results that surpass other models.

[0101] The two-channel hybrid model achieves lower RMSE values ​​than the other three comparison models for both short-term and long-term load forecasting, indicating superior performance in both short-term and long-term forecasting. Although the RMSE of the two-channel hybrid model increases slightly at the sixth forecast time step, it remains lower than that of the other three models, maintaining performance superior to the comparison models. However, this increase in RMSE suggests that the model may still be losing some characteristic information when predicting long-term load. In most cases, the ARIMA model exhibits the worst predictive ability, primarily due to its difficulty in effectively capturing the nonlinear characteristics of highly dynamic load data. The two-channel hybrid model achieves the lowest RMSE. This is primarily due to its hybrid structure of using an SG filter and raw data, along with the application of a one-dimensional convolutional neural network and a bidirectional LSTM network. The one-dimensional convolutional neural network convolves the load data of previous and subsequent time steps to extract synergistic features, while the bidirectional LSTM network captures bidirectional feature dependencies in the load data. While accurately predicting the overall load trend, it also fine-tunes the load forecast for a single time point, resulting in more accurate predictions of CPU utilization for several future time steps.

[0102] The prediction results of the dual-channel hybrid model are very close to the actual load conditions. Based on the experimental results on two datasets of different sizes, it can be concluded that the dual-channel hybrid model can achieve lower RMSE and MAPE on both small-scale and large-scale datasets, achieving better prediction accuracy.

[0103] In some embodiments, the dual-channel cloud service load prediction method and system have at least the following beneficial effects:

[0104] 1. The functions of different channels are effectively split. A clearer functional split allows each module to focus on its own function while reducing interference with other modules. The combination of the two channels also makes the model more capable of extracting complex features, thereby effectively improving the model's prediction accuracy.

[0105] 2. The combined use of convolutional neural networks and bidirectional long short-term memory units allows the model to capture more effective high-dimensional features from load data. The bidirectional LSTM network can learn not only the load information of the previous time step, but also the load information of the subsequent time step. This allows the bidirectional LSTM network to capture features in two directions. Compared with the original LSTM, it can capture more complex nonlinear features and has better prediction performance. The one-dimensional convolutional neural network module convolves the information of the previous and next data to capture the nonlinear relationship between the loads of the previous and next time steps, extracting the collaborative signals and high-dimensional features between the previous and next time steps to supplement the deficiencies of the original data. The high-dimensional features extracted by the convolutional neural network can help the model effectively fit the fluctuations of the load data. Combined with the bidirectional LSTM module, the model's ability to capture nonlinear features in the load information is even stronger, making the prediction of the load difference more accurate.

[0106] 3. Introducing the SG filter into the LSTM model significantly improves the model's noise resistance.

[0107] While the basic concepts have been described above, it will be apparent to those skilled in the art that the detailed disclosure is merely illustrative and does not limit this specification. Although not explicitly stated herein, various modifications, improvements, and revisions to this specification may be made by those skilled in the art. Such modifications, improvements, and revisions are suggested in this specification and remain within the spirit and scope of the exemplary embodiments of this specification.

[0108] This specification also uses specific terms to describe the embodiments of this specification. For example, "one embodiment," "an embodiment," and / or "some embodiments" refer to a feature, structure, or characteristic associated with at least one embodiment of this specification. Therefore, it should be emphasized and noted that references to "one embodiment," "an embodiment," or "an alternative embodiment" two or more times in different locations in this specification do not necessarily refer to the same embodiment. Furthermore, certain features, structures, or characteristics of one or more embodiments of this specification may be appropriately combined.

[0109] In addition, unless expressly stated in the claims, the order of the processing elements and sequences, the use of alphanumeric characters, or the use of other names described in this specification are not intended to limit the order of the processes and methods of this specification. Although the above disclosure discusses some of the invention embodiments currently considered useful through various examples, it should be understood that such details are for illustrative purposes only, and the appended claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the spirit and scope of the embodiments of this specification. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.

[0110] Similarly, it should be noted that, in order to simplify the presentation of this specification and thus facilitate understanding of one or more embodiments of the invention, the foregoing descriptions of the embodiments of this specification sometimes combine multiple features into a single embodiment, figure, or description thereof. However, this disclosure method does not imply that the subject matter of this specification requires more features than those recited in the claims. In fact, an embodiment may have fewer features than all of the features of a single disclosed embodiment.

[0111] Finally, it should be understood that the embodiments described in this specification are intended only to illustrate the principles of the embodiments of this specification. Other variations may also fall within the scope of this specification. Therefore, by way of example and not limitation, alternative configurations of the embodiments of this specification may be considered consistent with the teachings of this specification. Accordingly, the embodiments of this specification are not limited to the embodiments explicitly described and illustrated in this specification.

Claims

1. A cloud service load prediction method based on dual channels, characterized in that: include: Get historical load data of cloud server clusters; Preprocessing the historical load data of the cloud server cluster to generate preprocessed historical load data; The data fitting channel removes noise information from the preprocessed historical load data to obtain denoised historical load data, and determines a load change trend of the cloud server cluster based on the denoised historical load data, and outputs a first output vector; The difference channel determines the difference between the historical load data of the cloud server cluster and the denoised historical load data, and outputs a second output vector; Based on the first output vector and the second output vector, future load data of the cloud server cluster is predicted.

2. The cloud service load prediction method based on dual channels according to claim 1 is characterized in that: The preprocessing of the historical load data of the cloud server cluster to generate preprocessed historical load data includes: Normalizing the historical load data of the cloud server cluster to generate normalized historical load data.

3. The cloud service load prediction method based on dual channels according to claim 1 is characterized in that: The data fitting channel includes an SG filter for removing noise information from the preprocessed historical load data.

4. The dual-channel cloud service load prediction method according to claim 3, characterized in that: The data fitting channel includes a two-layer bidirectional long short-term memory network, which is used to determine the load change trend of the cloud server cluster based on the denoised historical load data.

5. The dual-channel cloud service load prediction method according to claim 4 is characterized in that: The data fitting channel includes a hierarchical normalization unit, which is used to normalize the output of the two-layer bidirectional long short-term memory network and output a first output vector.

6. The dual-channel cloud service load prediction method according to any one of claims 1 to 5, characterized in that: The difference channel includes a convolutional neural network unit and a bidirectional long short-term memory network unit, the convolutional neural network unit is used to determine a first prediction difference between the historical load data of the cloud server cluster and the denoised historical load data, and the bidirectional long short-term memory network unit is used to determine a second prediction difference between the historical load data of the cloud server cluster and the denoised historical load data; The difference channel determines the difference between the historical load data of the cloud server cluster and the denoised historical load data, and outputs a second output vector, including: The difference between the historical load data of the cloud server cluster and the denoised historical load data is determined based on the first prediction difference and the second prediction difference.

7. The dual-channel cloud service load prediction method according to claim 6, characterized in that: The determining a difference between the historical load data of the cloud server cluster and the denoised historical load data based on the first prediction difference and the second prediction difference includes: The first prediction difference and the second prediction difference are normalized, and based on the normalized first prediction difference and the second prediction difference, a difference between the historical load data of the cloud server cluster and the denoised historical load data is determined.

8. The dual-channel cloud service load prediction method according to claim 3, characterized in that: The predicting future load data of the cloud server cluster based on the first output vector and the second output vector includes: splicing the first output vector and the second output vector to obtain a spliced ​​vector; The fully connected layer predicts future load data of the cloud server cluster based on the concatenated vector and the nonlinear activation function.

9. The dual-channel cloud service load prediction method according to claim 8, characterized in that: The nonlinear activation function is a Swish function.

10. A cloud service load prediction system based on dual channels, characterized in that: include: Data acquisition module, used to obtain historical load data of cloud server clusters; A preprocessing module, configured to preprocess the historical load data of the cloud server cluster to generate preprocessed historical load data; a data fitting channel, configured to remove noise information from the preprocessed historical load data, obtain denoised historical load data, determine a load change trend of the cloud server cluster based on the denoised historical load data, and output a first output vector; a difference channel, configured to determine a difference between the historical load data of the cloud server cluster and the preprocessed historical load data, and output a second output vector; A load prediction module is used to predict future load data of the cloud server cluster based on the first output vector and the second output vector.

Citation Information

Patent Citations

  • Cloud server CPU load prediction method and system based on denoising and error correction and medium

    CN112506663A

  • Load prediction method, system and device and computer readable storage medium

    CN114168419A