A cloud computing task scheduling optimization method and system considering resource processing costs
By splitting tasks and obtaining resource information, combined with the improved gazelle optimization algorithm, the cloud computing task scheduling solution is optimized, and the problems of low resource utilization and insufficient cost control in traditional methods are solved, achieving more efficient resource utilization and cost control .
Patent Information
- Application Number
- CN202411218604.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-02
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2044-09-02
AI Technical Summary
Traditional cloud computing task scheduling methods ignore resource processing costs, resulting in low resource utilization and insufficient cost control, which brings economic burden to users.
By obtaining task requests and splitting them into subtasks, we obtain resource information and cost information in the cloud computing environment, generate cloud computing task scheduling schemes, and use the improved gazelle optimization algorithm to build an optimization model based on minimizing service time and cost information. Optimize the scheduling scheme to take into account resource processing costs.
It realizes the improvement of resource utilization and cost control, shortens task execution time, reduces cloud computing service operation costs, and improves the overall performance of the system and user response speed.
Smart Images

Figure CN118760506B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of cloud computing data processing technology, and in particular to a cloud computing task scheduling optimization method and system taking resource processing costs into consideration. Background Art
[0002] Cloud computing task scheduling refers to the process of effectively allocating various computing tasks to cloud computing resources for execution, including various types of computing tasks, such as data processing, image processing, model training, etc. In a cloud computing environment, there are usually a large number of computing resources, including virtual machines, containers, storage resources, etc. The goal of task scheduling is to reasonably utilize these resources to maximize the utilization of computing resources, reduce costs, and meet user needs.
[0003] The availability and performance of cloud computing resources are changing dynamically. Task scheduling needs to consider the real-time status and changing trends of resources, and different tasks may have different priorities and execution requirements. By optimizing the task scheduling strategy, the cost of cloud computing service providers can be reduced, while providing users with faster and more economical computing services.
[0004] Traditional cloud computing task scheduling methods usually tend to focus on task execution time and resource utilization, and use algorithms based on priority, first-come-first-served, shortest job first, etc. to allocate resources and schedule tasks. These methods often ignore the cost of resource processing and do not consider the difference in the use cost of each resource node, resulting in resource waste and cost increase, which brings additional economic burden to users.
[0005] The above contents are only used to assist in understanding the technical solution of the present invention and do not constitute an admission that the above contents are prior art. Summary of the invention
[0006] The main purpose of the present invention is to provide a cloud computing task scheduling optimization method and system taking into account resource processing costs, aiming to solve the problems of low resource utilization and insufficient cost control existing in traditional cloud scheduling methods.
[0007] To achieve the above objectives, in a first aspect, the present invention provides a cloud computing task scheduling optimization method considering resource processing costs, the method comprising:
[0008] First, obtain the task request and split the task request into multiple subtasks;
[0009] Optionally, the step of obtaining a task request and splitting the task request to obtain multiple subtasks includes:
[0010] Local users submit task requests to the cloud;
[0011] The server splits the task request into multiple minimal, independently executable subtasks.
[0012] and, obtaining resource information and cost information in a cloud computing environment;
[0013] Secondly, a cloud computing task scheduling scheme is generated based on subtask and resource information.
[0014] Optionally, the step of generating a cloud computing task scheduling scheme based on subtasks and resource information includes: allocating subtasks to each distributed virtual resource node, and the virtual resource node has a mapping relationship with the actual physical resource included in the resource information;
[0015] Assume there are m virtual resource nodes in total, and the virtual resource set is expressed as:
[0016] {r 1 ,r 2 ,…,r j ,…,r m},j∈{1,…,m};
[0017] where r j represents the jth virtual resource node;
[0018] Generate a cloud computing task scheduling scheme, expressed as:
[0019] Solution={…,[task i ,r j ],…};
[0020] Among them [task i ,r j ] indicates subtask task i Assigned to virtual resource node r j Processing on.
[0021] Finally, the cloud computing task scheduling optimization model and the improved gazelle optimization algorithm are called to optimize the cloud computing task scheduling scheme to obtain the optimized scheduling scheme. The cloud computing task scheduling optimization model is built based on minimizing service time and cost information.
[0022] Among them, the steps for building the cloud computing task scheduling optimization model are:
[0023] Get the cloud computing task scheduling matrix. The matrix is used to reflect the mapping relationship between subtasks and virtual resources, which is expressed as:
[0024]
[0025] Each subtask task in the first row of the matrix i are respectively allocated to the virtual resource nodes in the corresponding second row for processing;
[0026] The service time minimization is used as the primary objective function of the primary optimization model, as shown in formula (1):
[0027]
[0028] Where Rate(j) represents the jth element in the Rate vector, Solution(2,i) represents the element in the 2nd row and ith column in the Solution matrix;
[0029] Introduce cost information into the primary optimization model and build a cloud computing task scheduling optimization model that considers resource processing costs:
[0030] Let the unit computation cost of the jth virtual resource be price j , in CNY / million, the set vector of the unit computing cost of virtual resources is represented as follows:
[0031] Price = [price 1 ,price 2 ,…,price j ,…,price m ],price j ≥0;
[0032] The total computational cost of the cloud computing task scheduling solution is shown in formula (2):
[0033]
[0034] The objective function of the cloud computing task scheduling optimization model considering resource processing costs is shown in formula (3):
[0035] minF=Time+Cost(3).
[0036] Among them, in the cloud computing task scheduling optimization model, the sum of the number of machine instructions of all subtasks allocated to the virtual resources is less than or equal to the maximum computing capacity of the virtual resources or the current idle computing resources.
[0037] Among them, the improved gazelle optimization algorithm is based on Tent chaos mapping, population hierarchical perturbation and elite reverse learning. The specific steps are:
[0038] s1. Initialize the algorithm parameters and population, generate a chaotic sequence through Tent chaotic mapping, map the chaotic sequence to the solution space of the population, and obtain the initial population;
[0039] s2. Based on the initial population, the objective function value for evaluating the fitness value of the gazelle is obtained, and the elite matrix is constructed. The execution phase of the algorithm is determined by random numbers, and the update process is calculated based on the execution phase. The execution phase includes the development phase and the exploration phase.
[0040] The update process based on the execution phase calculation includes:
[0041] In the development phase, the update is performed based on Brownian motion. The update process is shown in formula (4):
[0042] x t+1 =x t +s·R·R B ·(E t -R B ·x t )(4)
[0043] where x t is the individual vector of the current iteration, x t+1 is the individual vector of the next iteration, s is the feeding speed of the gazelle, R is a random number vector between [0,1], R B is a random number vector based on Brownian motion, E t is the elite matrix of the current iteration number;
[0044] And, in the exploration phase, the update is based on Levy flight and Brownian motion, which is divided into two stages. Each stage adopts two different movements according to the parity of the current iteration number. The update process can be expressed as follows:
[0045]
[0046]
[0047] Where size(X,1) represents the number of rows in the population, R L is a random number vector based on Levy distribution;
[0048] The update result is calculated according to the following formula:
[0049]
[0050] Among them, PSRs represents the hunting success rate of the predator, and PSRs is set to 0.34, ub and lb are the solution space, that is, the upper and lower limits of the individual value, r is a random number between [0,1], and x r1 and x r2 is a vector of random individuals in the two populations.
[0051] s3. Re-sort the individuals according to their fitness values to obtain elite populations, inferior populations, and intermediate populations, and implement different update strategies;
[0052] s4. Determine whether the algorithm has reached the maximum number of iterations, output the optimal solution and optimal value, end the algorithm or re-execute s2.
[0053] Among them, based on the execution of different update strategies include:
[0054] The inferior population is updated by random shuffling, as shown in formula (10):
[0055] x t+1 = rand·(ub-lb)+lb(10)
[0056] Among them, rand is a random number between [0,1];
[0057] The intermediate population is updated using the Gaussian perturbation mechanism, as shown in formula (11):
[0058] x t+1 =x t ·(1+Gauss(0,1))(11)
[0059] Among them, Gauss(0,1) is a Gaussian distribution vector with a mathematical expectation of 0 and a variance of 1;
[0060] The elite population is updated based on the elite reverse learning strategy to generate reverse individuals, and the optimal ones are retained according to the fitness value. The formula for generating reverse individuals is shown in formula (12):
[0061] x′ t =(lb+ub)-x t (12)
[0062] where x′ t is the generated reverse individual. The fitness of the reverse individual is compared with that of the original individual, and the best one is retained as the individual in the new generation population.
[0063] A cloud computing task scheduling optimization method considering resource processing costs, further comprising:
[0064] Applying optimized scheduling schemes to computing task execution;
[0065] And, output the calculation results to the user.
[0066] In a second aspect, the present invention provides a cloud computing task scheduling optimization system that takes resource processing costs into consideration. The cloud computing task scheduling optimization system that takes resource processing costs into consideration comprises: a memory, a processor, and a cloud computing task scheduling optimization program that takes resource processing costs into consideration, which is stored in the memory and can be run on the processor. When the cloud computing task scheduling optimization program that takes resource processing costs into consideration is executed by the processor, the steps of the cloud computing task scheduling optimization method that takes resource processing costs into consideration as described in any one of the first aspects are implemented.
[0067] The embodiments of the present invention provide a cloud computing task scheduling optimization method and system that considers resource processing costs, so as to solve the problems of low resource utilization and insufficient cost control existing in traditional cloud scheduling methods, so as to shorten task execution time and reduce cloud computing service operating costs, improve the overall performance and efficiency of the system, improve the response speed to users, and meet the needs of enterprises for efficient cloud computing. BRIEF DESCRIPTION OF THE DRAWINGS
[0068] Figure 1 A flowchart of a first embodiment of a cloud computing task scheduling optimization method taking resource processing costs into consideration according to the present invention;
[0069] Figure 2 A schematic diagram of cloud computing task scheduling of the first embodiment of the cloud computing task scheduling optimization method considering resource processing costs of the present invention;
[0070] Figure 3 A schematic flow chart of an improved gazelle optimization algorithm of the second embodiment of the cloud computing task scheduling optimization method considering resource processing costs of the present invention;
[0071] Figure 4 This is a flow chart of a third embodiment of the cloud computing task scheduling optimization method taking resource processing costs into consideration according to the present invention.
[0072] The realization of the purpose, functional features and advantages of the present invention will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0073] In order to better understand the above technical solution, exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments described herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.
[0074] As an implementation scheme, a cloud computing task scheduling optimization system considering resource processing costs includes:
[0075] Processor, such as CPU, memory, user interface, network interface, communication bus. Among them, the communication bus is used to realize the connection and communication between these components. The user interface may include a display screen (Display), an input unit such as a keyboard (Keyboard), and the optional user interface may also include a standard wired interface and a wireless interface. The network interface may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory may be a high-speed RAM memory or a stable memory (non-volatile memory), such as a disk memory. The memory may also be a storage device independent of the aforementioned processor.
[0076] The memory as a storage medium may include an operating system, a network communication module, a user interface module, and a cloud computing task scheduling optimization program considering resource processing costs. The operating system is a program that manages and controls the hardware and software resources of the cloud computing task scheduling optimization system considering resource processing costs, the cloud computing task scheduling optimization program considering resource processing costs, and the operation of other software or programs.
[0077] In the cloud computing task scheduling optimization system that considers resource processing costs, the user interface is mainly used to connect to the terminal and communicate data with the terminal; the network interface is mainly used for the background server and communicates data with the background server; the processor can be used to call the cloud computing task scheduling optimization program that considers resource processing costs stored in the memory.
[0078] In this embodiment, the cloud computing task scheduling optimization system considering resource processing costs includes: a memory, a processor, and a cloud computing task scheduling optimization program considering resource processing costs stored in the memory and executable on the processor, wherein:
[0079] When the processor calls the cloud computing task scheduling optimization program that considers resource processing costs and is stored in the memory, the following operations are performed:
[0080] Obtaining a task request, and splitting the task request into multiple subtasks;
[0081] and, obtaining resource information and cost information in a cloud computing environment;
[0082] Generate cloud computing task scheduling solutions based on subtasks and resource information;
[0083] The cloud computing task scheduling optimization model and the improved gazelle optimization algorithm are called to optimize the cloud computing task scheduling scheme to obtain an optimized scheduling scheme. The cloud computing task scheduling optimization model is constructed based on minimizing the service time and the cost information.
[0084] When the processor calls the cloud computing task scheduling optimization program that considers resource processing costs and is stored in the memory, the following operations are performed:
[0085] Local users submit task requests to the cloud;
[0086] The server splits the task request into multiple minimal, independently executable subtasks.
[0087] When the processor calls the cloud computing task scheduling optimization program that considers resource processing costs and is stored in the memory, the following operations are performed:
[0088] Allocate subtasks to each distributed virtual resource node, and the virtual resource node has a mapping relationship with the actual physical resources included in the resource information;
[0089] Assume there are m virtual resource nodes in total, and the virtual resource set is expressed as:
[0090] {r 1 ,r 2 ,…,r j ,…,r m},j∈{1,…,m};
[0091] where r j represents the jth virtual resource node;
[0092] Generate a cloud computing task scheduling scheme, expressed as:
[0093] Solution={…,[task i ,r j ],…};
[0094] Among them [task i ,r j ] indicates subtask task i Assigned to virtual resource node r j Processing on.
[0095] When the processor calls the cloud computing task scheduling optimization program that considers resource processing costs and is stored in the memory, the following operations are performed:
[0096] Initialize the algorithm parameters and population, generate a chaotic sequence through Tent chaotic mapping, map the chaotic sequence to the solution space of the population, and obtain the initial population;
[0097] Based on the initial population, the objective function value used to evaluate the fitness value of the gazelle is obtained, and the elite matrix is constructed. The execution phase of the algorithm is determined by random numbers, and the update process is calculated based on the execution phase. The execution phase includes the development phase and the exploration phase.
[0098] Reorder individuals according to their fitness values to obtain elite, inferior and intermediate populations, and implement different update strategies;
[0099] Determine whether the algorithm has reached the maximum number of iterations, output the optimal solution and optimal value to end the algorithm or re-execute the objective function value acquisition step.
[0100] When the processor calls the cloud computing task scheduling optimization program that considers resource processing costs and is stored in the memory, the following operations are performed:
[0101] Applying optimized scheduling schemes to computing task execution;
[0102] And, output the calculation results to the user.
[0103] Based on the hardware architecture of the cloud computing task scheduling optimization system considering resource processing costs of the above-mentioned computer technology, an embodiment of the cloud computing task scheduling optimization method considering resource processing costs of the present invention is proposed.
[0104] Embodiment 1
[0105] like Figure 1 The cloud computing task scheduling optimization method considering resource processing costs shown in the figure includes:
[0106] S11. Obtain a task request, and split the task request to obtain multiple subtasks, including:
[0107] S111, the local user submits the task request to the cloud;
[0108] S112: The server splits the task request into multiple smallest, independently executable subtasks.
[0109] When a local user submits a computing task to the cloud, the server automatically splits the task into a series of minimal, independently executable subtasks. Assuming there are n subtasks after the split, the subtask set can be represented as {task 1 ,task 2 ,…,task i ,…,task n},i∈{1,…,n}, where task i represents the i-th subtask.
[0110] S12, obtaining resource information and cost information in the cloud computing environment;
[0111] The resource manager monitors and manages various resources in the cloud computing environment and provides real-time resource status and cost information. The resource status is output as resource information, which contains actual physical resources.
[0112] S13, generating a cloud computing task scheduling solution based on subtasks and resource information;
[0113] like Figure 2 As shown in Figure 1, the cloud computing resource scheduling system allocates subtasks to each distributed virtual resource node, and there is a mapping relationship between the virtual resource nodes and the actual physical resources. Assuming that there are m virtual resource nodes in total, the virtual resource set can be expressed as {r 1 ,r 2 ,…,r j ,…,r m},j∈{1,…,m}, where r j Represents the jth virtual resource node.
[0114] Therefore, a cloud computing task scheduling solution can be expressed as Solution = {…, [task i ,r j ],…}, where [task i ,r j ] indicates task i Assigned to virtual resource node r j Processing on.
[0115] In order to minimize the cloud computing service time, it is necessary to set indicators to measure the task size of subtasks and the computing performance of virtual resources. i is the number of machine instructions for the ith subtask, in millions; rate j is the machine instruction processing speed of the jth virtual resource, in millions of instructions per second (million / s). The set vector of virtual resource processing speed is represented by Rate = [rate 1 ,rate 2 ,…,rate j ,…,rate m ],rate j ≥0.
[0116] S14. Call the cloud computing task scheduling optimization model and the improved gazelle optimization algorithm to optimize the cloud computing task scheduling plan to obtain an optimized scheduling plan. The cloud computing task scheduling optimization model is constructed based on minimizing service time and cost information.
[0117] Among them, the steps for building the cloud computing task scheduling optimization model are:
[0118] S141, constructing a primary optimization model;
[0119] S1411, converting the task scheduling scheme into a matrix form:
[0120]
[0121] The matrix reflects the mapping relationship between subtasks and virtual resources. Each subtask in the first row of the matrix is assigned to the virtual resource node in the corresponding second row for processing.
[0122] S1412, minimizing the service time as the objective function of the primary optimization model;
[0123] In order to meet the real-time requirements of cloud computing, the minimization of service time is used as the objective function of the model, as shown in the following formula:
[0124]
[0125] Where Rate(j) represents the jth element in the Rate vector, Solution(2,i) represents the element in the 2nd row and ith column in the Solution matrix;
[0126] S142. Introduce cost information into the primary optimization model to construct a cloud computing task scheduling optimization model that takes resource processing costs into consideration.
[0127] On the basis of the above primary optimization model, the different usage costs of distributed computing resources are further considered, the processing cost of virtual resources is introduced into the primary optimization model, and a cloud computing task scheduling optimization model that considers resource processing costs is constructed.
[0128] The build steps are:
[0129] S1421. Calculate the total computing cost of the cloud computing task scheduling solution:
[0130] Let the unit computation cost of the jth virtual resource be price j , in CNY / million, the set vector of the unit computing cost of virtual resources is represented as follows:
[0131] Price = [price 1 ,price 2 ,…,price j ,…,price m ],price j ≥0;
[0132] The total computational cost of the cloud computing task scheduling solution is:
[0133]
[0134] Among them, Price(j) represents the j-th element in the Price vector.
[0135] S1422, obtaining an objective function of a cloud computing task scheduling optimization model that considers resource processing costs;
[0136] At this point, the model no longer simply considers minimizing cloud computing service time, but rather the joint optimization of service time and computing cost. The objective function of the primary optimization model should also include a cloud computing cost term.
[0137] In summary, the objective function of the cloud computing task scheduling optimization model considering resource processing costs is:
[0138] minF=Time+Cost
[0139] Considering the maximum computing capacity or current idle computing resources of each virtual resource node, the following constraints apply:
[0140] assign j ≤volu j
[0141] where assign j represents the sum of the number of machine instructions of all subtasks assigned to virtual resource j, volu j Indicates the maximum computing capacity or current idle computing resources of virtual resource j.
[0142] Since the constructed cloud computing task scheduling optimization model is a nonlinear optimization problem, it is difficult to directly solve it through the standard convex optimization method to obtain an accurate task scheduling solution. Therefore, the present invention introduces a swarm intelligence optimization algorithm to solve it. This type of algorithm is essentially a probabilistic parallel search algorithm that can effectively search for the global optimal solution of complex optimization problems.
[0143] S143, the cloud computing task scheduling optimization model is improved by improving the Gazelle optimization algorithm, and the specific steps of improving the Gazelle optimization algorithm are as follows:
[0144] S1431, initializing algorithm parameters and population, generating a chaotic sequence through Tent chaotic mapping, mapping the chaotic sequence to the solution space of the population, and obtaining an initial population;
[0145] S1432, based on the initial population, obtain the objective function value for evaluating the fitness value of the gazelle, construct an elite matrix, determine the execution phase of the algorithm through random numbers, and calculate the update process based on the execution phase, the execution phase includes a development phase and an exploration phase;
[0146] S1433, re-sort the individuals according to their fitness values to obtain elite population, inferior population and intermediate population, and implement different update strategies;
[0147] S1434. Determine whether the algorithm has reached the maximum number of iterations, output the optimal solution and optimal value, end the algorithm, or re-execute the objective function value acquisition step.
[0148] Embodiment 2
[0149] A cloud computing task scheduling optimization method considering resource processing costs, the method comprising:
[0150] S21. Get the task request and split the task request to obtain multiple subtasks:
[0151] S22, obtaining resource information and cost information in the cloud computing environment;
[0152] S23, generating a cloud computing task scheduling solution based on subtasks and resource information;
[0153] S24. Call the cloud computing task scheduling optimization model and the improved gazelle optimization algorithm to optimize the cloud computing task scheduling plan to obtain an optimized scheduling plan. The cloud computing task scheduling optimization model is constructed based on minimizing service time and cost information.
[0154] Among them, the steps for building the cloud computing task scheduling optimization model are:
[0155] S241, constructing a primary optimization model;
[0156] S242. Introduce cost information into the primary optimization model to construct a cloud computing task scheduling optimization model that takes resource processing costs into consideration.
[0157] S243. The cloud computing task scheduling optimization model is sought through improving the gazelle optimization algorithm.
[0158] Gazelle Optimization Algorithm (GOA) is an intelligent optimization algorithm proposed by Agushaka et al. in 2022 to simulate the behavior of gazelles escaping predators. It has the characteristics of novel ideas and strong search capabilities. Considering the problems of the algorithm's search process being too dependent on elite individuals, the algorithm being prone to premature maturity, and being prone to falling into local optimality, the present invention introduces Tent chaotic mapping, population hierarchical perturbation strategy, and elite reverse learning strategy to improve it, and designs an improved gazelle optimization algorithm based on Tent chaotic mapping, population hierarchical perturbation, and elite reverse learning with higher optimization capability and solution efficiency.
[0159] like Figure 3 The specific steps of the improved gazelle optimization algorithm based on Tent chaos mapping, population hierarchical perturbation and elite reverse learning are as follows:
[0160] S2431, initialize algorithm parameters, including predator success rate PSRs, maximum number of algorithm iterations T max , population size, etc.
[0161] S2432, initialize the population. The original GOA algorithm initializes the population in a random manner, which cannot ensure the diversity of the initial population, thereby affecting the algorithm's solution efficiency. The improved algorithm proposed in the present invention generates a chaotic sequence through the Tent chaotic map, and then maps the chaotic sequence to the solution space of the population, thereby obtaining the initial population X, thereby making the initial solution as evenly distributed as possible in the solution space. The Tent chaotic map is defined as follows:
[0162]
[0163] where x k is the kth value in the chaotic sequence, x k+1 is the next value, and the initial value of the sequence is a random number between [0,1]. α is the chaos parameter, which is generally 0.499.
[0164] S2433. After obtaining the initial population, evaluate the fitness value of each gazelle, that is, the objective function value. The individual with the best objective function value is the elite individual, and an elite matrix E is constructed through it. The size of the matrix is consistent with the population size, and each row is the position vector of the elite individual.
[0165] S2434, using a random number r between [0,1] to determine whether the algorithm is executing the development phase or the exploration phase. If r < 0.5, the algorithm executes the development operation and goes to step S2435; otherwise, the algorithm executes the exploration operation and goes to step S2436.
[0166] S2435, algorithm development stage. This stage simulates the gazelle eating grass quietly when it does not find a predator. In this stage, the population is updated through Brownian motion, and the update process is as follows:
[0167] x t+1 =x t +s·R·R B ·(E t -R B ·x t )
[0168] where x t is the individual vector of the current iteration, x t+1 is the individual vector of the next iteration. s is the feeding speed of the gazelle, R is a random number vector between [0,1], R B is a random number vector based on Brownian motion, E t is the elite matrix of the current iteration number. Go to step S2437.
[0169] S2436, algorithm exploration phase. This phase simulates the escape behavior of gazelles after discovering predators, and the population is updated through Levy flight and Brownian motion. It is divided into two phases, and each phase adopts two different movements according to the parity of the current iteration number. The update process can be expressed as follows:
[0170]
[0171] Where size(X,1) represents the number of rows in the population, R L is a random number vector based on Levy distribution. Go to step S2437.
[0172] S2437, gazelle escape stage. PSRs represents the hunting success rate of the predator, and PSRs is set to 0.34 in the algorithm. In this stage, the population is updated according to the following formula:
[0173]
[0174] Where ub and lb are the solution spaces, i.e., the upper and lower limits of individual values, r is a random number between [0,1], and x r1 and x r2 is a vector of random individuals in the two populations.
[0175] S2438. Introduce population classification strategy and elite reverse learning strategy to improve the algorithm.
[0176] Considering that the algorithm is prone to fall into local optimality and the search process is too dependent on elite individuals, the present invention introduces a population classification strategy and an elite reverse learning strategy to improve it.
[0177] After the algorithm completes the above update process, the individuals are reordered according to their fitness values. The individuals with the top 20% fitness values are called elite populations, the bottom 20% are called inferior populations, and the rest are called intermediate populations. The three types of populations implement different update strategies.
[0178] 1) Disadvantaged population
[0179] The individuals in the disadvantaged population have low fitness values and do not contribute much to the optimization results of the algorithm. Therefore, they are directly updated by random shuffling, as shown in the following formula.
[0180] x t+1 = rand·(ub-lb)+lb
[0181] Where rand is a random number between [0,1].
[0182] 2) Intermediate population
[0183] The fitness of individuals in the intermediate population is moderate and they have the potential to become elite individuals. Therefore, a milder Gaussian perturbation mechanism is used for updating, which is expressed by the following formula:
[0184] x t+1 =x t (1+Gauss(0,1))
[0185] Gauss(0,1) is a Gaussian distribution vector with a mathematical expectation of 0 and a variance of 1.
[0186] 3) Elite population
[0187] The fitness value of individuals in the elite population is higher, leading the update direction of the population. Therefore, it is necessary to fully tap its search ability while retaining its superiority. Therefore, the present invention introduces an elite reverse learning strategy to update it, that is, to generate a reverse individual of the original elite population individual in the solution space, and retain it according to the fitness value. The formula for generating reverse individuals is as follows:
[0188] x′ t =(lb+ub)-x t
[0189] where x′ t is the generated reverse individual. The fitness of the reverse individual is compared with that of the original individual, and the best one is retained as the individual in the new generation population.
[0190] S2439: Determine whether the algorithm has reached the maximum number of iterations, that is, whether t is greater than T max If so, go to step S24310, otherwise go to step S2433.
[0191] S24310, output the optimal solution and optimal value, and the algorithm ends.
[0192] In this embodiment, it should be noted that steps S21-S23 are the same as steps S11-S13 in the previous embodiment, and steps S241 and S242 are the same as steps S141 and S142 in the previous embodiment. For related descriptions, please refer to the descriptions in the related steps of the previous embodiment, which will not be repeated in this embodiment.
[0193] Embodiment 3
[0194] like Figure 4 The cloud computing task scheduling optimization method considering resource processing costs shown in the figure includes:
[0195] S31. Get a task request, and split the task request to obtain multiple subtasks:
[0196] S32, obtaining resource information and cost information in the cloud computing environment;
[0197] S33, generating a cloud computing task scheduling solution based on subtasks and resource information;
[0198] S34. Call the cloud computing task scheduling optimization model and the improved gazelle optimization algorithm to optimize the cloud computing task scheduling plan to obtain an optimized scheduling plan. The cloud computing task scheduling optimization model is constructed based on minimizing service time and cost information.
[0199] S35, using the optimized scheduling scheme for computing task execution;
[0200] The task scheduler applies the obtained optimized scheduling scheme to the execution of computing tasks, solving the problems of low resource utilization and insufficient cost control in traditional cloud scheduling methods, so as to shorten the task execution time, reduce the operating costs of cloud computing services, improve the response speed to users, improve the overall performance and efficiency of the system, and meet the needs of enterprises for efficient cloud computing.
[0201] S36, outputting the calculation result to the user;
[0202] The calculation results are returned to the user through the server to achieve:
[0203] Real-time response: Users can access the server through the network at any time and place and obtain instant calculation results;
[0204] Data transmission and storage: Avoid transmitting large amounts of computing data directly to user devices. Compress and optimize the computing results through the server, and then only transmit the results to the user, saving network bandwidth and reducing the storage burden on user devices.
[0205] Computing capacity expansion: Make full use of the high-performance computing capabilities of the server, share the computing burden on the user's device through the server, perform more complex and time-consuming computing tasks, and provide higher quality and more accurate computing results.
[0206] Data security and protection: Provide better data security and protection. The calculation results are processed and encrypted on the server side to ensure that user data is not exposed to external devices. The calculation results are backed up and restored on the server side to prevent data loss.
[0207] Flexibility and convenience: Users can customize and adjust according to their needs. The server will perform calculations based on user needs and parameters and provide personalized calculation results, providing users with more flexible, convenient and customized computing services.
[0208] In this embodiment, it should be noted that steps S31-S34 are the same as steps S11-S14 in the previous embodiment, and the relevant descriptions thereof can be found in the descriptions in the relevant steps of the previous embodiment, which will not be repeated in this embodiment.
[0209] It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as methods, systems or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0210] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems) and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0211] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0212] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0213] It should be noted that in the claims, any reference signs placed between parentheses shall not be construed as limiting the claims. The word "comprising" does not exclude the presence of components or steps not listed in the claim. The word "a" or "an" preceding a component does not exclude the presence of a plurality of such components. The invention may be implemented by means of hardware comprising several different components and by means of a suitably programmed computer. In a unit claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The use of the words first, second, and third etc. does not indicate any order. These words may be interpreted as names.
[0214] Although the preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the present invention.
[0215] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations.
Claims
1. A cloud computing task scheduling optimization method considering resource processing costs, characterized in that: The method comprises: Obtaining a task request, and splitting the task request into multiple subtasks; and, obtaining resource information and cost information in a cloud computing environment; Generate a cloud computing task scheduling solution based on the subtasks and the resource information; The cloud computing task scheduling optimization model and the improved gazelle optimization algorithm are called to optimize the cloud computing task scheduling scheme to obtain an optimized scheduling scheme. The cloud computing task scheduling optimization model is constructed based on minimizing the service time and the cost information. The steps of constructing the cloud computing task scheduling optimization model are as follows: Obtain a cloud computing task scheduling matrix, which is used to reflect the mapping relationship between the subtasks and virtual resources, and is expressed as: Each of the subtasks in the first row of the matrix i are respectively allocated to the virtual resource nodes in the corresponding second row for processing; The service time minimization is used as the primary objective function of the primary optimization model, as shown in formula (1): Where Rate(j) represents the jth element in the Rate vector, Solution(2,i) represents the element in the 2nd row and ith column in the Solution matrix, and num i is the number of machine instructions of the i-th subtask; The cost information is introduced into the primary optimization model to construct a cloud computing task scheduling optimization model that considers resource processing costs: Let the unit computation cost of the jth virtual resource be price j , in units of RMB / million, the set vector representation of the unit computing cost of virtual resources is: Price=[price1,price2,…,price j ,…,price m ],price j ≥0; The total computational cost of the cloud computing task scheduling solution is shown in formula (2): Among them, Price(j) is the jth element in the Price vector, and Price(Solution(2,i)) is the Price element corresponding to the element in the 2nd row and the ith column in the Solution matrix in the Price vector; The objective function of the cloud computing task scheduling optimization model considering resource processing costs is shown in formula (3): min F = Time + Cost (3); The improved gazelle optimization algorithm is based on Tent chaos mapping, population hierarchical perturbation and elite reverse learning, and the specific steps are as follows: Initialize the algorithm parameters and population, generate a chaotic sequence through Tent chaotic mapping, map the chaotic sequence to the solution space of the population, and obtain the initial population; Based on the initial population, an objective function value for evaluating the fitness value of the gazelle is obtained, an elite matrix is constructed, an algorithm execution phase is determined by random numbers, and an update process is calculated based on the execution phase, wherein the execution phase includes a development phase and an exploration phase; Reorder the individuals according to the fitness values to obtain elite population, inferior population and middle population, and execute different update strategies; Determine whether the algorithm has reached the maximum number of iterations, output the optimal solution and the optimal value to end the algorithm or re-execute the objective function value acquisition step; The updating process based on the execution phase calculation includes: In the development phase, the update is performed based on Brownian motion, and the update process is shown in formula (4): x t+1 =x t +s·R·R B ·(E t -R B ·x t ) (4) where x t is the individual vector of the current iteration, x t+1 is the individual vector of the next iteration, s is the feeding speed of the gazelle, R is a random number vector between [0,1], R B is a random number vector based on Brownian motion, E t is the elite matrix of the current iteration number; And, the exploration phase is updated based on Levy flight and Brownian motion, which is divided into two stages. Each stage adopts two different motions according to the parity of the current iteration number. The update process can be expressed as follows: Where size(X,1) represents the number of rows in the population, R L is a random number vector based on Levy distribution, T max is the maximum number of iterations of the algorithm; The update result is calculated according to the following formula: Among them, PSRs represents the hunting success rate of the predator, and PSRs is set to 0.34, ub and lb are the solution space, that is, the upper and lower limits of the individual value, r is a random number between [0,1], and x r1 and x r2 is the random individual vector in the two populations; The implementation of different update strategies includes: The inferior population is updated by random shuffling, as shown in formula (10): x t+1 =rand·(ub-lb)+lb (10); Among them, rand is a random number between [0,1]; The intermediate population is updated using a Gaussian perturbation mechanism, as shown in formula (11): x t+1 =x t ·(1+Gauss(0,1)) (11); Among them, Gauss(0,1) is a Gaussian distribution vector with a mathematical expectation of 0 and a variance of 1; The elite population is updated based on the elite reverse learning strategy to generate reverse individuals, and is retained based on the fitness value. The formula for generating reverse individuals is shown in formula (12): x’ t =(lb+ub)-x t (12); where x' t is the generated reverse individual.
2. The cloud computing task scheduling optimization method considering resource processing costs according to claim 1, characterized in that: The obtaining of the task request and splitting the task request to obtain a plurality of subtasks comprises: The local user submits the task request to the cloud; The server splits the task request into a plurality of minimum independently executable subtasks.
3. The cloud computing task scheduling optimization method considering resource processing costs according to claim 1, characterized in that: The generating of the cloud computing task scheduling scheme based on the subtasks, the resource information and the cost information comprises: Allocating the subtasks to each distributed virtual resource node, wherein the virtual resource node has a mapping relationship with the actual physical resource included in the resource information; Assuming there are m virtual resource nodes in total, the virtual resource set is expressed as: {r1,r2,…,r j ,…,r m },j∈{1,…,m}; where r j represents the jth virtual resource node; Generate a cloud computing task scheduling scheme, expressed as: Solution={…,[task i ,r j ],…}; Among them [task i ,r j ] indicates the subtask task i Assigned to the virtual resource node r j Processing on.
4. The cloud computing task scheduling optimization method considering resource processing costs according to claim 1, characterized in that: In the cloud computing task scheduling optimization model, the sum of the numbers of machine instructions of all the subtasks allocated to the virtual resource is less than or equal to the maximum computing capacity of the virtual resource or the current idle computing resources.
5. The cloud computing task scheduling optimization method considering resource processing costs according to claim 1, characterized in that: The cloud computing task scheduling optimization method also includes: Using the optimized scheduling scheme for computing task execution; And, output the calculation results to the user.
6. A cloud computing task scheduling optimization system considering resource processing costs, characterized in that: The cloud computing task scheduling optimization system considering resource processing costs comprises: a memory, a processor, and a cloud computing task scheduling optimization program considering resource processing costs stored in the memory and executable on the processor. When the cloud computing task scheduling optimization program considering resource processing costs is executed by the processor, the steps of the cloud computing task scheduling optimization method considering resource processing costs as described in any one of claims 1 to 5 are implemented.
