Associative Task Scheduling Method and System in Cloud Environment Based on Hyper-Heuristic Algorithm
Through the task scheduling method based on hyperheuristic algorithm, low-level algorithm pool, mobile acceptance method pool and high-level selection strategy, the robustness and efficiency problems in cloud platform related task scheduling are solved, and better scheduling solutions and resource utilization are achieved.
Patent Information
- Application Number
- CN202210725058.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-24
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2042-06-24
AI Technical Summary
When facing large-scale service calls, the cloud platform now has difficulty getting close to the Pareto optimal frontier, has poor robustness, and cannot effectively utilize the previous scheduling experience, resulting in high resource vacancy rate and low scheduling efficiency.
The task scheduling method based on hyperheuristic algorithm is adopted, including low-level algorithm pool, mobile acceptance method pool and high-level selection strategy, and the algorithm selection is guided through the reward table mechanism, accumulate scheduling experience, and optimize task completion time and cloud computing cost.
The scheduling efficiency and rationality of related tasks in the cloud environment are improved, and the scheduling scheme obtained is closer to the Pareto optimal frontier, reducing resource waste.
Smart Images

Figure CN115185656B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure belongs to the technical field of task scheduling in a cloud environment, and in particular relates to a method and system for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm. Background Art
[0002] The statements in this section merely provide background information related to the present disclosure and do not necessarily constitute prior art.
[0003] When cloud platforms face large-scale service calls, expanding the scale of their underlying computing resources and distributing related services and components as cloud tasks is a method for meeting these demands while simultaneously reducing the cost of purchasing underlying computing resources. Due to the heterogeneous nature of underlying computing resources and cloud tasks, task scheduling in cloud environments is an NP-hard problem. Whether a reasonable mapping between underlying computing resources and tasks can be established directly impacts task completion time, cloud platform operating costs, and the load balancing of underlying computing resources.
[0004] However, the inventors found that the solution sets obtained by current scheduling algorithms for related tasks are difficult to approach the Pareto optimal frontier. At the same time, some algorithms have poor robustness and cannot stably obtain high-quality scheduling solutions. In addition, although scheduling algorithms have been deployed on cloud platforms for a long time, most current scheduling algorithms cannot accumulate experience from multiple task scheduling and have high resource vacancy rates. Specifically, the existing scheduling algorithms have the following main problems:
[0005] (1) Due to the heterogeneity of basic computing resources and tasks, the large scale of tasks to be scheduled, and the complex structure of some related tasks, the task scheduling problem in the cloud computing environment has a complex solution space and is an NP-hard problem. When the scheduling algorithm solves multiple optimization objectives, it is easy to fall into local optimality and it is difficult to approach the Pareto optimal frontier.
[0006] (2) To ensure efficient and stable operation of various cloud-based ecosystems, various cloud-based systems are required to have strong robustness. However, the complex solution space leads to poor robustness of the population-based scheduling algorithm. The scheduling solution obtained by the algorithm is sometimes good and sometimes bad, which does not meet the needs of the cloud computing environment.
[0007] (3) The cloud service platform utilizes the experience gained from previous scheduling schemes. Scheduling algorithms are deployed on cloud computing platforms for a long time. Analyzing the characteristics of task sets and scheduling results in previous task scheduling instances can provide useful "experience." On the one hand, existing scheduling algorithms only schedule the current task set and do not utilize the "experience" accumulated from previous scheduling on the cloud platform. On the other hand, "experience" often only includes the characteristics of the task set and scheduling results, making it difficult to effectively utilize. Summary of the Invention
[0008] In order to solve the above problems, the present disclosure provides a method and system for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm. The scheme is based on an independently designed hyper-heuristic algorithm, and takes the completion time of the task set and the cost of purchasing basic cloud computing services by the cloud platform as optimization objectives to schedule associated tasks. The scheme performs better than existing algorithms under task sets with different task numbers, and the obtained scheduling scheme is closer to the Pareto optimal frontier, effectively improving the scheduling efficiency and rationality of associated tasks in the cloud environment.
[0009] According to a first aspect of an embodiment of the present disclosure, a method for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm is provided, comprising:
[0010] Get the associated task set to be scheduled;
[0011] With the goal of minimizing task completion time and basic cloud computing service costs in the cloud environment, the tasks in the associated task set are optimized and scheduled based on a hyper-heuristic algorithm to obtain the optimal scheduling solution;
[0012] Among them, the hyper-heuristic algorithm includes a low-level algorithm pool, a mobile acceptance method pool and a high-level selection strategy; the low-level algorithm pool is composed of several basic task scheduling algorithms, and the basic task scheduling algorithm is used to schedule the task sequence; the mobile acceptance method pool is composed of several acceptance methods, which are used to select the population retained in the next round of iterative low-level algorithm from the solution set obtained by the current low-level algorithm iteration; the high-level selection strategy is based on the reward table mechanism, selecting the basic task scheduling algorithm used in the current round from the low-level algorithm pool, and selecting the acceptance method that meets the current needs from the mobile acceptance method pool.
[0013] Furthermore, the high-level selection strategy is based on a reward table mechanism, which takes the selection of the basic task scheduling algorithm and the acceptance method by the reward table as an action, and takes the unit diversity of the population obtained by the current basic task scheduling algorithm and the solution status of the population as environmental information. The fitness function value and the population diversity status of the solution set obtained after the basic scheduling algorithm is selected and calculated each time generate a reward value. Based on the reward value, the selection probability of different basic task scheduling algorithms in the low-level algorithm pool and the selection probability of the mobile acceptance method in the mobile acceptance method pool are calculated. The selection of the basic task scheduling algorithm and the acceptance method is realized based on the selection probability. At the same time, the reward table is updated to realize the accumulation of experience.
[0014] Furthermore, the calculation of the reward value is based on the fitness function value and population diversity obtained each time the basic task scheduling algorithm is selected and the operation is completed, wherein the population diversity is calculated by dividing the Hamming distance between the optimal solution of the current basic task scheduling algorithm and other candidate solutions by the product of the total number of tasks and the total number of populations.
[0015] Furthermore, the fitness function used in the task scheduling method is specifically expressed as follows:
[0016] f=ωf m +(1-ω)f c ,ω∈(0,1)
[0017] Among them, f m is the fitness function based on completion time, f c is the cost-based fitness function, and ω is a parameter representing the proportion of adjustment completion time and user cost in the fitness function.
[0018] Furthermore, the mobile acceptance method pool includes:
[0019] The first moving acceptance method: select all populations in the solution set obtained by the current low-level algorithm iteration;
[0020] The second mobile acceptance method: using a quasi-random sequence to select a population from the solution set obtained by the current low-level algorithm iteration;
[0021] The third mobile acceptance method is to select the top 10% of the solutions from the solution set obtained by the current iteration of the low-level algorithm, and add random perturbations to the coding population of 20% of the high-quality solutions to generate a population that accounts for 40% of the total population in the solution set; at the same time, a quasi-random number sequence is used to initialize a new population twice the size of the real population, and the performance of the above population is tested through the fitness function, and the population with the top 50% performance is retained to form a new population together with the high-quality solutions obtained in the previous round of the algorithm.
[0022] Furthermore, the low-level algorithm pool includes but is not limited to particle swarm algorithm, fuzzy particle swarm algorithm, genetic algorithm and whale swarm algorithm.
[0023] According to a second aspect of an embodiment of the present disclosure, a system for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm is provided, comprising:
[0024] A data acquisition unit, which is used to obtain a set of associated tasks to be scheduled;
[0025] A task scheduling unit is used to optimize the scheduling of tasks in the associated task set based on a hyper-heuristic algorithm with the goal of minimizing task completion time and basic cloud computing service costs in a cloud environment to obtain an optimal scheduling solution;
[0026] Among them, the hyper-heuristic algorithm includes a low-level algorithm pool, a mobile acceptance method pool and a high-level selection strategy; the low-level algorithm pool is composed of several basic task scheduling algorithms, and the basic task scheduling algorithm is used to schedule the task sequence; the mobile acceptance method pool is composed of several acceptance methods, which are used to select the population retained in the next round of iterative low-level algorithm from the solution set obtained by the current low-level algorithm iteration; the high-level selection strategy is based on the reward table mechanism, selecting the basic task scheduling algorithm used in the current round from the low-level algorithm pool, and selecting the acceptance method that meets the current needs from the mobile acceptance method pool.
[0027] According to a third aspect of an embodiment of the present disclosure, an electronic device is provided, comprising a memory, a processor, and a computer program stored and running on the memory, wherein when the processor executes the program, the method for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm is implemented.
[0028] According to a fourth aspect of an embodiment of the present disclosure, a non-transitory computer-readable storage medium is provided, on which a computer program is stored. When the program is executed by a processor, the method for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm is implemented.
[0029] Compared with the prior art, the present invention has the following advantages:
[0030] The solution disclosed in the present invention provides a method and system for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm. The solution proposes a novel hyper-heuristic algorithm, which includes three parts: a high-level selection strategy, a low-level algorithm pool, and a mobile acceptance method pool. The high-level selection strategy is constructed based on a reward table to guide the selection of low-level algorithms and mobile acceptance methods; the reward table takes the selection of low-level algorithms and mobile acceptance methods as actions, and uses the unit diversity and search status of the population obtained by the low-level algorithm to constitute environmental information. The reward value is obtained and updated according to the diversity of the population and the fitness function value to realize the accumulation of scheduling experience; the low-level algorithm pool is composed of four classic meta-heuristic algorithms: particle swarm algorithm, genetic algorithm, fuzzy particle swarm algorithm and whale algorithm. After the low-level algorithm is selected by the high-level selection strategy, it is used to solve the current scheduling problem. The mobile acceptance method pool consists of three mobile acceptance methods with different degrees of population retention, which are used to migrate the current solution set when replacing the low-level algorithm; the scheme uses the completion time of the task set and the cost of purchasing basic cloud computing services by the cloud platform as optimization objectives to schedule associated tasks. Experiments have shown that the performance of this algorithm is better than that of existing algorithms under task sets with different numbers of tasks, and the obtained scheduling scheme is closer to the Pareto optimal frontier, effectively improving the scheduling efficiency and rationality of associated tasks in the cloud environment.
[0031] Advantages of additional aspects of the present disclosure will be given in part in the following description and in part will become apparent from the following description or learned through practice of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] The accompanying drawings, which constitute a part of the present disclosure, are used to provide a further understanding of the present disclosure. The exemplary embodiments of the present disclosure and their descriptions are used to explain the present disclosure and do not constitute an improper limitation to the present disclosure.
[0033] Figure 1 This is a schematic diagram of the cloud platform architecture described in the embodiments of the present disclosure;
[0034] Figure 2 A schematic diagram of a common scientific workflow described in an embodiment of the present disclosure;
[0035] Figure 3 Schematic diagram of the structure of a hyper-heuristic algorithm used in the method for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm according to an embodiment of the present disclosure;
[0036] Figure 4 This is a workflow diagram of the method for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm according to an embodiment of the present disclosure;
[0037] Figure 5 This is a workflow diagram of the mobile acceptance method described in an embodiment of the present disclosure;
[0038] Figure 6 Schematic diagram of experimental results of the method of the present disclosure and the existing method in a small-scale workflow described in the embodiments of the present disclosure;
[0039] Figure 7 Schematic diagram of experimental results of the method of the present disclosure and the existing method in a medium-scale workflow described in the embodiments of the present disclosure;
[0040] Figure 8 Schematic diagram of experimental results of the method described in the present disclosure and the existing method in a large-scale workflow described in the embodiments of the present disclosure. DETAILED DESCRIPTION
[0041] The present disclosure will be further described below with reference to the accompanying drawings and embodiments.
[0042] It should be noted that the following detailed descriptions are illustrative and intended to provide further explanation of the present disclosure. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which the present disclosure belongs.
[0043] It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit the exemplary embodiments according to the present disclosure. As used herein, unless the context clearly indicates otherwise, the singular form is intended to include the plural form. In addition, it should be understood that when the terms "comprise" and / or "include" are used in this specification, they indicate the presence of features, steps, operations, devices, components and / or combinations thereof.
[0044] In the absence of conflict, the embodiments of the present disclosure and the features thereof may be combined with each other.
[0045] Example 1:
[0046] The purpose of this embodiment is to provide a method for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm.
[0047] A method for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm includes:
[0048] Get the associated task set to be scheduled;
[0049] With the goal of minimizing task completion time and basic cloud computing service costs in the cloud environment, the tasks in the associated task set are optimized and scheduled based on a hyper-heuristic algorithm to obtain the optimal scheduling solution;
[0050] Among them, the hyper-heuristic algorithm includes a low-level algorithm pool, a mobile acceptance method pool and a high-level selection strategy; the low-level algorithm pool is composed of several basic task scheduling algorithms, and the basic task scheduling algorithm is used to schedule the task sequence; the mobile acceptance method pool is composed of several acceptance methods, which are used to select the population retained in the next round of iterative low-level algorithm from the solution set obtained by the current low-level algorithm iteration; the high-level selection strategy is based on the reward table mechanism, selecting the basic task scheduling algorithm used in the current round from the low-level algorithm pool, and selecting the acceptance method that meets the current needs from the mobile acceptance method pool.
[0051] Furthermore, the high-level selection strategy is based on a reward table mechanism, which takes the selection of the basic task scheduling algorithm and the acceptance method by the reward table as an action, and takes the unit diversity of the population obtained by the current basic task scheduling algorithm and the solution status of the population as environmental information. The fitness function value and the population diversity status of the solution set obtained after the basic scheduling algorithm is selected and calculated each time generate a reward value. Based on the reward value, the selection probability of different basic task scheduling algorithms in the low-level algorithm pool and the selection probability of the mobile acceptance method in the mobile acceptance method pool are calculated. The selection of the basic task scheduling algorithm and the acceptance method is realized based on the selection probability. At the same time, the reward table is updated to realize the accumulation of experience.
[0052] Furthermore, the calculation of the reward value is based on the fitness function value and population diversity obtained each time the basic task scheduling algorithm is selected and the operation is completed, wherein the population diversity is calculated by dividing the Hamming distance between the optimal solution of the current basic task scheduling algorithm and other candidate solutions by the product of the total number of tasks and the total number of populations.
[0053] Furthermore, the fitness function used in the task scheduling method is specifically expressed as follows:
[0054] f=ωf m +(1-ω)f c ,ω∈(0,1)
[0055] Among them, f m is the fitness function based on completion time, f c is the cost-based fitness function, and ω is a parameter representing the proportion of adjustment completion time and user cost in the fitness function.
[0056] Furthermore, the mobile acceptance method pool includes:
[0057] The first moving acceptance method: select all populations in the solution set obtained by the current low-level algorithm iteration;
[0058] The second mobile acceptance method: using a quasi-random sequence to select a population from the solution set obtained by the current low-level algorithm iteration;
[0059] The third mobile acceptance method is to select the top 10% of the solutions from the solution set obtained by the current iteration of the low-level algorithm, and add random perturbations to the coding population of 20% of the high-quality solutions to generate a population that accounts for 40% of the total population in the solution set; at the same time, a quasi-random number sequence is used to initialize a new population twice the size of the real population, and the performance of the above population is tested through the fitness function, and the population with the top 50% performance is retained to form a new population together with the high-quality solutions obtained in the previous round of the algorithm.
[0060] Furthermore, the low-level algorithm pool includes but is not limited to particle swarm algorithm, fuzzy particle swarm algorithm, genetic algorithm and whale swarm algorithm.
[0061] Specifically, the solution of this embodiment is described in detail below with reference to the accompanying drawings and specific examples:
[0062] It is a feasible idea for researchers in the field of cloud robotics to purchase basic cloud computing services from large cloud computing providers and develop a dedicated robot cloud service platform based on them. Based on this idea, this embodiment first introduces a robot cloud platform architecture that can meet large-scale service calls, and details the structures of the gateway layer, service deployment layer, basic cloud computing service management layer, etc. under this architecture. The cloud platform architecture is as follows: Figure 1 shown.
[0063] The gateway layer, serving as an intermediary between the robot and service deployment layers, includes components such as service authentication and protocol conversion. It is responsible for identity authentication and security authentication for external requests, standardized protocol processing, service invocation, and the expansion of basic computing services. The service deployment layer provides cloud service developers with various services packaged and deployed using standardized containers, and responds to services based on the service proxy components of the gateway layer. The basic resource layer, provided by the basic cloud computing service provider, provides the operating environment and computing power support for various services in the service deployment layer in the form of virtual machines. It is a highly elastic and scalable Infrastructure as a Service (IaaS).
[0064] Outside the cloud platform, robots submit service requests and invoke cloud services through standardized interfaces. The gateway layer, serving as an intermediary between the robots and the service deployment layer, includes components such as service authentication and protocol conversion. When an external robot sends a service call request, the service authentication component verifies the identity and key of the external request against the information in the current cloud platform service information retrieval library. If successful, the service authentication component re-verifies the identity based on the control address of the request. Simultaneously, the protocol conversion layer verifies the integrity of the protocol file of the external request, normalizes it, and submits it to the service proxy component. The service proxy component then calls the relevant cloud service from the service deployment layer and completes the operation on the underlying cloud computing resources purchased by the cloud platform.
[0065] To reduce the cost of purchasing basic cloud computing services for cloud platforms, the cloud computing resources required to maintain the basic services of the cloud platform are occupied by the cloud platform for a long time. This portion of basic cloud computing resources is called the fixed computing resource pool. When the service proxy component receives a large number of service call requests, the cloud platform will expand the current basic computing resources to meet the current computing power demand. To flexibly expand or reduce the scale of the basic cloud computing services purchased by the cloud platform without affecting the basic functions of the current cloud platform, the expanded basic cloud computing resources will be connected to the cloud service platform in the form of multiple heterogeneous virtual machines, which is called the elastic computing resource pool. The above architecture has the advantages of high elasticity and scalability, which can meet large-scale service call scenarios while reducing the cost of purchasing basic cloud computing resources for cloud platform providers. This paper aims to solve the task scheduling problem when large-scale service calls occur under this architecture.
[0066] In the problem of task scheduling in cloud environments, related tasks can be represented by scientific workflows. Scientific workflows are often represented by a distributed acyclic graph (DAG), where nodes represent tasks and edges between nodes represent data communication between tasks. Typical scientific workflows include Montage and CyberShake. Compared with independent task scheduling, related task scheduling needs to take into account the dependencies between tasks and the communication costs between tasks. Common scientific workflows include Figure 2 shown.
[0067] The dependency relationship between related tasks can be represented by the DAG model G = (V, E), where V represents the set of tasks and E represents the set of edges between nodes, i.e., the data communication and association relationship between tasks. i ∈V represents a node, i.e., a task in the workflow, and e(i,j)∈E represents task v i With task v j The data transmission between the two also represents the task v j The operation needs to be based on task v i At the same time, the matrix W represents the expected completion time of each task on a certain virtual machine, such as w i,j Indicates v i In the virtual machine vm j The expected completion time for the operation to complete.
[0068] In a DAG graph, a node without a predecessor is called an entry node, and a node without a successor is called an exit node. Task processing begins with the task represented by the entry node and ends after the task represented by the exit node is completed. If a DAG graph has multiple entry nodes, a pseudo-predecessor node with a computational cost of zero and a communication cost of zero with other nodes must be added as the predecessor node of all entry nodes to facilitate calculations. Similarly, when a DAG graph has multiple exit nodes, a pseudo-successor node with a computational cost of zero and a communication cost of zero with other nodes must be added as the successor node of all exit nodes to facilitate calculations.
[0069] When the task v i The allocated virtual machine vm n Available, Task v i The predecessor nodes have completed the calculation and transferred the relevant data to the virtual machine vm n After that, task v i The calculation can begin. Task v i In the virtual machine vm n The earliest start time EST(v i ,vm n ) can be expressed as:
[0070]
[0071] In the above formula, r(v i ,vm n ) indicates a virtual machine vm n The earliest available time, pred(v i ) represents task v i The precursor task set, EFT(v j ,vm m ) represents task v j The earliest completion time, c i,j Represents task v j With task v i The data transmission cost between them is i,j is 0. Let w i,j Indicates v i In the virtual machine vm n The expected completion time of the calculation is then task v i The earliest completion time EFT(v i ,vm n ) can be expressed as:
[0072] EFT(v i ,vm n )=EST(v i ,vm n )+w i,j (2)
[0073] Exit Node v exit The completion time of is the completion time of the entire workflow, and the final completion time of the workflow can be expressed as:
[0074] makespan=EFT(v exti ) (3)
[0075] Assume EFT(v f ,vm n ) is the virtual machine vm n The last task v assigned f The earliest completion time, let vm n The price per unit time is p n , then rent a virtual machine vm n The total cost is:
[0076]
[0077] Let the virtual machine set be VM = {vm n |j∈[1,N]}, the total cost sumcs to complete the task can be expressed as:
[0078]
[0079] Scheduling of inter-tasks requires considering the priorities, dependencies, and communication costs between tasks. A reasonable scheduling algorithm can significantly shorten the final completion time of inter-tasks.
[0080] In order to solve the problems of weak robustness of the associated task scheduling algorithm in the cloud computing environment, the difficulty of obtaining a solution set close to the Pareto optimal frontier, and the inability to accumulate experience in multiple task scheduling, this embodiment takes the task completion time and the cost of the cloud platform purchasing basic cloud computing services as the optimization objectives, and proposes a method for scheduling associated tasks in the cloud environment based on a hyper-heuristic algorithm (hereinafter referred to as HHRL-D). The algorithm consists of three parts: a high-level selection strategy, a low-level algorithm pool, and a mobile acceptance method pool. The low-level algorithm pool consists of a particle swarm algorithm, a fuzzy particle swarm algorithm, a genetic algorithm, and a whale group algorithm; the mobile acceptance method pool consists of three mobile acceptance methods with different degrees of acceptance of the population; the high-level selection strategy is constructed based on a reward table to guide the algorithm in selecting the underlying algorithm and the mobile acceptance method, while accumulating experience in multiple task scheduling. Finally, this embodiment compares with multiple scheduling algorithms under the problem of associated task scheduling with different task scales to verify the effectiveness of the algorithm.
[0081] In 2000, Cowling first proposed the hyperheuristic algorithm and applied it to scheduling problems. Cowling defined a hyperheuristic algorithm as an algorithm whose search space consists of other heuristic algorithms. Following subsequent research, Burke further described the concept of a hyperheuristic algorithm: a hyperheuristic algorithm is an algorithm that uses a higher-level heuristic method to control and manage several lower-level heuristic methods to solve various combinatorial optimization problems.
[0082] Based on the shortcomings of the existing methods, this embodiment proposes a method for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm. The method consists of three parts: a low-level algorithm pool, a mobile acceptance method pool, and a high-level selection strategy. Among them, the low-level algorithm pool consists of a particle swarm algorithm, a fuzzy particle swarm algorithm, a genetic algorithm, and a whale group algorithm; the mobile acceptance method pool consists of three mobile acceptance methods with different degrees of acceptance of the population; the high-level selection strategy is constructed based on a reward table to guide the algorithm to select low-level algorithms and mobile acceptance methods. The reward table takes the selection of low-level algorithms and mobile acceptance methods as actions, and the unit diversity and search status of the population obtained by the low-level algorithm constitute environmental information. The reward value is obtained and self-updated according to the diversity of the population and the fitness function value. After each round of task scheduling is completed, experience can be accumulated. In order to prove that the high-level selection strategy proposed in this article is universal for different low-level algorithm pools, this article constructs two algorithms, HHRL-1 and HHRL-2, based on two different low-level algorithm pools. The algorithm structure is as follows Figure 3 As shown, the algorithm flow is as follows Figure 4 As shown; the three components of the method are described in detail below:
[0083] (1) Low-level algorithm pool
[0084] In a hyperheuristic algorithm, at least two scheduling algorithms are generally embedded as low-level algorithms in a low-level algorithm pool. Most existing scheduling algorithms can be used as low-level algorithms, and low-level algorithms are easy to replace. Therefore, the construction of a low-level algorithm pool is not a key to the design of a hyperheuristic algorithm. Given that hyperheuristic algorithms such as the Hyperheuristic Task Scheduling Algorithm (HHSA) and the Time-Driven Hyperheuristic Algorithm (CDTHH) all use four metaheuristic algorithms to form a low-level algorithm pool, for the convenience of comparison, the algorithm proposed in this chapter uses four metaheuristic algorithms: particle swarm algorithm (PSO), fuzzy particle swarm algorithm (Fuzzy-PSO), genetic algorithm (GA), and whale swarm algorithm (WOA) to form a low-level algorithm pool.
[0085] Among them, PSO is derived from the imitation of bird foraging behavior. Particles adjust their speed and position according to the current individual extreme value and the current global optimal solution shared by the entire particle swarm. Fuzzy-PSO blurs the speed and direction of the particles, thereby enhancing the randomness of the particle swarm and avoiding falling into the local optimum too early. GA is a group search algorithm that imitates the genetic and evolutionary phenomena of biological organisms in nature. The genetic algorithm represents candidate solutions through an encoding method similar to that of DNA storing base pairs. Through operations such as crossover and mutation between candidate solutions, the search space is continuously expanded to gradually obtain high-quality solutions. WOA imitates the behavior of whales driving and surrounding prey during the hunting process. In each generation, whales will randomly surround or drive prey and randomly approach other individuals as targets to achieve optimization in the search space.
[0086] (2) Mobile receiving method pool
[0087] In the hyper-heuristic algorithm, different low-level algorithms will be selected to solve the current problem. However, in order to ensure the continuity of the solution process, the hyper-heuristic algorithm needs to design a special mobile acceptance method to migrate the current population to the next round of selected low-level algorithms, so as to ensure the continuity of the low-level algorithm solution process until the algorithm reaches the termination condition. The process of the mobile acceptance method is as follows Figure 5 shown.
[0088] Traditional hyper-heuristic algorithms often save a portion of the best solutions from the current candidate set during the low-level algorithm switchover phase. These solutions are then combined with randomly initialized candidate solutions to form a new solution set when the next low-level algorithm is selected. However, this type of mobile acceptance method can easily lead to a chaotic population distribution, preventing it from being evenly and regularly distributed within the candidate solution range. This disrupts the population's original search trend, slowing the algorithm's convergence. Furthermore, directly adding the best solutions from the previous iteration to the population can easily cause the population to quickly converge to the best solutions from the previous iteration, limiting the population's search range.
[0089] Furthermore, this approach fails to consider the current search state of the underlying algorithm, making it difficult to balance the continuity of the solution with the expansion of the search space. When the fitness function of a specific underlying algorithm fails to improve after multiple iterations, the current population can be considered to have fallen into a local optimum. Initializing the population within a larger solution space is necessary to expand the search range and seek the global optimum. When the fitness function value changes significantly with each iteration of the underlying algorithm, the current population can be considered to still have a large room for convergence. Initializing the population on a large scale will undoubtedly disrupt the current population's already favorable search trend. When the fitness function value improves slightly with each iteration of a specific underlying algorithm, the current population can be considered to be close to a local optimum and is likely to fall into this local optimum. At this point, it is necessary to maintain the search for the local optimum while expanding the search range to find a better-performing approximate optimal solution.
[0090] To solve the above problems, this paper proposes three mobile acceptance methods with different acceptance levels of the original solution set, which constitute the candidate pool of mobile acceptance methods.
[0091] (1) All acceptance method: retain all the populations obtained by the current low-level algorithm iteration to the next round of low-level algorithm iteration.
[0092] (2) Based on the quasi-random number sequence method for preliminary screening, a quasi-random number sequence is used to generate a population, and the population is preliminarily screened using the fitness function. When a new round of selected low-level algorithms is run, a new population twice the size of the actual population is generated using the quasi-random number sequence method. Subsequently, the above population is tested using the fitness function, and the population with the top 90% performance and the high-quality population with the top 10% fitness function value obtained in the previous round of the algorithm are retained to form a new population. The quasi-random number sequence can make the newly generated population evenly distributed in the solution space without missing part of the solution space, and the screening by the first-come-first-served method with extremely low computational cost can effectively avoid the inefficient search caused by the random distribution of the population.
[0093] (3) A quasi-random sequence method based on preliminary screening similar to (2). The difference is that this method retains the top 10% of the best solutions and adds random perturbations to the codes of 20% of the above-mentioned best solutions, generating a population that accounts for 40% of the total population. At the same time, a new population twice the size of the actual population is initialized using the quasi-random sequence method, and the performance of the above population is tested using the fitness function. The population with the top 50% performance is retained and combined with the best population obtained in the previous round of the algorithm to form a new population.
[0094] Based on the design experience of metaheuristic algorithms, when a low-level algorithm has not improved its fitness function after multiple rounds of iteration, the (2) mobile acceptance method should be used to initialize the population on a large scale to expand the search range and seek the global optimum; and when the fitness function value changes significantly with the iteration of the low-level algorithm, the (1) method should be used to maintain the original good search trend. However, the factors that affect the search efficiency of the metaheuristic algorithm are complex, and the mobile acceptance method selection strategy based on experience is difficult to adapt to the actual needs of the population under different search states. Therefore, this paper selects the mobile acceptance method of the population based on a dynamically updated high-level selection strategy rather than based on experience, seeking the optimal match between the mobile acceptance method and the population search state.
[0095] (3) High-level selection strategy
[0096] The high-level selection strategy of a hyperheuristic algorithm determines its selection strategy for lower-level algorithms and population movement acceptance methods, and is the key to its design. The design of this high-level selection strategy presents the following challenges: Common high-level selection strategies select lower-level algorithms randomly or based on specific rules. However, these high-level selection strategies often rely on single, deterministic rules based on experience, making it difficult to accurately map the population search state to the solution strategy. Furthermore, scheduling algorithms are deployed long-term on cloud platforms, and common high-level selection strategies cannot leverage the experience gained during each scheduling round.
[0097] One approach involves a genetic programming-based hyperheuristic algorithm (GP-HH), while the other employs adaptive methods commonly used in metaheuristic algorithms to construct a high-level selection strategy. However, these strategies only establish a pre-determined correspondence between the high-level selection strategy and the pool of low-level algorithms and move acceptance methods. Metaheuristic algorithms optimize targets across a large population, resulting in a high degree of randomness and complex factors affecting their effectiveness. The researchers' empirically-based adaptive methods struggle to accurately map the population's search state to the solution strategy. Therefore, this paper proposes a high-level selection strategy based on a reward table, drawing on reinforcement learning.
[0098] This paper constructs a high-level selection strategy based on a reward table. The reward table takes the selection of low-level algorithms and mobile acceptance methods as actions, and uses the unit diversity of the population obtained by the current low-level algorithm operation and the solution status of the population as environmental information. The reward value is generated by the fitness function value and population diversity status of the solution set obtained after each low-level algorithm is selected and calculated, and the reward table is updated to accumulate experience.
[0099] Environmental information includes the unit population diversity and the current population search status. In order to avoid unfair population diversity calculations due to different numbers of tasks, in HHRL, population diversity is calculated by dividing the Hamming distance between the optimal solution and other candidate solutions by the product of the total number of tasks and the total number of populations. Here, L = {l i |i∈[1,N]} represents the current population, s i ={x i,j |j∈[1,M]} represents the candidate solution s in S i , s b represents the current optimal solution, then the population diversity can be expressed as:
[0100]
[0101] The unit population diversity ud can be expressed as:
[0102]
[0103] At the same time, based on ud's environmental d Make a classification:
[0104]
[0105] This paper judges the search status of the current population by calculating the transformation and change rate of the fitness function value obtained by each iteration of the low-level algorithm. This paper proposes the HHRL algorithm, whose upper limit of the iteration round of the low-level algorithm is limited to 10 times. Suppose R i The fitness function value f obtained by the i-th round iteration of the current low-level algorithm i The corresponding reward value, μ represents the number of optimization times of the fitness function value, and the calculation method of μ is:
[0106]
[0107] As defined below in this chapter, R i The value of will be controlled within the interval (0.5, 1). Therefore, μ represents the number of times the fitness function value of the lower-level algorithm is better than that of the previous iteration. As shown in Equation (3-5), using μ as the classification basis, this paper divides the search state of the population into four cases.
[0108]
[0109] η represents the rate of change of the fitness function, and the calculation method of η is:
[0110]
[0111] Based on η, this paper divides the search state of the population into four situations:
[0112]
[0113] Environmental information based on unit population diversity d and e based on low-level algorithm solution process μ 、e η The permutations and combinations together constitute the current status information.
[0114] The reward value is calculated based on the fitness function value and population diversity obtained after each low-level algorithm is selected and the operation is completed. R(s,a) represents the reward value, R1(s,a) represents the reward value generated by the change in the fitness function value, and R2(s,a) represents the reward value generated by the population diversity. a represents the action, that is, the low-level algorithm used in the current iteration, λ represents the weighting coefficient, and s represents the current state information. The reward value is calculated as follows:
[0115] R(s,a)=λR1(s,a)+(1-λ)R2(s,a) (13)
[0116] The construction of the reward table in a cloud environment requires multiple rounds of iterations and is updated through the fitness function value. This paper optimizes the two evaluation indicators of task completion time and user cost. Makespan is used to represent the completion time of the task. The fitness function based on the completion time is:
[0117]
[0118] Among them, sumcs represents the total cost, and the cost-based fitness function is designed as:
[0119]
[0120] Among them, ω is a parameter that represents the proportion of adjustment completion time and user cost in the fitness function. The complete fitness function can be expressed as:
[0121] f=ωf m +(1-ω)f c ,ω∈(0,1) (16)
[0122] R1(s,a) based on the fitness function value can be expressed as:
[0123]
[0124] The advantage of formula (17) is that it ensures that R1(s,a) is sensitive to changes in f within a certain range, and shows marginal effects for excessively large f, while controlling the value of R1(s,a) within the interval of (0.5,1).
[0125] R2(s,a) represents the unit complexity of the population. It is easy to see that the value of R2(s,a) is in the range of (0,1). Controlling the range of R1(s,a) and R2(s,a) can enhance the robustness of the reward table and avoid situations where excessively large reward values lead to imbalanced high-level selection strategies. The calculation method of R2(s,a) based on population diversity is:
[0126] R2(s,a)=ud (18)
[0127] Finally, the reward table is updated as follows:
[0128] Q(s,a)=αQ'(s,a)+R(s,a)+βmaxR(s',a') (19)
[0129] Here, Q'(s,a) represents the reward value for selecting action a in the current state s. α represents a constant greater than 0 and less than 1, controlling the degree of reward retention across iterations. β represents a constant greater than 0 and less than 1, determining the weight of delayed rewards. maxR(s',a') represents the reward value for action α' with the highest reward value in the state s' reached after the current iteration. Action a involves selecting a move acceptance strategy and a low-level selection method. It is important to note that the high-level selection strategy has five possible options for selecting a low-level selection method: four of which involve re-calling the low-level algorithm pool and selecting a low-level selection method from it, and one of which involves not calling the low-level algorithm pool and continuing optimization using the current low-level algorithm. Although the results show that only four low-level algorithms are likely to be called, the probability of the high-level selection strategy continuing to select the current algorithm and the probability of selecting the current algorithm from the low-level algorithm pool are calculated separately during the calculation process. This provides the high-level selection strategy with options for maintaining the current optimization state.
[0130] Assume that the action set A = {a i |i∈[1,M]},P(s n ,a m ) means in state s n Next action a m ∈A is selected, then P(s n ,a m ) can be expressed as:
[0131]
[0132] In this section, workflow datasets such as Montage, CyberShakeSipht, and Epigenomics are used to represent related tasks in the Workflowsim environment. The scheme described in this embodiment (i.e., HHRL-D) is compared with existing methods HHSA, CDTHH, GP-HH, NAGA-Ⅱ, and MOHEFT, and the experimental results are analyzed.
[0133] (1) Experimental environment and parameter settings
[0134] CloudSim is a common simulation framework for simulating cloud computing infrastructure and services. However, CloudSim only supports the computation of a single workload and lacks consideration for task dependencies. WorkflowSim builds on CloudSim's existing workflow scheduling layer by adding components such as a workflow mapper, workflow engine, cluster engine, fault generator, and fault monitor, focusing on the simulation of workflow scheduling and computation. Therefore, this paper implements the simulation of the scheduling and computation of Montage, CyberShake, Sipht, and Epigenomics datasets within the workflowsim environment.
[0135] The HHRL-D algorithm's low-level algorithm pool consists of GA, PSO, WOA, and F-PSO. The control group includes three hyper-heuristic algorithms: HHSA, CDTHH, and GP-HH, as well as NAGA-II and MOHEFT, two widely used algorithms in the field of interconnected task scheduling. The parameters of the algorithms mentioned above remain unchanged. The parameters of the algorithms not mentioned above, namely NAGA-II and MOHEFT, are shown in Table 1.
[0136] Table 1 Parameter settings of each algorithm
[0137]
[0138]
[0139] (2) Experimental results and analysis
[0140] Four hyperheuristic algorithms (HHRL-D, HHSA, GP-HH, and CDTHH) and two common associated task scheduling algorithms (NAGA-II and MOHEFT) were run 20 times each, and the resulting solution sets were compared. The experimental results are shown in Tables 2 to 7. Tables 2 and 3 respectively present the optimal completion time and cost values of all candidate solutions obtained from each algorithm's 20 runs on each data set. Tables 4 and 5 present the variance of the optimal completion time and cost values obtained for each algorithm per run. Table 6 presents the hypervolume difference between the control algorithm and HHRL-D, and Table 7 presents the solution set coverage difference between the control algorithm and HHRL-D.
[0141] Table 2 Optimal completion time of each algorithm
[0142]
[0143] Table 3 Optimal cost values of each algorithm
[0144]
[0145]
[0146] Table 2 shows that HHRL-D achieves the shortest completion time on all datasets except CyberShake_30. The CyberShake_30 dataset is relatively small, so the performance differences among the algorithms are less pronounced. Therefore, the control group algorithm is more likely to achieve a better optimal value than HHRL-D.
[0147] Table 3 shows that the control algorithm achieves better optimal values than HHRL-D in terms of cost, compared to completion time, on multiple datasets. The reason for this is similar to the situation in Chapter 3. Because completion time accounts for a larger proportion in the HHRL-D fitness function setting, the HHRL-D algorithm places greater emphasis on optimizing completion time, resulting in a smaller cost advantage for HHRL-D compared to the control algorithm.
[0148] Table 4 Standard deviation of completion time
[0149]
[0150] Table 5 Standard deviation of costs
[0151]
[0152]
[0153] Table 4 shows that on all datasets except Montage_25, HHRL-D achieves the smallest standard deviation of the optimal completion time for each solution set, demonstrating its superior robustness. On small-scale datasets such as CyberShake_30 and Epigenomics_24, the difference in standard deviation between HHRL-D and the control algorithm is small. However, on large-scale workflows such as CyberShake_100, the standard deviation increases significantly, demonstrating HHRL-D's superiority in scheduling large-scale workflows. Table 5 shows that the standard deviation of the optimal cost for each solution set achieved by HHRL-D is the smallest for most workflows, also demonstrating its superior robustness. Because MOHEFT is a deterministic algorithm, it is not included in the variance comparison here.
[0154] Table 6 Excess volume difference
[0155]
[0156] Table 7 Solution set coverage difference
[0157]
[0158]
[0159] Table 6 shows that HHRL-D does not exhibit a significant advantage in hypervolume over GP-HH on small-scale datasets such as Montage_25, CyberShake_30, and Sipht_30. GP-HH even achieves larger hypervolumes than HHRL-D on the Montage_25 and CyberShake_30 workflows. However, HHRL-D exhibits a significant advantage on large-scale workflows such as Montage_100 and CyberShake_100. In comparisons with other algorithms, HHRL-D achieves significantly higher hypervolumes than the control algorithms on small-scale workflows, and the hypervolume difference increases with increasing workflow size. A comparison of the hypervolume difference indicates that the non-dominated solution set obtained by HHRL-D is closer to the Pareto optimal frontier, exhibits better convergence and diversity, and has higher solution quality. Furthermore, HHRL-D's advantage tends to increase with increasing workflow size.
[0160] Table 7 shows that HHRL-D's solution set coverage is higher than that of the control algorithm in most cases. In comparison with GP-HH, on the CyberShake_30 workflow, HHRL-D's coverage of GP-HH is very close to GP-HH's coverage of HHRL-D, a result similar to that shown in Table 6. This indicates that on this workflow, HHRL-D achieves similar solution set performance to GP-HH. However, data on other workflows show that HHRL-D still has a significant advantage over GP-HH on most workflows.
[0161] In comparison with other algorithms, the difference in solution set coverage between HHRL-D and other algorithms exceeds 50% in most workflows. This is because the solution set of HHRL-D dominates the majority of solutions in the solution set of the control group algorithm, while the control group only dominates a small number of solutions in the solution set of HHRL-D. This shows that the non-dominated solution set obtained by HHRL-D is closer to the Pareto optimal frontier, and the overall quality of the solution set is better than the solution set obtained by the control group algorithm.
[0162] In workflows such as Epigenomics_100, the difference in solution set coverage is far less significant than when compared with other algorithms. This is because solution set coverage indicates the degree of dominance of one solution set over another. For a solution in a solution set, there are only two states: dominated or not dominated. This reflects the dominance relationship between two solutions, but not the degree of dominance. The hyperheuristic algorithm is stochastic. Therefore, when the control algorithm contains a small number of solutions close to the Pareto optimal front, this will manifest as a difference between high and low coverage of the control solution set over the HHRL-D solution set. The solution set coverage differences recorded in Table 7 show that the HHRL-D solution set performs better overall than the control algorithm's solution set.
[0163] Table 8 Resource vacancy rate
[0164]
[0165]
[0166] Table 8 shows the average computing resource vacancy rate corresponding to the Pareto solution set of each algorithm. As can be seen from Table 8, the larger the scale of the workflow, the lower the computing resource vacancy rate. This is because the computation of the workflow's exit tasks easily leads to resource vacancy, which accounts for a high proportion of the total idle time. Large-scale workflow computation reduces the proportion of resource idle time caused by exit tasks in the total time, thus reducing the computing resource vacancy rate. HHRL-D has a low computing resource vacancy rate for most workflows. This is because HHRL-D directly incorporates the computing resource vacancy rate into the calculation of the fitness function. Scheduling schemes with low computing resource vacancy rates can obtain higher fitness functions and have a greater chance of being retained. Table 8 shows that HHRL-D can reduce the computing resource vacancy rate.
[0167] Figures 6 to 8 The non-dominant solutions obtained from twenty runs of four hyper-heuristic algorithms, HHRL-D, HHSA, GP-HH, and CDTHH, as well as two common algorithms, NAGA-II and MOHEFT, are shown. On small-scale workflows such as Sipht_30 and Epigenomics_24, the non-dominant solutions of the control group algorithms perform similarly to, or even partially better than, those obtained by HHRL-D. However, as the scale of the workflow increases, HHRL-D's advantage over the control group gradually increases. The figure clearly shows that the non-dominant solutions obtained by HHRL-D outperform the control group algorithms on most workflows and are closer to the Pareto optimal frontier.
[0168] In this section, using the Workflowsim environment, HHRL-D is compared with four hyper-heuristic algorithms—HHSA, GP-HH, and CDTHH—as well as two common algorithms, NAGA-II and MOHEFT, in terms of completion time and the cost of purchasing basic cloud computing services from cloud platforms for the problem of linked task scheduling. Experimental results show that HHRL-D outperforms the control algorithms across all evaluation metrics, with a particularly significant advantage in large-scale workflow scheduling. The resulting solution set is closer to the Pareto optimal frontier, effectively reducing resource vacancy rates and exhibiting greater robustness. Furthermore, HHRL-D outperforms HHSA, demonstrating that the proposed high-level selection strategy can accumulate experience over multiple scheduling cycles, improving algorithm performance.
[0169] Example 2:
[0170] The purpose of this embodiment is to provide a hyper-heuristic algorithm-based associated task scheduling system in a cloud environment.
[0171] A hyper-heuristic algorithm-based associated task scheduling system in a cloud environment includes:
[0172] A data acquisition unit, which is used to obtain a set of associated tasks to be scheduled;
[0173] A task scheduling unit is used to optimize the scheduling of tasks in the associated task set based on a hyper-heuristic algorithm with the goal of minimizing task completion time and basic cloud computing service costs in a cloud environment to obtain an optimal scheduling solution;
[0174] Among them, the hyper-heuristic algorithm includes a low-level algorithm pool, a mobile acceptance method pool and a high-level selection strategy; the low-level algorithm pool is composed of several basic task scheduling algorithms, and the basic task scheduling algorithm is used to schedule the task sequence; the mobile acceptance method pool is composed of several acceptance methods, which are used to select the population retained in the next round of iterative low-level algorithm from the solution set obtained by the current low-level algorithm iteration; the high-level selection strategy is based on the reward table mechanism, selecting the basic task scheduling algorithm used in the current round from the low-level algorithm pool, and selecting the acceptance method that meets the current needs from the mobile acceptance method pool.
[0175] In further embodiments, there is also provided:
[0176] An electronic device includes a memory and a processor, and computer instructions stored in the memory and executed by the processor. When the computer instructions are executed by the processor, the method described in Example 1 is performed. For the sake of brevity, no further details are given here.
[0177] It should be understood that in this embodiment, the processor may be a central processing unit (CPU), or may be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), off-the-shelf field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.
[0178] The memory may include a read-only memory and a random access memory, and provides instructions and data to the processor. A portion of the memory may also include a non-volatile random access memory. For example, the memory may also store information about the device type.
[0179] A computer-readable storage medium is used to store computer instructions, and when the computer instructions are executed by a processor, the method described in embodiment 1 is performed.
[0180] The method in Example 1 can be directly implemented as being executed by a hardware processor, or by a combination of hardware and software modules within the processor. The software module can be located in a storage medium well-established in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. The storage medium is located in the memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, a detailed description is not given here.
[0181] Those skilled in the art will appreciate that the units, i.e., algorithm steps, of the various examples described in this embodiment can be implemented using electronic hardware or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this disclosure.
[0182] The above embodiment provides a method and system for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm, which can be implemented and has broad application prospects.
[0183] The foregoing description is merely a preferred embodiment of the present disclosure and is not intended to limit the present disclosure. Those skilled in the art will readily appreciate that various modifications and variations are possible. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present disclosure shall be included within the scope of protection of the present disclosure.
Claims
1. A method for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm, characterized in that: include: Get the associated task set to be scheduled; With the goal of minimizing task completion time and basic cloud computing service costs in the cloud environment, the tasks in the associated task set are optimized and scheduled based on a hyper-heuristic algorithm to obtain the optimal scheduling solution; The hyper-heuristic algorithm includes a low-level algorithm pool, a mobile acceptance method pool, and a high-level selection strategy; the low-level algorithm pool is composed of several basic task scheduling algorithms, which are used to schedule task sequences; the mobile acceptance method pool is composed of several acceptance methods, which are used to select the population retained in the next round of low-level algorithm iteration from the solution set obtained from the current low-level algorithm iteration; the high-level selection strategy is based on a reward table mechanism, selecting the basic task scheduling algorithm used in the current round from the low-level algorithm pool, and selecting the acceptance method that meets the current needs from the mobile acceptance method pool; The high-level selection strategy is based on a reward table mechanism, which uses the reward table to select the basic task scheduling algorithm and the acceptance method as an action, and uses the unit diversity of the population obtained by the current basic task scheduling algorithm and the solution state of the population as environmental information. The fitness function value and the population diversity state of the solution set obtained after the basic scheduling algorithm is selected and calculated each time generate a reward value. Based on the reward value, the selection probability of different basic task scheduling algorithms in the low-level algorithm pool and the selection probability of the mobile acceptance method in the mobile acceptance method pool are calculated. The basic task scheduling algorithm and the acceptance method are selected based on the selection probability. At the same time, the reward table is updated to accumulate experience. The mobile acceptance method pool includes: The first moving acceptance method: select all populations in the solution set obtained by the current low-level algorithm iteration; The second mobile acceptance method: using a quasi-random sequence to select a population from the solution set obtained by the current low-level algorithm iteration; The third mobile acceptance method is to select the top 10% of the solutions from the solution set obtained by the current iteration of the low-level algorithm, and add random perturbations to the coding population of 20% of the high-quality solutions to generate a population that accounts for 40% of the total population in the solution set; at the same time, a quasi-random number sequence is used to initialize a new population twice the size of the real population, and the performance of the above population is tested through the fitness function, and the population with the top 50% performance is retained to form a new population together with the high-quality solutions obtained in the previous round of the algorithm.
2. The method for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm according to claim 1, characterized in that: The calculation of the reward value is based on the fitness function value and population diversity obtained each time the basic task scheduling algorithm is selected and the operation is completed, wherein the population diversity is calculated by dividing the Hamming distance between the optimal solution of the current basic task scheduling algorithm and other candidate solutions by the product of the total number of tasks and the total number of populations.
3. The method for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm according to claim 1, characterized in that: The fitness function used in the task scheduling method is specifically expressed as follows: in, is the fitness function based on completion time, is the cost-based fitness function, is a parameter that represents the proportion of adjustment completion time and user cost in the fitness function.
4. The method for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm according to claim 1, wherein: The low-level algorithm pool includes but is not limited to particle swarm algorithm, fuzzy particle swarm algorithm, genetic algorithm and whale swarm algorithm.
5. A hyper-heuristic algorithm-based associated task scheduling system in a cloud environment, characterized by: include: A data acquisition unit, which is used to obtain a set of associated tasks to be scheduled; A task scheduling unit is used to optimize the scheduling of tasks in the associated task set based on a hyper-heuristic algorithm with the goal of minimizing task completion time and basic cloud computing service costs in a cloud environment to obtain an optimal scheduling solution; The hyper-heuristic algorithm includes a low-level algorithm pool, a mobile acceptance method pool, and a high-level selection strategy; the low-level algorithm pool is composed of several basic task scheduling algorithms, which are used to schedule task sequences; the mobile acceptance method pool is composed of several acceptance methods, which are used to select the population retained in the next round of low-level algorithm iteration from the solution set obtained from the current low-level algorithm iteration; the high-level selection strategy is based on a reward table mechanism, selecting the basic task scheduling algorithm used in the current round from the low-level algorithm pool, and selecting the acceptance method that meets the current needs from the mobile acceptance method pool; The high-level selection strategy is based on a reward table mechanism, which uses the reward table to select the basic task scheduling algorithm and the acceptance method as an action, and uses the unit diversity of the population obtained by the current basic task scheduling algorithm and the solution state of the population as environmental information. The fitness function value and the population diversity state of the solution set obtained after the basic scheduling algorithm is selected and calculated each time generate a reward value. Based on the reward value, the selection probability of different basic task scheduling algorithms in the low-level algorithm pool and the selection probability of the mobile acceptance method in the mobile acceptance method pool are calculated. The basic task scheduling algorithm and the acceptance method are selected based on the selection probability. At the same time, the reward table is updated to accumulate experience. The mobile acceptance method pool includes: The first moving acceptance method: select all populations in the solution set obtained by the current low-level algorithm iteration; The second mobile acceptance method: using a quasi-random sequence to select a population from the solution set obtained by the current low-level algorithm iteration; The third mobile acceptance method is to select the top 10% of the solutions from the solution set obtained by the current iteration of the low-level algorithm, and add random perturbations to the coding population of 20% of the high-quality solutions to generate a population that accounts for 40% of the total population in the solution set; at the same time, a quasi-random number sequence is used to initialize a new population twice the size of the real population, and the performance of the above population is tested through the fitness function, and the population with the top 50% performance is retained to form a new population together with the high-quality solutions obtained in the previous round of the algorithm.
6. An electronic device comprising a memory, a processor, and a computer program stored and running on the memory, characterized in that: When the processor executes the program, it implements a method for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm as described in any one of claims 1 to 4.
7. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method for scheduling associated tasks in a cloud environment based on a hyper-heuristic algorithm as described in any one of claims 1 to 4 is implemented.
Citation Information
Patent Citations
Flexible multi-task proactive scheduling optimization method in cloud manufacturing environment
CN110414826A
Cloud environment task scheduling method based on improved ant colony algorithm
CN113127206A