Cluster resource allocation and scheduling joint optimization method based on multi-load extension performance modeling

By employing a joint optimization method for resource allocation and scheduling based on multi-load extended performance modeling in supercomputing clusters, the problems of low optimization efficiency and weak scalability of existing resource allocation and scheduling methods are solved, achieving efficient resource utilization and improved energy efficiency.

CN120407158APending Publication Date: 2025-08-01SOUTH CHINA UNIV OF TECH
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510437734.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-09
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

Existing technologies for resource allocation and scheduling in supercomputing clusters suffer from low optimization efficiency and weak scalability under multiple loads, making it difficult to achieve global optimal cluster energy efficiency in dynamically changing load environments.

Method used

A joint optimization method for cluster resource allocation and scheduling based on multi-load extended performance modeling is adopted. By establishing a performance peak model in the offline phase and combining it with data sampling and performance modeling in the online phase, the resource allocation and scheduling strategy is dynamically adjusted to optimize resource utilization.

Benefits of technology

It significantly improved the resource utilization and energy efficiency of the supercomputing cluster, achieved efficient resource allocation and scheduling under various load environments, and enhanced the overall energy efficiency of the cluster.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120407158A_ABST
    Figure CN120407158A_ABST
Patent Text Reader

Abstract

The invention discloses a cluster resource allocation and scheduling joint optimization method based on multi-load expansion performance modeling, which combines resource allocation and job scheduling to optimize the energy efficiency of a high-performance cluster, prevents the cluster from falling into local optimum due to single optimization, and improves the multi-load expansion efficiency of an optimization technology at the same time. And a resource allocation stage: establishing a performance model to determine the optimal resource demand of the job. In order to reduce performance modeling overhead in a multi-type application environment, a performance peak model is established based on historical optimization information to predict an optimal resource configuration range of a new job so as to reduce a data sampling space. In the job scheduling stage, a backfill scheduling algorithm based on service awareness is provided, and when idle resources of a cluster are insufficient, the algorithm selects jobs based on a performance model to carry out resource attenuation so as to allow triggering of backfill operation. According to the method, the resource requirements of various applications in the supercomputing environment can be adaptively identified, and the resource utilization rate of the server is improved in combination with a scheduling algorithm, so that the overall energy efficiency of the cluster is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of cluster scheduling optimization, and particularly relates to a joint optimization method for cluster resource allocation and scheduling based on multi-load extended performance modeling. Background Art

[0002] With the continuous development of high-performance computing (HPC) technology, the demand for resources by computing tasks is increasing day by day. Especially in the fields of big data analysis, artificial intelligence, deep learning, scientific computing, etc., the scale of modern computing cluster systems has gradually grown to support large-scale computing tasks, but it is also accompanied by huge power and energy consumption. To balance service quality and operating costs, the focus of building supercomputers and clusters has shifted from high performance to high energy efficiency. Reasonable resource allocation and scheduling decisions for jobs according to application resource requirements and cluster operating status are the most effective optimization technologies to improve the energy efficiency of supercomputer clusters. However, there are significant differences in the performance requirements, priorities, resource consumption, etc. of different high-performance jobs. At the same time, with the continuous progress of hardware technology, the types and configurations of cluster resources are also constantly enriching. How to design an effective resource scheduling method in a dynamically changing complex supercomputer load environment has become a key technical challenge in current cluster management.

[0003] In the supercomputer scenario, the job resource requirements are specified by users, such as the number of nodes, the number of CPU cores, the memory occupancy, etc. Due to the lack of in-depth analysis of cluster hardware configuration and application running characteristics by users, it is difficult for users to accurately evaluate the optimal total amount of resources required for jobs, resulting in serious resource waste. According to the survey by Nikitenko et al., 87% of users believe that there are efficiency problems in their supercomputer applications, but the vast majority of people cannot clearly identify the root cause of the efficiency reduction. Therefore, many scholars have proposed resource allocation algorithms based on the characteristics of supercomputer applications to automatically adjust resource quotas to improve the execution efficiency of jobs. Schwarzrock et al. proposed the Hoder algorithm to optimize the number of threads during the runtime of supercomputer applications. Hoder gradually converges to the optimal solution from the initial thread configuration based on the Fibonacci search strategy. To further improve the convergence speed of the algorithm, the author also optimized Hoder's search strategy based on supercomputer applications, such as the performance degradation caused by unbalanced thread allocation. Coutinho et al. proposed a model-based resource optimization algorithm for supercomputer applications, using multiple linear regression to establish the correlation between resource configuration space and performance and power consumption, and using a small number of sampling points to identify the performance and power consumption values of the program under various resource configurations, so as to guide the tuning decision. For a more complex heterogeneous computing environment, He et al. proposed the H-HRM resource management algorithm to coordinate the resource allocation of CPUs and GPUs. H-HRM establishes a hybrid-domain resource fairness model according to the resource usage characteristics of users, and performs operations such as resource binding and GPU sharing on jobs, greatly improving the resource utilization rate of the cluster.

[0004] After determining the resource allocation of jobs, how to coordinate all user jobs under limited computing resources, reduce job waiting time and improve resource utilization through a reasonable scheduling strategy is the key issue to improve the energy efficiency of the server cluster of supercomputers. Due to the large resource requirements and long running time of supercomputer applications, there are a large number of fragmented resources in the cluster for a long time. The backfill scheduling algorithm executes small jobs with lower resource requirements in the waiting queue in advance, so as to utilize the idle resources that are difficult to be used by large-scale jobs. The backfill scheduling algorithm requires obtaining the running time of jobs in advance. Otherwise, the optimization effect of the scheduling algorithm will be significantly reduced. For example, if a job ends prematurely, it will lead to long-term resource idleness, and if a job ends late, it will cause the resources not to be released in time, affecting the normal execution of other jobs. As mentioned above, users do not have sufficient understanding of supercomputer software and hardware, and it is difficult to accurately estimate the running time of jobs. Therefore, Cao et al. established a classification model and a performance model of supercomputer applications using the random forest algorithm on the basis of the backfill scheduling algorithm. The classification model allows the algorithm to identify the types of jobs running on the server in real time and select the corresponding performance model to accurately evaluate their running time, so as to improve the optimization effect of the backfill algorithm. For models with the same error, the absolute time error of large-scale job performance evaluation is much larger than that of small-scale jobs, resulting in a poor optimization effect of the scheduling algorithm in the scenario of mixed-scale jobs. Therefore, Lamar et al. proposed the Top Percent predictor to predict through performance percentage rather than absolute running time to adapt to the performance magnitude differences of different-scale jobs. With the development of machine learning, many studies have used the adaptive ability of AI algorithms to implement black-box scheduling optimization for supercomputer clusters, reducing the labor cost of optimization and avoiding the negative optimization of the cluster caused by incorrect analysis results. Li et al. proposed an energy-aware scheduling algorithm based on deep reinforcement learning. The algorithm first establishes a server energy consumption model offline using benchmark programs. When making online scheduling decisions, it uses deep reinforcement learning to automatically determine the placement logic of jobs. The goal of deep reinforcement learning is to minimize the power consumption increment brought by job execution while ensuring job performance. To avoid the overly large decision space of deep reinforcement learning caused by large-scale clusters, the author also uses an autoencoder to extract the main features of the server state space, reducing the input data dimension of deep reinforcement learning to accelerate the algorithm convergence.

[0005] Although the above optimization methods can improve the energy efficiency of the supercomputer cluster to a certain extent, there are still many problems in complex supercomputer production environments. On the one hand, resource allocation only considers the performance of a single job, while scheduling needs to balance multiple jobs to maximize the overall energy efficiency of the cluster. It is difficult to achieve the global optimal energy efficiency of the cluster by directly using the locally optimal solution obtained from resource allocation to guide job scheduling. On the other hand, existing resource allocation and job scheduling methods lack sufficient scalability to cope with dynamic load environments. Whether it is offline model training or online iterative optimization, it takes a large amount of time cost. Especially in multi-type application environments, the overhead of repeatedly performing model training and iterative optimization for each application is unacceptable. Therefore, there is still a lack of a multi-dimensional and scalable resource allocation and scheduling method in supercomputer clusters. Summary of the Invention

[0006] The main objective of the present invention is to overcome the disadvantages and deficiencies of the existing technology, such as low optimization efficiency and weak scalability for multiple loads, and provide a joint optimization method for cluster resource allocation and scheduling based on multi-load extended performance modeling. Through online performance modeling, the present invention enables the resource allocation algorithm to adapt to the dynamically changing supercomputer load environment, and uses the performance peak model to reduce the data collection and iterative optimization overhead for multiple types of loads. Combining the resource allocation and performance model, the scheduling algorithm can significantly improve the resource utilization rate of the server, thereby enhancing the overall energy efficiency level of the cluster.

[0007] To achieve the above objective, the present invention adopts the following technical solutions:

[0008] The present invention provides a joint optimization method for cluster resource allocation and scheduling based on multi-load extended performance modeling, including an offline stage and an online stage, specifically including:

[0009] S1. In the offline stage, different types of supercomputer benchmark loads are executed, and the values of various performance counters in the system are collected as a data set to train the performance peak model, providing job resource evaluation capabilities for the online stage;

[0010] S2. In the online stage, a performance model is established for supercomputer applications, the performance model is gradually improved through data sampling, and the resource requirements of jobs are determined by the performance model;

[0011] S3. In the online stage, all user jobs are submitted to the job waiting queue and job placement is performed until the idle resources of the cluster do not meet the resource requirements of the next job;

[0012] S4. In the online stage, job backfilling operations are performed, backfilling jobs whose current cluster idle resources in the job waiting queue meet their resource requirements are searched, and backfilling jobs that have no performance impact on the jobs to be run are run;

[0013] S5. Perform performance decay backfilling operation during the online phase. Calculate the performance of the jobs that have completed performance modeling in the job waiting queue under the current cluster state based on the performance model, and run the best-performing performance decay backfilling job.

[0014] As a preferred technical solution, in step S1, test the performance and running characteristics of a set of benchmark programs under different resource configurations, determine the resource requirements for the best performance of each benchmark program, and form a data set to train the performance peak model. The performance peak model takes the running characteristics and optimal resource configuration of the program as input and output respectively, where the running characteristics include hardware utilization, performance counters, and I / O throughput, and the resource types include the number of CPU cores, memory capacity, and the number of GPU cores.

[0015] As a preferred technical solution, in step S2, establish performance models for various applications during the production process of the supercomputer cluster to cope with the dynamically changing load environment. The performance models take the job resource requirements and running time as input and output respectively, and continuously sample during the process of continuous submission of user jobs to improve the model accuracy. The modeling process for each application includes the following stages:

[0016] S201. When an application first submits a job, use the default resource allocation rules of the cluster to determine the resource requirements of the job, and then enter the data sampling stage;

[0017] S202. When an application first enters the data sampling stage, input the job running characteristics obtained in S201 into the performance peak model to obtain the estimated best resource requirements of the application. Subsequently, the resource requirements of all jobs will be determined based on the best resource requirements for local data sampling to reduce the modeling overhead of multiple types of applications;

[0018] S203. When the performance model is perfected, end the data sampling process, calculate the resource requirements when the job reaches the optimal performance, and use it as the resource requirements for all subsequent jobs submitted to the job waiting queue.

[0019] As a preferred technical solution, in step S201, the default resource allocation rules of the cluster include static resource allocation rules, resource occupancy set by users, and resource requirements automatically generated by software;

[0020] In step S202, the data sampling methods include random sampling, stratified sampling, and Latin hypercube sampling;

[0021] In step S203, the criteria for judging whether the performance model is perfected include the specified number of samplings and the model accuracy threshold.

[0022] As a preferred technical solution, step S3 is specifically as follows:

[0023] The resource requirements of the jobs in the waiting queue are determined by the resource allocation algorithm in S2. The job scheduling algorithm will adjust the resource configuration during job execution with reference to these resource requirements and in combination with the real-time running status of the cluster. When the idle resources of the cluster meet the optimal resource requirements of the job, the job will be placed for execution.

[0024] As a preferred technical solution, step S4 is specifically as follows:

[0025] Two conditions need to be met for the execution of backfill jobs. Firstly, the idle resources of the cluster meet the resource requirements of the job. Secondly, the completion time of the backfill job is earlier than the estimated execution time of the next job to be run in the waiting queue. The running time of the job is evaluated by the performance model, and the estimated execution time of the job to be run is jointly calculated based on the resource requirements of this job, the resource configuration of the jobs in execution, and the running time. For applications for which performance modeling has not been completed, the processing methods include estimating the running time based on expert knowledge or estimating a shorter running time to reduce the probability of backfill job execution.

[0026] As a preferred technical solution, the running time of jobs for which performance modeling has not been completed will be set to infinity to avoid triggering backfill; different placement methods of the same job are regarded as multiple feasible solutions for backfill operations, thereby generating multiple sets of (job, resource configuration, node combination) pairs.

[0027] As a preferred technical solution, step S5 is specifically as follows:

[0028] S501. Determine the maximum resource configuration of all jobs for which performance modeling has been completed in the waiting queue under the current idle resources of the cluster, and estimate the running time of the jobs under this resource configuration based on the performance model;

[0029] S502. Remove the backfill jobs that have a performance impact on the job to be run;

[0030] S503. Perform weighted scoring on all candidate jobs and execute the best performance-decaying backfill job; the scoring basis includes the amount of performance loss, resource occupancy, and job submission time.

[0031] As a preferred technical solution, the scoring formula for step S503 is:

[0032]

[0033] Where and T C represent the running time of load w under resource combination R and the maximum running time that node combination C can allocate to the backfill job, R ′ represents the optimal resource requirement, M R represents the resource requirement of the feasible solution, represents all the idle resources in node combination C, Represents all idle resources in the entire supercomputer cluster.

[0034] As a preferred technical solution, each time a user submits a new job, step S2 will be triggered to gradually improve the accuracy of supercomputer application performance evaluation; after each job is executed, steps S3 - S5 will be triggered in sequence to achieve business-aware scheduling optimization to improve the energy efficiency of the supercomputer cluster.

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

[0036] (1) The present invention proposes an innovative peak performance model. This model takes the load operation characteristics as input to predict the optimal resource requirements, thereby evaluating the variation law of resource configuration and performance in unknown supercomputer applications, greatly reducing the data sampling space and avoiding extremely poor performance sampling points to reduce the overall energy efficiency of the cluster.

[0037] (2) The present invention proposes a scalable resource allocation algorithm. By online performance modeling to evaluate the performance of various supercomputer applications to determine the optimal resource configuration, and combining with the peak performance model to reduce the performance modeling overhead of multi-load, it realizes efficient resource allocation in a supercomputer load environment with multiple types of applications and dynamic changes.

[0038] (3) The present invention proposes a backfill scheduling algorithm based on business awareness. It places jobs based on the optimal solution of resource allocation, utilizes the fragmented resources of the server through backfill and performance decay operations, and combines with the performance model to minimize the performance impact of performance decay on user jobs, greatly improving the overall energy efficiency of the cluster while ensuring job performance.

[0039] (4) The present invention combines two mainstream optimization technologies in the field of supercomputing, namely resource allocation and job scheduling. It uses the resource allocation algorithm to provide a decision basis for job scheduling, dynamically adjusts the local optimal solution of resource allocation according to the real-time running state of the cluster, and achieves the global optimal energy efficiency of the supercomputer cluster through joint optimization. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0041] Figure 1 It is a flowchart of a joint optimization method for cluster resource allocation and scheduling based on multi-load extended performance modeling.

[0042] Figure 2 It is a flowchart of a scalable resource allocation algorithm.

[0043] Figure 3 It is a flow chart of a backfill scheduling algorithm based on service awareness. Specific implementation manners

[0044] To enable those skilled in the art to better understand the solutions of this application, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are only a part of the embodiments of this application, rather than all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative efforts shall fall within the protection scope of this application.

[0045] The mention of "embodiment" in this application means that the specific features, structures or characteristics described in connection with the embodiment may be included in at least one embodiment of this application. The phrase appears in various positions in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art explicitly and implicitly understand that the embodiments described in this application can be combined with other embodiments.

[0046] This embodiment is based on a five-node cluster to simulate a supercomputer load environment. The server configuration is shown in Table 1. The load comes from example programs of PENNANT and LAMMPS applications, including leblancbig, nohpoly, nohsquare, sedovbig, sedovflat, chain, eam, lj, chute, rhodo.

[0047] As Figure 1 shown, the joint optimization method for cluster resource allocation and scheduling based on multi-load extended performance modeling in this embodiment includes an offline stage and an online stage, specifically:

[0048] First, an offline performance peak model is established to evaluate the optimal resource requirements of supercomputer applications. This embodiment considers three resources: the number of nodes, the number of CPU cores, and the memory occupancy. This embodiment uses Latin hypercube sampling to test the running characteristics of each benchmark under different resource configurations, including running time, IPC, CPU utilization, cache hit rate, disk throughput, etc. This embodiment combines the resource configuration with the shortest running time of each load and the load characteristics under the default resource configuration to generate a data set, and uses the random forest algorithm to train the performance peak model. To test the generalization ability of the model, this embodiment divides the training load and the test load in a ratio of 6:4. Table 2 shows the average accuracy of the model predicting its optimal resource configuration when each benchmark is used as the test load after repeating the experiment 30 times. The average accuracy of the performance peak model for all loads is 86.89%, proving that the model can roughly evaluate the optimal resource configuration of new loads.

[0049] Server Configuration of Embodiment in Table 1

[0050] Server Model Huawei TaiShan 200 Processor Model Kunpeng920 7260 Memory Model 16*HMA84GR7JJR4N-WM(32GB) Disk Model SAMSUNGMZ7LH480(480GB) Python Version 3.10.12 Kernel Version Linux 4.18.0

[0051] Model Accuracy of Performance Peak Model on Different Supercomputer Application Examples in Table 2

[0052]

[0053]

[0054] When the high-performance cluster is in continuous online operation, it will continuously receive job requests submitted by users, and the resource allocation algorithm will determine the best resource configuration for each user job for this execution. The flowchart of the scalable resource allocation algorithm is as Figure 2 shown. For the first submitted supercomputer application lacking sufficient information to guide the optimization decision, the default resource configuration will be used as the best resource requirement. In this embodiment, all hardware resources of a single node are used as the default resource configuration to prevent the mixed operation of multiple jobs from affecting the accuracy of the load characteristics. When the user submits a similar job again, the load characteristics collected during the first run of the job are input into the performance peak model to obtain the resource configuration when the job reaches the best performance and use this configuration as the best resource requirement for this job. Subsequently, the performance change trend of this type of job in the local space of the best resource configuration is determined to reduce the data sampling overhead required for performance modeling. In this embodiment, Equation (1) is used to calculate the sampling space of each resource, and the search space of resource r under load w is mainly determined by the average error E of the performance peak model and the predicted load w of the performance peak model for the best demand value of resource r . Since the prediction error of some loads will be greater than the average error E, the formula uses α to balance the search space and the local optimal tolerance. In this embodiment, α is set to E / 2. For all subsequent similar jobs submitted by users, this embodiment uses random sampling to determine the best resource requirement during the performance modeling process, and calculates the model accuracy by comparing the actual performance of historical jobs with the model output values. When the model accuracy is higher than 70% and the change range in 5 consecutive samplings does not exceed 5%, the training process is exited and the resource configuration under the optimal performance is used as the optimal resource requirement for the job.

[0055]

[0056] When the job waiting queue is empty and a new user job is added or the job waiting queue is not empty and a user job has finished executing, the job scheduling algorithm will be triggered. The flowchart of the backfill scheduling algorithm based on service awareness is as Figure 3As shown, in this embodiment, the algorithm first executes the jobs in the waiting queue according to the FIFO strategy, and places the jobs based on the Binpack strategy. When the cluster resource manager identifies that the real-time idle resources are insufficient to execute the next job in the waiting queue, the algorithm will enter the backfill operation phase. First, the algorithm selects N jobs to be run for backfill decision to reduce the decision space. In this embodiment, N is set to 100. For all candidate jobs, the algorithm will determine the highest resource configuration that can be allocated under the current idle resources, and use the performance model to predict the running time of the job under the resource configuration. In this embodiment, the running time of the unfinished performance modeling job will be set to infinity to avoid triggering backfill. Due to the difference in the amount of idle resources between nodes, the algorithm regards different placement methods of the same job as multiple feasible solutions for the backfill operation, thereby generating multiple groups of (job, resource configuration, node combination) pairs. Finally, the algorithm calculates the score for each feasible solution according to the needs of the cluster manager, and selects the most suitable job to perform the backfill operation. In this embodiment, the feasible solution score calculation rule is shown in formula (2), where and T C It represents the running time of the load w under the resource combination R and the maximum running time that the node combination C can allocate to the backfill job. When backfilling the feasible solution may delay the execution of non-backfill jobs, the score is set to 0. In addition, this embodiment will give priority to backfilling the optimal resource requirement R determined in the resource allocation algorithm. ′ The feasible solution, and the resource requirement of the feasible solution M R Utilize all idle resources in node combination C as much as possible jobs to reduce the performance interference caused by the mixed operation of high-performance jobs; at the same time, this embodiment will also backfill and utilize all idle resources in the entire supercomputing cluster as much as possible When idle resources are high, larger jobs are backfilled to avoid smaller jobs with a higher probability of backfilling from frequently occupying backfill opportunities. For feasible solutions with performance degradation, the algorithm minimizes the performance loss of the job as much as possible based on the aforementioned scoring rules. The algorithm repeats the search until the cluster's idle resources are insufficient to trigger backfilling for any candidate job. At this point, the algorithm blocks, waiting for any running job to release resources and repeats the above steps until all jobs have completed.

[0057]

[0058] To test the improvement in energy efficiency of the supercomputer cluster by the resource management and scheduling method, in this embodiment, all the sample programs in PENNANT and LAMMPS are submitted to the job waiting queue in a random order, with each sample program submitted 30 times. The energy efficiency difference of the cluster is evaluated by comparing the running times of the same job flow under different scheduling algorithms. In this embodiment, the method proposed in the present invention (Ours) is compared with the FIFO policy and the traditional backfill algorithm (Backfill), and the optimization effects are shown in Table 3. Compared with the FIFO policy and the traditional backfill policy, the joint optimization method of cluster resource allocation and scheduling based on multi-load extended performance modeling improves the resource utilization rate by 28.87% and 7.34% compared with the mainstream methods, and improves the energy efficiency of the cluster by 26% and 10.53%, proving the effectiveness of the present invention.

[0059] Table 3 Performance of the cluster when running the designed load flow under various scheduling algorithm optimizations

[0060] Optimization Algorithm Server Utilization Load Flow Running Time Normalized Energy Efficiency FIFO 61.3% 40215s 1.00 Backfill 73.6% 35357s 1.14 Ours 79.0% 31907 1.26

[0061] The present invention proposes a global optimization method for joint resource allocation and job scheduling. By offline training a performance peak model to predict the optimal resource configuration of multi-type applications, and combining a dynamic data sampling mechanism (such as Latin hypercube sampling) to iteratively improve the performance model online, the modeling overhead in a multi-load environment is reduced; on this basis, a service-aware backfill scheduling algorithm is designed. When the cluster resources are insufficient, the job resource configuration is dynamically adjusted based on the performance model (performance decay backfill), and a weighted scoring mechanism is introduced to quantify the resource utilization rate, performance loss and priority of the job, and the jobs with high fragmented resource utilization rate and significant improvement in global energy efficiency are preferentially executed, thus breaking the local optimal limit of single optimization and realizing the collaborative optimization of cluster resource allocation and scheduling, and significantly improving the energy efficiency and resource utilization rate of the supercomputer cluster.

[0062] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The program can be stored in a non-volatile computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, storage, database, or other medium used in the various embodiments provided in this application can include non-volatile and / or volatile memories. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM), etc.

[0063] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope described in this specification.

[0064] The above embodiments are preferred embodiments of the present invention, but the embodiments of the present invention are not limited to the above embodiments. Any other changes, modifications, substitutions, combinations, and simplifications made without departing from the spirit and principle of the present invention shall be equivalent replacement methods and are all included in the protection scope of the present invention.

Claims

1. A joint optimization method for cluster resource allocation and scheduling based on multi-load extended performance modeling, characterized in that It includes an offline phase and an online phase, specifically including: S1. In the offline phase, different types of supercomputing benchmark loads are executed, and the values of various performance counters in the system are collected as a dataset to train a performance peak model, providing job resource evaluation capabilities for the online phase; S2. In the online phase, a performance model is established for supercomputing applications, the performance model is gradually improved through data sampling, and the resource requirements of jobs are determined by the performance model; S3. In the online phase, all user jobs are submitted to the job waiting queue and job placement is performed until the idle resources of the cluster do not meet the resource requirements of the next job; S4. In the online phase, a job filling operation is performed, searching for filling jobs in the job waiting queue whose resource requirements are met by the current idle resources of the cluster, and running filling jobs that have no performance impact on the jobs to be run; S5. In the online phase, a performance degradation filling operation is performed, calculating the performance performance of jobs that have completed performance modeling in the job waiting queue when running under the current cluster state based on the performance model, and running the best performance degradation filling jobs.

2. The joint optimization method for cluster resource allocation and scheduling based on multi-load extended performance modeling according to claim 1, characterized in that In step S1, the performance and running characteristics of a group of benchmark programs are tested under different resource configurations, the optimal resource requirements for each benchmark program are determined, and a dataset is formed to train a performance peak model. The performance peak model takes the running characteristics and optimal resource configuration of the program as input and output respectively, where the running characteristics include hardware utilization, performance counters, and I / O throughput, and the resource types include the number of CPU cores, memory capacity, and the number of GPU cores.

3. The joint optimization method for cluster resource allocation and scheduling based on multi-load extended performance modeling according to claim 1, wherein In step S2, a performance model is established for various applications during the production process of the supercomputing cluster to cope with the dynamically changing load environment. The performance model takes the job resource requirements and running time as input and output respectively, and continuous sampling is performed during the continuous submission of user jobs to improve the model accuracy. The modeling process for each application includes the following stages: S201. When an application first submits a job, the default resource allocation rules of the cluster are used to determine the resource requirements of the job, and then it enters the data sampling stage; S202. When an application first enters the data sampling stage, the job running characteristics obtained in S201 are input into the performance peak model to obtain the estimated optimal resource requirements of the application. Subsequently, the resource requirements of all jobs will be determined based on the optimal resource requirements through local data sampling to reduce the modeling overhead of multiple types of applications; S203. When the performance model is perfected, the data sampling process ends, and the resource requirements when the job reaches the optimal performance are calculated and used as the resource requirements for all subsequent jobs submitted to the job waiting queue.

4. The joint optimization method for cluster resource allocation and scheduling based on multi-load extended performance modeling according to claim 3, characterized in that In step S201, the default resource allocation rules of the cluster include static resource allocation rules, resource occupancy set by users, and resource requirements automatically generated by software; In step S202, the data sampling methods include random sampling, stratified sampling, and Latin hypercube sampling; In step S203, the criteria for judging whether the performance model is perfected include the specified number of sampling times and the model accuracy threshold.

5. The joint optimization method for cluster resource allocation and scheduling based on multi-load extended performance modeling according to claim 1, characterized in that Step S3 is specifically: The resource requirements of the jobs in the waiting queue are determined by the resource allocation algorithm in S2. The job scheduling algorithm will adjust the resource configuration during job execution with reference to the resource requirements and in combination with the real-time running status of the cluster. When the idle resources of the cluster meet the optimal resource requirements of the job, job placement will be carried out to execute the job.

6. The joint optimization method for cluster resource allocation and scheduling based on multi-load extended performance modeling according to claim 1, characterized in that Step S4 is specifically as follows: Two conditions need to be met for backfilling jobs to execute. First, the idle resources of the cluster must meet the resource requirements of the job. Second, the completion time of the backfilling job must be earlier than the estimated execution time of the next job to be run in the waiting queue. The running time of a job is evaluated by the performance model. The estimated execution time of a job to be run is jointly calculated based on the resource requirements of the job, the resource configuration of the jobs in execution, and the running time. For applications for which performance modeling has not been completed, the processing methods include estimating the running time based on expert knowledge or estimating a shorter running time to reduce the probability of backfilling jobs.

7. The joint optimization method for cluster resource allocation and scheduling based on multi-load extended performance modeling according to claim 6, characterized in that The running time of jobs for which performance modeling has not been completed will be set to infinity to avoid triggering backfilling. Different placement methods for the same job are regarded as multiple feasible solutions for backfilling operations, thus generating multiple sets of (job, resource configuration, node combination) pairs.

8. The joint optimization method for cluster resource allocation and scheduling based on multi-load extended performance modeling according to claim 1, characterized in that Step S5 is specifically as follows: S501. Determine the maximum resource configuration of all jobs in the waiting queue for which performance modeling has been completed under the current idle resources of the cluster, and estimate the running time of the jobs under this resource configuration based on the performance model. S502. Remove the backfilling jobs that have a performance impact on the jobs to be run. S503. Perform weighted scoring for all candidate jobs and execute the best performance-decaying backfilling job. The scoring basis includes the amount of performance loss, resource occupancy, and job submission time.

9. The joint optimization method for cluster resource allocation and scheduling based on multi-load extended performance modeling according to claim 8, wherein The scoring formula for step S503 is: Among them and T C represent the running time of the load w under the resource combination R and the maximum running time that the node combination C can allocate to the backfilling job, R ′ represents the optimal resource requirement, M R represents the resource requirement of the feasible solution, represents all the idle resources in the node combination C, represents all the idle resources in the entire supercomputer cluster.

10. The joint optimization method for cluster resource allocation and scheduling based on multi-load extended performance modeling according to claim 1, characterized in that Each time a user submits a new job, step S2 will be triggered to gradually improve the accuracy of supercomputing application performance evaluation. Each time a job is completed, steps S3 - S5 will be triggered in sequence to achieve business-aware scheduling optimization to improve the energy efficiency of the supercomputing cluster.

Citation Information

Cited By

  • Target positioning and path optimization method for gas inspection robot based on multi-modal sensing

    CN121165741A