Cloud server cluster load scheduling method, system, terminal and storage medium

By converting multivariate time series into supervised learning sequences and using deep neural network models for load prediction, combined with reinforcement learning algorithms to generate joint scheduling strategies, the problem of existing technology being difficult to cope with the load changes in cloud server tasks with high-dimensional and high-change rates is solved, and more efficient and real-time load scheduling is achieved.

CN113553149BActive Publication Date: 2025-04-22SHENZHEN INST OF ADVANCED TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110753400.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-07-02
Publication Date
2025-04-22
Estimated Expiration
2041-07-02

AI Technical Summary

Technical Problem

Existing cloud server task load prediction methods and load scheduling algorithms are difficult to effectively deal with high-dimensional and high-change cloud server task load changes, especially in the face of emergencies, which cannot be adapted quickly.

Method used

By converting multivariate time series into supervised learning sequences, and using a deep neural network model based on convolution-gated loop units to predict load states, combined with reinforcement learning algorithms to generate joint scheduling strategies, including vertical scaling, horizontal scaling and control algorithms, joint scheduling of cloud server clusters is carried out.

Benefits of technology

It improves the accuracy and real-time load scheduling of cloud server clusters, can better adapt to rapidly changing load situations, and enhances the stability of the system and resource utilization efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113553149B_ABST
    Figure CN113553149B_ABST
Patent Text Reader

Abstract

The present invention relates to a cloud server cluster load scheduling method, system, terminal and storage medium. The cloud server cluster load scheduling method comprises: converting the task load data of the cloud server cluster from a multivariate time series into a supervised learning sequence; inputting the converted supervised learning sequence into a trained esDNN model based on a convolution-gated recurrent unit, and predicting the load state of the cloud server cluster within a preset time in the future through the esDNN network model; based on the load state prediction result of the cloud server cluster, using a reinforcement learning algorithm to generate a joint scheduling strategy, and jointly scheduling the cloud server cluster; the joint scheduling strategy includes at least one of vertical expansion, horizontal expansion and control algorithm. The present invention can better adapt to rapidly changing load scheduling and improve the accuracy and real-time performance of scheduling.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of cloud computing resource scheduling, and in particular relates to a cloud server cluster load scheduling method, system, terminal and storage medium. Background Art

[0002] As an important part of information technology, cloud computing technology has brought many benefits to both service providers and customers, and is considered a successful operating model in the information technology industry. However, cloud computing also faces many severe challenges, one of which is that cloud computing needs to meet the task load requirements of multiple groups of users under the heterogeneous framework of different cloud server clusters. The task load prediction problem of cloud servers has become a decisive issue in determining how to choose a scheduling solution, and the decision and selection of the scheduling algorithm in the scheduling process will also affect the scheduling results of the cloud server cluster.

[0003] At present, the mainstream cloud server task load prediction methods include LSTM (Long Short-Term Memory) networks based on RNN (Rerrent Neural Network), and the mainstream load scheduling algorithms include vertical expansion algorithms and horizontal expansion algorithms.

[0004] (1) Recurrent Neural Network: It is a type of neural network. When processing data, the recurrent neural network not only considers the input of the current state, but also the previous information. Therefore, it is very sensitive to data with sequence characteristics and is widely used in fields such as time series analysis. However, due to its own structure, gradient vanishing or gradient exploding often occur during training, which also means that it cannot handle some time series that are too long, and it is difficult to cope with the current high-dimensional and highly variable cloud server task load prediction problems.

[0005] (2) Long Short-Term Memory: It is a variant of recurrent neural network. In order to solve the problems of gradient vanishing and gradient exploding and how to better analyze and predict time series, long short-term memory is often used to train multivariate time series prediction models. However, the amount of sample data required for long short-term memory is very large. If the amount of data is insufficient, it may cause problems such as inaccurate model prediction. In addition, due to its internal structure, the time required for long short-term memory training is very long and the timeliness is not good.

[0006] Although the existing vertical expansion and horizontal expansion mechanisms can adjust the task load size of the cloud server cluster to a certain extent, both methods are difficult to cope with the high-dimensional and high-change rate changes in the task load of the cloud server. Although the prediction results can give it a certain pre-judgment ability, it is still difficult to cope with the instantaneous changes in the task load of the cloud server caused by many emergencies. Summary of the invention

[0007] The present invention provides a cloud server cluster load scheduling method, system, terminal and storage medium, aiming to solve at least one of the above-mentioned technical problems in the prior art to a certain extent.

[0008] In order to solve the above problems, the present invention provides the following technical solutions:

[0009] A cloud server cluster load scheduling method, comprising:

[0010] Convert the task load data of the cloud server cluster from a multivariate time series to a supervised learning sequence;

[0011] Inputting the converted supervised learning sequence into a trained deep neural network model based on convolution-gated recurrent units, and predicting the load state of the cloud server cluster within a preset time in the future through the deep neural network model;

[0012] Based on the load status prediction results of the cloud server cluster, a reinforcement learning algorithm is used to generate a joint scheduling strategy to jointly schedule the cloud server cluster; the joint scheduling strategy includes at least one of vertical expansion, horizontal expansion and control algorithm; the control algorithm is used to control the on or off status of optional components in the cloud server cluster, and the optional components are components other than the required components that are always in operation.

[0013] The technical solution adopted by the embodiment of the present invention also includes: the task load data of the cloud server cluster is converted from a multivariate time series to a supervised learning sequence specifically as follows:

[0014] At the same time, obtain the time series data E(t) of the current moment t, the time series data E(t-1) of the previous moment, and the time series data E(t+1) of the next moment;

[0015] Recombining E(t) with E(t-1) and E(t+1) respectively, obtaining the time series recombined data L(i-1), C(i) and F(i+1) in the intermediate process of transformation;

[0016] The three data L(i-1), C(i) and F(i+1) are concatenated to obtain the supervised learning sequences S(n), S(n-1) and S(n+1) corresponding to the current moment, the previous moment and the next moment respectively.

[0017] The technical solution adopted by the embodiment of the present invention also includes: the deep neural network model is an efficient deep neural network model based on supervised learning, the first layer of the efficient deep neural network model based on supervised learning is a one-dimensional convolutional neural network model, and the one-dimensional convolutional neural network model includes an input layer, a convolutional layer, a pooling layer, a nonlinear layer and a fully connected layer; the second layer of the efficient deep neural network model based on supervised learning is a gated recurrent unit; the gated recurrent unit includes an update gate, a reset gate, a candidate hidden layer and an output gate, and the calculation formula of each gated unit is:

[0018] z t =σ(W z ·[h t-1 , x t ])

[0019] r t =σ(W r ·[h t-1 , x t ])

[0020] y′ t =tanh(W·[r t *h t-1 , x t ])

[0021] y t =(1-z t )*h t-1 +z t *y′ t

[0022] In the above formula, z t is the update gate, r t is the reset gate, yt is the candidate hidden layer, y t is the output gate; σ represents the activation function, W, W z , W h are matrices propagating in the gated recurrent unit; h t represents the output value of the current gated recurrent unit, h t-1 Represents the output value of the gated recurrent unit at the previous moment; x t Represents the value to be predicted at the current moment, and the matrix W consists of x t Transformed.

[0023] The technical solution adopted by the embodiment of the present invention also includes: the training process of the deep neural network model includes:

[0024] Obtain a task load data set of a cloud server cluster, generate a preset number of tasks by a simulated user according to the number of server requests in the task load data set, and send the tasks generated by the simulated user to a request processing server;

[0025] Processing the task through the request processing server and transmitting the task load data of the request processing server itself to the simulated user;

[0026] The simulated user transmits the task load data to a preprocessing server, and the preprocessing server preprocesses the task load data and then transmits the task load data to a multivariate time series prediction server;

[0027] The multivariate time series prediction server converts the task load data from a multivariate time series into a supervised learning sequence using a sliding window algorithm;

[0028] Model training is performed according to the converted supervised learning sequence to obtain a trained deep neural network model based on convolution-gated recurrent units, and the trained deep neural network model is deployed through a Tensorflow server.

[0029] The technical solution adopted by the embodiment of the present invention also includes: the optional components are interconnected and communicate with each other, and there is data dependency between the optional components. If one optional component is closed, all optional components connected to the component are also closed.

[0030] The technical solution adopted by the embodiment of the present invention also includes: the generation of a joint scheduling strategy based on the load state prediction result of the cloud server cluster by using a reinforcement learning algorithm includes:

[0031] The initial load state of the cloud server cluster is set as the origin, and a three-dimensional coordinate system is established based on this. The three directions represent the horizontal expansion algorithm, the vertical expansion algorithm, and the control algorithm respectively; moving once in a single direction means scheduling the cloud server cluster once using the scheduling algorithm corresponding to that direction; when the cloud server cluster uses a certain scheduling algorithm to reach the target load, the scheduling algorithm is rewarded; conversely, when the cloud server cluster uses a certain scheduling algorithm but fails to reach the target load, the scheduling algorithm is penalized; finally, a joint scheduling strategy for cloud server clusters under different load states is obtained.

[0032] The technical solution adopted by the embodiment of the present invention also includes: the load state of the cloud server cluster includes no load, low load state, medium load state, heavy load state and overload state.

[0033] Another technical solution adopted by the embodiment of the present invention is: a cloud server cluster load scheduling system, comprising:

[0034] Data conversion module: used to convert the task load data of the cloud server cluster from a multivariate time series into a supervised learning sequence;

[0035] Load prediction module: used to input the converted supervised learning sequence into a trained deep neural network model based on convolution-gated recurrent units, and predict the load state of the cloud server cluster within a preset time in the future through the deep neural network model;

[0036] Cluster scheduling module: used to generate a joint scheduling strategy based on the load status prediction results of the cloud server cluster using a reinforcement learning algorithm to jointly schedule the cloud server cluster; the joint scheduling strategy includes at least one of vertical expansion, horizontal expansion and control algorithm; the control algorithm is used to control the on or off status of optional components in the cloud server cluster, and the optional components are components other than the required components that are always in operation.

[0037] Another technical solution adopted by an embodiment of the present invention is: a terminal, the terminal includes a processor and a memory coupled to the processor, wherein:

[0038] The memory stores program instructions for implementing the cloud server cluster load scheduling method;

[0039] The processor is used to execute the program instructions stored in the memory to control the load scheduling of the cloud server cluster.

[0040] Another technical solution adopted by an embodiment of the present invention is: a storage medium storing program instructions executable by a processor, wherein the program instructions are used to execute the cloud server cluster load scheduling method.

[0041] Compared with the prior art, the beneficial effects of the embodiments of the present invention are as follows: the cloud server cluster load scheduling method, system, terminal and storage medium of the embodiments of the present invention convert multivariate time series into supervised learning sequences, accurately predict the cloud server cluster task load state based on the convolution-gated recurrent unit in deep learning, and use the reinforcement learning method to introduce a control algorithm based on vertical expansion and horizontal expansion to jointly schedule the cloud server cluster, which can better adapt to rapidly changing load scheduling and improve the accuracy and real-time performance of scheduling. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] Figure 1 is a flow chart of a cloud server cluster load scheduling method according to a first embodiment of the present invention;

[0043] Figure 2 It is a schematic diagram of a cloud server cluster load scheduling framework according to an embodiment of the present invention;

[0044] Figure 3is a flow chart of a cloud server cluster load scheduling method according to a second embodiment of the present invention;

[0045] Figure 4 This is a schematic diagram of task generation based on the JMeter framework in an embodiment of the present invention;

[0046] Figure 5 Schematic diagram of a data conversion method according to an embodiment of the present invention;

[0047] Figure 6 Schematic diagram of the basic structure of a gated recurrent unit according to an embodiment of the present invention;

[0048] Figure 7 is a schematic diagram of a scheduling strategy according to an embodiment of the present invention;

[0049] Figure 8 This is a schematic diagram of the structure of a cloud server cluster load scheduling system according to an embodiment of the present invention;

[0050] Fig. 9 A schematic diagram of the terminal structure of an embodiment of the present invention;

[0051] Fig.10 Schematic diagram of the structure of a storage medium according to an embodiment of the present invention. DETAILED DESCRIPTION

[0052] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0053] See also Figure 1 , is a flow chart of a cloud server cluster load scheduling method according to a first embodiment of the present invention. The cloud server cluster load scheduling method according to the first embodiment of the present invention comprises the following steps:

[0054] S10: Convert the task load data of the cloud server cluster from a multivariate time series to a supervised learning sequence;

[0055] S11: Input the converted supervised learning sequence into the trained esDNN (Efficient Supervised learning-based Deep Neural Network, an efficient deep neural network algorithm based on supervised learning) model based on convolution-gated recurrent units, and predict the load status of the cloud server cluster within a preset time in the future through the esDNN network model;

[0056] S12: Based on the load status prediction results of the cloud server cluster, a joint scheduling strategy is generated using a reinforcement learning algorithm to jointly schedule the cloud server cluster;

[0057] The joint scheduling strategy includes at least one of vertical expansion, horizontal expansion and control algorithm. The horizontal expansion algorithm is to adjust resources by adding or deleting replicas of microservices in the cloud server cluster to improve resource usage and system availability, thereby reducing the task load of the cloud server cluster.

[0058] The vertical expansion algorithm is to adjust the processing service capacity of the current cloud server cluster by adjusting the number of CPU (central processing unit), memory or network resources allocated to the microservice instance. The cloud server cluster can reduce the task load of the cloud server cluster by increasing the resources of a single cloud server or multiple cloud servers in the cluster for a single or multiple microservices. The control algorithm is used to control the on or off state of optional components in the cloud server cluster to alleviate the overload of the cloud server cluster and reduce the total energy consumption of the cloud data center. Optional components are components other than the mandatory components that are always in operation.

[0059] See also Figure 2 , is a schematic diagram of a cloud server cluster load scheduling framework of an embodiment of the present invention. The cloud server cluster load scheduling framework of an embodiment of the present invention includes a simulated user, a request processing server, a preprocessing server, a multivariate time series prediction server, and a Tensorflow server. First, a simulated user is used to send a specific number of tasks to the request processing server, and task load data such as the number of tasks, CPU and memory utilization are extracted from the log file of the request processing server, and the task load information is sent to the preprocessing server; the task load data is preprocessed by the preprocessing server and then transmitted to the multivariate time series prediction server, and the multivariate time series server uses the task load data to train the model, predict the load state of the cloud server cluster at the next moment, obtain the trained deep neural network model, and deploy the trained deep neural network model on the container-based Tensorflow server; communicate with other request processing servers through the Tensorflow server, and use the deep neural network model to predict the load state of other request processing servers at the next moment. The request processing server uses three scheduling algorithms, namely, vertical expansion, horizontal expansion, and control, to jointly schedule the cloud server cluster according to the load state prediction value.

[0060] Based on the above framework, please refer to Figure 3 , is a flow chart of a cloud server cluster load scheduling method according to a second embodiment of the present invention. The cloud server cluster load scheduling method according to the second embodiment of the present invention comprises the following steps:

[0061] S20: Obtain a task load data set of a cloud server cluster, generate a certain number of tasks at intervals according to the number of server requests in the task load data set by a simulated user, and send the generated tasks to a request processing server;

[0062] In this step, the task load dataset used is the task load dataset cluster-trace-v2018 from Alibaba. The dataset includes task load data spanning 8 days generated by 4034 homogeneous servers, each of which has 96 CPU cores and the memory size of each CPU core is the same. The task load dataset includes parameters such as machine number machine_id, timestamp time_stamp, CPU utilization cpu_util_percent of the current machine, and memory usage mem_util_percent of the machine at the current moment. The time interval for recording data is 10 seconds. Remove some reference variables that often have null values ​​in the dataset, and assign 0 to the null values ​​of reference variables that occasionally have null values.

[0063] Furthermore, the embodiment of the present invention utilizes the JMeter framework to simulate user-generated tasks, as shown in the following example: Figure 4 As shown, it is a schematic diagram of task generation based on the JMeter framework of an embodiment of the present invention. The entire JMeter service runs in the JMeter administrator Master and worker Salve mode. Both the JMeter administrator and the worker are regarded as part of the user request component and the request handler component. The network server is the infrastructure that provides resources. When there are a large number of tasks, a single JMeter server cannot generate the required tasks, then the server controlled by the worker will join the JMeter cluster and be used for testing. In each test case, the collected indicator data such as timestamp, response time, connection time and success rate will be stored locally.

[0064] In the embodiment of the present invention, the interval time of generating tasks is set to 5 minutes, and the tasks are sent to the request processing server in the form of HTTP (Hypertext Transfer Protocol). The specific interval time and task sending form can be set according to actual applications.

[0065] S21: receiving the task sent by the simulated user through the request processing server, processing the task, and transmitting the task load data of the request processing server itself to the simulated user;

[0066] In this step, the task load data includes information such as load conditions, delays, and error rates, and the task load data is transmitted to the simulated user in the form of raw data.

[0067] S22: The task load data is transmitted to the preprocessing server by simulating the user, the task load data is preprocessed by the preprocessing server, and the preprocessed task load data is transmitted to the multivariate time series prediction server;

[0068] In this step, the preprocessing of task load data includes data screening and cleaning.

[0069] S23: The task load data is converted from a multivariate time series to a supervised learning sequence using the S-MTF (Sliding Window for Multivariate Time Series Fore-cast) algorithm through the multivariate time series forecast server;

[0070] In this step, time series refers to a series of values ​​of the same statistical indicator arranged in the order of their occurrence. Supervised learning uses the features and label information contained in the existing training samples to train an optimal model, and then uses this model to map all inputs to corresponding outputs, and makes simple judgments on the outputs, so that the model has the ability to predict and classify unknown data. In an embodiment of the present invention, the S-MTF algorithm is used to transform the multivariate time series prediction problem into a prediction problem based on supervised learning, by using the preprocessed task load data as the input of the transfer function, and reconstructing the time-related sequence data into a supervised learning sequence. The S-MTF algorithm contains all the data at any time at the previous moment, which is linearly related to time. At the same time, S-MTF also contains future labels, so it can be applied to any time-related data set.

[0071] Specific as Figure 5 FIG. 1 is a schematic diagram of a data conversion method according to an embodiment of the present invention. The conversion process mainly includes time series splitting, time series reorganization and reorganized sequence merging. Figure 5 The left side is the multivariate time series E(t) to be converted in the task load data. When the S-MTF algorithm processes the time series corresponding to time t, it will simultaneously obtain the time series data E(t) at the current moment and the time series data in the two adjacent time periods, that is, the time series data E(t-1) at the previous moment and the time series data E(t+1) at the next moment, and then reorganize E(t) with E(t-1) and E(t+1) respectively to obtain the time series reorganization data L(i-1), C(i) and F(i+1) in the intermediate process of conversion. Finally, concatenate the three data L(i-1), C(i) and F(i+1) to obtain the following: Figure 5The supervised learning sequences S(n), S(n-1) and S(n+1) corresponding to the three moments shown on the right are shown. It is worth noting that since there is no state of the previous moment at t=0, and there will be no new time series after the last recorded state, the length of the supervised learning sequence S(n) actually obtained will not be the same as the multivariate time series E(t), but will be shorter than the multivariate time series E(t) by several tuple lengths, and its specific length depends on the selected step size.

[0072] S24: Perform model training according to the converted task load data to obtain a trained esDNN model based on convolution-gated recurrent units, and transmit the esDNN model to the Tensorflow server;

[0073] In this step, the network structure of the esDNN model includes two layers, the first layer is a CNN model (Convolutional Neural Networks), which is based on a feedforward neural network model and includes an input layer, a convolutional layer, a pooling layer, a nonlinear layer, and a fully connected layer. Preferably, since 1DCNN (one-dimensional convolutional neural network) can extract features from local original time series data and then establish a short-term correlation model between local time series data and subsequent trends, the embodiment of the present invention uses 1D CNN as the first layer of the network structure of esDNN.

[0074] The second layer of the esDNN model is GRU (Gated Recurrent Unit). The basic structure of GRU is as follows: Figure 6 As shown, it includes an update gate, a reset gate, a candidate hidden layer, and an output gate. The embodiment of the present invention can effectively avoid the problems of gradient explosion and gradient disappearance existing in traditional algorithms (such as BPTT algorithm) by merging the forget gate and the input gate into a GRU with an "update gate". The calculation formula of each gate control unit is as follows:

[0075] z t =σ(W z ·[h t-1 , x t ]) (1)

[0076] r t =σ(W r ·[h t-1 , x t ]) (2)

[0077] y′ t =tanh(W·[r t *h t-1 , x t ]) (3)

[0078] y t =(1-z t )*h t-1 +z t *y′ t (4)

[0079] In the above formula, z t is the update gate, r t is the reset gate, yt is the candidate hidden layer, y t is the output gate. σ represents the activation function, W, W z , W h are matrices propagated in GRU. t Represents the output value of the current GRU, h t-1 Represents the output value of GRU at the previous moment. t Represents the value to be predicted at the current moment, and the matrix W consists of x t Transformed.

[0080] During model training, the embodiment of the present invention multiplies ReLU and Sigmoid as the activation function Swish of the esDNN model. The activation function Swish uses the same value for gating, which is called self-gating. The advantage of self-gating is that it only requires a simple scalar input, which can simplify the gating mechanism, while traditional gating requires multiple scalar inputs. This feature makes it easy for the activation function Swish to replace those activation functions that take a single scalar as input without changing the hidden capacity or the number of parameters. The activation function Swish formula is as follows:

[0081] f(x)=x·sigmoid(βx) (5)

[0082] In the above formula, β is a constant or a trainable parameter.

[0083] S25: deploy the esDNN model through the Tensorflow server, receive requests from other request processing servers, predict the load status of other request processing servers at the next moment through the esDNN model, and return the load status prediction value to the corresponding request processing server;

[0084] In this step, the TensorFlow server is used to manage and deploy the trained esDNN model. Figure 2As shown in the figure, the Tensorflow server will communicate with the request processing server that sends the request. The request processing server will send the collected server task load status to the Tensorflow server. After the deployed esDNN model predicts, the task load status at the next moment will be sent back to the request processing server. The request processing server will guide the joint scheduling control system based on this prediction result and schedule its load status in the form of commands.

[0085] S26: Obtain the load status prediction value returned by the Tensorflow server through the request processing server, and use the Q-Learning (reinforcement learning) algorithm to schedule the cloud server cluster based on the load status prediction value;

[0086] In this step, in reinforcement learning, the embodiment of the present invention schedules the cloud server cluster under different load conditions by using three methods: horizontal expansion algorithm, vertical expansion algorithm and control algorithm. The control algorithm is used to turn on or off optional components. Optional components refer to components other than required components such as databases that are always in operation. Optional components have related parameters including utilization and discounts (discounts represent fees returned to users). Optional components can be dynamically set to an on or off state. In an embodiment of the present invention, the system controller determines whether to turn on or off optional components according to the system state and component properties to alleviate the overload of the cloud server cluster and reduce the total energy consumption of the cloud data center. The optional components can be connected to each other and communicate with each other, and there is data dependency between the optional components. Therefore, if an optional component is turned off, all optional components connected to it will also be turned off.

[0087] In an embodiment of the present invention, the three scheduling algorithms can be used individually, or two or three algorithms can be used in combination according to the system state and task load characteristics. The specific method of generating the joint scheduling strategy is: the load state of the cloud server cluster in the initial state is set as the origin, and a three-dimensional coordinate system is established based on this, and the three directions represent three different scheduling algorithms. Then, moving once in a single direction means that the cloud server is scheduled once using the scheduling algorithm corresponding to the direction. When the cloud server uses a certain scheduling algorithm to reach the target load, the scheduling algorithm is rewarded; conversely, when the cloud server uses a certain scheduling algorithm but does not reach the target load, the scheduling algorithm is punished. Finally, the scheduling strategy results of the cloud server cluster under different load states are obtained, and the cloud server cluster is scheduled according to the scheduling strategy results.

[0088] Furthermore, in order to enable the scheduling strategy to more accurately judge the load status of the cloud server at the current moment, the embodiment of the present invention divides the load status of the cloud server cluster into the following five types:

[0089] The first is that the server is not loaded. In this state, the CPU utilization of the server is 0%, so the server can be shut down or enter standby mode.

[0090] The second type: The server is in a low-load state. In this state, the server's resource utilization is low, the CPU utilization is between 0% and 25%, and the response time is very fast.

[0091] The third type: The server is in a medium load state. In this state, the CPU utilization of the server is between 25% and 50%, and the quality of service (QoS) will be affected to a certain extent.

[0092] The fourth type: The server is in a heavy load state. In this state, the server's CPU utilization is between 50% and 75%. Although it can respond to requests, its QoS has dropped significantly. Therefore, the server in this state needs resource scheduling.

[0093] The fifth type: The server is in an overloaded state. In this state, the server's CPU utilization is between 75% and 100%, and its QoS will be significantly affected. The server in this state urgently needs to effectively schedule resources.

[0094] Since cloud servers in the first load state are actually in shutdown or standby state, only the second to fifth load states need to be considered during scheduling. Figure 7 , is a schematic diagram of the scheduling strategy of an embodiment of the present invention. The first column includes the second to fifth load states, and the second to fifth columns represent the scheduling algorithms corresponding to different load states, respectively, where H represents the use of a horizontal expansion algorithm, V represents a vertical expansion algorithm, B represents a control algorithm, and + represents the use of more than two joint scheduling algorithms.

[0095] Based on the above, the cloud server cluster load scheduling method of the embodiment of the present invention utilizes the sliding window method to convert the multivariate time series into a supervised learning sequence, accurately predicts the cloud server cluster task load state based on the convolution-gated recurrent unit in deep learning, and uses the reinforcement learning method to introduce the control algorithm on the basis of vertical expansion and horizontal expansion, and jointly schedules the cloud server cluster, which can better adapt to the rapidly changing load scheduling and improve the accuracy and real-time performance of the scheduling.

[0096] See also Figure 8 , is a schematic diagram of the structure of a cloud server cluster load scheduling system according to an embodiment of the present invention. The cloud server cluster load scheduling system 40 according to an embodiment of the present invention includes:

[0097] Data conversion module 41: used for converting the task load data of the cloud server cluster from a multivariate time series into a supervised learning sequence;

[0098] Load prediction module 42: used to input the converted supervised learning sequence into the trained esDNN model based on convolution-gated recurrent unit, and predict the load state of the cloud server cluster within a preset time in the future through the esDNN network model;

[0099] Cluster scheduling module 43: used to generate a joint scheduling strategy based on the load state prediction result of the cloud server cluster by using a reinforcement learning algorithm to jointly schedule the cloud server cluster;

[0100] The joint scheduling strategy includes at least one of vertical expansion, horizontal expansion and control algorithm. The horizontal expansion algorithm is to adjust resources by adding or deleting replicas of microservices in the cloud server cluster to improve resource usage and system availability, thereby reducing the task load of the cloud server cluster.

[0101] The vertical expansion algorithm is to adjust the processing service capacity of the current cloud server cluster by adjusting the number of CPU (central processing unit), memory or network resources allocated to the microservice instance. The cloud server cluster can reduce the task load of the cloud server cluster by increasing the resources of a single cloud server or multiple cloud servers in the cluster for a single or multiple microservices.

[0102] The control algorithm is used to control the on or off state of optional components in the cloud server cluster to alleviate the overload of the cloud server cluster and reduce the total energy consumption of the cloud data center. Optional components are components other than the mandatory components that are always in operation.

[0103] The cloud server cluster load scheduling system of the embodiment of the present invention utilizes a sliding window method to convert a multivariate time series into a supervised learning sequence, accurately predicts the task load state of the cloud server cluster based on the convolution-gated recurrent unit in deep learning, and uses a reinforcement learning method to introduce a control algorithm based on vertical expansion and horizontal expansion to jointly schedule the cloud server cluster, which can better adapt to rapidly changing load scheduling and improve the accuracy and real-time performance of scheduling.

[0104] See also Fig. 9 , is a schematic diagram of a terminal structure of an embodiment of the present invention. The terminal 50 includes a processor 51 and a memory 52 coupled to the processor 51 .

[0105] The memory 52 stores program instructions for implementing the above-mentioned cloud server cluster load scheduling method.

[0106] The processor 51 is used to execute program instructions stored in the memory 52 to control the load scheduling of the cloud server cluster.

[0107] The processor 51 may also be referred to as a CPU (Central Processing Unit). The processor 51 may be an integrated circuit chip having the ability to process signals. The processor 51 may also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.

[0108] See also Fig.10 , which is a schematic diagram of the structure of the storage medium of the embodiment of the present invention. The storage medium of the embodiment of the present invention stores a program file 61 that can implement all the above methods, wherein the program file 61 can be stored in the above storage medium in the form of a software product, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor (processor) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, or terminal devices such as a computer, a server, a mobile phone, and a tablet.

[0109] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined in the present invention may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown in the present invention, but will conform to the widest scope consistent with the principles and novel features disclosed in the present invention.

Claims

1. A cloud server cluster load scheduling method, characterized in that: include: Convert the task load data of the cloud server cluster from a multivariate time series to a supervised learning sequence; Inputting the converted supervised learning sequence into a trained deep neural network model based on convolution-gated recurrent units, and predicting the load state of the cloud server cluster within a preset time in the future through the deep neural network model; Based on the load state prediction result of the cloud server cluster, a joint scheduling strategy is generated by using a reinforcement learning algorithm to jointly schedule the cloud server cluster; the joint scheduling strategy includes vertical expansion, horizontal expansion and a control algorithm; the control algorithm is used to control the on or off state of optional components in the cloud server cluster, and the optional components are components other than the mandatory components that are always in operation; The method for generating the joint scheduling strategy includes: setting the initial state of the cloud server cluster load state as the origin, and establishing a three-dimensional coordinate system based on this, wherein the three directions represent the horizontal expansion algorithm, the vertical expansion algorithm, and the control algorithm respectively; moving once in a single direction means scheduling the cloud server cluster once using the scheduling algorithm corresponding to the direction.

2. The cloud server cluster load scheduling method according to claim 1, characterized in that: The method of converting the task load data of the cloud server cluster from a multivariate time series to a supervised learning sequence is specifically as follows: At the same time, obtain the time series data E(t) of the current moment t, the time series data E(t-1) of the previous moment, and the time series data E(t+1) of the next moment; Recombining E(t) with E(t-1) and E(t+1) respectively, obtaining the time series recombined data L(i-1), C(i) and F(i+1) in the intermediate process of transformation; The three data L(i-1), C(i) and F(i+1) are concatenated to obtain the supervised learning sequences S(n), S(n-1) and S(n+1) corresponding to the current moment, the previous moment and the next moment respectively.

3. The cloud server cluster load scheduling method according to claim 2, characterized in that: The deep neural network model is an efficient deep neural network model based on supervised learning. The first layer of the efficient deep neural network model based on supervised learning is a one-dimensional convolutional neural network model, which includes an input layer, a convolutional layer, a pooling layer, a nonlinear layer and a fully connected layer. The second layer of the efficient deep neural network model based on supervised learning is a gated recurrent unit. The gated recurrent unit includes an update gate, a reset gate, a candidate hidden layer and an output gate. The calculation formula of each gated unit is: z t =σ(W z ·[h t-1 ,x t ]) r t =σ(W r ·[h t-1 ,x t ]) y′ t =tanh(W·[r t *h t-1 ,x t ]) y t =(1-z t )*h t-1 +z t *y′ t In the above formula, z t is the update gate, r t To reset the gate, y t is the candidate hidden layer, y t is the output gate; σ represents the activation function, W, W z , W r are matrices propagating in the gated recurrent unit; h t represents the output value of the current gated recurrent unit, h t-1 Represents the output value of the gated recurrent unit at the previous moment; x t Represents the value to be predicted at the current moment, and the matrix W consists of x t Transformed.

4. The cloud server cluster load scheduling method according to any one of claims 1 to 3, characterized in that: The training process of the deep neural network model includes: Obtain a task load data set of a cloud server cluster, generate a preset number of tasks by a simulated user according to the number of server requests in the task load data set, and send the tasks generated by the simulated user to a request processing server; Processing the task through the request processing server and transmitting the task load data of the request processing server itself to the simulated user; The simulated user transmits the task load data to a preprocessing server, and the preprocessing server preprocesses the task load data and then transmits the task load data to a multivariate time series prediction server; The multivariate time series prediction server converts the task load data from a multivariate time series into a supervised learning sequence using a sliding window algorithm; Model training is performed according to the converted supervised learning sequence to obtain a trained deep neural network model based on convolution-gated recurrent units, and the trained deep neural network model is deployed through a Tensorflow server.

5. The cloud server cluster load scheduling method according to claim 1, characterized in that: The optional components are interconnected and communicate with each other, and there are data dependencies between the optional components. If an optional component is closed, all optional components connected to the component are also closed.

6. The cloud server cluster load scheduling method according to claim 5, characterized in that: The step of generating a joint scheduling strategy based on the load state prediction result of the cloud server cluster by using a reinforcement learning algorithm includes: When the cloud server cluster uses a certain scheduling algorithm to reach the target load, the scheduling algorithm is rewarded; conversely, when the cloud server cluster uses a certain scheduling algorithm but fails to reach the target load, the scheduling algorithm is penalized; and finally a joint scheduling strategy for cloud server clusters under different load states is obtained.

7. The cloud server cluster load scheduling method according to claim 6, characterized in that: The load status of the cloud server cluster includes no load, low load, medium load, heavy load and overload.

8. A cloud server cluster load scheduling system, characterized in that: include: Data conversion module: used to convert the task load data of the cloud server cluster from multivariate time series to supervised learning sequences; Load prediction module: used to input the converted supervised learning sequence into a trained deep neural network model based on convolution-gated recurrent units, and predict the load state of the cloud server cluster within a preset time in the future through the deep neural network model; Cluster scheduling module: used to generate a joint scheduling strategy based on the load state prediction result of the cloud server cluster using a reinforcement learning algorithm to jointly schedule the cloud server cluster; the joint scheduling strategy includes vertical expansion, horizontal expansion and a control algorithm; the control algorithm is used to control the on or off state of optional components in the cloud server cluster, and the optional components are components other than the mandatory components that are always in operation; The method for generating the joint scheduling strategy includes: setting the initial state of the cloud server cluster load state as the origin, and establishing a three-dimensional coordinate system based on this, wherein the three directions represent the horizontal expansion algorithm, the vertical expansion algorithm, and the control algorithm respectively; moving once in a single direction means scheduling the cloud server cluster once using the scheduling algorithm corresponding to the direction.

9. A terminal, characterized in that: The terminal includes a processor and a memory coupled to the processor, wherein: The memory stores program instructions for implementing the cloud server cluster load scheduling method according to any one of claims 1 to 7; The processor is used to execute the program instructions stored in the memory to control the load scheduling of the cloud server cluster.

10. A storage medium, characterized in that: The device stores program instructions executable by a processor, wherein the program instructions are used to execute the cloud server cluster load scheduling method described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Server cluster dynamic scaling method based on RNN time sequence prediction

    CN109976908A

  • Internet of Things platform construction method based on micro-service architecture

    CN110149396A