Method for determining scheduling decision of fog computing system and fog computing system

By using resource demand information prediction and performance evaluation models in the fog computing system, combining hollow convolutional neural network and quasi-Newtonian algorithm, scheduling decisions are optimized, and the efficiency of task scheduling in the fog computing system is solved and the computing performance is improved.

CN119938312BActive Publication Date: 2025-07-04BEIJING UNIV OF CIVIL ENG & ARCHITECTURE
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411821124.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-07-04
Estimated Expiration
2044-12-11

AI Technical Summary

Technical Problem

When fog computing systems face challenges of node heterogeneity and equipment diversity, it is difficult for the existing technology to make optimized task scheduling decisions in a short time, which affects computing performance.

Method used

By obtaining resource requirements information for active tasks, using resource requirements information prediction model and performance evaluation model, combining hollow convolutional neural networks and quasi-Newtonian algorithms, scheduling decisions are optimized to improve system performance.

Benefits of technology

It realizes the determination of optimal scheduling decisions in a short time, and improves the computing performance and resource utilization efficiency of the fog computing system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119938312B_ABST
    Figure CN119938312B_ABST
Patent Text Reader

Abstract

The present invention provides a method for determining a scheduling decision of a fog computing system and a fog computing system. The method includes: Step S102, obtaining resource requirement information of active tasks in each time slice during the operation of the fog computing system; Step S104, inputting the resource requirement information into a resource requirement information prediction model to predict the resource requirement information of the active tasks in the current time slice; Step S106, obtaining the scheduling decision of the previous time slice, and inputting the resource requirement information of the current time slice, the node resource information of the fog computing system, and the optimal scheduling decision of the previous time slice into a pre-trained performance evaluation model to obtain system performance metric information; Step S108, optimizing the optimal scheduling decision of the previous time slice based on the system performance metric information to obtain the optimal scheduling decision of the current time slice. The present invention can obtain the optimal scheduling decision in a relatively short time and improve the computing performance of the fog computing system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of fog computing, and in particular to a method for determining a scheduling decision of a fog computing system and a fog computing system. Background Art

[0002] Fog computing is a distributed computing framework that extends cloud service resources to the network edge. Facing the dual challenges of node heterogeneity and device diversity, a fog computing system requires a suitable task scheduling method to ensure its good performance. Therefore, during the operation of a fog computing system, in order to improve the computing performance of the fog computing system, how to design an excellent fog computing task scheduling decision has become an urgent problem to be solved. Summary of the Invention

[0003] In view of this, the purpose of the present invention is to provide a method for determining a scheduling decision of a fog computing system and a fog computing system, which can obtain the optimal scheduling decision for the current time slice in a relatively short time and improve the computing performance of the fog computing system.

[0004] In order to achieve the above purpose, the technical solutions adopted in the embodiments of the present invention are as follows:

[0005] In a first aspect, an embodiment of the present invention provides a method for determining a scheduling decision of a fog computing system, including:

[0006] Step S102, obtaining resource requirement information of active tasks in each time slice during the operation of the fog computing system;

[0007] Step S104, inputting the resource requirement information into a resource requirement information prediction model to predict the resource requirement information of the active tasks in the current time slice;

[0008] Step S106, obtaining the scheduling decision of the previous time slice, and inputting the resource requirement information of the current time slice, the node resource information of the fog computing system, and the optimal scheduling decision of the previous time slice into a pre-trained performance evaluation model to obtain system performance metric information; wherein, the performance evaluation model is trained based on a sample set marked with system performance metric information, and the sample set is constructed based on the resource requirement information, the node resource information, and the scheduling decisions of each time slice;

[0009] Step S108, optimizing the optimal scheduling decision of the previous time slice based on the system performance metric information to obtain the optimal scheduling decision of the current time slice;

[0010] Repeat the above steps S104 to S108 until the operation of the fog computing system ends.

[0011] Further, an embodiment of the present invention provides a first possible implementation manner of the first aspect, wherein the step of inputting the resource demand information of the current time slice, the node resource information of the fog computing system, and the optimal scheduling decision of the previous time slice into a pre-trained performance evaluation model to obtain system performance metric information includes:

[0012] Construct a splicing matrix based on the resource demand information of the current time slice, the node resource information of the fog computing system, and the optimal scheduling decision of the previous time slice, and input the splicing matrix into a pre-trained performance evaluation model to obtain the system performance metric information during the implementation period of the optimal scheduling decision of the previous time slice.

[0013] Further, an embodiment of the present invention provides a second possible implementation manner of the first aspect, which further includes:

[0014] Obtain the scheduling evaluation data of the fog computing system; wherein the scheduling evaluation data includes the resource demand information, node resource information, scheduling decision of each time slice, and the system performance metric information of the time slice in which each scheduling decision is implemented;

[0015] Construct a splicing matrix based on the resource demand information, node resource information, and scheduling decision of each time slice to form a sample set, and input the sample set marked with the system performance metric information into a neural network model for training to obtain the performance evaluation model.

[0016] Further, an embodiment of the present invention provides a third possible implementation manner of the first aspect, wherein the step of obtaining the scheduling evaluation data of the fog computing system includes:

[0017] Obtain the historical scheduling evaluation data of the fog computing system;

[0018] Or,

[0019] Extract the computing resource demand information of the task from the container tracking dataset, perform fog computing simulation on the computing resource demand information based on a random scheduler, and record the resource demand information, node resource information, scheduling decision of each time slice, and the system performance metric information of the time slice in which each scheduling decision is implemented to obtain the scheduling evaluation data of the fog computing system.

[0020] Further, an embodiment of the present invention provides a fourth possible implementation manner of the first aspect, wherein the step of optimizing the optimal scheduling decision of the previous time slice based on the system performance metric information to obtain the optimal scheduling decision of the current time slice includes:

[0021] Taking the system performance metric information as a loss value, based on the quasi-Newton algorithm and the loss value, perform multiple rounds of iterative optimization on the optimal scheduling decision of the previous time slice until the new scheduling decision obtained by iteration meets the preset requirements;

[0022] Taking the new scheduling decision that meets the preset requirements as the optimal scheduling decision of the current time slice.

[0023] Further, an embodiment of the present invention provides a fifth possible implementation manner of the first aspect, wherein the preset requirements include that the number of iterations reaches a first preset number, or the number of times that the new scheduling decision obtained by iteration is the same as the optimal scheduling decision of the previous time slice reaches a second preset number.

[0024] Further, an embodiment of the present invention provides a sixth possible implementation manner of the first aspect, wherein the step of inputting the resource demand information into the resource demand information prediction model to predict the resource demand information of the active task in the current time slice includes:

[0025] Obtain historical resource demand information, input the historical resource demand information into the trained resource demand information prediction model, predict the resource demand information of the active task in the current time slice, and retrain the resource demand information prediction model based on the resource demand information of the current time slice.

[0026] Further, an embodiment of the present invention provides a seventh possible implementation manner of the first aspect, wherein the resource demand information prediction model is a dilated convolutional neural network model;

[0027] The performance evaluation model is a fully connected neural network model.

[0028] Further, an embodiment of the present invention provides an eighth possible implementation manner of the first aspect, wherein the system performance metric information includes average response time and average energy consumption.

[0029] In a second aspect, an embodiment of the present invention further provides a fog computing system, including: a processor and a storage device;

[0030] A computer program is stored on the storage device, and when the computer program is run by the processor, it executes the method according to any one of the first aspect.

[0031] An embodiment of the present invention provides a method for determining a scheduling decision of a fog computing system and a fog computing system. The method includes: Step S102, obtaining resource requirement information of active tasks in each time slice during the operation of the fog computing system; Step S104, inputting the resource requirement information into a resource requirement information prediction model to predict the resource requirement information of the active tasks in the current time slice; Step S106, obtaining the scheduling decision of the previous time slice, and inputting the resource requirement information of the current time slice, the node resource information of the fog computing system, and the optimal scheduling decision of the previous time slice into a pre-trained performance evaluation model to obtain system performance metric information; wherein, the performance evaluation model is trained based on a sample set marked with system performance metric information, and the sample set is constructed based on resource requirement information, node resource information, and scheduling decisions of each time slice; Step S108, optimizing the optimal scheduling decision of the previous time slice based on the system performance metric information to obtain the optimal scheduling decision of the current time slice; repeating the above steps S104 to S108 until the operation of the fog computing system ends. By predicting the computing resource requirement information of active tasks in the current time slice during the operation of the fog computing system, and inputting the predicted resource requirement information, node resource information, and the optimal scheduling decision of the previous time slice into the performance evaluation model to obtain system performance metric information, the present invention can determine the impact of computing resource requirement information and scheduling decisions on the fog computing system, realize the evaluation of scheduling decisions, and by optimizing the optimal scheduling decision of the previous time slice based on the system performance metric information to obtain the optimal scheduling decision of the current time slice, the optimal scheduling decision of the current time slice can be obtained in a relatively short time, improving the computing performance of the fog computing system.

[0032] Other features and advantages of the embodiments of the present invention will be described in the following specification, or can be inferred from the specification without doubt, or can be known by implementing the above technologies of the embodiments of the present invention.

[0033] To make the above objects, features, and advantages of the present invention more obvious and understandable, the following specific preferred embodiments are given and described in detail in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings required for the description of the specific embodiments or the prior art. Obviously, the following drawings are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0035] Figure 1 FIG. shows a flowchart of a method for determining a scheduling decision of a fog computing system provided by an embodiment of the present invention;

[0036] Figure 2 Shows the structural diagram of a fog computing system scheduling method provided by an embodiment of the present invention based on a dilated convolutional neural network and a quasi-Newton algorithm;

[0037] Figure 3 Shows the structural schematic diagram of a prediction model and a deep proxy model provided by an embodiment of the present invention based on a dilated convolutional neural network. Detailed implementation manners

[0038] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be described below with reference to the accompanying drawings. Apparently, the described embodiments are some but not all of the embodiments of the present invention. The following provides a detailed introduction to the embodiments of the present invention.

[0039] This embodiment provides a method for determining a scheduling decision of a fog computing system. This method can be applied to electronic devices such as computers. Refer to Figure 1 The flowchart of the method for determining the scheduling decision of the fog computing system shown, and this method mainly includes the following steps:

[0040] Step S102, obtain the resource requirement information of active tasks in each time slice during the operation of the fog computing system;

[0041] For each task, when it starts to execute, it becomes an active task. After it becomes an active task, record its basic computing resource requirement in each time slice.

[0042] The fog computing system applicable to the above method may include computing resource nodes with the same or different computing resources. Tasks with the same or different computing resource requirements are submitted to a certain node and can be migrated between nodes. The total computing amount of tasks is invisible to the scheduler. Tasks have basic computing resource requirements in each time slice, and only when the basic computing resource requirements are met can the computing start; tasks have an upper limit of available resources in each time slice, and the computing resources actually utilized by tasks in each time slice cannot exceed the upper limit of available resources.

[0043] The basic resource requirements of tasks in each time slice are only visible to the scheduler when the computing in that time slice is in progress. After a task is submitted to the fog computing system, it will first wait in the waiting queue of the submitted node. The fog computing system checks the tasks waiting at each node in the submission order at the beginning of each time slice. If the node corresponding to the queue where the task is located can still meet the basic computing resource requirements of the task after satisfying the basic computing resource requirements of the active tasks on it and the total number of active tasks in the system does not reach the maximum active task number limit allowed by the system, then the task becomes an active task.

[0044] Step S104: Input the resource requirement information into the resource requirement information prediction model to predict the resource requirement information of the active tasks in the current time slice.

[0045] Before the start of the calculation in the current time slice, after the active tasks are updated, input the resource requirement information obtained before the current time slice into the resource requirement information prediction model, and predict the resource requirement information of the active tasks in the current time slice based on the resource requirement information prediction model.

[0046] Build a resource requirement information prediction model as needed. For each type of computing resource that an active task is considered when generating a scheduling decision, there should be a corresponding resource requirement information prediction model.

[0047] Step S106: Obtain the scheduling decision of the previous time slice, and input the resource requirement information of the current time slice, the node resource information of the fog computing system, and the optimal scheduling decision of the previous time slice into the pre-trained performance evaluation model to obtain the system performance metric information.

[0048] Among them, the above performance evaluation model is trained based on a sample set marked with system performance metric information, and the sample set is constructed based on the resource requirement information, node resource information, and scheduling decisions of each time slice.

[0049] The above performance evaluation model can be a deep neural network model. The deep neural network can learn complex features, which can endow the performance evaluation model in this method with the ability to learn the complex features of the impact of scheduling decisions on the fog computing system, enabling the performance evaluation model to make a more accurate evaluation of the scheduling decisions.

[0050] Step S108: Optimize the optimal scheduling decision of the previous time slice based on the system performance metric information to obtain the optimal scheduling decision of the current time slice.

[0051] Repeat the above steps S104 to S108. At the beginning of each time slice, calculate the optimal scheduling decision of the current time slice based on the above steps S104 to S108 until the fog computing system finishes running.

[0052] The method for determining the scheduling decision of the above fog computing system provided in this embodiment predicts the computing resource requirement information of the active task in the current time slice during the operation of the fog computing system, and inputs the predicted resource requirement information, node resource information, and the optimal scheduling decision of the previous time slice into the performance evaluation model to obtain the system performance metric information, which can determine the impact of the computing resource requirement information and the scheduling decision on the fog computing system, realizes the evaluation of the scheduling decision, and optimizes the optimal scheduling decision of the previous time slice based on the system performance metric information to obtain the optimal scheduling decision of the current time slice, and can obtain the optimal scheduling decision of the current time slice in a relatively short time, improving the computing performance of the fog computing system.

[0053] In one embodiment, this embodiment provides a specific implementation manner of inputting the resource requirement information of the current time slice, the node resource information of the fog computing system, and the optimal scheduling decision of the previous time slice into a pre-trained performance evaluation model to obtain the system performance metric information:

[0054] Construct a splicing matrix based on the resource requirement information of the current time slice, the node resource information of the fog computing system, and the optimal scheduling decision of the previous time slice, and input the splicing matrix into the pre-trained performance evaluation model to obtain the system performance metric information during the implementation period of the optimal scheduling decision of the previous time slice.

[0055] In a specific implementation manner, the resource requirement information of the current time slice and the node resource information of the fog computing system are respectively normalized to form matrices, the optimal scheduling decision information of the previous time slice is organized into a matrix (the optimal scheduling decision of the previous time slice uses one-hot encoding and does not need to be normalized), and the matrices are spliced to form a splicing matrix.

[0056] Normalize the data on the computing resource ownership of all nodes in the fog computing system and organize it into a matrix. Each row of the matrix corresponds to a node, and each column corresponds to a type of computing resource. Among them, the value in the \(m\)-th row and \(n\)-th column describes the quantity of the \(n\)-th type of computing resource owned by the \(m\)-th node; normalize the computing resource requirement data for the active task time slices predicted above and organize it into a matrix. Each row of the matrix corresponds to an active task, and each column corresponds to a type of computing resource. Among them, the value in the \(m\)-th row and \(n\)-th column describes the demand for the \(n\)-th type of computing resource by the \(m\)-th active task; organize the new scheduling decision information obtained from the previous optimization in this time slice into a matrix. If no optimization operation has been performed on the scheduling decision in this time slice, then use the current active task allocation information before the migration operation in this time slice, that is, as the initial scheduling decision and organize it into a matrix. Each row of the matrix corresponds to an active task, and each column corresponds to a node. Each row of the matrix uses one-hot encoding. Among them, if the value in the \(m\)-th row and \(n\)-th column is 1, it means that the \(m\)-th active task is allocated to the \(n\)-th node, and if it is 0, it means that the \(m\)-th active task is not allocated to the \(n\)-th node. Then splice the above three matrices and input them into the performance evaluation model. The output of the performance evaluation model is the system performance metric information for implementing the scheduling decision within this time slice.

[0057] In one implementation, the above performance evaluation model is a fully connected neural network model.

[0058] The performance evaluation model is:

[0059] y = f a (x; W) (1)

[0060] where, f a is the performance evaluation model, x is the input, y is the output, and W is the weight. The input x is composed of three matrices with dimensions \(|H|×|R|\), \(|A|\) max ×|R|, \(|H|×|A|\) max spliced together. They respectively describe the node resource information, the basic computing resource requirement information of active tasks, and the scheduling decision information. Among them, \(|H|\) represents the number of nodes in the system, \(|R|\) represents the number of types of computing resources considered when making scheduling decisions, and \(|A|\) max represents the maximum number of active tasks supported by the system. After the input x enters the proxy model, it will be flattened into a one-dimensional vector for subsequent processing. The output y is the time slice performance metric value of the system. The performance evaluation model uses a fully connected neural network with 3 hidden layers. Its first and second hidden layers use the softplus activation function, the third hidden layer uses the tanhshrink activation function, and the output layer uses the sigmoid activation function. It is formally expressed as follows:

[0061] x1 = softplus(x; W1) (2)

[0062] x2 = softplus(x1; W2) (3)

[0063] x3 = tanhshrink(x2; W3) (4)

[0064] y = sigmoid(x3; W4) (5)

[0065] where x represents the input of the entire model, y represents the output of the entire model, and x i represents the output of the i-th hidden layer in the performance evaluation model, and W i represents the weight of the i-th hidden layer.

[0066] The specific construction structure of the above fully connected neural network can be as follows:

[0067] including an input layer with a size of |H| × |R| + |A| max × |R| + |H| × |A| max where |H| represents the number of nodes in the system, |R| represents the number of types of computing resources considered, and |A| max represents the maximum number of active tasks supported by the system;

[0068] a fully connected layer with 128 neurons and using the softplus activation function;

[0069] a fully connected layer with 128 neurons and using the softplus activation function;

[0070] a fully connected layer with 64 neurons and using the tanhshrink activation function;

[0071] a fully connected output layer with 2 neurons and using the sigmoid activation function.

[0072] In one embodiment, the method provided in this embodiment further includes:

[0073] Obtaining scheduling evaluation data of the fog computing system; where the scheduling evaluation data includes resource demand information, node resource information, scheduling decisions, and system performance metric information of each time slice for each scheduling decision implemented;

[0074] Based on the resource demand information, node resource information, and scheduling decisions of each time slice, constructing a splicing matrix to form a sample set, and inputting the sample set marked with system performance metric information into the neural network model for training to obtain a performance evaluation model.

[0075] For the data corresponding to a time slice in the scheduling evaluation data of the fog computing system, normalize the node resource information data that describes the node computing resource ownership information in the data corresponding to this time slice and organize it into a matrix. Each row of the matrix corresponds to a node, and each column corresponds to a type of computing resource. Among them, the value in the "m"-th row and "n"-th column describes the quantity of the "n"-th type of computing resource owned by the "m"-th node; normalize the resource demand information data that describes the computing resource demand information of active tasks in the data corresponding to this time slice and organize it into a matrix. Each row of the matrix corresponds to an active task, and each column corresponds to a type of computing resource. Among them, the value in the "m"-th row and "n"-th column describes the demand quantity of the "n"-th type of computing resource by the "m"-th active task; organize the data that describes the scheduling decision information in the data corresponding to this time slice into a matrix. Each row of the matrix corresponds to an active task, and each column corresponds to a node. Each row of the matrix uses one-hot encoding. Among them, if the value in the "m"-th row and "n"-th column is 1, it means that after the execution of this scheduling decision, the "m"-th active task is assigned to the "n"-th node. If it is 0, it means that after the execution of this scheduling decision, the "m"-th active task is not assigned to the "n"-th node. Concatenate the above three matrices as the input of the performance evaluation model, normalize the value that describes the system time slice performance metric information in the data corresponding to this time slice, and use the normalized value of the performance metric information as the output value of the neural network model. Train the neural network model, and the trained neural network model is denoted as the performance evaluation model, so that the performance evaluation model can capture the complex characteristics of the impact of scheduling decisions on the fog computing system and realize the evaluation of scheduling decisions.

[0076] In one embodiment, this embodiment provides a specific implementation manner for obtaining the scheduling evaluation data of the fog computing system:

[0077] Obtain the historical scheduling evaluation data of the fog computing system;

[0078] Or,

[0079] Extract the computing resource demand information of tasks from the container tracking dataset, perform fog computing simulation on the computing resource demand information based on a random scheduler, record the resource demand information, node resource information, scheduling decisions, and the system performance metric information of each time slice when each scheduling decision is implemented, and obtain the scheduling evaluation data of the fog computing system.

[0080] The scheduling evaluation data of the fog computing system includes multiple pieces of information, and each piece of information corresponds to a time slice. The scheduling evaluation data includes the resource demand information of the fog computing system in each time slice (i.e., the basic resource demand information of active tasks in this time slice), node resource information (including node computing resource ownership information), scheduling decisions (active task allocation information after the execution of the scheduling decision made in this time slice), and the system performance metric information of the time slice when this scheduling decision is implemented.

[0081] If there is no such scheduling evaluation data in the fog computing system, a publicly available container tracking dataset can be used to extract the computing resource requirements information of tasks, and a random scheduler is used for fog computing simulation. During the simulation, record the node computing resource ownership information for each time slice, the basic computing resource requirements information of active tasks in this time slice, the scheduling decision information made in this time slice, and the system time slice performance metric information of the implementation of this scheduling decision, so as to obtain the scheduling evaluation data of the fog computing system for training the performance evaluation model (which can also be called a surrogate model).

[0082] In one embodiment, this embodiment provides a specific implementation manner of optimizing the optimal scheduling decision of the previous time slice based on the system performance metric information to obtain the optimal scheduling decision of the current time slice:

[0083] Take the system performance metric information as the loss value, and perform multiple rounds of iterative optimization on the optimal scheduling decision of the previous time slice based on the quasi-Newton algorithm and the loss value until the new scheduling decision obtained by the iteration meets the preset requirements; take the new scheduling decision that meets the preset requirements as the optimal scheduling decision of the current time slice.

[0084] Take the system performance metric information output by the performance evaluation model as the loss value, and use the performance evaluation model as the loss function, and adopt the L-BFGS quasi-Newton algorithm to optimize the input of the performance evaluation model. Take out the matrix part that describes the active task allocation information (i.e., the scheduling decision information) after optimization. When performing iterative optimization, splice the taken-out matrix part with the task resource requirements information and the node resource information into a new matrix and input it into the performance evaluation model again to obtain the loss value again, and then input the scheduling decision information of the performance evaluation model again. Iterate like this until the new scheduling decision obtained by the iteration meets the preset requirements. For each row of the above matrix, set the largest value in it to 1 and the rest to 0 to obtain a matrix containing the new scheduling decision information. If the value in the "m"-th row and "n"-th column is 1, it means that the "m"-th active task is assigned to the "n"-th node, and if it is 0, it means that the "m"-th active task is not assigned to the "n"-th node. Using the L-BFGS quasi-Newton algorithm can quickly find a relatively good scheduling decision.

[0085] Judge whether the new scheduling decision obtained by each round of optimization meets the preset requirements. If it meets, take this new scheduling decision as the optimal scheduling decision (i.e., the final scheduling decision) of the current time slice. If it does not meet, perform iterative optimization again based on the quasi-Newton algorithm and the loss value until the new scheduling decision meets the preset requirements.

[0086] The above preset requirements include that the number of iterations reaches a first preset number (the value range can be 180 to 220 times, preferably 200 times), or the number of times that the newly obtained scheduling decision through iteration is the same as the optimal scheduling decision in the previous time slice reaches a second preset number (the value range can be 25 to 35 times, preferably 30 times).

[0087] If the number of consecutive occurrences of the situation where the newly generated scheduling decision information matrix through optimization is the same as the scheduling decision information matrix before optimization reaches a specified number, then the allocation in the newly generated scheduling decision matrix that is different from the current active task allocation situation is used as the optimal scheduling decision for the current time slice.

[0088] In one implementation manner, the above resource demand information prediction model is a dilated convolutional neural network model.

[0089] The dilated convolutional neural network model is as follows:

[0090] y = f p (x; W) (6)

[0091] Among them, f p is a dilated convolutional neural network model, x is the input, y is the output, and W is the weight. The input x is a one-dimensional vector composed of historical demand values of a corresponding active task for a certain computing resource, and the output y is a predicted value of the demand of the active task in this time slice for this type of computing resource. The dilated convolutional neural network includes 2 dilated convolutional layers using the tanh activation function, 1 pooling layer, and 1 linear layer, and is formally expressed as follows:

[0092] x1 = tanh(conv1d(x; W1)) (7)

[0093] x2 = tanh(conv1d(x1; W2)) (8)

[0094] x3 = maxpool1d(x3) (9)

[0095] y = W linear x3 (10)

[0096] Among them, x represents the input of the entire model, y represents the output of the entire model, x i represents the output of the i-th layer in the surrogate model except the input layer, W i represents the weight of the i-th dilated convolutional layer, W linear represents the weight of the linear layer, conv1d represents the dilated convolutional operation for a one-dimensional vector, and maxpool1d represents the pooling operation for a one-dimensional vector.

[0097] The specific construction structure of the above dilated convolutional neural network model can be:

[0098] An input layer with a specified historical data utilization window size, and the input is a one-dimensional sequence;

[0099] A one-dimensional convolutional layer with an input channel of 1, an output channel of 8, a convolutional kernel size of 2, a dilation rate of 2, and using the tanh activation function;

[0100] A one-dimensional convolutional layer with an input channel of 8, an output channel of 8, a convolutional kernel size of 2, a dilation rate of 4, and using the tanh activation function;

[0101] A pooling layer with a pooling kernel size of 2;

[0102] A fully connected linear output layer with 1 neuron and no activation function.

[0103] The advantage of applying the dilated convolutional neural network to time series prediction is that it can produce relatively excellent prediction results, requires fewer parameters, has a fast inference speed, and helps to achieve the lightweight of the prediction model. For the scheduling method, it is usually sensitive to the speed of generating scheduling decisions. Therefore, the application of the dilated convolutional neural network in this method can effectively play its advantages.

[0104] In one embodiment, this embodiment provides a specific implementation manner of inputting resource demand information into a resource demand information prediction model to predict the resource demand information of active tasks in the current time slice:

[0105] When the resource demand information prediction model completes a set number of training times, obtain the historical resource demand information, input the historical resource demand information into the trained resource demand information prediction model, predict the resource demand information of active tasks in the current time slice, and retrain the resource demand information prediction model based on the resource demand information of the current time slice.

[0106] When the resource demand information prediction model has not completed a set number of training times, or the recorded historical data cannot complete the training of the dilated convolutional neural network model, that is, the dilated convolutional neural network model cannot make predictions, use the value of the basic computing resource demand of the active task in the previous time slice as the resource demand information of the current time slice. If the dilated convolutional neural network model can make predictions, use the value of the basic computing resource demand of the active task in the previous time slice as the resource demand information of the current time slice, and input the basic computing resource demand information of the historical time slice and the resource demand information of the current time slice into the resource demand information prediction model for one model training.

[0107] For each active task, one or more dilated convolutional neural network models are maintained, and the number is equal to the types of computing resources to be considered for generating scheduling decisions. Check the recorded historical basic computing resource requirement information. If the recorded historical data does not satisfy the prediction by the dilated convolutional neural network model, then use the value of the basic computing resource requirement of the active task in the previous time slice as the predicted value of the basic computing resource requirement of the active task in this time slice.

[0108] If the recorded historical data satisfies the prediction by the dilated convolutional neural network model, but the dilated convolutional neural network model has not completed the specified number of training times, then still use the value of the basic computing resource requirement information of the active task in the previous time slice as the predicted value of the basic computing resource requirement of the active task in this time slice. However, at the end of this time slice, use the recorded historical data and the true value of the basic computing resource requirement of the newly obtained active task, which are normalized, to train the prediction model based on the dilated convolutional neural network once.

[0109] If the recorded historical data satisfies the prediction using the dilated convolutional neural network model, and the dilated convolutional neural network model has completed the specified number of training times, then normalize the historical data using the specified number of historical data with a window size and input it into the dilated convolutional neural network model to predict the basic computing resource requirement information of the active task in this time slice. The output value of the model is the predicted value after inverse normalization. After obtaining the true value of the basic computing resource requirement of the active task in this time slice, train the dilated convolutional neural network model once again.

[0110] In one embodiment, the system performance metric information provided by this embodiment includes the average response time ART of the time slices of the system t and the average energy consumption AEC t .

[0111]

[0112] Among them, L t represents the set of tasks leaving the system in the t-th time slice, I t represents the t-th time slice, s(I t ) represents the start time of the time slice I t . The RT(a) represents the response time of task a excluding the waiting time, that is, the time from the task becoming an active task to the completion of the task calculation. represents the power function of the i-th node, represents the maximum power that the i-th node can reach.

[0113] The scheduling decision determination method of the above fog computing system provided in this embodiment adopts a prediction model based on a dilated convolutional neural network, endowing the method with the ability to predict the computing resource requirements of active tasks; it adopts a surrogate model based on a deep neural network, which can capture the complex characteristics of the impact of scheduling decisions on the fog computing system, endowing the method with a powerful ability to evaluate scheduling decisions; it adopts a quasi-Newton optimization algorithm, endowing the method with the ability to quickly find excellent scheduling decisions; it can make excellent scheduling decisions within an acceptable time, which helps to improve the performance of the fog computing system and has broad application prospects in the field of fog computing task scheduling.

[0114] On the basis of the foregoing embodiment, this embodiment provides an example of applying the scheduling decision determination method of the foregoing fog computing system, which can be specifically implemented according to the following steps:

[0115] Step 1, before the fog computing system runs, obtain the historical scheduling evaluation data of the fog computing system, and train the deep surrogate model (i.e., the performance evaluation model) based on the historical scheduling evaluation data to obtain the trained deep surrogate model;

[0116] Step 2, record the basic resource requirement information of active tasks in the fog computing system at each time slice;

[0117] Step 3, input the basic resource requirement information of active tasks into the prediction model based on a dilated convolutional neural network to predict the basic resource requirement information of active tasks in the current time slice;

[0118] See Figure 2 As shown in the structural diagram of the fog computing system scheduling method based on a dilated convolutional neural network and a quasi-Newton algorithm, at the beginning of the current time slice (i.e., the t-th time slice), input the historical information of the computing resource requirements of active tasks (i.e., the resource requirement information at the t-1-th time slice or before this time slice) into the prediction model based on a dilated convolutional neural network. Each active task has a corresponding prediction model for the computing resources considered, and the computing resource requirement information of active tasks in the t-th time slice can be predicted.

[0119] See Figure 3 As shown in the structural schematic diagram of the prediction model based on a dilated convolutional neural network and the deep surrogate model, the prediction model based on a dilated convolutional neural network includes two dilated convolutional layers, a pooling layer, and a linear layer connected in sequence, all of which adopt the tach activation function. After inputting the historical information of the computing resource requirements of active tasks into the prediction model based on a dilated convolutional neural network, the computing resource requirement information of active tasks in the t-th time slice can be predicted.

[0120] Step 4: Integrate and input the basic resource requirement information of the current time slice, the node resource information of the fog computing system, and the latest scheduling decision obtained during operation into the trained deep proxy model.

[0121] As Figure 2 shown, input the computing resource requirement information of the active tasks in the t-th time slice, the optimal scheduling policy obtained last time, and the node computing resource information into the trained deep proxy model. The output of the deep proxy model is the estimated system time slice performance evaluation.

[0122] As Figure 3 shown, the deep proxy model (i.e., the above performance evaluation model) includes a fully connected neural network with 3 hidden layers. The first and second hidden layers use the softplus activation function, the third hidden layer uses the tanhshrink activation function, and the output layer uses the sigmoid activation function. The deep proxy model can output the system time slice performance metric value.

[0123] Step 5: Use the output of the deep proxy model as the loss value, and use the quasi-Newton algorithm to optimize the scheduling decision through multiple wash cycle iterations to obtain a new scheduling decision.

[0124] Step 6: Determine whether the new scheduling decision meets the preset requirements. If it meets, use the new scheduling decision as the final scheduling decision. If it does not meet, return to execute Step 5.

[0125] Corresponding to the scheduling decision determination method of the fog computing system provided in the above embodiment, an embodiment of the present invention provides a fog computing system, which includes a processor and a memory. The memory stores a computer program that can run on the processor. When the processor executes the computer program, the steps of the method provided in the above embodiment are implemented.

[0126] An embodiment of the present invention provides a computer-readable medium, wherein the computer-readable medium stores computer-executable instructions. When the computer-executable instructions are called and executed by the processor, the computer-executable instructions cause the processor to implement the method described in the above embodiment.

[0127] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working process of the above-described system can refer to the corresponding process in the foregoing embodiment, and will not be described herein again.

[0128] In addition, in the description of the embodiments of the present invention, unless otherwise clearly defined and limited, the terms "installed", "connected", and "coupled" should be understood in a broad sense. For example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be directly connected or indirectly connected through an intermediate medium, and it can be the communication inside two components. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.

[0129] If the above-mentioned function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), magnetic disks, or optical discs that can store program codes.

[0130] In the description of the present invention, it should be noted that the orientation or positional relationship indicated by the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc. is based on the orientation or positional relationship shown in the drawings. It is only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation. Therefore, it should not be construed as a limitation to the present invention. In addition, the terms "first", "second", and "third" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance.

[0131] Finally, it should be noted that the above-described embodiments are only specific embodiments of the present invention, used to illustrate the technical solutions of the present invention, rather than limiting it. The protection scope of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that any technician familiar with the technical field of the present invention can still modify the technical solutions recorded in the foregoing embodiments or easily think of changes, or perform equivalent replacements on some of the technical features; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the protection scope of the claims.

Claims

1. A method for determining scheduling decisions in a fog computing system, characterized in that Including: Step S102: Obtain the resource requirement information of active tasks in each time slice during the operation of the fog computing system; Step S104: Input the resource requirement information into a resource requirement information prediction model to predict the resource requirement information of the active tasks in the current time slice; Step S106: Obtain the scheduling decision of the previous time slice, and input the resource requirement information of the current time slice, the node resource information of the fog computing system, and the optimal scheduling decision of the previous time slice into a pre-trained performance evaluation model to obtain system performance metric information; wherein, the performance evaluation model is trained based on a sample set marked with system performance metric information, and the sample set is constructed based on the resource requirement information, the node resource information, and the scheduling decisions of each time slice; Step S108: Optimize the optimal scheduling decision of the previous time slice based on the system performance metric information to obtain the optimal scheduling decision of the current time slice; Repeat the above steps S104 to S108 until the operation of the fog computing system ends.

2. The method according to claim 1, characterized in that, The step of inputting the resource requirement information of the current time slice, the node resource information of the fog computing system, and the optimal scheduling decision of the previous time slice into a pre-trained performance evaluation model to obtain system performance metric information includes: Construct a splicing matrix based on the resource requirement information of the current time slice, the node resource information of the fog computing system, and the optimal scheduling decision of the previous time slice, and input the splicing matrix into a pre-trained performance evaluation model to obtain the system performance metric information during the implementation period of the optimal scheduling decision of the previous time slice.

3. The method according to claim 2, wherein It also includes: Obtain the scheduling evaluation data of the fog computing system; wherein, the scheduling evaluation data includes the resource requirement information, node resource information, scheduling decision of each time slice, and the system performance metric information of the time slice in which each scheduling decision is implemented; Construct a sample set by forming a splicing matrix based on the resource requirement information, node resource information, and scheduling decisions of each time slice, and input the sample set marked with the system performance metric information into a neural network model for training to obtain the performance evaluation model.

4. The method according to claim 3, characterized in that, The step of obtaining the scheduling evaluation data of the fog computing system includes: Obtain the historical scheduling evaluation data of the fog computing system; Or, Extract the computing resource requirement information of tasks from the container tracking dataset, perform fog computing simulation on the computing resource requirement information based on a random scheduler, and record the resource requirement information, node resource information, scheduling decision of each time slice, and the system performance metric information of the time slice in which each scheduling decision is implemented to obtain the scheduling evaluation data of the fog computing system.

5. The method according to claim 1, wherein The step of optimizing the optimal scheduling decision of the previous time slice based on the system performance metric information to obtain the optimal scheduling decision of the current time slice includes: Use the system performance metric information as a loss value, and perform multiple rounds of iterative optimization on the optimal scheduling decision of the previous time slice based on the quasi-Newton algorithm and the loss value until the newly obtained scheduling decision meets the preset requirements; Use the new scheduling decision that meets the preset requirements as the optimal scheduling decision for the current time slice.

6. The method according to claim 5, wherein The preset requirements include that the number of iterations reaches a first preset number, or the number of times that the new scheduling decision obtained by iteration is the same as the optimal scheduling decision of the previous time slice reaches a second preset number.

7. The method according to claim 2, wherein The step of inputting the resource requirement information into the resource requirement information prediction model to predict the resource requirement information of the active task in the current time slice includes: Obtain historical resource requirement information, input the historical resource requirement information into the trained resource requirement information prediction model to predict the resource requirement information of the active task in the current time slice, and retrain the resource requirement information prediction model based on the resource requirement information of the current time slice.

8. The method according to claim 7, characterized in that, The resource requirement information prediction model is a dilated convolutional neural network model; The performance evaluation model is a fully connected neural network model.

9. The method according to any one of claims 1-8, characterized in that, The system performance metric information includes average response time and average energy consumption.

10. A fog computing system, characterized in that, Includes: A processor and a storage device; The storage device stores a computer program, and the computer program, when run by the processor, executes the method according to any one of claims 1 to 9.