A cloud computing task scheduling method based on improved hiking optimization algorithm

Through the improved hiking optimization algorithm, cloud computing task scheduling is optimized, and the problem that existing algorithms are difficult to achieve optimality in large-scale task scheduling is solved, achieving efficient resource utilization and task processing efficiency.

CN119292754BActive Publication Date: 2025-02-25GUIZHOU UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411826503.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-12
Publication Date
2025-02-25
Estimated Expiration
2044-12-12

AI Technical Summary

Technical Problem

When existing cloud computing task scheduling algorithms handle large batches of tasks, it is difficult to achieve optimal scheduling strategies, resulting in waste of resources and prolonged processing time.

Method used

Using an improved hiking optimization algorithm, we can collect resource information of tasks and virtual machines, establish an objective function that minimizes the total cost, and use the improved algorithm to optimize the objective function to obtain the optimal individual, and then map to the binary scheduling matrix to achieve the task. Scheduling.

Benefits of technology

It significantly reduces the total cost of task scheduling, improves the efficiency of computer systems for task processing, reduces the idle resource and reduced business efficiency, and improves the scientificity and resource utilization efficiency of algorithms in large-scale task scheduling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119292754B_ABST
    Figure CN119292754B_ABST
Patent Text Reader

Abstract

The present invention proposes a cloud computing task scheduling method based on an improved hiking optimization algorithm; the method comprises the following steps: S1, collecting the computing resource vectors, load cost vectors and resource bandwidth vectors required for the task and possessed by the virtual machine, and then establishing a total cost function; S2, optimizing the objective function using the improved hiking algorithm to obtain the optimal individual; S3, mapping the optimal individual obtained in S2 to a binary scheduling matrix, obtaining a task scheduling strategy through the scheduling matrix, and thus performing task scheduling; the present invention aims to reduce the task execution time of the system when performing task scheduling, and improve the accuracy of the optimal solution, thereby optimizing the performance of large-scale task scheduling. In addition, it also significantly improves the rationality of cloud computing task scheduling, ensures that resources are maximized, and effectively solves the problems of resource waste and business performance decline that may occur in the process of cloud computing task scheduling.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the technical field of task scheduling methods under cloud computing, and in particular to a cloud computing task scheduling method based on an improved hiking optimization algorithm. Background Art

[0002] Since the beginning of the 21st century, cloud computing technology has emerged and gradually evolved into an indispensable cornerstone of contemporary society. Relying on a series of technical means such as virtualization, distributed data storage and large-scale data management, it delivers computing power, storage space and application services to users through the Internet, realizing the separation of information technology and business operations, and ensuring that information technology resources can be flexibly configured according to demand. Cloud computing aims to reduce resource waste through efficient resource scheduling strategies and avoid unnecessary loss of virtual machine computing power, storage space and network bandwidth resources during large-scale task allocation.

[0003] Metaheuristic algorithms play a vital role in the optimization process of task scheduling. However, the complexity and uncertainty of scheduling problems severely limit their performance. Therefore, many efficient algorithms have been proposed to meet this challenge. For example, Puma Optimization Algorithm, Remora Optimization Algorithm and Whale Optimization Algorithm. However, when faced with a large number of task scheduling, the scheduling strategies obtained by the above algorithms cannot achieve the optimal. On the other hand, the existing metaheuristic algorithms find solutions through random search, such as the differential squirrel optimization algorithm (DSSA) and the red-billed blue magpie optimization algorithm (RBMO) when dealing with scheduling problems, which shortens the response time of the scheduling process. Although the existing metaheuristic methods show certain advantages in dealing with a large number of task scheduling tasks, they generally face the problems of cumbersome search process and low optimization efficiency when performing such tasks. Therefore, the current cloud computing task scheduling system using metaheuristic methods urgently needs to be optimized and improved at a deeper level. Summary of the invention

[0004] The purpose of the present invention is to solve the technical problems existing in the scheduling of large-scale cloud computing tasks, and in particular to introduce a cloud computing task scheduling method based on an improved hiking optimization algorithm.

[0005] In order to achieve the above-mentioned object of the present invention, the present invention provides a cloud computing task scheduling method based on an improved hiking optimization algorithm, comprising the following steps:

[0006] S1. Collect the computing resource vectors, load cost vectors, and resource bandwidth vectors required by the task and available to the virtual machine, and then establish the objective function that minimizes the total cost:

[0007] (7);

[0008] In formula (14), , and Respectively represent functions , and The weight of

[0009] represents the load cost function and is calculated as follows:

[0010] (8);

[0011] In formula (15), To calculate the number of tasks, is the number of virtual machines, Indicates The task is Each task can only be calculated on one virtual machine at a time. get , Indicates The load capacity vector of each virtual machine, Indicates The load capacity vector required by each task is represents the time cost function and is calculated as follows:

[0012] (9);

[0013] In formula (16), To calculate the number of tasks, is the number of virtual machines, Indicates The task is Each task can only be calculated on one virtual machine at a time. get , Indicates The computing resource vector of a virtual machine, Indicates The computing resource vector required by each task is represents the resource bandwidth cost function and is calculated as follows:

[0014] (10);

[0015] In formula (17), To calculate the number of tasks, is the number of virtual machines, Indicates The task is Each task can only be calculated on one virtual machine at a time. get , Indicates The resource bandwidth vector of each virtual machine, Indicates The resource bandwidth vector required by each task is Indicates The resource bandwidth vector of each virtual machine, Indicates The resource bandwidth vector required by each task is Indicates The computing resource vector of a virtual machine, Indicates The computing resource vector required by each task is Represents price-related parameters.

[0016] S2. Use the improved hiking optimization algorithm to optimize the objective function and obtain the optimal individual:

[0017] S21, initialized to size using formula (18) Population ;

[0018] (11);

[0019] In formula (18), Represents population The Individuals, represents the upper bound vector of the optimization problem space, represents the lower bound vector of the optimization problem space, Indicates that a A random number between

[0020] S22, Initial ,if , then execute S23, otherwise jump to execute S26; where, Indicates the current iteration number; Indicates the maximum number of iterations;

[0021] S23, using the mixed speed update strategy to update the individual position, and obtain the population ;

[0022] S24. Select individuals through a mixed greedy strategy: merge the populations obtained in the above steps, and then you have an initialized population and population ; Then sort by fitness value and take the first one after sorting Individuals make up a population ; Population And serve as the initial population for the next iteration;

[0023] S25, ,like Then execute step S23, otherwise execute step S26;

[0024] S26, select the population at the last iteration The individual with the smallest objective function value is taken as the optimal individual;

[0025] S3, mapping the optimal individuals obtained in S2 to a binary scheduling matrix, obtaining the task scheduling strategy through the scheduling matrix, and thus performing task scheduling;

[0026] The binary scheduling matrix is ​​represented as:

[0027] (12);

[0028] Among them, the matrix is the scheduling matrix;

[0029] Indicates The task is in It runs on two virtual machines, and stipulates that each task can only be calculated on one virtual machine.

[0030] Furthermore, the population initialized in step S21 Using Chebyshev chaotic mapping, we get a new initial population ; At this point, the population of the subsequent steps All become populations ;

[0031] Use formula (20) to get the new initial population ;

[0032] (13);

[0033] In formula (20), is the control parameter, and ;

[0034] represents the sine function;

[0035] Represents population The individual;

[0036] Represents population The Individuals, that is .

[0037] Further, the S23 includes:

[0038] P31. Use formula (21) to get the population individuals in

[0039] (14);

[0040] In formula (14), Represents population Middle Individuals, that is ;

[0041] Represents population The individual;

[0042] Indicates the change in mixing speed;

[0043] represents the individual generated by the intermediate individual guidance strategy and is calculated by formula (22);

[0044] (15);

[0045] In formula (22), Indicates that the population The population after being sorted in ascending order of their fitness values;

[0046] Represents population The individual;

[0047] Calculated by formula (23);

[0048] (16);

[0049] In formula (23), Represents population The individual number in represents the ceiling function, The interval is A random number between

[0050] P32, use formula (24) to get the mixing speed change ,

[0051] (17);

[0052] In formula (24), represents the speed change obtained by the hybrid speed update strategy;

[0053] For the The individual in The speed of the slope at the iteration is calculated by formula (25);

[0054] (18);

[0055] The interval is A random number between

[0056] For the The individual in The tangent value of the slope at the iteration;

[0057] For the The individual in The best individual at the iteration;

[0058] is the scan factor, and ,in, It means to randomly generate a random integer with a value of 1 or 2;

[0059] Represents population Middle The first iteration Individual.

[0060] Furthermore, the slope in the tangent value of the slope is obtained by selecting an update strategy of the algorithm through an evaluation mechanism;

[0061] P21, use formula (26) to randomly generate K slopes;

[0062] (19);

[0063] In formula (26), It means randomly generating K integers between 0 and 50, so . Use formula (27) to get the top K best individuals;

[0064] (20);

[0065] In formula (27), Indicates that the population The population after being sorted in ascending order of their fitness values;

[0066] , and Respectively represent the population The 1st, 2nd and Kth individuals;

[0067] Indicated in The population at iteration The first best individual among them;

[0068] Indicated in The population at iteration The second best individual among them;

[0069] Indicated in The population at iteration The Kth best individual among them;

[0070] It contains K angles ,and Corresponding to the optimal individual ;

[0071] P22, evaluate the loss through formula (28) to obtain the optimal slope and its corresponding optimal individual;

[0072] (twenty one);

[0073] In formula (28), Indicated in The first iteration The individual selects the slope tangent value Total loss of

[0074] and are speed-related weights and energy consumption-related weights, respectively, and , The initial value of is 0.5;

[0075] Represents an individual The fitness value of

[0076] Indicates that the slope tangent value is selected And the optimal individual is The speed change calculated by formula (24) when

[0077] For the The individual in The tangent value of the slope corresponding to the minimum loss at the iteration;

[0078] For the The individual in The optimal individual corresponding to the lowest loss at the iteration.

[0079] Furthermore, the value of K is 3.

[0080] Furthermore, after step S23 is executed, it also includes: using the adversarial learning strategy to perform reverse learning on the algorithm population to obtain a population ; At this time, the several populations in step S24 have populations ;

[0081] The population generated by adversarial learning is calculated by formula (29) Dimensions of individuals:

[0082] (twenty two);

[0083] In formula (29), Represents population Middle The first iteration Individual dimensional information, i.e. , Represents population Middle The first iteration individual;

[0084] represents the minimum value function, Indicates taking individual Minimum value in dimension;

[0085] represents the maximum value function, Indicates taking individual The maximum value in a dimension;

[0086] Represents population Middle The first iteration individual;

[0087] Represents population In the Iteration No. Individual Dimensional information.

[0088] In summary, due to the adoption of the above technical solutions, the cloud computing task scheduling method proposed in the present invention obtains a scheduling strategy by introducing an improved hiking optimization algorithm, which greatly reduces the total cost of task scheduling. This optimization not only reduces the processing time of the computer system for the task, but also improves the average quality of the initial population by introducing the Chebyshev chaotic map in the population initialization stage, thereby improving the speed of the algorithm to find the optimal solution. This solution is particularly suitable for dealing with large-scale cloud computing task scheduling challenges, and can significantly improve the scientific nature of task scheduling in cloud computing, ensure that resources are utilized to the greatest extent, and effectively avoid idle resources and reduced business efficiency. In addition, by improving the task execution path and resource allocation, the method can also enhance the computing efficiency of the hardware and speed up the hardware processing speed, thereby promoting a leap in system performance as a whole.

[0089] Additional aspects and advantages of the present invention will be given in part in the following description and in part will be obvious from the following description, or will be learned through practice of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0090] The above and / or additional aspects and advantages of the present invention will become apparent and easily understood from the description of the embodiments in conjunction with the following drawings, in which:

[0091] Figure 1 It is a task scheduling flow chart based on the improved hiking optimization algorithm CMOHOA according to an embodiment of the present invention.

[0092] Figure 2 It is a comparison chart of task scheduling based on the improved hiking optimization algorithm CMOHOA and other optimization algorithms according to an embodiment of the present invention. DETAILED DESCRIPTION

[0093] Embodiments of the present invention are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and cannot be understood as limiting the present invention.

[0094] With the rapid development of cloud computing technology, the scale of tasks continues to expand, and current task scheduling strategies often fall into the dilemma of non-optimal scheduling. This is mainly due to the lack of exploration and utilization capabilities of the algorithm, which makes it difficult to quickly and efficiently discover the best task scheduling strategy. The selected solution is inefficient, which in turn causes a series of problems such as resource waste in large-scale task scheduling scenarios.

[0095] In order to alleviate these problems, this paper proposes an improved cloud computing task scheduling strategy CMOHOA based on hiking optimization algorithm. Figure 1 As shown, the specific steps include:

[0096] S1, collect the computing resource vectors, load cost vectors and resource bandwidth vectors required by the task and possessed by the virtual machine, and then establish an objective function that minimizes the total cost;

[0097] S2, using the improved hiking algorithm to optimize the objective function and obtain the optimal individual;

[0098] S3, mapping the optimal individuals obtained in S2 to a binary scheduling matrix, obtaining the task scheduling strategy through the scheduling matrix, and thus performing task scheduling;

[0099] The binary scheduling matrix is ​​represented as:

[0100] (twenty three);

[0101] Among them, the matrix is the scheduling matrix;

[0102] Indicates The task is in Each task can only be calculated on one virtual machine at a time. get ; The first row of the scheduling matrix represents the first task, and its first row The column has a value of 1 (a row has at least one value 1); it means that the first task is in Run on multiple virtual machines; for example: the scheduling matrix If there is only The value of is 1, indicating that the second computing task is assigned to the third virtual machine to run; therefore, the scheduling matrix of The value can be used to know the specific task scheduling strategy, thereby realizing task scheduling.

[0103] Furthermore, the total cost function established in step S1 is as follows:

[0104] (twenty four);

[0105] In formula (31), , and Respectively represent functions , and The weight of

[0106] represents the load cost function and is calculated as follows:

[0107] (25);

[0108] In formula (32), To calculate the number of tasks, is the number of virtual machines, Indicates The task is Each task can only be calculated on one virtual machine at a time. get , Indicates The load capacity vector of each virtual machine, Indicates The load capacity vector required by each task is represents the time cost function and is calculated as follows:

[0109] (26);

[0110] In formula (33), To calculate the number of tasks, is the number of virtual machines, Indicates The task is Each task can only be calculated on one virtual machine at a time. get , Indicates The computing resource vector of a virtual machine, Indicates The computing resource vector required by each task is represents the resource bandwidth cost function and is calculated as follows:

[0111] (27);

[0112] In formula (34), To calculate the number of tasks, is the number of virtual machines, Indicates The task is Each task can only be calculated on one virtual machine at a time. get , Indicates The resource bandwidth vector of each virtual machine, Indicates The resource bandwidth vector required by each task is Indicates The resource bandwidth vector of each virtual machine, Indicates The resource bandwidth vector required by each task is Indicates The computing resource vector of a virtual machine, Indicates The computing resource vector required by each task is Represents price-related parameters.

[0113] Furthermore, the original hiking optimization algorithm in step S2 optimizes the objective function to obtain the optimal individual in the following specific steps:

[0114] S21, initialized to size using formula (35) Population ;

[0115] (28);

[0116] In formula (35), Represents population Middle Individuals, represents the upper bound vector of the optimization problem space, represents the lower bound vector of the optimization problem space, Indicates that a A random number between

[0117] S22, Initial ,if , then execute S23, otherwise jump to execute S26; where, Indicates the current iteration number; Indicates the maximum number of iterations;

[0118] S23, updating the individual through the location update strategy;

[0119] S24, select individuals through greedy strategy;

[0120] S25, ,like Then execute step S23, otherwise execute step S26;

[0121] S26, select the population at the last iteration The individual with the smallest objective function value is taken as the optimal individual;

[0122] Furthermore, the specific steps of S23 are:

[0123] S231, update the position of the individual using formula (36);

[0124] (29);

[0125] In formula (36), represents the individual after being updated by step S23;

[0126] For population Middle The first iteration individual;

[0127] Indicates Individual The velocity change at the iteration is calculated by formula (37);

[0128] (30);

[0129] In formula (37), Indicates that a A random number between

[0130] Represents population In the The best individual at the iteration;

[0131] is the scan factor and ,in, It means to randomly generate a random integer with a value of 1 or 2;

[0132] Indicates Individual The speed at the iteration is calculated by formula (38);

[0133] (31);

[0134] In formula (38), Indicates The individual in The slope tangent value is randomly generated at the iteration and calculated by formula (39);

[0135] (32);

[0136] In formula (39), represents the tangent function;

[0137] Indicates The individual in The slope is faced at the second iteration and is calculated by formula (40);

[0138] (33);

[0139] In formula (40), It means to randomly generate an integer between 0 and 50, so .

[0140] Furthermore, the specific steps of S24 are:

[0141] S241, select individuals using formula (41);

[0142] (34);

[0143] In formula (41), Indicates The individual in The individual selected by the greedy strategy in the iteration;

[0144] Represents population Middle The first iteration individual;

[0145] represents the individual after being updated by step S23;

[0146] Represents an individual The fitness value of

[0147] Represents an individual The fitness value of

[0148] The objective function is optimized by using the improved hiking algorithm in step S2, and the specific improvements are P1 to P5 as follows:

[0149] P1. Introduce Chebyshev chaotic mapping to the population initialized in step S21 Improve and get a new initial population Since the values ​​obtained by the Chebyshev chaotic mapping function are relatively dispersed, each initial individual can be moved to a wider space during the initialization of the algorithm, that is, the algorithm can explore a larger space when exploring the optimal individual, and then make the global optimal individual obtained by the algorithm more accurate, thereby obtaining a lower-cost optimal scheduling strategy.

[0150] P2. Introduce an evaluation mechanism to select the update strategy of the algorithm and select the optimal slope and individual. Since the original algorithm is guided only by the current randomly generated slope and the current optimal individual, it is easy to cause the remaining individuals to move toward the local optimum, which makes the accuracy of the obtained optimal individual poor, that is, the total cost of the obtained optimal scheduling strategy is increased. The evaluation mechanism can help the algorithm select the most suitable slope and its corresponding optimal individual from the current three random slopes and their corresponding optimal individuals, helping the algorithm to jump out of the local optimal trap when scheduling tasks, thereby making the scheduling strategy more efficient.

[0151] P3, discard step S23 in the original hiking algorithm, introduce a mixed speed update strategy to update the individual position, and obtain the population In the original algorithm, the optimal individual is used for guidance, which can easily cause the algorithm to fall into the local optimum. Since the intermediate individual and the current optimal individual both contain information related to the global optimal individual. In addition to updating the slope and the optimal individual through P2, the intermediate point sample learning strategy is also introduced to guide the remaining individuals through the intermediate individuals, so that the remaining individuals gradually approach the global optimal individual.

[0152] P4, abandon step S23 in the original hiking algorithm, introduce the adversarial learning strategy to reversely learn the algorithm population, and obtain the population . In the later stage of the original algorithm iteration process, since the algorithm only has a single update strategy, the search ability of the algorithm iteration is reduced. By introducing antagonistic individuals, the diversity of the search is increased, which helps the algorithm explore a wider solution space. Opposing individuals are usually located in different areas of the search space, which helps the algorithm avoid falling into local optimal solutions and improves global search performance. The adversarial learning strategy can help individuals quickly escape from the current position, and the fitness value of the opposing position is more likely to be better than the current worst position, which helps the population converge. Therefore, when this strategy is combined with the algorithm for scheduling, it can help the computer system to schedule tasks more reasonably.

[0153] P5, introduce a mixed greedy strategy to select individuals instead of the greedy strategy in step S24; , and Merge, sort by fitness value, and take the first one after sorting Individuals make up a population ; Population And it is used as the initial population for the next iteration. represents the population obtained by step P1, represents the population obtained by step P3, Represents the population obtained by step P4. The original algorithm only selects the better one from the iterative initial population individuals and the updated individuals, which limits the selection range and may cause the population individuals to tend to the local optimum prematurely. To solve this problem, we propose a hybrid greedy strategy, which merges the populations obtained by P1, P3 and P4, and selects the first several excellent individuals from them to form a new population. On the one hand, the use of Chebyshev chaotic mapping can improve the overall quality of the initial population and enhance the diversity of the population; at the same time, the adversarial learning strategy can enhance the search ability of the algorithm in the later stage of iteration. On the other hand, the adoption of a mixed speed update strategy can accelerate the convergence of the algorithm. Therefore, by merging these three populations, we can obtain a richer and more diverse new population, thereby improving the overall performance of the algorithm.

[0154] Furthermore, the P1 comprises:

[0155] Use formula (42) to get the new initial population ;

[0156] (35);

[0157] In formula (42), For control parameters and ;

[0158] represents the sine function;

[0159] Represents population The individual;

[0160] Represents population The Individual.

[0161] Further, the P2 comprises:

[0162] The original algorithm randomly generates a slope and then uses the current optimal solution to guide the update; the innovation proposed in this application is to generate three slopes corresponding to the first three optimal individuals, and then calculate them through the evaluation loss formula to obtain three loss values, and finally select the slope and optimal solution corresponding to the minimum loss value to guide the update.

[0163] P21, use formula (10) to randomly generate K slopes;

[0164] (10);

[0165] In formula (10), It means randomly generating K integers between 0 and 50, so ; Use formula (11) to get the top K best individuals;

[0166] (11);

[0167] In formula (11), Indicates that the population The population after being sorted in ascending order of their fitness values;

[0168] , and Respectively represent the population The 1st, 2nd and Kth individuals;

[0169] Indicated in The population at iteration The first best individual among them;

[0170] Indicated in The population at iteration The second best individual among them;

[0171] Indicated in The population at iteration The Kth best individual among them;

[0172] It contains K angles ,and Corresponding to the optimal individual ;

[0173] P22, evaluate the loss through formula (45) to obtain the optimal slope and its corresponding optimal individual;

[0174] (36);

[0175] In formula (45), Indicated in The first iteration The individual selects the slope tangent value Total loss of

[0176] and are speed-related weights and energy consumption-related weights, respectively, and , The initial value of is 0.5;

[0177] Represents an individual The fitness value of

[0178] Indicates that the slope tangent value is selected And the optimal individual is The speed change calculated by formula (47) when

[0179] For the The individual in The tangent value of the slope corresponding to the minimum loss at the iteration;

[0180] For the The individual in The optimal individual corresponding to the lowest loss at the iteration.

[0181] Furthermore, the specific steps of P3 are:

[0182] P31. Use formula (46) to get the population individuals in

[0183] (37);

[0184] In formula (46), Represents population Middle Individuals, that is ;

[0185] Represents population The individual;

[0186] Indicates the change in mixing speed;

[0187] represents the individual generated by the intermediate individual guidance strategy and is calculated by formula (47);

[0188] (38);

[0189] In formula (47), Indicates that the population The population after being sorted in ascending order of their fitness values;

[0190] Represents population The individual;

[0191] Calculated by formula (48):

[0192] (39);

[0193] In formula (48), Represents population The individual number in represents the ceiling function, The interval is A random number between

[0194] P32, use formula (49) to get the mixed speed change ,

[0195] (40);

[0196] In formula (49), represents the speed change obtained by the hybrid speed update strategy;

[0197] For the The individual in In the first iteration, the speed of the optimal slope corresponding to the minimum loss value is obtained through step P2 and calculated by formula (9);

[0198] The interval is A random number between

[0199] For the The individual in In the iteration, the tangent value of the slope corresponding to the minimum loss is obtained through step P2;

[0200] For the The individual in In the iteration, the optimal individual corresponding to the lowest loss value is obtained through step P2;

[0201] is the scan factor, and ,in, It means to randomly generate a random integer with a value of 1 or 2;

[0202] Represents population Middle The first iteration Individual.

[0203] Further, the P4 comprises:

[0204] The adversarial learning population is calculated by formula (50) The dimension of the individual;

[0205] (41);

[0206] In formula (50), Indicates The individual in The individual selected by the greedy strategy in the iteration;

[0207] Represents population Middle The first iteration individual;

[0208] represents the individual after being updated by step S23;

[0209] Represents an individual The fitness value of

[0210] Represents an individual The fitness value of .

[0211] In order to further illustrate the technical effect of CMOHOA, simulation experiments were conducted. We analyzed the performance of the proposed CMOHOA in solving cloud computing scheduling problems and compared it with the ant colony optimization algorithm (ACO), particle swarm optimization algorithm (PSO), whale optimization algorithm (WOA), puma optimization algorithm (PO), crucian carp optimization algorithm (ROA), red-billed blue magpie optimization algorithm (RBMO), differential squirrel search optimization algorithm (DSSA) and hiking optimization algorithm (HOA). The description of the computing tasks and virtual machine parameters is shown in Table 1. Time cost, resource bandwidth cost, price cost and total cost are used as performance analysis indicators.

[0212] The experimental conditions are set to a population size of 100 and a maximum number of iterations of 200. We tested CMOHOA's ability to handle task scheduling with 1,000 computing tasks. On the one hand, by setting the number of iterations to 200, the convergence speed of each algorithm can be more intuitively and clearly seen. On the other hand, using a large number of tasks to test the algorithm further highlights the optimization ability of the algorithm. As can be seen from Table 1, the relevant parameters required for the task and the relevant parameters owned by the processor are both large. Therefore, when using the optimization algorithm to schedule tasks in this scenario, it can better illustrate the optimization ability of the algorithm itself.

[0213] Figure 2 The simulation results are shown in Figure 2. Figure 2 It can be seen that when dealing with large-scale task scheduling, the optimization effect of CMOHOA is far better than other algorithms. The total cost is even reduced by more than 36%, which shows that CMOHOA has stronger optimization search ability. In terms of price cost, time cost and load cost optimization, CMOHOA can find the optimal solution around the 25th iteration, which shows that CMOHOA has a faster convergence speed.

[0214] Table 1. Virtual machine and task parameters

[0215] parameter Virtual Machine Scope Scope of Tasks Compute resource vector R [1860,2660] [400,1000] Load cost vector L [2048,4096] [50,100] Resource bandwidth vector P [400,500] [20,50]

Claims

1. A cloud computing task scheduling method based on an improved hiking optimization algorithm, characterized in that: The following steps are involved: S1. Collect the computing resource vectors, load cost vectors, and resource bandwidth vectors required by the task and available to the virtual machine, and then establish the objective function that minimizes the total cost: F goal =min{ρ1F load +p2F time +p3F rb }(1) In formula (1), ρ1, ρ2, ρ3 represent the function F load ,F time ,F rb The weight of F load represents the load cost function; F time represents the time cost function; F rb represents the resource bandwidth cost function; S2. Use the improved hiking algorithm to optimize the objective function and obtain the optimal individual: S21, initialize a population P of size N using formula (2); P i =lower+rand·(upper-lower)(2) In formula (2), P i represents the i-th individual in the population P, upper represents the upper bound vector of the optimization problem space, lower represents the lower bound vector of the optimization problem space, and rand represents the generation of a random number between [0,1]; S22, initial Iters = 1, if Iter < MaxIters, execute S23, otherwise jump to execute S26; where Iters represents the current number of iterations; MaxIters represents the maximum number of iterations; S23, use the mixed speed update strategy to update the individual position and get the population Phy: P31, use formula (5) to obtain the individuals in the population Phy; In formula (5), represents the i-th individual in the population Phy, that is P i new represents the i-th individual in the population Pc; Indicates the change in mixing speed; P mid represents the individual generated by the intermediate individual guidance strategy and is calculated by formula (6); P mid =TSP R (6); In formula (6), TSP represents the population after sorting the population Pc in ascending order according to its fitness value; TSP R represents the Rth individual in the population TSP; R is calculated by formula (7); In formula (7), i represents the individual number in the population Pc, represents the upward rounding function, and rand represents a random number between the interval [0,1]; P32, use formula (8) to get the mixing speed change In formula (8), represents the speed change obtained by the hybrid speed update strategy; is the speed of the slope of the i-th individual at the t-th iteration and is calculated by formula (9); rand represents a random number between [0,1]; is the tangent value of the slope of the i-th individual at the t-th iteration; is the optimal individual of the i-th individual at the t-th iteration; OF is the scan factor, and OF = randi([1,2],1,1), where randi([1,2],1,1) means randomly generating a random integer with a value of 1 or 2; represents the i-th individual in the population Pc at the t-th iteration; The slope in the tangent value of the slope is obtained by selecting an update strategy of the algorithm through an evaluation mechanism; P21, randomly generate K slopes using formula (10); In formula (10), randi([0,50],1,K) means randomly generating K integers between 0 and 50, so Use formula (11) to obtain the top K best individuals; In formula (11), TSP represents the population after sorting the population Pc in ascending order according to its fitness value; TSP(1,:), TSP(2,:) and TSP(K,:) respectively represent the first, second and Kth individuals in the population TSP; Represents the first optimal individual in the population TSP at the tth iteration; Represents the second best individual in the population TSP at the tth iteration; represents the Kth best individual in the population TSP at the tth iteration; It contains K angles (θ1, θ2, ... θ K ), and θ1,θ2,…θ K Corresponding to the optimal individual P22, evaluate the loss through formula (12) to obtain the optimal slope and its corresponding optimal individual; In formula (12), It means that at the tth iteration, the i-th individual selects the slope tangent value Total loss of Q1 and Q2 are speed-related weight and energy consumption-related weight, respectively, and the initial values ​​of Q1 and Q2 are 0.5; Represents individual P i new The fitness value of is the tangent value of the slope corresponding to the minimum loss of the i-th individual at the t-th iteration; is the optimal individual corresponding to the lowest loss of the i-th individual at the t-th iteration; Indicates that the slope tangent value is selected And the optimal individual is The speed change when S24, select individuals by mixed greedy strategy: merge the several populations obtained in the above steps, sort them by fitness value, and take the first N individuals after sorting to form population PP; population PP is used as the initial population for the next iteration; S25, Iters=Iters+1, if Iters<MaxIters, execute step S23, otherwise execute step S26; S26, select the individual with the smallest objective function value in the population PP at the last iteration as the optimal individual; S3, mapping the optimal individuals obtained in S2 to a binary scheduling matrix, obtaining the task scheduling strategy through the scheduling matrix, and thus performing task scheduling; The binary scheduling matrix is ​​represented as: Among them, matrix Q is the scheduling matrix; q i,j It means that the i-th task runs on the j-th virtual machine, and it is stipulated that each task can only be calculated on one virtual machine.

2. The cloud computing task scheduling method based on the improved hiking optimization algorithm according to claim 1 is characterized in that: The population P initialized in step S21 is subjected to Chebyshev chaotic mapping to obtain a new initial population Pc; at this time, the population P in subsequent steps all becomes the population Pc; Use formula (4) to get the new initial population Pc; P i new =P i +cos(a·1 / cos(P i )) (6); In formula (4), a is a control parameter, and a=4; cos represents the sine function; P i represents the i-th individual in the population P; P i new represents the i-th individual in the population Pc, that is, Pc = {P i new }.

3. The cloud computing task scheduling method based on the improved hiking optimization algorithm according to claim 1 is characterized in that: The value of K is 3.

4. The cloud computing task scheduling method based on the improved hiking optimization algorithm according to claim 1 is characterized in that: After step S23 is executed, the method further includes: using an adversarial learning strategy to perform reverse learning on the algorithm population to obtain a population Pal; The dimension of individuals in the adversarial learning population Pal is calculated using formula (13): In formula (13), It represents the information of the jth dimension of the ith individual in the population Pal at the tth iteration, that is, Pal = {Pol i,t },Pol i,t represents the i-th individual in the population Pal at the t-th iteration; min means taking the minimum value function, Indicates taking individual The minimum value in the dimension; max means taking the maximum value function, Indicates taking individual The maximum value in the dimension; represents the i-th individual in the population Pc at the t-th iteration; Represents the information of the jth dimension of the i-th individual in the population Pc at the t-th iteration.

Citation Information

Patent Citations

  • Multicore system task scheduling method based on particle swarm optimization

    CN107133088A

  • Cloud computing resource scheduling method, system and device based on enhanced Meland spar optimization algorithm, and medium

    CN118585341A