Computing power resource scheduling method and computer device
By constructing a mapping relationship between path chains and computing resource scheduling schemes, and optimizing population evolution based on task switching time and load information, the balance problem between global optimization and local search in computing resource scheduling methods is solved, thereby improving scheduling efficiency and quality.
Patent Information
- Application Number
- CN202511578244.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-31
- Publication Date
- 2026-02-03
- Estimated Expiration
- 2045-10-31
AI Technical Summary
Existing computing resource scheduling methods struggle to balance global optimization and local search when facing complex and dynamic computing environments, and lack adaptive adjustment mechanisms, resulting in low-quality scheduling schemes and low execution efficiency.
By constructing a mapping relationship between path chains and computing resource scheduling schemes, calculating individual scores based on task switching time and load information, dividing the population into local development and global exploration subpopulations, dynamically adjusting the proportion of individuals, performing path exchange and random perturbation operations, and optimizing the population evolution process.
It significantly improves the optimization quality of computing resource scheduling schemes, enhances scheduling efficiency and system performance, avoids premature convergence of algorithms, and achieves higher quality scheduling results.
Smart Images

Figure CN121050862B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computing resource scheduling technology, and in particular to a computing resource scheduling method and computer equipment. Background Technology
[0002] Currently, mainstream scheduling methods mainly rely on a series of heuristic rules (such as shortest job first, least load first, etc.) or metaheuristic optimization methods such as genetic algorithms and particle swarm optimization. However, these methods have gradually revealed their limitations when facing complex and dynamic computing environments.
[0003] First, traditional heuristic rules often consider only one or a few static metrics, such as task length or current node load, lacking a comprehensive consideration of inter-task relationships, such as switching overhead and node dynamic performance. This results in insufficient global optimization capabilities of the generated scheduling schemes. Second, although existing metaheuristic algorithms possess some global search capabilities, their population evolution strategies are often relatively simplistic, making it difficult to achieve an effective balance between global exploration and local development. This can easily lead to premature convergence to local optima, preventing the discovery of higher-quality scheduling schemes. Furthermore, related technologies generally lack adaptive adjustment mechanisms, failing to dynamically adjust the search strategy based on the algorithm's real-time convergence status, thus making it difficult to balance scheduling efficiency and solution accuracy. Summary of the Invention
[0004] This application provides a computing resource scheduling method and computer equipment to solve the technical problems in related technologies, such as the single computing resource scheduling strategy, difficulty in balancing global optimization and convergence speed, and easy getting trapped in local optima. It achieves the technical effect of improving the optimization quality of computing resource scheduling schemes and accelerating the convergence process.
[0005] This application provides a method for scheduling computing resources, which includes:
[0006] S1: Construct path chains based on task sets and node sets. Path chains are mapped to computing resource scheduling schemes, and the sequence index positions of path chains are mapped to nodes. S2: Construct an initial population using path chains as individuals. Calculate the final score of each individual based on task switching time information and task load information. S3: Calculate the similarity value between the longest common sub-path chains of different path chains. Based on the similarity value, divide the initial population into a local development sub-population and a global exploration sub-population. S4: Adjust the individual ratio between the global exploration sub-population and the local development sub-population based on the fitness improvement rate of the initial population. S5: For individuals in the current population, perform path swapping and random perturbation operations according to the visual range parameters corresponding to their global exploration sub-population or local development sub-population to update the path chains in the current population. The updated new generation population is used as the current population. S6: Repeat steps S3-S5. When the termination condition is met, use the path chain with the highest final score in the current population as the target computing resource scheduling scheme and execute computing resource scheduling based on the target scheme.
[0007] This application also provides a computer device, including: a memory for storing a computer program; and a processor for executing the computer program to implement the steps of the computing resource scheduling method in the following embodiments.
[0008] S1: Construct path chains based on task sets and node sets. Path chains are mapped to computing resource scheduling schemes, and the sequence index positions of path chains are mapped to nodes. S2: Construct an initial population using path chains as individuals. Calculate the final score of each individual based on task switching time information and task load information. S3: Calculate the similarity value between the longest common sub-path chains of different path chains. Based on the similarity value, divide the initial population into a local development sub-population and a global exploration sub-population. S4: Adjust the individual ratio between the global exploration sub-population and the local development sub-population based on the fitness improvement rate of the initial population. S5: For individuals in the current population, perform path swapping and random perturbation operations according to the visual range parameters corresponding to their global exploration sub-population or local development sub-population to update the path chains in the current population. The updated new generation population is used as the current population. S6: Repeat steps S3-S5. When the termination condition is met, use the path chain with the highest final score in the current population as the target computing resource scheduling scheme and execute computing resource scheduling based on the target scheme.
[0009] The computing resource scheduling method provided in this application abstracts complex computing resource scheduling schemes into simple path chains by setting up a path chain based on a task set and a node set. The path chain has a mapping relationship with the computing resource scheduling scheme, and the sequence index position of the path chain has a mapping relationship with the node. This establishes an effective mapping from the problem space to the algorithm solution space, facilitating subsequent optimization operations. By constructing an initial population using path chains as individuals, the final score of each individual is calculated based on task switching time information and task load information, balancing the complexity equilibrium and stability of the system and guiding the population to evolve reliably. By calculating the similarity value between the longest common sub-path chains of different path chains, the initial population is divided into a local development sub-population and a global exploration sub-population based on the similarity value. This intelligently identifies structurally similar individual groups within the population and divides them into sub-populations accordingly. High-similarity, high-quality individual groups are used for local development, leading to rapid convergence; while dispersed, structurally diverse individuals are used for global exploration, preventing the algorithm from prematurely falling into local optima. The fitness improvement rate of the initial population is used to adjust the ratios of the global exploration sub-population and the local development sub-population. The individual ratio can be dynamically adjusted based on the actual convergence, i.e., the fitness improvement rate, to better cope with different situations. For individuals in the current population, path exchange and random perturbation operations are performed according to the visual range parameters corresponding to their global exploration subpopulation or local development subpopulation to update the path chains in the current population. Path exchange enables directional learning of superior gene fragments, and random perturbation introduces innovative individuals, ensuring that the population can effectively utilize existing knowledge while maintaining necessary diversity during the evolution process. The updated new generation population is used as the current population. Then, steps S3-S5 are repeated, i.e., the process of partitioning, adjusting, and updating is repeated, allowing the population to continuously evolve and approach the optimal solution. Finally, the path chain with the highest final score in the current population is output as the target computing resource scheduling scheme. This solves the technical problems of premature convergence, low search efficiency, difficulty in balancing global and local searches, and inability to adaptively adjust strategies in traditional computing resource scheduling methods. Ultimately, it achieves the technical effect of significantly improving the quality of computing resource scheduling schemes and optimizing the overall system performance. Attached Figure Description
[0010] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0011] Figure 1 A flowchart illustrating a computing resource scheduling method provided in an embodiment of this application;
[0012] Figure 2 A schematic diagram of the structure of a computing resource scheduling device provided in an embodiment of this application;
[0013] Figure 3 This is an internal structural diagram of a computer device provided in an embodiment of this application. Detailed Implementation
[0014] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.
[0015] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.
[0016] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0017] With the rapid development of cloud computing, big data, and artificial intelligence technologies, computing power has become a core productive force supporting the development of the digital economy. From hyperscale data centers to edge resource nodes, the heterogeneity (such as hybrid architectures of CPU, GPU, FPGA, etc.), dynamism (load fluctuations, resource contention), and distribution (cross-regional and cross-cluster deployments) of computing resources are becoming increasingly significant. How to achieve efficient scheduling of computing resources has become a key challenge for improving system performance and reducing energy consumption costs.
[0018] The core objective of computing resource scheduling is to minimize task completion time (Makespan), reduce resource idle rate, or reduce cross-node data transfer overhead by optimizing resource allocation strategies, while satisfying task constraints (such as deadlines, resource requirements, and data dependencies). This problem can essentially be abstracted as a combinatorial optimization problem. Especially when tasks need to be executed sequentially across multiple resource nodes (such as parameter synchronization in distributed training or task offloading in edge computing), its optimization objective is highly similar to the Traveling Salesman Problem (TSP)—that is, finding an "optimal path" that minimizes the total cost of task flow and processing across different resource nodes.
[0019] Generally, the computing resource scheduling problem starts from the initial position of computing resource scheduling, and then switches to another node at a cost of m. This node is regarded as the new position of computing resource scheduling. After the processing of this position is completed, it takes n to switch to a new resource position. This process is repeated. The main purpose of computing resource scheduling is to minimize the cost of the entire computing resource scheduling, that is, to minimize the cost of min(m+...+n).
[0020] Currently, the mainstream methods for scheduling computing resources can be divided into three categories:
[0021] Traditional heuristic algorithms (such as shortest job first and round-robin scheduling) are simple to implement but difficult to adapt to complex scenarios and are prone to getting trapped in local optima.
[0022] Mathematical programming methods (such as integer programming and linear programming) can theoretically find the optimal solution, but their computational complexity increases exponentially with the problem size, making them difficult to handle large-scale cluster scheduling.
[0023] Intelligent optimization algorithms: Metaheuristic methods inspired by the behavior of biological groups (such as genetic algorithm GA, particle swarm optimization PSO, and ant colony optimization ACO) achieve global optimization by simulating mechanisms such as natural selection and group cooperation, and have become the mainstream solution for solving large-scale scheduling problems.
[0024] However, existing intelligent optimization algorithms still have significant limitations in computing power scheduling scenarios, specifically:
[0025] 1. Computational resource planning based on genetic algorithms:
[0026] Genetic algorithms are used for computational resource path scheduling and planning. Genetic algorithms are optimization algorithms that search for optimal solutions. They simulate gene selection, crossover, and mutation. During the search process, they have self-learning capabilities and can adaptively control the search process to obtain the optimal solution. Genetic algorithms have good convergence and global search capabilities, but poor local search capabilities and are prone to getting trapped in local optima.
[0027] 2. Particle swarm optimization-based computing resource scheduling planning:
[0028] Particle swarm optimization (PSO) is a cluster optimization algorithm that seeks optimal solutions by simulating swarm foraging behavior and cooperative mechanisms. The algorithm first initializes particles in space, and then the particles iteratively search for the global optimum. In previous techniques, PSO has also been used for computational resource scheduling and planning. While PSO is simple in structure and easy to implement, it is prone to getting trapped in local optima. The convergence speed of the algorithm slows down with the number of iterations and the search range, and may even eventually stall. Initial parameter settings are also heavily reliant on experience.
[0029] 3. Computational resource scheduling and planning based on ant colony algorithm:
[0030] Ant colony optimization (ACO) is a positive feedback algorithm that simulates the mathematical model of ant foraging behavior. It is based on heuristic thinking and mainly utilizes the principle that ants release pheromones during foraging. Areas with high pheromone concentrations are more attractive to ants, and the pheromone concentration is highest on the shortest path. Based on this, the optimal path can be found. However, when faced with a relatively complex state space, ACO is prone to getting stuck in local optima, and its real-time performance is difficult to guarantee.
[0031] Therefore, the computing resource scheduling methods in related technologies are insufficient in terms of the comprehensiveness of the scheduling model, the balance and adaptability of the optimization algorithm, resulting in scheduling schemes that are often of low quality and low execution efficiency, ultimately limiting the further improvement of the overall performance of the distributed system.
[0032] To address the aforementioned technical issues, such as Figure 1 As shown, one embodiment of this application provides a computing resource scheduling method, which specifically includes the following steps:
[0033] S1: Construct a path chain based on the task set and node set. The path chain has a mapping relationship with the computing power resource scheduling scheme, and the sequence index position of the path chain has a mapping relationship with the node.
[0034] Specifically, the process involves obtaining a task set and a node set. The task set includes multiple tasks to be scheduled, and the node set includes multiple resource nodes. An empty path chain is initialized by randomly selecting any task from the task set as the target task and adding it to the empty path chain. Upon completion of adding the target task to the empty path chain, the target task is removed from the task set. The neighborhood radius is determined based on the number of tasks to be scheduled in the current task set and an adaptive neighborhood radius function. The difference between the sequence index position of the target task and the tasks in the current task set is calculated, and the task with the smallest difference in sequence index position and the same number as the neighborhood radius is selected to form a candidate task set. The probability of a candidate task in the candidate task set being selected is calculated using a probability distribution formula. Based on the probability distribution of the candidate tasks, a target candidate task is selected from the candidate task set as the next target task. The next target task is added to the end of the empty path chain until all tasks in the task set are added to the path chain, and the constructed path chain is output.
[0035] First, obtain the task set, node set, switchover time information, and load information. The task set can be obtained from a task queue monitoring system, which defines the set of tasks to be scheduled. The node set can be obtained from a resource management platform, which defines the available resource nodes. Switchover time information can be obtained through historical performance monitoring data statistics, used to record the switchover cost between different nodes. Specifically, the switchover cost refers to the total time required to switch from the k-th node to the i-th node. Load information can be collected in real-time by the resource monitoring system, used to record the load balancing caused by tasks on the nodes.
[0036] Algorithm parameters such as population size, maximum number of iterations, and number of clusters can be set to establish a runtime environment and ensure that optimization is based on real system conditions. For example, setting the population size N represents the number of individuals in the population, with each individual representing a complete computing resource scheduling scheme; setting the maximum number of iterations M represents the upper limit of a single population iteration; and setting the number of clusters C represents the number of sub-clusters to be created. These are the core parameters that need to be set before execution.
[0037] After completing the above settings, population initialization is performed. In the population, each individual represents a path chain. The path chain in this application is an encoded sequence representing a computing resource scheduling scheme. Each position in the sequence (sequence index position) corresponds to a specific resource node, and the task occupying that position is scheduled to be executed on the corresponding node. The entire path chain defines a complete task-to-node allocation scheme.
[0038] For example, suppose there are currently 5 resource nodes: node 1, node 2, node 3, node 4, and node 5. Each of the 5 resource nodes corresponds to a 5 task to be processed: t1 (image recognition), t2 (data cleaning), t3 (model training), t4 (inference service), and t5 (video processing).
[0039] If the path chain is [t3, t4, t1, t5, t2], it means that step 1: node 1 executes task t3 (model training), step 2: node 2 executes task t4 (inference service)... step 5: execute task t2 (data cleaning).
[0040] The neighborhood radius is a dynamic parameter used to control the range of candidate tasks selected at each step in the progressive construction of the path chain. It determines how many "neighboring" tasks will be considered as candidates for the next scheduling step after the current target task.
[0041] The system acquires all tasks to be scheduled and available resource nodes, and initializes an empty path chain. Initially, a task is randomly selected and added to the path chain to initiate the construction process. Subsequently, based on the number of remaining tasks, a selection range (neighborhood radius) is dynamically determined using a neighborhood radius adaptive function. This function ensures that more possibilities are explored when there are sufficient remaining tasks, and that the process is quickly terminated when there are few remaining tasks. Next, the system calculates the difference between the sequence index position of the target task and the tasks in the current task set, and then calculates the intrinsic correlation between the target task and the tasks in the current task set. From this, the system selects the nearest tasks with the same number as the neighborhood radius to form a candidate task set. The next task is selected from the candidate set and added to the path chain using a probability distribution formula. Thus, while introducing randomness to ensure population diversity, the neighborhood constraint ensures the local coherence of sequence construction. This process is repeated until all tasks are scheduled into the path chain, and finally, the constructed path chain is output, which is also the output of a complete and high-quality initial computing resource scheduling scheme code.
[0042] The neighborhood radius adaptive function is shown below:
[0043] ;
[0044] Where R represents the neighborhood radius, R max Indicates the maximum radius limit, N remain K represents the number of unscheduled tasks in the task set, and K is the clustering coefficient.
[0045] The formula for calculating the probability distribution is as follows:
[0046] ;
[0047] Where P(j) is the probability that the j-th task in the candidate task set is selected, m represents the number of candidate tasks in the candidate task set, and otherwise means except Other than these.
[0048] In a specific example, the steps for adaptively initializing the population based on the neighborhood radius can be:
[0049] Step 1: Encode all resource nodes.
[0050] Each resource node can be assigned a unique identifier, and its node type, computing power performance, current load status, etc. can be recorded. A node attribute table can be established, and each node can be encoded according to its hardware type (CPU / GPU / FPGA) and performance characteristics to form a basic resource pool. This facilitates the rapid retrieval of node-related information and lays the foundation for subsequent fast and accurate scheduling.
[0051] Step 2: Randomly select the starting position for allocating computing resources.
[0052] A node is randomly selected from the encoded nodes as the starting position for task assignment (selecting the target node). This random selection ensures the diversity of the initial solutions of the algorithm, avoids search bias caused by a fixed starting point, and maintains extensive exploration capability in the population initialization phase by randomizing the starting point.
[0053] Step 3: Calculate the neighborhood radius of the current computing resource using the neighborhood radius adaptive function, that is, divide the region starting from the target node.
[0054] Based on the target node's location, an adaptive neighborhood radius function is used to dynamically determine the search range. This function comprehensively considers factors such as the number of remaining nodes and performance differences between nodes, intelligently defining the effective influence area of the target node. In this way, search efficiency can be guaranteed while avoiding a decrease in initialization quality due to an excessively large range.
[0055] Step 4: Determine the location within the neighborhood, that is, in which area of the target node different resource nodes are located, and apply the triangular probability distribution to assign a probability to each location within the neighborhood.
[0056] Within a defined neighborhood, a triangular probability distribution is used to assign selection probabilities to each node within the region. Nodes closer to the target node and with higher performance matching receive higher probability values, forming a probability gradient distribution. In this way, the guiding algorithm prioritizes neighboring nodes with better overall benefits, improving the quality of the initial solution.
[0057] Step 5: Randomly generate a number within the probability interval, select an area based on the probability interval of the number's location, and then obtain the location of the next resource node.
[0058] Random numbers can be randomly generated within the interval [0, 1]. Based on the probability distribution of trigonometric functions, the probability interval corresponding to the random numbers is determined, thereby selecting the location of the next resource node to be scheduled. In this way, while ensuring randomness, the rationality of the initial path chain is improved through probability guidance.
[0059] Step 6: Calculate the number of unscheduled nodes. If it is greater than 1, proceed to step 3. If it is equal to 1, proceed to step 7.
[0060] The system continuously monitors the number of unscheduled nodes in the node set. If the number of remaining nodes is greater than 1, it indicates that the initialization process is not yet complete, and the system returns to step 3 to continue building the path. If exactly 1 node remains, the system proceeds to the final processing flow. This establishes a loop control mechanism to ensure that all nodes are included in the scheduling path.
[0061] Step 7: Directly use the last position as the next computing resource scheduling position.
[0062] When only one unscheduled node remains, it is directly added to the end of the path chain, eliminating the need for probability selection and neighborhood calculation, thus simplifying the processing flow. This optimizes algorithm efficiency and avoids unnecessary computational overhead.
[0063] Step 8: Output the route that traverses all locations.
[0064] The access order of all nodes generated in steps 1-7 is integrated into a complete computing resource scheduling path (path chain). This path chain constitutes a complete individual in the population, and each individual in the population represents a feasible computing resource allocation scheme. In this way, an initial individual that meets the algorithm requirements is output, providing a high-quality starting point for subsequent iterations.
[0065] By employing a dual mechanism of neighborhood adaptation and probability guidance, the quality of the initial solution is significantly improved while maintaining randomness. Compared to completely random initialization, the initial population generated in this application has better distribution and higher average fitness, laying a solid foundation for the algorithm's rapid convergence, and is particularly suitable for scheduling scenarios with large-scale heterogeneous computing resources.
[0066] S2: Construct an initial population using the path chain as individuals, and calculate the final score of each individual based on task switching time information and task load information.
[0067] By using neighborhood adaptive radius initialization, the computing resource scheduling can be planned into the initial computing resource scheduling chain. After completing the initialization of the population, it is necessary to calculate the fitness of all individuals in the population.
[0068] In related technologies, single-objective optimization algorithms often lead to performance imbalances in computing resource scheduling systems. This application considers both the total task completion time and resource balance during the computing resource scheduling process, with minimizing the total task completion time as the core objective while also taking into account load resource balance. It innovatively proposes the concept of dual fitness, setting the primary fitness to focus on total time cost and the secondary fitness to focus on load balance, and comprehensively evaluating the excellence of an individual based on both the primary and secondary fitness.
[0069] Specifically, the calculation of an individual's final score based on task switching time information and task load information includes: calculating the primary fitness score based on task switching time information and the primary fitness calculation formula; calculating the secondary fitness score based on task load information and the secondary fitness calculation formula; and calculating the individual's final score based on the primary fitness score, the secondary fitness score, and the final score calculation formula.
[0070] The initial population is a set of individuals composed of multiple path chains, each of which is a potential computing resource scheduling scheme and serves as the starting point for the optimization algorithm.
[0071] The final score is a quantitative indicator used to comprehensively evaluate the merits of an individual (path chain). The higher the score, the better the overall performance of the computing resource scheduling scheme corresponding to that path chain.
[0072] Master fitness is a core metric used to directly measure the execution efficiency of a scheduling scheme. Its value is the sum of the switching times of all tasks in the scheme (including the start time of the first task). The smaller the value, the shorter the time spent on task flow and execution, and the higher the efficiency.
[0073] Switching time refers to the time it takes for a system to switch from the completion of one task to the start of the next task on another node. This includes overhead such as data transfer and context switching. Reducing the total switching time is key to improving efficiency.
[0074] Auxiliary fitness is an auxiliary indicator used to measure the balance of resource utilization in a scheduling scheme. It is calculated based on the coefficient of variation of node load. The larger the value, the more uniform the load distribution among nodes, which can effectively avoid system performance bottlenecks.
[0075] The coefficient of variation of node load is used to quantify the dispersion of load values across all nodes. The smaller the coefficient of variation, the more balanced the load; conversely, the larger the coefficient of variation, the greater the load difference, which may indicate an unbalanced state where some nodes are overloaded while others are idle.
[0076] The coefficients for dynamically adjusting parameters to allocate weights between primary and secondary fitness can be flexibly adjusted according to different optimization stages or system requirements to determine the relative importance of execution efficiency and load balancing in the final evaluation.
[0077] The formula for calculating master fitness is as follows:
[0078] ;
[0079] The formula for calculating auxiliary fitness is as follows:
[0080] ;
[0081] The final score calculation formula is as follows:
[0082] ;
[0083] f1 represents the primary fitness, s 0,1 Indicates the start time of the first task at the starting node, s i-1,i Let represent the switching time from node i-1 to node i, i.e., the switching time from task i-1 to task i, where n represents the path chain length, f² represents the secondary fitness, CV represents the coefficient of variation of node load, quantifying the load dispersion, and l mLet represent the load of the m-th node, ε represent the minimum constant, F represent the final score, ω1 represent the dynamic adjustment parameter of the primary fitness, and ω2 represent the dynamic adjustment parameter of the secondary fitness.
[0084] The primary fitness is obtained by setting the cumulative task start and switch times; a smaller value indicates faster execution speed. The secondary fitness is obtained by setting the reciprocal of the resource node load variation coefficient; a larger value indicates more balanced load and higher system stability. Finally, the two dimensions are weighted and synthesized into a final score using dynamically adjustable weight parameters. These dynamically adjustable weight parameters can flexibly balance execution efficiency and system stability according to actual needs, thereby effectively guiding the optimization algorithm to find the most suitable global scheduling scheme.
[0085] S3: Calculate the similarity value between the longest common sub-path chains of different path chains, and divide the initial population into local development sub-population and global exploration sub-population based on the similarity value.
[0086] After fitness calculation is completed, dynamic clustering is required. The dynamic clustering mechanism is mainly to maintain population diversity and enhance information sharing capabilities. For functional problems, Euclidean distance can usually be used for calculation, but this is obviously not in line with the setting of discrete TSP problems. For TSP problems, this application uses path chain similarity for clustering, that is, calculates the length of the longest common sub-path chain (LCS) of any two individuals, and those with higher similarity are assigned to the same cluster.
[0087] Specifically, the longest common sub-path chain in a path chain is determined based on the link length calculation formula; the similarity value between the longest common sub-path chains in different path chains is calculated based on the similarity value calculation formula. The longest common sub-path chain refers to the longest consecutive task sequence shared by two or more path chains. The relative order of elements must remain consistent but not necessarily consecutive. It is used to quantify the structural similarity of different scheduling schemes in task execution order and node allocation. The similarity value is used to precisely measure the degree of similarity between any two path chains. The similarity value ranges from 0 to 1; a higher similarity value indicates a more similar structure between the two path chains.
[0088] The formula for calculating the link length is as follows:
[0089] ;
[0090] Where LCS[A][Z] represents the length of the longest common sub-path chain of the first A elements of path chain X and the first Z elements of path chain Y, x A Let y represent the A-th task in path chain X. Z This represents the Z-th task in path chain Y, and "otherwise" means excluding tasks where A=0, Z=0, and x=0.A =y Z Other than these;
[0091] The formula for calculating the similarity value is as follows:
[0092] ;
[0093] Sim(X,Y) represents the similarity value between the longest common sub-path chains in different path chains, LCS(X,Y) represents the length of the longest common sub-path chain between path chains X and Y, and |X| and |Y| represent the lengths of different path chains.
[0094] The initial population is clustered based on similarity values to form multiple clusters. Individuals within the same cluster have similarity values greater than a preset similarity value. The individual with the highest final score in a cluster is added to the local development sub-population, while individuals with a lower final score in a cluster are added to the global exploration sub-population.
[0095] The process of automatically grouping the entire initial population into multiple clusters based on the similarity values between individuals. Individuals within the same cluster are considered to be structurally highly similar and distributed within the same region of the solution space.
[0096] The Local Exploration subpopulation, composed of the individuals with the highest final scores in each cluster, will focus on deep searching within their respective potentially better solution space regions to uncover better solutions and promote algorithm convergence. The Global Exploration subpopulation, composed of individuals from all clusters who are not the individuals with the highest final scores, represents the diverse portion of the population and will be encouraged to explore a broader solution space to discover new, potentially better regions, preventing the algorithm from prematurely getting trapped in local optima.
[0097] By calculating the longest common subsequence algorithm to determine the longest common task sequence between any two path chains and obtaining an accurate similarity value through normalization, the structural commonalities of different scheduling schemes are considered. Subsequently, clustering is performed based on this similarity, grouping structurally similar individuals into the same cluster and dividing the space into multiple potential promising regions. From each cluster, the highest-scoring individual is selected to form a local development subpopulation, which then refines the currently discovered high-quality regions; while all other individuals are assigned to a global exploration subpopulation, driving it to extensively explore the solution space to find new possibilities. This partitioning mechanism ensures that the optimization process can both concentrate resources on key breakthroughs and continuously expand new search areas, intelligently balancing in-depth mining and broad exploration during the optimization process, thereby significantly improving the probability and efficiency of finding the globally optimal scheduling scheme.
[0098] Thus, by grouping based on structural similarity, population diversity is effectively maintained, directional learning among similar individuals accelerates convergence, the guiding role of the cluster leader improves global search capability, and the dynamic clustering mechanism, through LCS similarity measurement, effectively solves the population grouping problem in discrete optimization problems, providing a solid foundation for subsequent co-evolution.
[0099] S4: Adjust the ratio of individuals in the global exploration subpopulation to the local development subpopulation based on the fitness improvement rate of the initial population.
[0100] Since metaheuristic algorithms often jump between local and global optima, this application divides the initial population into two subpopulations to better explore both. One subpopulation focuses on global exploration, generating entirely new path chains by extensively adjusting the task path arrangement; for example, the visual range can be set to 50%. The other subpopulation focuses on local development, exploring local optima by optimizing the details of existing path chains on a smaller scale; for example, the visual range can be set to 20%.
[0101] Specifically, the fitness improvement rate of the initial population is calculated based on the improvement rate calculation formula; the fitness improvement rate is compared with a preset improvement rate threshold; in response to the fitness improvement rate being greater than the preset improvement rate threshold, a preset proportion of individuals in the local development subpopulation are converted into individuals in the global exploration subpopulation; in response to the fitness improvement rate being less than or equal to the preset improvement rate threshold, a preset proportion of individuals in the global exploration subpopulation are converted into individuals in the local development subpopulation.
[0102] The fitness improvement rate measures the speed of population evolution. It is calculated by comparing recent fitness with historical average fitness. A positive value indicates that population performance is improving, with higher values indicating faster improvement; a negative value indicates that performance may stagnate or degenerate. Calculating the fitness improvement rate clearly reflects the optimization process: when the improvement rate is significant (above a preset threshold), it indicates that the current focused exploration strategy (local development) is effective. In this case, by converting some exploration individuals to development individuals, resources are concentrated on in-depth exploration, accelerating convergence. Conversely, when the improvement rate is insignificant (below or equal to the preset threshold), it indicates that the search may have stagnated. In this case, by converting some development individuals to exploration individuals, diversity is injected to escape local optima and open up new search spaces. This ensures an efficient search rhythm.
[0103] The formula for calculating the improvement rate can be as follows:
[0104] ;
[0105] Where, r improveIndicates the improvement rate. This represents the recent average fitness, which is the average fitness over a predetermined number of consecutive iterations from the current generation to the previous generation. This represents the average fitness in the early stages, which is the average fitness across the same number of consecutive iterations prior to the current generation.
[0106] In a specific example, the preset improvement rate threshold can be 0.05. If the improvement rate is greater than the preset threshold, the exploration is considered effective, global exploration is strengthened, and 20% of the local development population individuals are converted into the global exploration population. If the improvement rate is less than or equal to the preset threshold, the exploration is considered ineffective, local optimization is strengthened, and 20% of the global exploration population individuals are converted into the local development population.
[0107] To address the limitations of algorithm planning speed and the resulting suboptimal scheduling outcomes in computing resource scheduling planning, which often leads to local optima, this application aims to improve the speed of computing resource scheduling planning and quickly escape local optima. Building upon the Eaglefish algorithm, it constructs a neighborhood radius adaptive function and a discrete Eaglefish algorithm to solve these problems. The neighborhood radius adaptive function allows the algorithm to selectively improve initialization efficiency, placing it in a relatively optimal computing resource scheduling planning state. Furthermore, combining this with the more efficient Eaglefish algorithm further enhances the algorithm's planning speed and avoids getting trapped in local optima. In this application, we modified the continuous Eaglefish algorithm to a discrete Eaglefish algorithm, which is more in line with the real needs of computing resource scheduling and planning. This is because in a computing resource scheduling and planning, it is difficult to have a single-end-to-single-end functional path change. Instead, a discrete computing resource scheduling and planning that allows multiple ends to be freely combined allows us to apply an algorithm that is superior to the previous evolutionary algorithm to this model, thus greatly improving the efficiency and performance of the computing resource scheduling and planning system. This is more in line with the real needs of high-density computing resource scheduling and planning problems.
[0108] This application constructs a novel discrete Eaglefish optimization framework, innovative in its comprehensive reconstruction of the traditional Eaglefish algorithm, from its encoding method and operational mechanism to its adaptive strategy. First, it fundamentally innovates the encoding method by introducing the concept of a "path chain" to encode the computational resource scheduling scheme as a discrete task sequence. This enables the algorithm to leap from continuous space vector operations to discrete combinatorial optimization problems, laying a structural foundation for the entire framework. Second, it creatively develops the "visual range" mechanism in the Eaglefish algorithm, concretizing it into a quantifiable parameter system. The first visual range parameter guides the global exploration subpopulation to perform a large-scale structural search, while the second visual range parameter controls the local development subpopulation to implement fine adjustments, forming a precisely controllable search granularity adjustment mechanism. At the core operational level, this application completely reconstructs the operational paradigm of the traditional algorithm, designing sequence operation operators entirely oriented towards discrete space: the path exchange operation achieves structured knowledge transfer through learning from elite individuals, and the random perturbation operation maintains population diversity through task swapping. These customized operators completely depart from the arithmetic operation mode of continuous space. More importantly, this application establishes a multi-level adaptive mechanism. It achieves dynamic clustering based on the similarity calculation of the longest common subsequence, adaptively adjusts the proportion of subpopulations by relying on the fitness improvement rate, and in some embodiments, implements environmental perception parameter adjustment through hardware pseudo-temperature correlation, giving the algorithm self-optimizing intelligent characteristics. In other words, while retaining the core idea of the Eaglefish algorithm's "exploration-development" dynamic balance, this application constructs a dedicated algorithm framework that deeply integrates computing power resource scheduling theory and discrete combinatorial optimization technology through systematic innovation in coding methods, operation operators, similarity metrics, and adaptive rules. Its level of innovation surpasses simple algorithm applications, forming a discrete Eaglefish optimization method system with independent intellectual property rights.
[0109] S5: For individuals in the current population, perform path exchange and random perturbation operations based on the visual range parameters corresponding to their global exploration subpopulation or local development subpopulation to update the path chains in the current population, and use the updated new generation population as the current population.
[0110] Step 101: For any current individual in the current population, determine whether it belongs to the global exploration subpopulation or the local development subpopulation; the visual range parameter corresponding to the individual in the global exploration subpopulation is the first visual range parameter, and the visual range parameter corresponding to the individual in the local development subpopulation is the second visual range parameter.
[0111] The visual range parameter is a key parameter that determines the size of the task range that an individual can see and adjust during updates. It is assigned different values to distinguish the search strategies of different subpopulations: the first visual range parameter (usually larger) corresponds to the global exploration subpopulation, which aims to conduct large-scale structural exploration; the second visual range parameter (usually smaller) corresponds to the local development subpopulation, which aims to conduct small-scale fine-tuning.
[0112] Step 102: The product of the visual range parameter and the total length of the path chain corresponding to the current individual is used as the number of task positions to be swapped.
[0113] Step 103: In the path chain corresponding to the current individual, randomly select multiple non-repeating task positions with the same number as the task positions to be exchanged, and form a set of exchange positions.
[0114] Step 104: For any target location in the swap location set, find the target task of the individual with the highest final score in the current individual's cluster at the target location.
[0115] Step 105: Locate the actual location of the target task in the path chain corresponding to the current individual.
[0116] Step 106: Swap the tasks of the current individual at the target location and the actual location until the location swap in the swap location set is completed, and obtain the new individual after the path swap.
[0117] Step 107: Generate a random number as the target perturbation factor, and compare the target perturbation factor with the preset perturbation factor.
[0118] The target perturbation factor is used to determine whether to perform a random perturbation operation. The preset perturbation factor is used to determine whether to trigger a random perturbation.
[0119] Step 108: In response to the target perturbation factor being greater than the preset perturbation factor, randomly select any two sequence index positions in the path chain corresponding to the new individual as exchange positions, and exchange the tasks at the exchange positions.
[0120] Step 109: In response to the target perturbation factor being less than or equal to the preset perturbation factor, keep the new individual after the path exchange unchanged.
[0121] Step 110: Use the path chains of the new individual after the path swap and the individual after the task at the swapped position is swapped as the updated path chains.
[0122] Step 111: Form a new generation of population based on the updated path chain, and set the new generation of population as the current population to start a new round of iteration.
[0123] The current population is updated based on the path chain updated for the current individual, resulting in a new generation population. This new generation population is then set as the current population to begin a new round of iteration.
[0124] First, the subpopulation type to which the current individual belongs is identified, and appropriate visual range parameters are assigned to it. Globally exploring individuals receive larger parameters for extensive searching, while locally developing individuals receive smaller parameters for fine-tuning. Based on the visual range parameters and path chain length, the number of tasks requiring adjustment is calculated, and a corresponding number of positions are randomly selected to form a swap position set, determining the operational scope of this update. For each position to be adjusted, learning is done from the individual with the highest final score in the same cluster. The task of the individual with the highest final score at that position is found and swapped with the actual position of that task in the current individual. This targeted learning rapidly improves the quality of the individual. After targeted learning, a random perturbation mechanism is introduced. When the random number exceeds a preset threshold, the positions of two tasks in the new individual are randomly swapped. By introducing random mutation, population diversity is maintained, premature convergence is avoided, and the goal of escaping local optima is achieved. Through the combined strategy of targeted learning and random innovation, both the directionality of the search and the necessary diversity are ensured, enabling the population to continuously evolve towards better solutions.
[0125] S6: Repeat steps S3-S5. When the termination condition is met, take the path chain with the highest final score in the current population as the target computing resource scheduling scheme and execute computing resource scheduling based on the target computing resource scheduling scheme.
[0126] Specifically, steps S3-S5 are iteratively repeated; the individual with the highest final score in the current population during each iteration is recorded as the global optimal individual for each iteration; the algorithm iteration process is terminated when the number of iterations reaches the preset maximum number of iterations or the final score of the global optimal individual recorded in the historical iteration process has not exceeded the preset threshold for a preset number of consecutive generations; from the set of global optimal individuals recorded in the historical iteration process, the global optimal individual with the highest final score is selected as the target global optimal individual, and the path chain corresponding to the target global optimal individual is used as the final target computing power resource scheduling scheme.
[0127] The new generation of the population obtained after the S5 update is used as a new starting point, and the evolutionary process of population partitioning (S3), ratio adjustment (S4), and path update (S5) is repeated. In this loop, the system continuously tracks and records the globally optimal individuals in each generation. When the number of iterations reaches the preset maximum number of iterations or the final score of the globally optimal individuals recorded in the historical iterations has not exceeded the preset threshold for a preset number of consecutive generations (the population performance has stabilized, that is, the score of the optimal solution has not significantly improved in multiple consecutive generations, indicating that the algorithm has converged), the algorithm iteration process is terminated. From the set of globally optimal individuals recorded in previous generations, the target globally optimal individual with the highest final score is selected, and the path chain it represents is decoded into the final target computing power resource scheduling scheme. The actual task and resource allocation are then executed according to the target computing power resource scheduling scheme.
[0128] In distributed computing and storage systems, to meet the demands of high throughput and high availability, a cluster architecture consisting of multiple heterogeneous nodes (such as general-purpose CPUs, GPUs, FPGAs, etc.) is typically adopted. In this type of architecture, efficient task scheduling is key to unlocking the overall performance of the system. The scheduler needs to rationally distribute a large number of computing tasks across different nodes for execution, and the quality of its scheduling strategy directly determines the system's resource utilization, task execution efficiency, and overall energy consumption.
[0129] When faced with large-scale, heterogeneous computing environments, related technologies have gradually revealed their limitations. First, traditional heuristic rules often only consider a single or a few static indicators (such as task length or current node load), lacking a comprehensive consideration of the correlation between tasks (such as switching overhead) and the deep heterogeneous characteristics of nodes (such as dedicated hardware computing units), resulting in insufficient global optimization capabilities of the generated scheduling scheme.
[0130] Therefore, the computing resource scheduling method provided in this application further includes: in response to a node that is a hardware type, constructing a target pseudo-temperature function according to the hardware type of the node, wherein the target pseudo-temperature function includes a graphics processor node pseudo-temperature function, a central processing unit node pseudo-temperature function, and a programmable device node pseudo-temperature function.
[0131] The pseudo-temperature function for the graphics processor node is shown below:
[0132] ;
[0133] The pseudo-temperature function of the central processing unit node is as follows:
[0134] ;
[0135] The pseudo-temperature function of the programmable device node is as follows:
[0136] ;
[0137] Among them, T GPU (i), T CPU (i), T FPGA (i) represent the hardware pseudo-temperature of node i corresponding to hardware type, β GPU β CPU β FPGA These represent the corresponding hardware type acceleration factor and C, respectively. 并行 (i) C 串行 (i) C 流水线 (i) represent the computational complexity corresponding to the hardware type at node i, and C 总 (i) represents the total computational cost of node i, t 迭代 Indicates the current iteration number, the number of iterations the algorithm has executed, t. 半衰期 S represents the performance half-life, used to simulate the rate at which the influence of hardware performance decays with the iteration process, ensuring that the algorithm does not become overly reliant on hardware characteristics in later stages and fall into local optima. 缓存命中 (i) represents the cache hit count, the number of successful accesses to the cache system of node i per unit time, S. 总访问 (i) represents the total number of cache accesses, the total number of requests made by the cache system of node i per unit time, N. 重配置 (i) represents the number of reconfiguration attempts, the number of times node i needs to have its logic circuit reprogrammed in the near future, N. 总任务 (i) represents the total number of tasks, the total number of tasks processed by node i;
[0138] For any combination of task and any node, the parameters in the path chain update process are adjusted based on the matching pseudo-temperature calculation formula between resource nodes and tasks.
[0139] The formula for calculating the matching pseudo-temperature is as follows:
[0140] ;
[0141] Among them, WT (i,j) This represents the matching pseudo-temperature for assigning task j to node i, β1 represents the hardware weighting coefficient, and T c (i) represents the pseudo-hardware temperature of node i, β2 represents the task weight coefficient, and T v (j) represents the pseudo-temperature of task j, β3 represents the system weighting coefficient, and T b This represents the pseudo-temperature of the system, reflecting the overall load status of the system.
[0142] Here, the hardware pseudo-temperature is used as a comprehensive indicator to quantify the computing status of hardware nodes. The higher the value, the higher the node's comprehensive computing potential and efficiency for a specific type of task.
[0143] The hardware type acceleration factor is a coefficient used to adjust the relative importance or benchmark performance of different hardware architectures (such as GPU, CPU, FPGA) in the overall evaluation.
[0144] The performance half-life is a parameter that controls the rate at which the pseudo-temperature of the hardware decays over time. It is the process by which the simulation algorithm gradually reduces its dependence on hardware characteristics in the later stages of optimization in order to prevent overfitting to the current state of the hardware and getting stuck in a local optimum.
[0145] Matching pseudo-temperature is an indicator that integrates hardware status, task characteristics, and global system load. It is used to accurately quantify the suitability of assigning a specific task to a specific hardware node. The higher the matching pseudo-temperature value, the better the match.
[0146] The pseudo-temperature of a task reflects the computational characteristics required by the task itself, such as whether the task prefers parallel computing, serial computing, or pipelined computing.
[0147] The system pseudo-temperature is an indicator that reflects the macroscopic load status of the entire distributed system and is used to introduce a global perspective in matching decisions.
[0148] In this application, for heterogeneous hardware environments, when the system detects a hardware-type node, it calculates a pseudo-temperature for each type of hardware node, such as GPU, CPU, and FPGA. This temperature value comprehensively considers key performance characteristics of the node, including computational load distribution, cache efficiency, and reconfiguration overhead, and introduces the concept of performance half-life, allowing its influence to decay with algorithm iteration, thereby balancing hardware characteristics and the algorithm's global search capability. Subsequently, the system merges the node hardware pseudo-temperature, task pseudo-temperature (reflecting task computational characteristics), and system pseudo-temperature (reflecting global load) by matching the pseudo-temperature calculation formula, generating a comprehensive index to evaluate the matching degree between tasks and nodes. Finally, based on this matched pseudo-temperature, the system dynamically adjusts key parameters (such as acceptance probability) during the path chain update process, thereby guiding the optimization search direction and prioritizing resource allocation schemes that can schedule tasks to the most suitable hardware nodes, fully releasing the computational potential of heterogeneous hardware and improving the overall system performance and energy efficiency.
[0149] The parameters in the path chain update process include the acceptance probability of the new individual. The parameters in the path chain update process based on the matching pseudo-temperature adjustment include: calculating the hardware efficiency evaluation value of the individual based on the path chain length, the matching pseudo-temperature, and the hardware efficiency evaluation value calculation formula; calculating the acceptance probability of the new individual based on the hardware efficiency evaluation value and the acceptance probability calculation formula; and determining whether to accept the new individual based on the acceptance probability of the new individual.
[0150] The formula for calculating the efficiency evaluation value is as follows:
[0151] ;
[0152] H(X) represents the hardware efficiency evaluation value of an individual, and N represents the path chain length, i k For the node corresponding to the k-th sequence index position, j k The task assigned to the k-th sequence index position;
[0153] The formula for calculating the acceptance probability is as follows:
[0154] ;
[0155] Where Ps represents the acceptance probability of the new individual, ΔF = F(X) new )-F(X old ) represents the improvement in fitness between the old and new individuals, ΔH = H(X) new )-H(X old ) represents the improvement in hardware efficiency between the old and new individuals, λ represents the hardware weight coefficient, which is used to balance the importance of fitness and hardware efficiency in decision-making, and T0 represents the global pseudo-temperature of the current iteration, which decays as the iteration progresses.
[0156] The hardware efficiency evaluation value is used to quantify the overall efficiency of the scheduling scheme represented by an individual in utilizing hardware resources. This value is obtained by calculating the average of the matching pseudo-temperature of all tasks in the path chain and their respective nodes, reflecting the degree of fit between the task and the hardware architecture.
[0157] The acceptance probability is the probability value used to decide whether to adopt a newly generated individual during the population update process. This probability takes into account the degree of improvement of the new individual in terms of both traditional fitness and hardware efficiency.
[0158] The fitness improvement is the difference between the final score of the new individual and the old individual, reflecting the improvement of the scheduling scheme in traditional performance indicators such as time and load.
[0159] The hardware efficiency improvement is the difference between the hardware efficiency evaluation value of the new individual and the old individual, reflecting the degree of improvement of the scheduling scheme in terms of hardware resource utilization efficiency.
[0160] The hardware weight coefficient is an adjustable parameter used to balance the relative importance of fitness improvement and hardware efficiency improvement in decision-making. The specific value of the hardware weight coefficient can be set according to actual needs.
[0161] The global pseudo-temperature is a control parameter that gradually decays with the iteration process. It is used to adjust the degree to which the algorithm accepts non-improving changes during the optimization process, allowing for more diverse attempts in the early stages of optimization and tending to converge in the later stages.
[0162] This application introduces an acceptance probability mechanism based on matching pseudo-temperature to achieve synergistic optimization of traditional performance metrics and hardware utilization efficiency during population updates. Specifically, the system first calculates the average matching pseudo-temperature of all task-node pairs in the path chain to obtain the hardware efficiency evaluation value of each individual, thereby quantifying the degree to which the scheduling scheme utilizes heterogeneous hardware characteristics. When deciding whether to accept a new individual, an acceptance probability formula based on simulated annealing is adopted, considering the improvement in both traditional fitness and hardware efficiency of the new individual. The hardware weight coefficient is used to flexibly adjust the relative importance of the two optimization objectives. As iterations proceed, the decay of the global pseudo-temperature allows the algorithm to gradually transition from extensive exploration in the early stages to fine-grained convergence in the later stages. This mechanism ensures that the optimization process not only pursues improvements in traditional performance metrics but also autonomously evolves towards an efficient scheduling scheme that fully utilizes hardware characteristics, thereby achieving deeper performance optimization in heterogeneous computing environments.
[0163] In one embodiment, the parameters in the path chain update process include visual range parameters. Adjusting the parameters in the path chain update process based on the matching pseudo-temperature includes: dynamically adjusting the visual range parameters based on the visual range parameter adjustment formula and the hardware pseudo-temperature of the node.
[0164] The formula for adjusting the visual range parameter is shown below:
[0165] ;
[0166] V(i) represents the visual range parameter of the individual at node i, V(h) represents the basic visual range, and T c (i) represents the hardware pseudo temperature of node i, T(h) represents the preset reference pseudo temperature, and k represents the sensitivity coefficient, which is used to control the adjustment range.
[0167] The baseline visual range refers to the benchmark value of the visual range parameter, serving as the starting point for adjustment. The benchmark pseudo-temperature refers to the reference benchmark value of the hardware pseudo-temperature, used for standardization calculations. The sensitivity coefficient is a coefficient used to control the degree of influence of the hardware pseudo-temperature on the visual range parameter, determining the magnitude of the adjustment.
[0168] By implementing hardware-aware dynamic optimization of visual range parameters, the algorithm first monitors the average similarity of the population and adaptively adjusts the clustering similarity threshold accordingly. When population diversity is insufficient, the threshold is lowered to encourage further subdivision. Building upon this, a visual range parameter adjustment formula based on hardware pseudo-temperature is introduced. Nodes with higher pseudo-temperatures are assigned larger visual range parameters, prompting the algorithm to conduct broader searches on these nodes with high computational potential. Conversely, the search range is narrowed for nodes with lower pseudo-temperatures. This hardware-aware parameter adjustment concentrates computational resources on the most promising search space regions, fully utilizing hardware characteristics and optimizing search efficiency, thus achieving a superior scheduling scheme in heterogeneous computing environments.
[0169] In one embodiment, calculating an individual's final score based on task switching time information and task load information further includes:
[0170] An individual's overall score is calculated based on their final score and the degree of matching between the task and the hardware.
[0171] Among them, the hardware matching degree is calculated based on the task and hardware matching degree function;
[0172] The task-hardware matching function is as follows:
[0173] ;
[0174] Where Match(t, i) represents the matching degree of task t on node i, Perf(t, i) represents the performance score of task t on node i, Power(t, i) represents the power consumption score of task t on node i, Perf(t, j) represents the performance score of task t on node j, Power(t, j) represents the power consumption score of task t on node j, and γ1 and γ2 are weighting coefficients that measure the importance of performance and power consumption, respectively.
[0175] By incorporating task-hardware compatibility into individual evaluations, the system achieves synergistic optimization of scheduling schemes between traditional performance metrics and hardware affinity. Specifically, the system first calculates the compatibility of each task across different types of nodes using a hardware compatibility function. This function comprehensively considers the task's performance and power consumption costs on each node, and derives a relative compatibility score through normalization. Subsequently, the compatibility of all task-node pairs in the individual's represented scheduling scheme is integrated and fused with the final score based on switching time and load balancing to generate a comprehensive individual score. This allows the optimization process to not only focus on traditional timing and load metrics but also autonomously favor solutions that schedule tasks to their most suitable hardware architecture, thereby ensuring system efficiency while fully leveraging the performance potential of heterogeneous hardware and optimizing energy efficiency.
[0176] In one feasible implementation, for each individual, an individual comprehensive score is calculated based on its final score, the hardware matching degree corresponding to the computing resource scheduling scheme represented by the path chain represented by the individual, and the comprehensive score calculation formula.
[0177] The formula for calculating the overall score is as follows:
[0178] ;
[0179] Where Q represents the overall score, η is the balance coefficient (0 < η < 1), F represents the final score, and M... Match This represents the average hardware compatibility (Match(t, i)) of all tasks and nodes in the path chain represented by this individual. In this way, the system's operational efficiency objective and hardware affinity objective are effectively integrated and optimized, thereby guiding the search direction and ultimately generating a scheduling scheme with superior overall performance.
[0180] This application constructs a path chain model based on a task processing set and a resource node set. The path chain model includes task switching time information and task load information, thus transforming the complex scheduling problem into a quantifiable and optimizable sequence problem. An initial population is generated based on a neighborhood radius adaptive function and a triangular probability distribution, where each individual represents a complete path chain. The position index in the path chain is directly mapped to the corresponding resource node. This approach balances population diversity and structural rationality during the initialization phase, laying the foundation for efficient evolution. Dual fitness is calculated based on total time cost and load balance, and a final scoring function is synthesized through dynamic weights. The total time cost includes task start time and task switching time, and load balance is calculated based on the coefficient of variation of node load. This evaluation system effectively balances the execution efficiency and system stability of the scheduling scheme, avoiding system bottlenecks caused by optimizing a single indicator. Dynamic clustering is performed based on the similarity of the longest common sub-path chains of the path chains. Cluster leaders are selected based on the clustering results, and the population fitness improvement rate is calculated. This mechanism can intelligently identify and distinguish between exploration and development within the population, providing a basis for subsequent precise strategy allocation. The algorithm dynamically adjusts the ratio of global exploration subpopulation to local development subpopulation based on the fitness improvement rate and preset threshold. This makes the algorithm adaptive, intelligently balancing resource allocation between exploring new domains and cultivating the current region based on convergence, significantly improving search efficiency. Path exchange and random perturbation operations are performed based on visual range parameters to optimize and update the path chain. This strategy combines targeted optimization by learning from individuals with high final scores with the introduction of random innovative individuals to maintain diversity, jointly driving high-quality population evolution. When the termination condition is met, the optimal computing resource scheduling scheme is output. The path chain optimization parameters used to generate the scheduling scheme are adaptively adjusted based on the similarity threshold parameters of dynamic clustering and the visual range parameters of subpopulation transformation. This ensures that the parameters throughout the optimization process can self-optimize, eliminating the need for tedious manual parameter tuning and enhancing the robustness and universality of the method. Finally, the optimal computing resource scheduling scheme is distributed to the computing resource management platform. Based on the scheduling scheme, computing tasks are allocated resources and scheduled for execution, thereby transforming the optimization results into actual productivity and directly improving the overall utilization rate of the computing resource pool and task processing efficiency.
[0181] This invention achieves "efficient, stable, and adaptive computing resource scheduling" specifically in the following four dimensions:
[0182] 1. Modeling techniques for computing power scheduling problems based on "path chains":
[0183] Core content: The scheduling of computing resources is abstracted into a "task-node" path chain model. The scheduling scheme is defined as a task sequence T={t1,t2,...,tn}, where the "task at position i" is directly mapped to the "resource node at position i". Task attributes (switching and running time, node load) are strongly bound to the position in the path chain.
[0184] The complex multi-objective problem of "task allocation + sequence optimization + node selection" is transformed into a quantifiable and iterative sequence optimization problem, which solves the pain points of "task-node" mapping and scattered optimization objectives in traditional scheduling models.
[0185] 2. Dual-fitness collaborative optimization technique:
[0186] Core content: Design a dual-objective evaluation system of "primary fitness (total time cost) + secondary fitness (load balancing)": primary fitness f1 directly quantifies the total time consumed by the path chain; secondary fitness f2 accurately measures the degree of load balancing of nodes.
[0187] Function: It breaks through the limitations of traditional single-objective optimization (only pursuing the shortest time) and achieves synergistic optimization of "efficiency and stability", avoiding system crashes caused by load imbalance.
[0188] 3. Dynamic subpopulation switching technology adapted to computing power scheduling:
[0189] Core content: Deeply integrate the gender conversion mechanism of the Eaglefish algorithm with computing power scenarios; explore and develop dynamic balance based on the conversion triggered by the "population master fitness improvement rate".
[0190] This addresses the problems of traditional intelligent optimization algorithms (such as GA and PSO) being "easy to get trapped in local optima" and "poor dynamic adaptability" in computing power scheduling, and improves the algorithm's optimization ability in complex scenarios.
[0191] 4. Dynamic clustering collaboration technique based on path chain similarity:
[0192] Core content: Based on the "path chain sequence similarity" (length of the longest common subsequence), the population is divided into multiple clusters, and hierarchical cooperation is implemented within the cluster: the cluster leader is the individual with the best overall fitness and is responsible for providing high-quality path chain templates; this reduces the search space in large-scale node scenarios and improves the convergence speed of the algorithm in ultra-large-scale clusters.
[0193] This application achieves multi-dimensional breakthroughs in computing power scheduling efficiency, system stability, and adaptability to complex scenarios through innovative path chain modeling and bio-inspired optimization mechanisms. The specific beneficial effects are as follows:
[0194] I. Significantly improves computing power scheduling efficiency and reduces total task completion time.
[0195] Dynamic Balanced Exploration and Development: By simulating the adaptive mechanism of eagle fish sex transformation, potential high-quality node-task combinations are quickly covered in the early stage of scheduling (global exploration phase), and the task order of adjacent nodes is finely optimized in the convergence phase (local development phase), which shortens the total task completion time compared with the traditional genetic algorithm (GA).
[0196] Second, improve system stability and achieve load balancing of computing resources.
[0197] Quantitative balance guidance: By using an auxiliary fitness function (the inverse of the load variation coefficient) to incorporate the "resource balance" objective into the optimization process, the standard deviation of the load on each node is reduced, thus avoiding the risk of system crash due to local node overload.
[0198] Cluster node collaboration mechanism: Based on the dynamic clustering strategy of node characteristics, tasks are preferentially transferred between high-bandwidth nodes in the same cluster, which reduces cross-cluster transmission latency and avoids the concentration of pressure on a single node through load sharing within the cluster.
[0199] Enhance adaptability to complex scenarios and expand the scope of algorithm application.
[0200] Adaptation to large-scale node scenarios: By reducing the search space through clustering collaboration, the algorithm's convergence speed is improved compared to Ant Colony Optimization (ACO) in ultra-large-scale clusters with a large number of nodes.
[0201] IV. Reduce parameter optimization costs and improve the feasibility of project implementation.
[0202] Adaptive parameter adjustment: Key parameters such as visual range and crossover probability are automatically optimized as the iteration process progresses, maintaining high performance in different scenarios (such as online inference and offline training) without the need for manual parameter tuning.
[0203] Modular design: Each module of the algorithm (initialization, fitness evaluation, individual update) can be replaced independently, which makes it easy to customize optimization strategies according to specific scenarios (such as low latency priority, high utilization priority), enhancing the flexibility and scalability of the technical solution.
[0204] The embodiments of this application provide a computing resource scheduling device, which is specifically as follows: Figure 2 As shown, the computing resource scheduling device includes: a construction module 20, a computing module 21, an adjustment module 22, an update module 23, and an execution module 24.
[0205] Module 20 is used to construct path chains based on task sets and node sets. The path chains have a mapping relationship with the computing power resource scheduling scheme, and the sequence index positions of the path chains have a mapping relationship with the nodes. The path chains are used as individuals to construct the initial population.
[0206] The calculation module 21 is used to calculate the final score of an individual based on the task switching time information and the task load information, calculate the similarity value between the longest common sub-path chains of different path chains, and divide the initial population into a local development sub-population and a global exploration sub-population based on the similarity value.
[0207] Adjustment module 22 is used to adjust the individual ratio of the global exploration subpopulation and the local development subpopulation based on the fitness improvement rate of the initial population.
[0208] The update module 23 is used to perform path exchange and random perturbation operations on individuals in the current population according to the visual range parameters corresponding to the global exploration subpopulation or local development subpopulation to which they belong, so as to update the path chain in the current population.
[0209] The execution module 24 is used to take the updated new generation population as the current population and repeat steps S3-S5. When the termination condition is met, the path chain with the highest final score in the current population is taken as the target computing resource scheduling scheme, and computing resource scheduling is performed based on the target computing resource scheduling scheme.
[0210] like Figure 3 As shown, embodiments of this application also provide a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any of the above-described embodiments of the computing resource scheduling method.
[0211] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above-described embodiments of the computing resource scheduling method when running.
[0212] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.
[0213] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0214] The above provides a detailed description of a computing resource scheduling method provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only intended to help understand the method and core ideas of this application. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, and these improvements and modifications also fall within the protection scope of this application.
Claims
1. A method for scheduling computing resources, characterized in that, The computing resource scheduling method includes: S1: Construct a path chain based on the task set and the node set. The path chain has a mapping relationship with the computing power resource scheduling scheme, and the sequence index position of the path chain has a mapping relationship with the node. S2: Construct an initial population using the path chain as individuals, and calculate the final score of each individual based on the task switching time information and task load information; S3: Calculate the similarity value between the longest common sub-path chains of different path chains, and divide the initial population into a local development sub-population and a global exploration sub-population based on the similarity value; S4: Cluster the initial population based on similarity values to form multiple clusters, where the similarity value between individuals within the same cluster is greater than a preset similarity value; select the individual with the highest final score in the cluster to add to the local development sub-population, and add the individuals with a lower final score in the cluster to the global exploration sub-population; calculate the fitness improvement rate of the initial population based on the improvement rate calculation formula; compare the fitness improvement rate with the preset improvement rate threshold. In response to the fitness improvement rate being greater than a preset improvement rate threshold, a preset proportion of individuals in the local development subpopulation are converted into individuals in the global exploration subpopulation; in response to the fitness improvement rate being less than or equal to the preset improvement rate threshold, a preset proportion of individuals in the global exploration subpopulation are converted into individuals in the local development subpopulation. S5: For individuals in the current population, perform path exchange and random perturbation operations based on the visual range parameters corresponding to their global exploration subpopulation or local development subpopulation to update the path chain in the current population, and use the updated new generation population as the current population. S6: Repeat steps S3-S5. When the termination condition is met, take the path chain with the highest final score in the current population as the target computing resource scheduling scheme and execute computing resource scheduling based on the target computing resource scheduling scheme.
2. The computing resource scheduling method according to claim 1, characterized in that, The construction of the path chain based on the task set and node set includes: Obtain a task set and a node set, wherein the task set includes multiple tasks to be scheduled, and the node set includes multiple resource nodes; Initialize an empty path chain, randomly select any task from the task set as the target task, and add the target task to the empty path chain; In response to adding the target task to an empty path chain completion, the target task is removed from the task set; The neighborhood radius is determined based on the number of tasks to be scheduled in the current task set and the neighborhood radius adaptive function. Calculate the difference between the sequence index position of the target task and the tasks in the current task set, and select the tasks with the smallest difference between the sequence index positions and the same number of tasks as the neighborhood radius to form a candidate task set. Calculate the probability of a candidate task being selected from the candidate task set based on the probability distribution calculation formula; The target candidate task is selected from the candidate task set as the next target task based on the probability distribution of the candidate tasks. Add the next target task to the end of the empty path chain until all tasks in the task set are added to the path chain, and output the constructed path chain; The neighborhood radius adaptive function is as follows: ; Where R represents the neighborhood radius, R max Indicates the maximum radius limit, N remain K represents the number of unscheduled tasks in the task set, and K is the clustering coefficient. The probability distribution is calculated using the following formula: ; Where P(j) is the probability that the j-th task in the candidate task set is selected, m represents the number of candidate tasks in the candidate task set, and otherwise means except Other than these.
3. The computing resource scheduling method according to claim 1, characterized in that, The final score for an individual is calculated based on task switching time information and task load information, including: The main fitness score is calculated based on the task switching time information and the main fitness calculation formula. The auxiliary fitness score is calculated based on the task's workload information and the auxiliary fitness calculation formula. The final score of an individual is calculated based on the primary fitness score, secondary fitness score, and the final score calculation formula. The formula for calculating the master fitness is as follows: ; The formula for calculating auxiliary fitness is as follows: ; The final score calculation formula is as follows: ; f1 represents the primary fitness, s 0,1 This indicates the start time of the first task at the starting node, s i-1,i Let represent the switching time from node i-1 to node i, i.e., the switching time from task i-1 to task i, where n represents the path chain length, f² represents the secondary fitness, CV represents the coefficient of variation of node load, quantifying the load dispersion, and l m Let represent the load of the m-th node, ε represent the minimum constant, F represent the final score, ω1 represent the dynamic adjustment parameter of the primary fitness, and ω2 represent the dynamic adjustment parameter of the secondary fitness.
4. The computing resource scheduling method according to claim 1, characterized in that, The calculation of the similarity value between the longest common sub-path chains of different path chains includes: The longest common sub-path chain in the path chain is determined based on the link length calculation formula; The similarity value between the longest common sub-path chains of different path chains is calculated based on the similarity value calculation formula. The formula for calculating the link length is as follows: ; Where LCS[A][Z] represents the length of the longest common sub-path chain of the first A elements of path chain X and the first Z elements of path chain Y, x A Let y represent the A-th task in path chain X. Z This represents the Z-th task in path chain Y, and "otherwise" means excluding tasks where A=0, Z=0, and x=0. A =y Z Other than these; The formula for calculating the similarity value is as follows: ; Sim(X,Y) represents the similarity value between the longest common sub-path chains in different path chains, LCS(X,Y) represents the length of the longest common sub-path chain between path chains X and Y, and |X| and |Y| represent the lengths of different path chains.
5. The computing resource scheduling method according to claim 1, characterized in that, The formula for calculating the improvement rate can be as follows: ; Where, r improve Indicates the improvement rate. This represents the recent average fitness, which is the average fitness over a preset number of consecutive iterations prior to the current generation. This represents the average fitness in the early stages, which is the average fitness across the same number of consecutive iterations prior to the current generation.
6. The computing resource scheduling method according to claim 1, characterized in that, For each individual in the current population, path exchange and random perturbation operations are performed based on the visual range parameters corresponding to its global exploration subpopulation or local development subpopulation to update the path chains in the current population. The updated new generation population is then used as the current population. For any individual in the current population, determine whether it belongs to the global exploration subpopulation or the local development subpopulation; the visual range parameter corresponding to the individual in the global exploration subpopulation is the first visual range parameter, and the visual range parameter corresponding to the individual in the local development subpopulation is the second visual range parameter. The product of the visual range parameter and the total length of the path chain corresponding to the current individual is used as the number of task positions to be swapped. In the path chain corresponding to the current individual, multiple non-repeating task positions are randomly selected, with the same number as the number of task positions to be exchanged, to form an exchange position set; the task position is the sequence index position of the task in its path chain. For any target location in the set of swap locations, find the target task of the individual with the highest final score in the current individual's cluster at the target location; In the path chain corresponding to the current individual, find the actual location of the target task. The tasks of the current individual at the target location and the actual location are swapped until the location swapping in the set of swapped locations is completed, resulting in a new individual after the path swap. A random number is generated as the target perturbation factor, and the target perturbation factor is compared with a preset perturbation factor; In response to the target perturbation factor being greater than the preset perturbation factor, two random sequence index positions are selected as exchange positions in the path chain corresponding to the new individual, and the tasks at the exchange positions are swapped. In response to the target disturbance factor being less than or equal to the preset disturbance factor, the new individual after the path exchange remains unchanged; The path chains corresponding to the new individuals after the path exchange and the individuals after the task exchange operation at the exchange position are used as the updated path chains. A new generation of population is formed based on the updated path chain, and the new generation population is set as the current population to start a new round of iteration.
7. The computing resource scheduling method according to claim 1, characterized in that, The repeated execution of steps S3-S5, when the termination condition is met, uses the path chain with the highest final score in the current population as the target computing resource scheduling scheme, including: The S3-S5 steps are executed iteratively and repeatedly. In each iteration, the individual with the highest final score in the current population is recorded as the global best individual for each iteration. The algorithm iteration process terminates when the number of iterations reaches the preset maximum number of iterations or when the final score of the globally optimal individual recorded in the historical iteration process does not exceed the preset threshold for a preset number of consecutive generations. From the set of globally optimal individuals recorded in the historical iteration process, the globally optimal individual with the highest final score is selected as the target globally optimal individual, and the path chain corresponding to the target globally optimal individual is used as the final target computing power resource scheduling scheme.
8. The computing resource scheduling method according to claim 1, characterized in that, The computing resource scheduling method further includes: In response to a node that is a hardware type, a target pseudo-temperature function is constructed based on the node's hardware type. The target pseudo-temperature function includes a graphics processor node pseudo-temperature function, a central processing unit node pseudo-temperature function, and a programmable device node pseudo-temperature function. The pseudo-temperature function of the graphics processor node is as follows: ; The pseudo-temperature function of the central processing unit node is as follows: ; The pseudo-temperature function of the programmable device node is as follows: ; Among them, T GPU (i), T CPU (i), T FPGA (i) represent the hardware pseudo-temperature of node i corresponding to hardware type, β GPU β CPU β FPGA These represent the corresponding hardware type acceleration factor and C, respectively. 并行 (i) C 串行 (i) C 流水线 (i) represent the computational complexity corresponding to the hardware type at node i, and C 总 (i) represents the total computational cost of node i, t 迭代 Indicates the current iteration number, the number of iterations the algorithm has executed, t. 半衰期 S represents the performance half-life, used to simulate the rate at which the influence of hardware performance decays with the iteration process, ensuring that the algorithm does not become overly reliant on hardware characteristics in later stages and fall into local optima. 缓存命中 (i) represents the cache hit count, the number of successful accesses to the cache system of node i per unit time, S. 总访问 (i) represents the total number of cache accesses, the total number of requests made by the cache system of node i per unit time, N. 重配置 (i) represents the number of reconfiguration attempts, the number of times node i needs to have its logic circuit reprogrammed in the near future, N. 总任务 (i) represents the total number of tasks, the total number of tasks processed by node i; For any combination of task and any node, the parameters in the path chain update process are adjusted based on the pseudo-temperature of the resource node and the pseudo-temperature of the task, calculated by the pseudo-temperature of the matching pseudo-temperature. The formula for calculating the matching pseudo-temperature is as follows: ; Among them, WT (i,j) This represents the matching pseudo-temperature for assigning task j to node i, β1 represents the hardware weighting coefficient, and T c (i) represents the pseudo-hardware temperature of node i, β2 represents the task weight coefficient, and T v (j) represents the pseudo-temperature of task j, β3 represents the system weighting coefficient, and T b This represents the pseudo-temperature of the system, reflecting the overall load status of the system.
9. The computing resource scheduling method according to claim 8, characterized in that, The parameters in the path chain update process include the acceptance probability of the new individual and the visual range parameter. The parameters in the path chain update process based on the matched pseudo-temperature adjustment include: The hardware efficiency evaluation value of an individual is calculated based on the path chain length, the matching pseudo temperature, and the hardware efficiency evaluation value calculation formula; the acceptance probability of a new individual is calculated based on the hardware efficiency evaluation value and the acceptance probability calculation formula; and the acceptance probability of the new individual is used to determine whether to accept the new individual. The visual range parameter is dynamically adjusted based on the visual range parameter adjustment formula and the hardware pseudo-temperature of the node. The efficiency evaluation value is calculated using the following formula: ; H(X) represents the hardware efficiency evaluation value of an individual, and N represents the path chain length, i k For the node corresponding to the k-th sequence index position, j k The task assigned to the k-th sequence index position; The formula for calculating the acceptance probability is as follows: ; Ps represents the acceptance probability of the new individual, ΔF = F(X) new )-F(X old ) represents the improvement in fitness between the old and new individuals, ΔH = H(X) new )-H(X old ) represents the improvement in hardware efficiency between the old and new individuals, λ represents the hardware weighting coefficient, used to balance the importance of fitness and hardware efficiency in decision-making, and T o This represents the global pseudo-temperature of the current iteration, which decays as the iteration progresses. The formula for adjusting the visual range parameter is shown below: ; V(i) represents the visual range parameter of the individual at node i, V(h) represents the basic visual range, and T c (i) represents the hardware pseudo temperature of node i, T(h) represents the preset reference pseudo temperature, and k represents the sensitivity coefficient, which is used to control the adjustment range.
10. A computer device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the computing resource scheduling method as described in any one of claims 1 to 9 when executing the computer program.
Citation Information
Patent Citations
Hybrid intelligent optimization method
CN103942419A
Unmanned aerial vehicle path planning method based on improved genetic algorithm
CN117742373A