Heterogeneous cluster parallel multi-stage fuzzy job scheduling method

By combining improved genetic algorithms and multi-agent optimization algorithms with fuzzy modeling, the scheduling problem of multi-stage jobs in heterogeneous clusters was solved, achieving low-cost and low-delay scheduling in heterogeneous environments and improving the accuracy and efficiency of scheduling schemes.

CN121166356APending Publication Date: 2025-12-19GUANGDONG UNIV OF TECH
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202511293756.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-11
Publication Date
2025-12-19

AI Technical Summary

Technical Problem

In a distributed cloud environment, the scheduling of multi-stage jobs faces challenges such as heterogeneous computing resources and time uncertainty, making it difficult to accurately predict task execution time and data transmission time. Existing methods cannot effectively optimize rental costs and meet deadline constraints.

Method used

An improved second-generation non-dominated sorting genetic algorithm and a multi-agent proximal strategy optimization algorithm are adopted. Combined with the execution time and data transmission time of the triangular fuzzy number modeling task, a two-layer algorithm framework of local search and global exploration is used to optimize virtual machine allocation to minimize total lease cost and delay.

Benefits of technology

It significantly improves scheduling efficiency and resolution quality in heterogeneous cluster environments, reduces virtual machine leasing costs and request delays, and enhances the accuracy and adaptability of scheduling schemes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121166356A_ABST
    Figure CN121166356A_ABST
Patent Text Reader

Abstract

The invention discloses a heterogeneous cluster parallel multi-stage fuzzy job scheduling method, which comprises the following steps of: receiving a processing request which is submitted by a user and contains multi-stage jobs, and modeling task execution time, data transmission time and request deadline into triangular fuzzy numbers, constructing a scheduling model taking the minimization of the total lease cost and the minimization of the request tardiness as targets; carrying out global exploration by adopting an improved second-generation non-dominated sorting genetic algorithm to generate parent and offspring populations; based on population similarity threshold judgment, dynamically triggering local search guided by a multi-agent near-end strategy optimization algorithm, and adaptively selecting a local search operator for each individual to generate an adjacent population; combining various populations, performing non-dominated sorting and crowding distance calculation, and screening out a new generation of populations; and iterating the process until convergence, and outputting a Pareto optimal solution set. According to the method, the problem of multi-target scheduling with fuzzy time variables in a heterogeneous environment is effectively solved, and the quality of a scheduling scheme and the algorithm search efficiency are improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application belongs to the technical field of heterogeneous cluster job scheduling, and particularly relates to a heterogeneous cluster parallel multi-stage fuzzy job scheduling method. BACKGROUND

[0002] In a distributed cloud environment, a user request usually contains multiple parallel jobs, and each job is composed of multiple tasks with sequential execution dependencies, forming the structural characteristics of multi-stage jobs. Due to many uncertain factors in the cloud environment, such as cross-regional network congestion, virtual machine performance fluctuations, program structure diversity, etc., it is difficult to accurately predict key time variables including task execution time, data transmission time and request completion time. In multi-stage jobs with tightly coupled dependencies between tasks, small time fluctuations can trigger a significant "domino effect", causing the actual execution result of the scheduling to deviate significantly from the expected goal.

[0003] At the same time, the heterogeneity of computing resources makes the virtual machine performance and its rental cost present a nonlinear relationship, significantly increasing the complexity of optimizing the total rental cost of the request. In addition, resource heterogeneity also leads to significant differences in execution time of the same task on different types of virtual machine instances, which poses a serious challenge to establishing the optimal mapping relationship between tasks and virtual machine instances.

[0004] A periodic fuzzy multi-stage job scheduling method models the task execution time, data transmission time and job deadline as triangular fuzzy numbers. This method is only applicable to homogeneous distributed clusters, i.e. the virtual machines in the cluster have the same configuration and unit price, and does not consider the "same cluster heterogeneous" characteristics of computing resources that are prevalent in cloud environments.

[0005] A multi-workflow application scheduling method in a fuzzy edge-cloud collaborative environment models the computing power and bandwidth of the server as triangular fuzzy numbers. This method takes into account fuzzy task execution time and fuzzy data transmission time, but the workflow deadline is still defined as an exact value, which makes it impossible to accurately assess the likelihood or degree to which the workflow meets the fuzzy deadline constraint under the influence of fuzzy factors.

[0006] An adaptive local search method in a cloud workflow scheduling environment uses a random approach to execute local search operators to find better neighboring solutions. This method randomly selects one operator from multiple candidate operators and executes it, without considering the characteristics of the current solution to adapt to the appropriate search direction.

[0007] To solve the above problems, the application provides a parallel multi-stage fuzzy job scheduling method for heterogeneous clusters. SUMMARY

[0008] To solve the above technical problems, the application provides a heterogeneous cluster parallel multi-stage fuzzy job scheduling method to solve the problems existing in the prior art.

[0009] To achieve the above object, the application provides a heterogeneous cluster parallel multi-stage fuzzy job scheduling method, which comprises the following steps:

[0010] Step one, receiving a user-submitted processing request, the processing request comprising a plurality of parallel-executed multi-stage jobs, each job comprising a plurality of tasks with sequential dependency relationship; modeling the task execution time, data transmission time and request deadline as triangular fuzzy numbers, and constructing a scheduling problem mathematical model with the optimization objectives of minimizing total rental cost and minimizing request delay;

[0011] Step two, based on the scheduling problem mathematical model, performing genetic operations using an improved second-generation non-dominated sorting genetic algorithm to generate a parent population and a child population;

[0012] Step three, performing threshold value judgment on the population similarity of the child population, if the preset condition is met, using a multi-agent proximal policy optimization algorithm to select a local search operator for each individual of the child population and generate a neighboring population, if the preset condition is not met, directly executing step four;

[0013] Step four, merging the populations obtained in the above steps to obtain a merged population, performing non-dominated sorting and crowded distance calculation on the merged population, and screening to obtain a new generation of parent population;

[0014] Step five, iteratively executing steps two to four until a preset termination condition is reached, and outputting a Pareto optimal solution set representing the optimal scheduling scheme.

[0015] Optionally, in step two, the process of generating the parent population and the child population comprises:

[0016] A two-dimensional vector is used to encode the solution, wherein each gene value of the first dimension represents the cluster to which the task is assigned, and each gene value of the second dimension represents the virtual machine type to which the task is assigned;

[0017] Based on the encoding mode of the solution, the child population is generated by using random rules and reverse rules respectively, and then merged to obtain the parent population;

[0018] Performing crossover operation and mutation operation on the parent population to obtain the child population.

[0019] Optionally, in step three, the process of performing threshold value judgment on the population similarity of the child population comprises:

[0020] The cosine similarity between each pair of individuals in the offspring population is calculated, and the total similarity of the offspring population is obtained by summing the similarities; the total similarity is compared with a local search threshold, and if the total similarity is higher than the threshold, the preset condition is met; wherein the local search threshold is set by a sliding window method based on historical similarity.

[0021] Optionally, in the step three, the process of selecting a local search operator for each individual of the offspring population and generating a neighboring population by using the multi-agent proximal policy optimization algorithm includes:

[0022] State information is obtained from the population level and the individual level of the offspring population respectively, the state information at the individual level is preprocessed by a state encoder and integrated with the state information at the population level, which is used as the input of the multi-agent proximal policy optimization algorithm, the multi-agent obtains an action probability distribution according to the integrated state information, selects a local search operator for each individual of the offspring population according to the action probability distribution to generate a neighboring solution, and if the neighboring solution dominates the original solution, the neighboring solution is added to the neighboring solution population; otherwise, the neighboring solution is retained in the neighboring solution population with a probability of 50%.

[0023] Optionally, the state information at the population level includes the total rental cost mean, the request delay mean, the fuzzy task processing time span and the fuzzy data transmission time span; the state information at the individual level includes the time urgency degree and the cost performance value.

[0024] Optionally, the local search operator includes a phase locking rearrangement operator, a cost-driven adjustment operator and a time-driven adjustment operator.

[0025] The phase locking rearrangement operator randomly reorders the virtual machine allocation types of all tasks in the same phase;

[0026] The cost-driven adjustment operator reassigns the tasks to a virtual machine type with a lower unit time rental price;

[0027] The time-driven adjustment operator reassigns the tasks to a virtual machine type with a higher number of CPU cores based on the currently assigned virtual machine instance type.

[0028] Optionally, the process of determining whether the neighboring solution dominates the original solution includes:

[0029] If the total rental cost of the neighboring solution is less than or equal to the total rental cost of the original solution, the request delay of the neighboring solution is less than or equal to the request delay of the original solution, and the total rental cost and the request delay of the neighboring solution and the original solution are not equal; then the neighboring solution dominates the original solution.

[0030] Optionally, in the step four, the process of performing non-dominated sorting and crowded distance calculation on the merged population to select a new generation of parent population includes:

[0031] After removing the repeated solutions with the same objective function value in the merged population, the individuals are screened using a clone-based population pruning mechanism to obtain a pruned and merged population, the pruned and merged population is non-dominantly sorted, divided into several non-dominant front layers, and the crowding distance of the individuals in each non-dominant front layer is calculated.

[0032] Optionally, the process of screening the individuals using the clone-based population pruning mechanism to obtain the pruned and merged population includes:

[0033] In the de-duplicated merged population, a preset proportion of dominant individuals are selected and each dominant individual is cloned to obtain a cloned population, and a small probability mutation is performed on each cloned individual in the cloned population, the dominance relationship between the mutated cloned individual and the corresponding dominant individual is calculated, if the cloned individual is dominated by the corresponding dominant individual, it is removed, if it is not dominated, it is retained, the retained cloned individuals are merged with the de-duplicated merged population, if the number of individuals in the merged population is insufficient, supplementary individuals are generated using random rules and reverse rules until the number of individuals reaches a preset value, and a pruned and merged population is obtained.

[0034] Optionally, the process of calculating the crowding distance includes: if the individual is a non-boundary individual, the normalized sum of the function value difference between adjacent solutions on the two optimization objective functions is calculated as the crowding distance, if the individual is a boundary individual, the mean value of the crowding distances of other individuals in the corresponding non-dominant front layer is taken plus a preset offset as the crowding distance.

[0035] Compared with the prior art, the present application has the following advantages and technical effects:

[0036] The present application provides a method for solving the multi-objective scheduling problem of multi-stage jobs with fuzzy time parameters in a distributed heterogeneous cluster environment. By combining the dual-objective optimization capability of the second-generation non-dominated sorting genetic algorithm and the adaptive decision-making capability of deep reinforcement learning, a "global exploration + local search" two-layer algorithm framework is built, a collaborative optimization mechanism is constructed, and the search efficiency and solution quality of the algorithm in a large solution space are significantly improved. BRIEF DESCRIPTION OF DRAWINGS

[0037] The accompanying drawings, which form a part of this application, are included to provide a further understanding of the application and are incorporated in and constitute a part of this application. The embodiments of the present application and their description are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0038] Figure 1 The present application provides a method for solving the multi-objective scheduling problem of multi-stage jobs with fuzzy time parameters in a distributed heterogeneous cluster environment. By combining the dual-objective optimization capability of the second-generation non-dominated sorting genetic algorithm and the adaptive decision-making capability of deep reinforcement learning, a "global exploration + local search" two-layer algorithm framework is built, a collaborative optimization mechanism is constructed, and the search efficiency and solution quality of the algorithm in a large solution space are significantly improved.

[0039] Figure 2 A multi-stage job scheduling diagram in a distributed heterogeneous cluster environment of an embodiment of the present application;

[0040] Figure 3 A multi-stage job structure diagram of an embodiment of the present application;

[0041] Figure 4 A framework flowchart of an embodiment of the present application;

[0042] Figure 5 An encoding diagram of a solution of an embodiment of the present application;

[0043] Figure 6 A local search stage flowchart of an embodiment of the present application;

[0044] Figure 7 A multi-agent collaborative decision diagram of an embodiment of the present application. DETAILED DESCRIPTION

[0045] It should be noted that the embodiments in the present application and the features in the embodiments can be combined with each other without conflict. The present application will be described in detail below with reference to the accompanying drawings and in combination with embodiments.

[0046] It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described herein can be executed in an order different from that shown herein.

[0047] Embodiment one

[0048] In this embodiment, a heterogeneous cluster parallel multi-stage fuzzy job scheduling method is provided, which combines the second generation non-dominated sorting genetic algorithm and deep reinforcement learning, aiming to solve the multi-stage job scheduling problem with fuzzy time variables in a distributed heterogeneous cluster environment, to minimize the total rental cost and delay of the request. The background and flowchart are as shown in Figure 1

[0049] S1, global exploration stage, using an improved second generation non-dominated sorting genetic algorithm to perform genetic operation, generating parent population P and offspring population Q;

[0050] S2, local search stage, using a multi-agent proximal policy optimization algorithm to perform local search on the offspring population Q, generating a neighboring population U;

[0051] S3, Pareto front updating stage, merging the populations P, Q and U obtained in steps S1 and S2, performing non-dominated sorting and crowding distance sorting to generate population P; repeating steps S1 to S3 until a preset maximum number of iterations is reached.​

[0052] The present application solves the multi-stage job scheduling problem with fuzzy time variables in a distributed heterogeneous cluster environment, aiming to obtain lower total virtual machine rental cost and shorter request delay. As shown in Figure 2 , a user submits a processing request containing a multi-stage job, which is transmitted to the scheduler for scheduling in a resource pool composed of distributed heterogeneous computing clusters.

[0053] Each user-submitted request contains N jobs executed in parallel, each job including M sequential tasks (stages) with strict dependency relationship, denoted as J i ={T i,1 ,..., T i,M}. Task T i,j only starts execution after its immediate predecessor task T i,j-1 is completed. As shown in the example of a multi-stage job, a request contains 3 jobs executed in parallel, each of which contains 4 sequentially executed tasks. Figure 3

[0054] The distributed cloud environment contains L computing clusters, denoted as C1, C2,..., C L , each of which provides V types of heterogeneous on-demand virtual machines, and the number of virtual machine instances of each type is unlimited. The unit rental price and CPU core number of the kth virtual machine v k are and Task allocation uses decision variable Definition: When task T i,j is allocated to virtual machine instance v k , then is 1, otherwise 0.

[0055] The heterogeneity of virtual machines makes the execution time of the same task on different virtual machines vary from machine to machine. Task processing time, data transfer time and request deadline are all modeled using triangular fuzzy numbers:

[0056] The processing time of task T i,j on virtual machine instance v k is represented as satisfying where and represent the minimum, most likely and maximum values of task processing time, respectively.

[0057] ​Further, "the heterogeneity of virtual machines makes the execution time of the same task on different virtual machines vary from machine to machine" means that, for example, the execution time of task A on virtual machine B is 15 minutes, but the execution time on another virtual machine can even reach 80 minutes. In this example, "15 minutes" and "80 minutes" are deterministic times, and general research only considers these deterministic values. Here, since we consider the uncertainty factor in the task execution process, we use "(10, 15, 30)" to represent the execution time of task T i,j on virtual machine v k , that is The meaning of "(10, 15, 30)" is that the task is executed on a virtual machine, and the shortest execution time is 10 minutes, the longest execution time is 30 minutes, and the possibility of completing the task in 15 minutes is the largest.

[0058] The data transmission time of task T i,j to task T i,j+1 is satisfies wherein and respectively represent the minimum value, the most likely value and the maximum value of the data transmission time. Since the last stage does not need to be followed by data transmission, it is defined that

[0059] Further, there is a data transmission process between two adjacent stages, and the data transmission time needs to be considered during the stage transition, and they are all different. After the job execution is completed, no data transmission is required, and therefore the "data transmission time" of the last task of the job is considered to be 0.

[0060] Under the influence of fuzzy task processing time and fuzzy data transmission time, the requested deadline is also modeled as a triangular fuzzy number, defined as satisfies δ min ≤ δ most ≤ δ max , wherein δ min , δ most and δ max respectively represent the minimum value, the most likely value and the maximum value of the request deadline.

[0061] If task T i,j is processed on virtual machine instance v k , the unit lease time is wherein u is the billing unit time length of the on-demand virtual machine.

[0062] The first optimization objective proposed in this embodiment is to minimize the total lease cost of the request where COG[·] is the center of gravity method, which converts a triangular fuzzy number into a crisp value by calculating the geometric centroid of the triangular fuzzy number: where represents the membership function of

[0063] Further, regarding the meaning of "unit lease time ", the present embodiment here considers "on-demand" virtual machines, which provide services according to demand. For example, a virtual machine of 2 hours and 5 minutes is needed, but when the virtual machine is leased, it can only be paid for 3 hours, although only 2 hours and 5 minutes are used. Therefore, the "unit time length of billing of on-demand virtual machines" in this example is 1 hour.

[0064] The meaning of "round up" is, for example: No matter how small the decimal part is, as long as it is not an integer, it is "promoted" to the next larger integer.

[0065] The meaning of "center of gravity method": here we need to convert "(10, 20, 30)" into an accurate numerical value. If it represents the execution time of a task, "(10, 20, 30)" means: the shortest execution time is 10 minutes, the longest execution time is 30 minutes, and the possibility of executing 20 minutes is the largest. In the plane rectangular coordinate system, it is represented as a triangle, and the "center of gravity method" calculates the geometric centroid of the triangle (using the formula to calculate), and the centroid is the intersection of the three medians of the triangle (the line segment connecting a vertex and the midpoint of its opposite side). According to the "center of gravity method", the abscissa of the intersection point is taken as the accurate number converted from "(10, 20, 30)", that is: COG[(10, 20, 30)] = x, so that an accurate numerical value is obtained.

[0066] The completion time of a request is determined by the latest completion time of its jobs, and the completion time of a job is composed of the task processing time and the data transmission time:

[0067] The second optimization goal proposed by the present embodiment is to minimize the request delay. The delay of a request is the difference between the total completion time of the request and the deadline, and if the request has been completed before the deadline, its delay is 0:

[0068] ​Further, the computation time is based on "one request", for example, this request contains three jobs, so the request is completed when all jobs are completed. For example, the completion time of each job is 10, 45, 5 respectively (here, the exact values are taken as examples), when job 2 is completed, the request is completed, so the completion time of the request is 45.

[0069] The meaning of "delay": as the above request, the deadline is set to 30, but the completion time is 45, the overtime part (45-30=15) is the delay. If the completion time of the request is less than the deadline (for example, the completion time is 20), the delay is 0, indicating that there is no overtime (in this problem, the delay is not negative).

[0070] The multi-stage fuzzy job scheduling method proposed in this embodiment includes three core stages: global exploration stage, local search stage and Pareto front updating stage, and the flow chart is as shown in Figure 4 The scheduling scheme is gradually optimized through iteration, and finally the Pareto optimal solution set is output. The specific steps are as follows:

[0071] S1, global exploration stage: genetic operation is performed using improved second-generation non-dominated sorting genetic algorithm to generate parent population P and offspring population Q;

[0072] The "second-generation non-dominated sorting genetic algorithm" is a classic algorithm of "evolutionary computation", which simulates the "natural selection" and "genetic variation" mechanism in biological evolution, so that "solutions" can "survival of the fittest" in each iteration, and finally automatically optimize the approximate optimal solution of complex problems.

[0073] The meaning of "population": the set of all candidate solutions in the same iteration, for example, all students in a class, each student represents a solution, and through mutual competition, more excellent students are "evolved".

[0074] S11, determine the encoding method of each solution: adopt two-dimensional vector to encode the solution, as shown in Figure 5 Each gene value in the first dimension of the two-dimensional vector represents the cluster ID to which the task is assigned, and each gene value in the second dimension represents the virtual machine type to which the task is assigned; for example, the gene "(4, 1)" represents that the second stage task T 3,2 of job J3 is assigned to the virtual machine instance of type v1 in the cluster with ID 4.

[0075] A solution represents a scheduling scheme, which contains two key information: "which task is assigned to which cluster" and "which task is assigned to which virtual machine", so we can calculate the execution result of the scheduling scheme according to the solution. Here, the solution is defined as Figure 5one sequence is shown. Each cell represents a "gene", similar to the biological field, multiple genes make up a chromosome, so the solution is also called "individual" or "chromosome", and the value of "gene" represents "which task is assigned to which cluster" and "which task is assigned to which virtual machine".

[0076] S12, based on the encoding mode of each solution, jointly generate an initial parent population P containing individuals using random rules and reverse rules;

[0077] S121, random rule: randomly select a cluster and a virtual machine type in the cluster for each task, repeat this step until a child population P1 containing individuals is generated;

[0078] Assuming there are 12 tasks in total, there are 5 optional clusters, and there are 16 optional virtual machines, for each task, a "(cluster ID, virtual machine type)" combination is randomly selected from the 5 clusters and 16 virtual machines for assignment. After assigning the 12 tasks, an "individual" as shown in Figure 5 is formed. Such steps are repeated times, and finally "individuals" are formed to form the child population P1.

[0079] S122, reverse rule: for each task T i,j of each individual in the child population P1 q , if its original allocation is (c k , v q ) (where c k is the cluster ID and v L-q-2 is the virtual machine type), it is re-assigned to (C V-k-2 , v k′ ), and this step is repeated until a child population P2 containing individuals is generated;

[0080] Specifically, the child population P1 has been generated at this time. There are still 12 tasks, 5 clusters and 16 virtual machines, and for each "individual" in the child population P1, the following operation is performed: if in P1 individual 1, task 1 is assigned to the 4th virtual machine, then a new blank "individual" is now established, and task 1 in the blank "individual" is assigned to the 12th virtual machine (16-4=12). Such operations are repeated times, and finally "individuals" are generated to form the child population P2.

[0081] v V-k-2The meaning of V: continuing the above example, V represents the optional virtual machine type (V = 16), and k represents the number of virtual machine types allocated to task 1 in the sub-population P1. In a computer program, the numbering of all things starts from 0, so the numbering of the 16 virtual machines is 0, 1…15, and the number of the “4th virtual machine” in the above example is 3 (k = 3), so when the “individual” is allocated to task 1, the number of the “12th virtual machine” allocated is 16-3-2 = 11.C L-q-2 The meaning of V is the same.

[0082] S123, merge P1 and P2 to form an initial parent population P containing individuals.

[0083] S13, sequentially perform a crossover operation and a mutation operation on each solution in the parent population P;

[0084] S131, crossover operation: randomly select two different crossover points, divide the two-dimensional vector of the parent individual into three segments according to the crossover points, only exchange the “(cluster ID, virtual machine type)” binary tuple part of the middle segment, and keep the integrity of the task number dimension to avoid disordered splitting of cross-cluster tasks;

[0085] S132, mutation operation: randomly select (where is the length of the individual, i.e., the total number of tasks) gene sites, and mutate the “(cluster ID, virtual machine type)” binary tuple at the selected site, i.e., randomly change the value of the binary tuple; wherein the mutation probability of the cluster ID is set to 0.1, and the mutation probability of the virtual machine type is set to 0.3;

[0086] S133, repeat the above crossover and mutation operations until a child population containing individuals is generated.

[0087] S2, local search phase: use the multi-agent proximal policy optimization algorithm to perform local search on the child population Q to generate a neighboring population U, and the flowchart is as shown in Figure 6 .

[0088] S21, calculate the total similarity of the child population Q using cosine similarity: the cosine similarity between individual x i and individual x j is where F1(x) and F2(x) represent the two objective values of individual x, respectively;

[0089] Here each "individual" (i.e. scheduling scheme) can be calculated two target results: total lease cost (F1) and delay (F2). In the plane rectangular coordinate system, the "individual" can be expressed in the form of coordinates (F1, F2), for example, the coordinates (10, 100) represent the "individual" (scheduling scheme) calculated total lease cost (F1) is 10, delay (F2) is 100.

[0090] The origin of the two individuals in the coordinate system is connected, and an angle is formed in the middle. The cosine value of the angle can be calculated by the formula The cosine value of the angle can be calculated by the formula

[0091] S22, sum the similarity of all individuals two by two, defined as the total similarity of the offspring population Q

[0092] S23, set the local search threshold β using the sliding window method based on historical similarity;

[0093] S231, maintain a sliding window win with a fixed size w, store the population similarity of the last w iterations, that is Where t represents the number of current iterations;

[0094] S232, take the 75th percentile in the sliding window as the local search threshold of the current iteration, that is β = Percentile 75% (win);

[0095] S233, if S total ≥ β, then perform local search on the offspring population Q; otherwise, jump to step S3.

[0096] S24, obtain the state information of the offspring population Q and preprocess it through the state encoder;

[0097] S241, obtain the state information of the offspring population Q from the population level and the individual level respectively;

[0098] The state information S pop of the population level includes four kinds of state information:

[0099] (1) Total lease cost average:

[0100] (2) Delay average:

[0101] (3) Fuzzy task processing time span:

[0102] (4) Fuzzy data transmission time span:

[0103] Individual-level state information S indi Comprise two kinds of state information:

[0104] (1) Time urgency degree:

[0105] (2) Cost performance value: Where n k (x) represents the number of tasks allocated in v k on individual x;

[0106] S242, state encoder preprocessing: input the state information S indi ={tu, ce} obtained from the individual level of the offspring population Q into a state encoder based on the Transformer architecture, calculate the association weight of the state of each individual with all other individual states through the multi-head self-attention mechanism, and generate an enhanced individual-level state representation S' indi that integrates global dependencies. indi Splice S' pop with the original population-level state information to form the final enhanced state vector S' = {S indi , S' i} as the input of the multi-agent proximal policy optimization algorithm;

[0107] S25, multi-agent collaborative decision: the proximal policy optimization algorithm agent is composed of a central coordinator and three sub-agents. Each sub-agent focuses on the pros and cons of a local search operator, and the steps are as shown in Figure 7 :

[0108] (1) The central coordinator receives the enhanced state S' and outputs an attention weight vector;

[0109] (2) Each sub-agent receives the same state S' and outputs an action probability distribution respectively, proposing the probability of its corresponding operator being selected;

[0110] (3) The attention weight generated by the central coordinator is used to weight and sum the action probability distributions of the three sub-agents to obtain the final action probability distribution, according to which a local search operator is selected for each individual.

[0111] The action list finally output by the multi-agent is a dimensional vector, where each dimension ai The value is generated by the central coordinator after integrating the outputs of each sub-agent, corresponding to the action on a solution x in the offspring population Q i The local search operator type; available local search operators include:

[0112] (1) Phase Lock Rearrangement Operator: For all tasks in the same phase, randomly reorder their gene values;

[0113] (2) Cost-driven adjustment operator: for each task, based on the currently assigned virtual machine instance type, randomly select a virtual machine instance type with lower unit rental price for reallocation;

[0114] (3) Time-driven adjustment operator: for each task, based on the currently assigned virtual machine instance type, randomly select a virtual machine type with more CPU cores for reallocation;

[0115] Number the three available local search operators, then the value of each dimension in A corresponds to the selected operator number, indicating that the solution x uses the operator corresponding to the number to perform local search;

[0116] This symbol represents the number of individuals included in the population (i.e. population size). Suppose That is, the population contains 100 individuals. In the above steps, the generated action list contains 100 actions (a), that is, a1-a100. If the 100 individuals in the population are also numbered, assume x1-x100, then the mapping of action (a) - individual (x) can be achieved, for example, action a10 corresponds to individual x10.

[0117] Each action a has 3 values, corresponding to the three selectable operators (assume numbers 1, 2, 3) described above, here "operator" means "operation". For example, the value of action a10 is 2, which corresponds to the "cost-driven adjustment operator", then individual x10 executes this operator.

[0118] S26, the agent performs local search on each solution x in the offspring population Q, using the corresponding action (i.e. local search operator) a to generate a neighboring solution x'; if the neighboring solution x' dominates the original solution x, that is, one of the following three cases occurs:

[0119] (1) F1(x') ≤ F1(x) and F2(x') ≤ F2(x);

[0120] (2) F1(x') ≤ F1(x) and F2(x') < F2(x);

[0121] (3) F1(x') < F1(x) and F2(x') < F2(x);

[0122] If x' is added to the neighborhood solution population U; otherwise, x' is reserved to the neighborhood solution population U with a probability of 50%;

[0123] The meaning of "domination": As can be seen from the above three cases, when the two objective values of x' are not worse than those of x, it is said that x' dominates x. Here, the problem of minimizing two objectives at the same time is discussed, so the smaller they are, the better. If x' dominates x, it is considered that x' is a better individual and is therefore reserved; otherwise, it is considered that x' is not better than x or that they are incomparable, and therefore x' is reserved with a probability of 50%, i.e., x and x' are selected.

[0124] S27, calculating the individual reward value according to the optimized objective values of the neighborhood solution x' and the original solution x:

[0125] The total reward value R is the sum of the reward values of all individuals in the offspring population Q, i.e., R = ∑ x∈Q r(x); repeating steps S26 and S27 until the offspring population Q is traversed, obtaining the neighborhood solution population U containing individuals;

[0126] S28, performing multi-agent near-end strategy optimization algorithm model training and parameter updating.

[0127] S3, Pareto front face updating stage: merging the populations P, Q and U obtained in steps S1 and S2, performing non-dominated sorting and crowding distance sorting to generate the population P, and entering the next round of iteration; repeating steps S1 to S3 until the preset maximum number of iterations is reached.

[0128] S31, merging the populations obtained in the global exploration stage and the local search stage; if the local search has been performed, obtaining the parent population P, the offspring population Q and the neighborhood solution population U, and merging the three populations to obtain the population B, i.e., B = P∪Q∪U; if the local search has not been performed, only obtaining the parent population P and the offspring population Q, and merging the two populations to obtain the population B, i.e., B = P∪Q∪U;

[0129] S32, after merging the obtained population, if there are multiple solutions with the same objective function value in the merged population, only one solution is reserved and the remaining solutions with the same objective function value are removed; therefore, if the local search has been performed, the number of individuals in the merged population B does not exceed If the local search has not been performed, the number of individuals in the merged population B does not exceed If the number of individuals in the population B after deduplication is less than The remaining individuals are generated using the initialization rules in steps S121 and S122 until the number of individuals reaches

[0130] S33, using a clone-based population pruning mechanism to screen high-quality individuals;

[0131] S331, clone selection: randomly select 50% of the individuals in the de-duplicated combined population B as "dominant individuals"; clone each dominant individual, with a clone number of 2 (i.e., 1 dominant individual generates 2 cloned individuals), to form a cloned population;

[0132] S332, mutation pruning: perform small-probability mutation on each cloned individual in the cloned population; the mutation probability decreases with the number of iterations, with an initial value of 0.3, a decrease of 0.01 every 10 iterations, and a minimum value of 0.1; the mutation content is to randomly change (where is the length of the individual) values of "(cluster ID, virtual machine type)" binary tuples;

[0133] S333, screening individuals: calculate the dominance relationship between the mutated cloned individuals and the original dominant individuals; if a cloned individual is dominated by an original dominant individual, the cloned individual is removed, and the cloned individuals that are not dominated are retained;

[0134] S334, post-pruning merging: merge the retained cloned individuals with the de-duplicated combined population B to obtain population B * , i.e. If the number of individuals in the pruned and merged population is insufficient , use the random rule and the reverse rule in steps S12 and S122 to generate supplementary individuals until the number of individuals reaches

[0135] S34, based on the dominance relationship between individuals, divide population B * into a dominated solution set and a non-dominated solution set, where the non-dominated solution set constitutes the Pareto front solution;

[0136] S341, traverse all individuals in population B * , and determine the dominance relationship by comparing the objective values pairwise; if an individual is not dominated by any other individual in the population, it is classified into the first non-dominated front layer front1, and all individuals in this layer constitute the Pareto optimal solution set of the current population;

[0137] S342, remove all individuals in front1 from population B * , and repeat step S331 until all individuals in population B * are classified into a front layer, at which time a hierarchical structure B *front1,..., frontn}, where front1 is the highest priority front, i.e., the best solution set. n}, where front1 is the highest priority front, i.e., the best solution set.

[0138] S35, for each front generated by the non-dominated sorting, sort all individuals in front in ascending order of each objective function value; for the non-bound individuals in the sorted sequence of each dimension objective function, the crowding distance is: l where and represent the maximum values of the two optimization objectives achieved in the current front l , respectively. and represent the minimum values of the two optimization objectives achieved in the current front l , respectively. This step is operated for each individual in each front. The "crowding distance" measures the sparsity or density of the distribution between individuals. The greater the distance value, the more "empty" the solution is around, and the lower the distribution density.

[0139] S36, set the crowding distance of the edge individuals in each front using a smoothing strategy: the crowding distance of the first and last individuals in each sorted sequence (i.e., the two individuals with the minimum and maximum objective function values) is set to and where represents the average of the crowding distances of the remaining individuals in the current front l .

[0140] S37, arrange all individuals in the population B * in ascending order of the front number to which they belong, and arrange the individuals in the same front in descending order of their crowding distances; select the first individuals in the sorted sequence to form a new parent population P; if the algorithm has not reached the preset maximum number of iterations G max , jump to step S13.

[0141] The task execution time, data transmission time, and workflow deadline are all modeled as triangular fuzzy numbers, realizing fuzzy modeling of the entire link of the scheduling process, improving the accuracy of the calculation and comparison of time-related optimization objectives, and significantly reducing the influence of the fuzziness of time variables on the results of optimization objectives. The application proposes a local search mechanism based on deep reinforcement learning, which can intelligently determine the "best" local search direction of the current solution according to the current population state and the characteristic information of each solution, significantly improving the efficiency of local search and the quality of the obtained neighboring solutions. The application fully considers the resource heterogeneity in the computing cluster, which is more consistent with the resource distribution characteristics of the real computing environment. ​

[0142] The above merely provides the preferred embodiment of the present application, and the protection scope of the present application is not limited thereto. Any modification or replacement within the technical scope disclosed by the present application should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A heterogeneous cluster parallel multi-stage fuzzy job scheduling method, characterized in that, Includes the following steps: Step 1: Receive a processing request submitted by the user. The processing request includes multiple multi-stage jobs that are executed in parallel. Each job includes multiple tasks with sequential dependencies. The task execution time, data transmission time, and request deadline are modeled as triangular fuzzy numbers, and a mathematical model of the scheduling problem is constructed with the optimization objectives of minimizing total lease cost and minimizing request delay. Step 2: Based on the mathematical model of the scheduling problem, perform genetic operations using the improved second-generation non-dominated sorting genetic algorithm to generate the parent and offspring populations; Step 3: Determine the threshold of population similarity of the offspring population. If the preset conditions are met, use the multi-agent proximal strategy optimization algorithm to select a local search operator for each individual in the offspring population and generate a neighboring population. If the preset conditions are not met, proceed directly to step 4. Step 4: Merge the populations obtained in the above steps to obtain a merged population. Perform non-dominated sorting and crowding distance calculation on the merged population, and screen to obtain the new generation of parent populations. Step 5: Iterate through steps 2 to 4 until the preset termination condition is met, and output the Pareto optimal solution set representing the optimal scheduling scheme.

2. The heterogeneous cluster parallel multi-stage fuzzy job scheduling method according to claim 1, characterized in that, In step two, the process of generating the parent and offspring populations includes: The solution is encoded using a two-dimensional vector, where each gene value in the first dimension represents the cluster assigned to the task, and each gene value in the second dimension represents the type of virtual machine assigned to the task. Based on the encoding method of the solution, subpopulations are generated using random rules and inversion rules respectively, and then merged to obtain the parent population; Perform crossover and mutation operations on the parent population to obtain the offspring population.

3. The heterogeneous cluster parallel multi-stage fuzzy job scheduling method according to claim 1, characterized in that, Step three, the process of thresholding the population similarity of the offspring population, includes: Calculate the cosine similarity between each pair of individuals in the offspring population, and sum these similarities to obtain the total similarity of the offspring population; compare the total similarity with a local search threshold, and if the total similarity is higher than the threshold, a preset condition is met; wherein, the local search threshold is set by a sliding window method based on historical similarity.

4. The heterogeneous cluster parallel multi-stage fuzzy job scheduling method according to claim 1, characterized in that, In step three, the process of selecting a local search operator for each individual in the offspring population and generating a neighboring population using a multi-agent proximal strategy optimization algorithm includes: State information is obtained from both the population level and the individual level of the offspring population. The individual-level state information is preprocessed by a state encoder and then integrated with the population-level state information. This integrated state information serves as the input to a multi-agent proximal policy optimization algorithm. The multi-agent obtains an action probability distribution based on the integrated state information. Based on this distribution, a local search operator is selected for each individual in the offspring population to generate a neighboring solution. If the neighboring solution dominates the original solution, it is added to the neighboring solution population. Otherwise, the neighboring solution is retained in the neighboring solution population with a 50% probability.

5. The heterogeneous cluster parallel multi-stage fuzzy job scheduling method according to claim 4, characterized in that, Population-level state information includes the average total rental cost, the average requested delay, the fuzzy task processing time span, and the fuzzy data transmission time span; individual-level state information includes time urgency and cost performance value.

6. The heterogeneous cluster parallel multi-stage fuzzy job scheduling method according to claim 4, characterized in that, Local search operators include stage-locked rearrangement operators, cost-driven adjustment operators, and time-driven adjustment operators; The phase-locked reordering operator randomly reorders the virtual machine assignment types of all tasks within the same phase; The cost-driven adjustment operator reallocates tasks to virtual machine types with lower rental prices per unit time; The time-driven adjustment operator reallocates tasks to virtual machine types with a higher number of CPU cores based on the currently assigned virtual machine instance type.

7. The heterogeneous cluster parallel multi-stage fuzzy job scheduling method according to claim 4, characterized in that, The process of determining that the nearest neighbor solution dominates the original solution includes: If the total lease cost of the neighboring solution is less than or equal to the total lease cost of the original solution, the requested delay of the neighboring solution is less than or equal to the requested delay of the original solution, and the total lease cost and requested delay of the neighboring solution and the original solution are not simultaneously equal, then the neighboring solution dominates the original solution.

8. The heterogeneous cluster parallel multi-stage fuzzy job scheduling method according to claim 1, characterized in that, In step four, the process of performing non-dominated sorting and crowding distance calculation on the merged population to select the next generation of parent population includes: After removing duplicate solutions with the same objective function value from the merged population, a cloning-based population pruning mechanism is used to screen individuals to obtain a pruned and merged population. The pruned and merged population is then sorted into several non-dominated front layers, and the crowding distance of individuals within each non-dominated front layer is calculated. All individuals in the pruned and merged population are sorted from high to low according to the non-dominated layer level, and within the same non-dominated layer, they are sorted from large to small according to the crowding distance. Individuals that meet the ranking requirements are selected to form the new generation parent population.

9. The heterogeneous cluster parallel multi-stage fuzzy job scheduling method according to claim 8, characterized in that, The process of selecting individuals using a cloning-based population pruning mechanism to obtain a pruned and merged population includes: In the deduplicated merged population, a preset proportion of dominant individuals are selected, and each dominant individual is cloned to obtain a cloned population. A low-probability mutation is performed on each cloned individual in the cloned population. The dominance relationship between the mutated cloned individual and the corresponding dominant individual is calculated. If the cloned individual is dominated by the corresponding dominant individual, it is removed; otherwise, it is retained. The retained cloned individuals are merged with the deduplicated merged population. If the number of individuals in the merged population is insufficient, supplementary individuals are generated using random and inversion rules until the number of individuals reaches a preset value, thus obtaining the pruned and merged population.

10. The heterogeneous cluster parallel multi-stage fuzzy job scheduling method according to claim 8, characterized in that, The calculation process of crowding distance includes: if an individual is a non-boundary individual, the normalized sum of the differences in function values ​​between adjacent solutions on two optimization objective functions is calculated as the crowding distance; if an individual is a boundary individual, the average of the crowding distances of other individuals in the corresponding non-dominated front layer is added to a preset offset as the crowding distance.

Citation Information

Cited By

  • Server-free MapReduce multi-target scheduling optimization method

    CN121636121A