An efficient GPU computing server resource optimization method and system

By evaluating and dynamically adjusting the hardware configuration of the GPU computing server, optimizing the batch size and model architecture, the problems of resource waste and performance bottlenecks in GPU resource management are solved, and efficient resource utilization and improved training speed are achieved.

CN120147101BActive Publication Date: 2025-10-03KEMEI (BEIJING) TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510145314.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-10
Publication Date
2025-10-03
Estimated Expiration
2045-02-10

AI Technical Summary

Technical Problem

In the existing technology, GPU resource management methods cannot effectively utilize the parallel processing capabilities of GPUs, resulting in resource waste and performance bottlenecks, and cannot meet the growing computing needs.

Method used

By conducting a preliminary evaluation of the hardware configuration of the GPU computing server, dynamically adjusting the batch size, model architecture, and resource allocation, and combining the current task complexity and GPU parallel processing capabilities, we optimize data flow and resource utilization. We use the simulated annealing algorithm to optimize the hardware configuration, use evaluation functions to quantify performance, and dynamically adjust the allocation of CPU, GPU, memory, and storage resources.

Benefits of technology

It improves the initial utilization efficiency of resources, reduces idle or overloaded resources, significantly improves training speed and model accuracy, ensures the coordinated work of various components, avoids performance bottlenecks, and improves the overall performance and stability of GPU computing servers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120147101B_ABST
    Figure CN120147101B_ABST
Patent Text Reader

Abstract

The present invention provides an efficient GPU computing power server resource optimization method and system, relating to the field of data processing technology. The method includes: performing a preliminary evaluation on the hardware configuration of the GPU computing power server to obtain an evaluation result, including the GPU model, quantity and memory capacity; configuring initial training parameters according to the evaluation result, including the batch size; based on the evaluation result, dynamically adjusting the batch size in combination with the complexity of the current training task and the parallel processing capability of the GPU to obtain an adjustment result; performing performance optimization on the DataLoader according to the adjustment result to obtain an optimized data flow situation; adjusting the model architecture according to the optimized data flow situation to match the parallel processing capability of the GPU, wherein the adjustment of the model architecture includes adjusting the number of layers, width and convolution kernel size of the model to obtain an adjusted model. The present invention can improve the initial utilization efficiency of resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of big data processing technology, and in particular to a method and system for efficiently optimizing GPU computing server resources. Background Art

[0002] GPU servers are servers powered by graphics processing units (GPUs) and designed to perform large-scale data processing. Their efficient parallel processing capabilities provide powerful support for complex computing tasks. However, with the ever-increasing demand for computing, how to more effectively utilize and optimize the resources of GPU computing servers to improve training speed and efficiency has become a pressing issue in the industry.

[0003] Some traditional GPU resource management methods rely on static configuration, presetting parameters and resource allocation before a task begins. This approach ignores dynamic changes during task execution, such as changes in model complexity, data flow efficiency, and real-time load. As a result, some methods fail to fully utilize the GPU's parallel processing capabilities, leading to resource waste and performance bottlenecks. Summary of the Invention

[0004] The technical problem to be solved by the present invention is to provide an efficient GPU computing server resource optimization method and system, which can improve the initial utilization efficiency of resources.

[0005] In order to solve the above technical problems, the technical solutions of the present invention are as follows:

[0006] In a first aspect, a method for efficiently optimizing GPU computing server resources is provided, the method comprising:

[0007] Step 1: Conduct a preliminary assessment of the GPU computing server's hardware configuration to obtain assessment results, including GPU model, quantity, and memory capacity; configure initial training parameters, including batch size, based on the assessment results;

[0008] Step 2: Based on the evaluation results, combined with the complexity of the current training task and the parallel processing capability of the GPU, dynamically adjust the batch size to obtain the adjustment result;

[0009] Step 3: Based on the adjustment results, optimize the performance of DataLoader to obtain the optimized data flow;

[0010] Step 4: Adjust the model architecture based on the optimized data flow to match the parallel processing capabilities of the GPU. Adjusting the model architecture includes adjusting the number of layers, width, and convolution kernel size of the model to obtain the adjusted model.

[0011] In step 5, based on the adjusted model and the real-time load during training, the allocation of CPU, GPU, memory, and storage resources is dynamically adjusted to enable the components to work together.

[0012] Furthermore, a preliminary assessment of the GPU computing server's hardware configuration is conducted to obtain assessment results, including GPU model, quantity, and memory capacity, including:

[0013] Define an evaluation function to quantify the performance of different hardware configurations;

[0014] Determine the range of hardware configuration options, including different GPU models, the range of GPU quantities, and the range of memory capacities. The range of hardware configuration options constitutes the solution space, which is the total number of configurations that can be searched in the simulated annealing algorithm.

[0015] Set the initial temperature of the simulated annealing algorithm, set the temperature drop rate and the termination temperature; at each temperature, set the number of new solutions of the simulated annealing algorithm;

[0016] Randomly select an initial hardware configuration solution from the configuration space as the current solution;

[0017] At the current temperature, generate a neighboring solution to the current solution; use the evaluation function to calculate the performance of the neighboring solution; decide whether to accept the neighboring solution as the new current solution based on the Metropolis criterion, iterate until the number of iterations at the current temperature is reached, lower the temperature, and repeat the entire iterative process until the temperature drops to the termination temperature to obtain the final hardware configuration solution output by the simulated annealing algorithm.

[0018] Furthermore, the calculation formula of the evaluation function is:

[0019]

[0020] Among them, P i is the performance score of the i-th GPU, P b is the benchmark performance value; M t is the total memory capacity; M b is the baseline memory capacity; B t is the total memory bandwidth; B b is the baseline memory bandwidth; D gg is the data transfer rate between GPUs; D gc is the data transfer rate between GPU and CPU; D b is the benchmark data transfer rate; R is the read speed; W is the write speed; N is the network bandwidth; I b is the benchmark I / O performance value; w1, w2, w3, and w4 are the weight coefficients of each performance indicator.

[0021] Furthermore, based on the evaluation results, combined with the complexity of the current training task and the parallel processing capability of the GPU, the batch size is dynamically adjusted to obtain the following adjustment results:

[0022] According to the result of the evaluation function, the computing power of the GPU is obtained;

[0023] According to the computing power of the GPU, an initial batch is set. During the training process, the batch size is dynamically adjusted according to the real-time monitoring indicators. The details are as follows:

[0024] If the GPU utilization is clearly below its maximum capacity, gradually increase the batch size;

[0025] If insufficient memory occurs during training, reduce the batch size.

[0026] Furthermore, based on the optimized data flow, the model architecture is adjusted to match the parallel processing capabilities of the GPU. Adjusting the model architecture includes adjusting the number of layers, width, and convolution kernel size of the model to obtain the adjusted model, including:

[0027] Evaluate the performance of the current model when processing the optimized data stream, including training speed, memory usage, and accuracy metrics;

[0028] Analyze the data batch size, transfer speed, and GPU utilization provided by the optimized DataLoader. Based on the analysis results, identify performance bottlenecks in the model architecture and set adjustment targets.

[0029] Adjust the number of model layers based on the GPU's parallel processing capabilities and data flow;

[0030] Use ResNet style to improve information flow and gradient flow, and adjust the number of channels in the convolutional layer;

[0031] Use convolution kernels of different widths in different layers to capture features of different scales;

[0032] Select the corresponding convolution kernel size according to task requirements and GPU characteristics;

[0033] Conduct experimental verification on each adjusted model to obtain verification results;

[0034] Based on the validation results, the model architecture is iteratively adjusted until an efficiency balance is achieved to obtain the adjusted model.

[0035] Furthermore, based on the adjusted model and the real-time load during training, the allocation of CPU, GPU, memory, and storage resources is dynamically adjusted to enable the various components to work together, including:

[0036] Identify system performance bottlenecks based on monitoring data; predict future resource requirements based on historical data and current load conditions;

[0037] Dynamically adjust the parallelism of data preprocessing and model training tasks based on CPU usage;

[0038] Adjust the batch size based on GPU utilization;

[0039] Monitor memory usage and dynamically adjust data caching strategies based on memory usage;

[0040] Optimize data reading and writing strategies based on storage I / O wait time; use Docker technology to achieve dynamic resource allocation and isolation;

[0041] Collect performance indicators during the training process, and continuously iterate and optimize resource allocation strategies based on performance feedback and resource usage.

[0042] Furthermore, performance indicators include training speed and accuracy.

[0043] Second, an efficient GPU computing server resource optimization system includes:

[0044] The evaluation module is used to conduct a preliminary evaluation of the hardware configuration of the GPU computing server to obtain evaluation results, including GPU model, quantity, and memory capacity; and configure initial training parameters, including batch size, based on the evaluation results;

[0045] The dynamic adjustment module is used to dynamically adjust the batch size based on the evaluation results, the complexity of the current training task, and the parallel processing capability of the GPU to obtain the adjustment results;

[0046] The optimization module is used to optimize the performance of DataLoader based on the adjustment results to obtain the optimized data flow;

[0047] The adjustment module is used to adjust the model architecture based on the optimized data flow to match the parallel processing capabilities of the GPU. Adjusting the model architecture includes adjusting the number of layers, width, and convolution kernel size of the model to obtain the adjusted model;

[0048] The allocation module is used to dynamically adjust the allocation of CPU, GPU, memory, and storage resources based on the adjusted model and the real-time load during training, so that the components can work together.

[0049] According to a third aspect, a computing device includes:

[0050] one or more processors;

[0051] The storage device is used to store one or more programs, and when the one or more programs are executed by the one or more processors, the one or more processors implement the method.

[0052] In a fourth aspect, a computer-readable storage medium stores a program, which implements the method when executed by a processor.

[0053] The above solution of the present invention includes at least the following beneficial effects:

[0054] By conducting a preliminary evaluation of the hardware configuration of the GPU computing server and configuring the initial training parameters based on the evaluation results, the present invention can ensure that the training task is matched with the hardware resources at the beginning, thereby improving the initial utilization efficiency of the resources.

[0055] The present invention combines the complexity of the current training task and the parallel processing capability of the GPU to dynamically adjust the batch size. This strategy not only improves the data throughput during the training process, but also effectively reduces resource idleness or overload caused by inappropriate batch size.

[0056] Based on the results of batch size adjustment, the performance of DataLoader is optimized. This method can significantly reduce the time of data loading and preprocessing, optimize data flow, and ensure that data can be supplied to the GPU for calculation in a timely and efficient manner, thereby improving the overall training speed.

[0057] The present invention adjusts the model architecture based on the optimized data flow, including adjusting the number of layers, width, and convolution kernel size, to make the model more adaptable to the parallel processing capabilities of the GPU. This improved matching not only accelerates the model training process, but also helps improve the model's reasoning speed and accuracy.

[0058] By dynamically adjusting the allocation of CPU, GPU, memory, and storage resources based on the adjusted model and the real-time load during training, this invention ensures the coordinated operation of these components. This dynamic resource allocation mechanism can respond to load changes during training in real time, avoiding resource waste and performance bottlenecks, thereby significantly improving the overall performance and stability of the GPU computing server. BRIEF DESCRIPTION OF THE DRAWINGS

[0059] Figure 1 This is a flow chart of an efficient GPU computing server resource optimization method provided by an embodiment of the present invention.

[0060] Figure 2 This is a schematic diagram of an efficient GPU computing server resource optimization system provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0061] Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.

[0062] like Figure 1 As shown, an embodiment of the present invention provides an efficient GPU computing server resource optimization method, the method comprising the following steps:

[0063] Step 1: Conduct a preliminary assessment of the GPU computing server's hardware configuration to obtain evaluation results, including GPU model, quantity, and memory capacity. Based on the evaluation results, configure initial training parameters, including batch size. Batch size is an important hyperparameter in deep learning and machine learning, which determines the amount of data the model can process at one time during training.

[0064] Step 2: Based on the evaluation results, combined with the complexity of the current training task and the parallel processing capability of the GPU, dynamically adjust the batch size to obtain the adjustment result;

[0065] Step 3: Based on the adjustment results, optimize the performance of DataLoader to obtain the optimized data flow. DataLoader is an iterable object in the PyTorch framework that can load data from a given dataset and provide functions such as batch processing, data shuffling, and multi-process loading.

[0066] Step 4: Adjust the model architecture based on the optimized data flow to match the parallel processing capabilities of the GPU. Adjusting the model architecture includes adjusting the number of layers, width, and convolution kernel size of the model to obtain the adjusted model.

[0067] In step 5, based on the adjusted model and the real-time load during training, the allocation of CPU, GPU, memory, and storage resources is dynamically adjusted to enable the components to work together.

[0068] In an embodiment of the present invention, by performing a preliminary assessment of the hardware configuration of the GPU computing server and configuring initial training parameters based on the assessment results, the present invention ensures that the training task is matched with the hardware resources at the outset, thereby improving the initial resource utilization efficiency. The present invention dynamically adjusts the batch size based on the complexity of the current training task and the parallel processing capabilities of the GPU. This strategy not only improves data throughput during training but also effectively reduces resource idleness or overload caused by inappropriate batch sizes. Based on the batch size adjustment results, the performance of the DataLoader is optimized. This present invention can significantly reduce data loading and preprocessing time, optimize data flow, and ensure that data is promptly and efficiently supplied to the GPU for calculation, thereby improving overall training speed. The present invention adjusts the model architecture based on the optimized data flow, including adjusting the model's number of layers, width, and convolution kernel size, making the model more compatible with the GPU's parallel processing capabilities. This improved matching not only accelerates the model training process but also helps improve the model's inference speed and accuracy. By dynamically adjusting the allocation of CPU, GPU, memory, and storage resources based on the adjusted model and the real-time load during training, the present invention ensures coordinated operation between the various components. This dynamic resource allocation mechanism can respond to load changes during training in real time, avoiding resource waste and performance bottlenecks, thereby significantly improving the overall performance and stability of the GPU computing server.

[0069] In an embodiment of the present invention, a preliminary evaluation is performed on the hardware configuration of the GPU computing server to obtain an evaluation result, including the GPU model, quantity, and memory capacity, including:

[0070] Define an evaluation function to quantify the performance of different hardware configurations;

[0071] Determine the range of hardware configuration options, including different GPU models, the range of GPU quantities, and the range of memory capacities. The range of hardware configuration options constitutes the solution space, which is the total number of configurations that can be searched in the simulated annealing algorithm.

[0072] Set the initial temperature of the simulated annealing algorithm, set the temperature drop rate and the termination temperature; at each temperature, set the number of new solutions of the simulated annealing algorithm;

[0073] Randomly select an initial hardware configuration solution from the configuration space as the current solution;

[0074] At the current temperature, generate a neighboring solution of the current solution; use the evaluation function to calculate the performance of the neighboring solution; decide whether to accept the neighboring solution as the new current solution according to the Metropolis criterion (a rule used in optimization algorithms), iterate until the number of iterations at the current temperature is reached, lower the temperature, and repeat the entire iterative process until the temperature drops to the termination temperature to obtain the final hardware configuration solution output by the simulated annealing algorithm.

[0075] In embodiments of the present invention, by defining an evaluation function, the performance of different hardware configurations can be quantified, making the configuration selection process more objective and accurate. The simulated annealing algorithm can search for the globally optimal or near-optimal configuration within the solution space, avoiding the potential for traditional methods to fall into local optima. This method constructs a flexible solution space by defining a range of hardware configuration options, including different GPU models, the range of GPU numbers, and the range of memory capacities. This means that the method is not only applicable to specific GPU server models but can also be extended to hardware configurations of varying specifications and performance based on actual needs, thus possessing broad applicability. By simulating the physical annealing process, the simulated annealing algorithm can accept poor solutions while escaping local optima with a certain probability, potentially leading to the discovery of the global optimal solution. This search strategy excels in handling large-scale, complex hardware configuration problems, enabling rapid convergence to a high-quality solution. By setting parameters such as the initial temperature, temperature ramp rate, and termination temperature of the simulated annealing algorithm, the algorithm's search accuracy and convergence speed can be adjusted based on actual conditions. Furthermore, this method can be combined with other optimization algorithms to form a more flexible and efficient hybrid optimization strategy. By optimizing the hardware configuration, optimal performance can be achieved within a limited budget. This not only helps reduce the company's operating costs, but also improves the return on investment of computing servers.

[0076] In this embodiment of the present invention, the calculation formula of the evaluation function is:

[0077]

[0078] Among them, P i is the performance score of the i-th GPU, P b is the benchmark performance value; M t is the total memory capacity; M b is the baseline memory capacity; B t is the total memory bandwidth; B b is the baseline memory bandwidth; D gg is the data transfer rate between GPUs; D gc is the data transfer rate between GPU and CPU; D b is the benchmark data transfer rate; R is the read speed; W is the write speed; N is the network bandwidth; Ib is the benchmark I / O performance value; w1, w2, w3, and w4 are the weight coefficients of each performance indicator.

[0079] In this embodiment of the present invention, the evaluation function encompasses multiple aspects, including GPU performance, memory capacity and bandwidth, data transfer rate, and I / O performance, ensuring a comprehensive assessment of server hardware performance. This helps identify potential performance bottlenecks, thereby guiding more rational hardware configuration selection. By introducing weight coefficients w1, w2, w3, and w4, the evaluation function can flexibly balance various performance indicators based on actual needs. For example, for compute-intensive tasks, GPU performance can be weighted more heavily, while for data-intensive tasks, data transfer rate can be weighted more heavily. The design of the evaluation function allows for expansion and customization based on technological development and user needs. As new technical indicators emerge, they can be easily incorporated into the evaluation function, and their importance can be reflected by adjusting the weight coefficients. By quantifying each performance indicator and comparing it with a benchmark value, the evaluation function objectively evaluates the performance of different hardware configurations. This avoids bias caused by subjective judgment and improves the accuracy of the evaluation results. The evaluation function provides strong support for hardware configuration optimization decisions. By calculating the evaluation scores of different configuration options, their performance can be intuitively compared, allowing selection of the optimal or most suitable configuration for current needs.

[0080] In an embodiment of the present invention, based on the evaluation results, combined with the complexity of the current training task and the parallel processing capability of the GPU, the batch size is dynamically adjusted to obtain an adjustment result, including:

[0081] According to the result of the evaluation function, the computing power of the GPU is obtained;

[0082] According to the computing power of the GPU, an initial batch is set. During the training process, the batch size is dynamically adjusted according to the real-time monitoring indicators. The details are as follows:

[0083] If the GPU utilization is clearly below its maximum capacity, gradually increase the batch size;

[0084] If insufficient memory occurs during training, reduce the batch size.

[0085] In an embodiment of the present invention, by dynamically adjusting the batch size, the method can ensure that GPU resources are fully utilized. When the GPU utilization rate is significantly lower than its maximum capacity, gradually increasing the batch size can effectively increase the GPU load and avoid resource waste. During training, if the batch size is set too large, it may cause insufficient GPU memory. By real-time monitoring and dynamically reducing the batch size, the method can effectively prevent training interruptions caused by memory overflow and ensure the stability and continuity of training. The appropriate batch size is crucial to both training speed and model convergence. Dynamically adjusting the batch size can maximize the amount of data processed in each iteration while ensuring training stability, thereby improving training efficiency. Different training tasks and hardware configurations may require different batch size settings. The method can automatically adjust the batch size according to actual conditions without the need for manual user intervention, thereby improving the adaptability and ease of use of the method. By dynamically adjusting the batch size, the method can find a balance between computing power and memory resources, fully utilizing the computing power of the GPU while avoiding waste or excessive consumption of memory resources.

[0086] In an embodiment of the present invention, the model architecture is adjusted according to the optimized data flow to match the parallel processing capability of the GPU. Adjusting the model architecture includes adjusting the number of layers, width, and convolution kernel size of the model to obtain an adjusted model, including:

[0087] Evaluate the performance of the current model when processing the optimized data stream, including training speed, memory usage, and accuracy metrics;

[0088] Analyze the data batch size, transfer speed, and GPU utilization provided by the optimized DataLoader. Based on the analysis results, identify performance bottlenecks in the model architecture and set adjustment targets.

[0089] Adjust the number of model layers based on the GPU's parallel processing capabilities and data flow;

[0090] Use ResNet style to improve information flow and gradient flow, and adjust the number of channels in the convolutional layer;

[0091] Use convolution kernels of different widths in different layers to capture features of different scales;

[0092] Select the corresponding convolution kernel size according to task requirements and GPU characteristics;

[0093] Conduct experimental verification on each adjusted model to obtain verification results;

[0094] Based on the validation results, the model architecture is iteratively adjusted until an efficiency balance is achieved to obtain the adjusted model.

[0095] In embodiments of the present invention, by adjusting the number of model layers, width, and convolution kernel size, the model can be made more suitable for the parallel processing characteristics of the GPU, thereby improving training speed. This optimization ensures smoother data flow, reduces idle computing resource time, and accelerates the training process. Appropriate model architecture adjustments can reduce the model's memory usage during training. By streamlining the number of model layers and channels and selecting appropriately sized convolution kernels, memory consumption can be effectively reduced, enabling the processing of larger datasets or more complex models within limited GPU memory resources. Model architecture adjustments not only consider computational efficiency but also the model's expressive power. By using convolution kernels of different widths at different layers to capture features at different scales, the model's feature extraction capabilities can be enhanced, potentially increasing model accuracy. Flexible adjustment of the model architecture based on task requirements and GPU characteristics allows the model to better adapt to different application scenarios. This flexibility enables the model to maintain efficiency and accuracy across diverse tasks. By iteratively adjusting the model architecture and conducting experimental verification, resource utilization can be optimized while ensuring performance. This balance not only improves model training efficiency but also ensures the rational use of resources, avoiding unnecessary waste.

[0096] In an embodiment of the present invention, the allocation of CPU, GPU, memory, and storage resources is dynamically adjusted based on the adjusted model and the real-time load during training to enable the various components to work together, including:

[0097] Identify system performance bottlenecks based on monitoring data; predict future resource requirements based on historical data and current load conditions;

[0098] Dynamically adjust the parallelism of data preprocessing and model training tasks based on CPU usage;

[0099] Adjust the batch size based on GPU utilization;

[0100] Monitor memory usage and dynamically adjust data caching strategies based on memory usage;

[0101] Optimize data reading and writing strategies based on storage I / O wait time; use Docker technology to achieve dynamic resource allocation and isolation;

[0102] Collect performance indicators during training and continuously iterate and optimize resource allocation strategies based on performance feedback and resource usage; performance indicators include training speed and accuracy.

[0103] In embodiments of the present invention, by dynamically adjusting resource allocation, each component in the system (CPU, GPU, memory, and storage) can be utilized most efficiently. This avoids resource waste, especially when load is low or demand fluctuates. By monitoring and identifying system performance bottlenecks in real time, resource allocation can be quickly adjusted to alleviate these bottlenecks. This helps maintain efficient system operation and prevents overall performance from being impacted by insufficient resources in a particular component. Adjusting task parallelism and batch size based on the real-time CPU and GPU utilization ensures full utilization of computing resources during model training, thereby improving training speed. Furthermore, reasonable resource allocation helps improve model accuracy by making the training process more stable and efficient. By monitoring memory usage and storage I / O latency and adjusting data caching and I / O strategies accordingly, the risk of memory overflow and storage bottlenecks can be reduced, thereby enhancing system stability. Using Docker technology to achieve dynamic resource allocation and isolation not only increases system flexibility but also makes the system easier to scale. This means that when faced with training tasks of varying scales or changing requirements, the system can quickly adapt and provide the required resources. By collecting performance metrics during training and continuously optimizing resource allocation strategies based on performance feedback and resource usage, we can ensure that the system is always in optimal condition. This continuous optimization process helps improve the overall performance and efficiency of the system.

[0104] An efficient GPU computing server resource optimization system, comprising:

[0105] The evaluation module is used to conduct a preliminary evaluation of the hardware configuration of the GPU computing server to obtain evaluation results, including GPU model, quantity, and memory capacity; and configure initial training parameters, including batch size, based on the evaluation results;

[0106] The dynamic adjustment module is used to dynamically adjust the batch size based on the evaluation results, the complexity of the current training task, and the parallel processing capability of the GPU to obtain the adjustment results;

[0107] The optimization module is used to optimize the performance of DataLoader based on the adjustment results to obtain the optimized data flow;

[0108] The adjustment module is used to adjust the model architecture based on the optimized data flow to match the parallel processing capabilities of the GPU. Adjusting the model architecture includes adjusting the number of layers, width, and convolution kernel size of the model to obtain the adjusted model;

[0109] The allocation module is used to dynamically adjust the allocation of CPU, GPU, memory, and storage resources based on the adjusted model and the real-time load during training, so that the components can work together.

[0110] The embodiment of the present invention further provides a computer-readable storage medium storing instructions, which, when executed on a computer, causes the computer to execute the above-described method. All implementations in the above-described method embodiment are applicable to this embodiment and can achieve the same technical effects.

[0111] The above is a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications should also be regarded as within the scope of protection of the present invention.

Claims

1. An efficient GPU computing server resource optimization method, characterized in that: The method comprises: Step 1: Conduct a preliminary evaluation of the hardware configuration of the GPU computing server to obtain the evaluation results, including the GPU model, quantity and memory capacity, including: defining an evaluation function to quantify the performance of different hardware configuration schemes; determining the optional range of hardware configuration, including different models of GPUs, the range of GPU quantity, and the range of memory capacity. The optional range of hardware configuration constitutes the solution space, that is, all configuration schemes that can be searched in the simulated annealing algorithm; setting the initial temperature of the simulated annealing algorithm, setting the temperature drop rate and the termination temperature; at each temperature, setting the number of new solutions of the simulated annealing algorithm; randomly selecting an initial hardware configuration scheme from the configuration space as the current solution; generating a neighboring solution of the current solution at the current temperature; using the evaluation function to calculate the performance of the neighboring solution; deciding whether to accept the neighboring solution as the new current solution according to the Metropolis criterion, iterating until the number of iterations at the current temperature is reached, lowering the temperature, and repeating the entire iterative process until the temperature drops to the termination temperature to obtain the final hardware configuration scheme output by the simulated annealing algorithm; configuring the initial training parameters according to the evaluation results, including the batch size; Step 2: Based on the evaluation results, combined with the complexity of the current training task and the parallel processing capability of the GPU, dynamically adjust the batch size to obtain the adjustment result, including: obtaining the computing power of the GPU according to the result of the evaluation function; setting an initial batch according to the computing power of the GPU; and dynamically adjusting the batch size during the training process according to the real-time monitoring indicators, as follows: if the GPU utilization rate is clearly lower than its maximum capacity, gradually increase the batch size; if insufficient memory occurs during training, reduce the batch size; Step 3: Based on the adjustment results, optimize the performance of DataLoader to obtain the optimized data flow; Step 4: Adjust the model architecture according to the optimized data flow to match the parallel processing capability of the GPU. Adjusting the model architecture includes adjusting the number of layers, width, and convolution kernel size of the model to obtain the adjusted model, including: evaluating the performance of the current model when processing the optimized data flow, including training speed, memory usage, and accuracy indicators; analyzing the data batch size, transmission speed, and GPU utilization provided by the optimized DataLoader; locating the performance bottlenecks in the model architecture based on the analysis results; setting adjustment goals; adjusting the number of model layers according to the parallel processing capability and data flow of the GPU; using ResNet style to improve information flow and gradient flow, and adjusting the number of channels of the convolution layer; using convolution kernels of different widths in different layers to capture features of different scales; selecting the corresponding convolution kernel size according to task requirements and GPU characteristics; experimentally verifying each adjusted model to obtain verification results; based on the verification results, iteratively adjusting the model architecture until an efficiency balance is achieved to obtain the adjusted model; Step 5: Dynamically adjust the allocation of CPU, GPU, memory, and storage resources based on the adjusted model and the real-time load during training to enable the various components to work together, including: identifying system performance bottlenecks based on monitoring data; predicting future resource requirements based on historical data and current load; dynamically adjusting the parallelism of data preprocessing and model training tasks based on CPU usage; adjusting batch size based on GPU utilization; monitoring memory usage and dynamically adjusting data caching strategies based on memory usage; optimizing data reading and writing strategies based on storage I / O wait time; using Docker technology to achieve dynamic allocation and isolation of resources; collecting performance indicators during training and continuously iterating and optimizing resource allocation strategies based on performance feedback and resource usage.

2. The efficient GPU computing server resource optimization method according to claim 1, characterized in that: The calculation formula of the evaluation function is: ; in, is the performance score of the i-th GPU, is the baseline performance value; is the total memory capacity; is the baseline memory capacity; is the total memory bandwidth; is the baseline memory bandwidth; is the data transfer rate between GPUs; is the data transfer rate between GPU and CPU; is the benchmark data transfer rate; is the reading speed; is the write speed; is the network bandwidth; is the baseline I / O performance value; 、 、 and is the weight coefficient of each performance indicator.

3. The efficient GPU computing server resource optimization method according to claim 2, characterized in that: Performance metrics include training speed and accuracy.

4. An efficient GPU computing server resource optimization system, which implements the method according to any one of claims 1 to 3, characterized in that: include: The evaluation module is used to conduct a preliminary evaluation of the hardware configuration of the GPU computing server to obtain evaluation results, including GPU model, quantity, and memory capacity; and configure initial training parameters, including batch size, based on the evaluation results; The dynamic adjustment module is used to dynamically adjust the batch size based on the evaluation results, the complexity of the current training task, and the parallel processing capability of the GPU to obtain the adjustment results; The optimization module is used to optimize the performance of DataLoader based on the adjustment results to obtain the optimized data flow; The adjustment module is used to adjust the model architecture based on the optimized data flow to match the parallel processing capabilities of the GPU. Adjusting the model architecture includes adjusting the number of layers, width, and convolution kernel size of the model to obtain the adjusted model; The allocation module is used to dynamically adjust the allocation of CPU, GPU, memory, and storage resources based on the adjusted model and the real-time load during training, so that the components can work together.

5. A computing device, characterized in that include: one or more processors; A storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 3.

6. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a program, which implements the method according to any one of claims 1 to 3 when executed by a processor.

Citation Information

Patent Citations

  • GPU computing power pool intelligent management method and system

    CN117971475A

  • Heterogeneous computing power resource allocation optimization method for deep reinforcement learning model training

    CN119271398A