A computing resource allocation method and system
The full monitoring data of the calculation body is obtained through the monitoring module, and combined with the user's target core indicator value, the allocation strategy of the calculation body is determined, which solves the problem of inaccurate allocation of computing body resources in the existing technology, and improves the efficiency and user experience of resource allocation.
Patent Information
- Application Number
- CN202411243049.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-05
- Publication Date
- 2025-06-06
- Estimated Expiration
- 2044-09-05
AI Technical Summary
The prior art cannot fully consider the usage requirements when allocating computing resources, resulting in inaccurate allocation of computing resources, screen stuttering or response time being too long, affecting the user experience.
Through the monitoring module, the full monitoring data of the target computing body is monitored, including user-perceived data, externally perceived data and internal perceived data, the user obtains the target core indicator values for the target application, determines the target core and auxiliary monitoring data, and based on the preset indicator control strategy, the control module determines the target allocation strategy and distributes computing resources.
It improves the efficiency and accuracy of the calculation resource allocation results, ensures improvement of user experience, and avoids the problems of screen lag and long response time.
Smart Images

Figure CN119201444B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of computer technology, and in particular to a computing resource allocation method and system. Background Art
[0002] With the development of technology, the number of computer applications is increasing. The computing body is the hardware in the computer that carries intelligent computing. The resources allocated by the computing body to each application will change the performance of each application and affect the user experience.
[0003] At present, resources are usually allocated to each application based on the inherent properties of the computing body itself. However, this method of allocating resources based on the inherent properties of the computing body itself only considers part of the allocation basis and fails to fully consider the usage needs, resulting in the inability to accurately achieve the effective allocation of computing body resources, resulting in screen freezes or long response times, which in turn leads to a decline in user experience. Summary of the invention
[0004] The embodiments of the present invention provide a computing resource allocation method and system to accurately and conveniently determine the allocation strategy of a computing body taking into account various requirements, and to allocate computing resources according to the allocation strategy, thereby improving the efficiency and accuracy of determining the computing resource allocation results.
[0005] In a first aspect, an embodiment of the present invention provides a computing resource allocation method, comprising:
[0006] Monitoring the full amount of monitoring data of the target computing body through the monitoring module; the full amount of monitoring data includes: user perception data, external perception data and internal perception data corresponding to the application program running on the target computing body;
[0007] Obtaining the target core indicator value proposed by the user for the target core indicator of the target application through the monitoring module, and determining the target core monitoring data from the user perception data based on the target core indicator, and determining the target auxiliary monitoring data from the external perception data and the internal perception data based on the preset indicator mapping table and the target core indicator, and sending the target core indicator value, the target core monitoring data, the target auxiliary monitoring data and the preset indicator control strategy of the target application to the control module;
[0008] The control module determines the target allocation strategy corresponding to the target application based on the received target core indicator value, the target core monitoring data, the target auxiliary monitoring data and the preset indicator control strategy, and controls the target computing body to allocate computing resources based on the target allocation strategy to obtain the target resource allocation result corresponding to the target application.
[0009] Optionally, the method also includes: determining short-term monitoring data and long-term monitoring data through a monitoring module based on the effective duration of each monitoring data and the monitoring duration of each monitoring data; resampling the short-term monitoring data through the monitoring module to obtain resampled short-term monitoring data, and determining the resampled short-term monitoring data and the long-term monitoring data as full monitoring data.
[0010] Optionally, the method also includes: the user perception data is perception data from operators and customers; the user perception data includes: at least one of service quality data and service level agreement data; wherein the service quality data includes: computing power data of the computing core, space data of the video memory size, number of packets sent per second, number of frames per second and response time; the service level agreement data includes: at least one of billing mode, priority, congestion strategy and fault handling mode.
[0011] Optionally, the method also includes: the external perception data includes: at least one of artificial intelligence ecology, artificial intelligence model type, artificial intelligence interface version, cloud type, scheduling framework, early warning tool and log type; the internal perception data includes: computing body utilization, video memory usage, kernel function running time, number of streaming multiprocessors, device temperature, device power consumption and device error.
[0012] Optionally, the method also includes: determining the selected auxiliary indicators corresponding to the target core indicators based on a preset indicator mapping table and the target core indicators; and determining the target auxiliary monitoring data corresponding to the target application from the external perception data and the internal perception data based on the selected auxiliary indicators.
[0013] Optionally, the method also includes: determining the target auxiliary indicator corresponding to the target auxiliary monitoring data through the control module, and determining the target auxiliary indicator interval corresponding to the target auxiliary indicator based on the target auxiliary indicator and a preset indicator control strategy; determining the target adjustment method corresponding to the target application based on the target core indicator, the target auxiliary indicator and the target program type of the target application through the control module; adjusting the allocation strategy based on the target adjustment method, the target core indicator value, the target core monitoring data, the target auxiliary monitoring data and the target auxiliary indicator interval through the control module to obtain the target allocation strategy for the target application.
[0014] Optionally, the method also includes: determining a target auxiliary indicator maximum value and a target auxiliary indicator minimum value corresponding to the target auxiliary indicator from a preset indicator control strategy based on the target auxiliary indicator, and determining a target auxiliary indicator interval corresponding to the target auxiliary indicator based on the target auxiliary indicator maximum value and the target auxiliary indicator minimum value.
[0015] Optionally, the method also includes: determining a target auxiliary indicator maximum value and a target auxiliary indicator minimum value corresponding to the target auxiliary indicator from a preset indicator control strategy based on the target auxiliary indicator, and determining a target auxiliary indicator interval corresponding to the target auxiliary indicator based on the target auxiliary indicator maximum value and the target auxiliary indicator minimum value.
[0016] Optionally, the method also includes: if it is detected by the control module that the target core indicator is the number of frames per second, the target auxiliary indicators are the computing volume utilization and the video memory usage, and the target program type of the target application is a game type, then the target adjustment method is a proportional-integral-differential algorithm.
[0017] Optionally, the method also includes: sending the target time slice corresponding to the target application in the target resource allocation result to the backend call queue through the control module; receiving the target time slice through the backend call queue, and calling the target application for execution based on the target time slice to obtain the execution result; monitoring the full monitoring data during the execution of the target application through the monitoring module.
[0018] In a second aspect, an embodiment of the present invention further provides a computing resource allocation system, the system comprising:
[0019] A monitoring module, used to monitor the full monitoring data of the target computing body; the full monitoring data includes: user perception data, external perception data and internal perception data corresponding to the application program running on the target computing body;
[0020] The monitoring module is further used to obtain the target core indicator value proposed by the user for the target core indicator of the target application, and determine the target core monitoring data from the user perception data based on the target core indicator, and determine the target auxiliary monitoring data from the external perception data and the internal perception data based on the preset indicator mapping table and the target core indicator, and send the target core indicator value, the target core monitoring data, the target auxiliary monitoring data and the preset indicator control strategy of the target application to the control module;
[0021] The control module is used to determine the target allocation strategy corresponding to the target application based on the received target core indicator value, the target core monitoring data, the target auxiliary monitoring data and the preset indicator control strategy, and control the target computing body to allocate computing resources based on the target allocation strategy to obtain the target resource allocation result corresponding to the target application.
[0022] The technical solution of the embodiment of the present invention monitors the full monitoring data of the target computing body through a monitoring module, so that targeted monitoring data can be determined according to the core indicators that the user is concerned about; the full monitoring data includes: user perception data, external perception data and internal perception data corresponding to the application program run by the target computing body; the target core indicator value proposed by the user for the target core indicator of the target application program is obtained through the monitoring module, and the target core monitoring data is determined from the user perception data based on the target core indicator, and the target auxiliary monitoring data is determined from the external perception data and the internal perception data based on the preset indicator mapping table and the target core indicator, and the target core indicator value, the target core monitoring data, the target auxiliary monitoring data and the preset indicator control strategy of the target application program are sent to the control module; the control module accurately and conveniently determines the target allocation strategy of the target computing body that takes into account various needs based on the received target core indicator value, the target core monitoring data, the target auxiliary monitoring data and the preset indicator control strategy, and performs computing resource allocation according to the target allocation strategy, thereby improving the efficiency and accuracy of determining the computing resource allocation result.
[0023] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0025] Figure 1 is a flow chart of a computing resource allocation method provided in Embodiment 1 of the present invention;
[0026] Figure 2 is an example diagram of a control loop involved in Embodiment 1 of the present invention;
[0027] Figure 3is a flow chart of a computing resource allocation method provided by Embodiment 2 of the present invention;
[0028] Figure 4 It is a structural diagram of a computing resource allocation system provided in Embodiment 3 of the present invention. DETAILED DESCRIPTION
[0029] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0030] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0031] Embodiment 1
[0032] Figure 1 A flowchart of a computing resource allocation method is provided for the first embodiment of the present invention. This embodiment is applicable to the case of determining the target resource allocation result corresponding to the target application. The method can be executed by a computing resource allocation system, which can be implemented in the form of hardware and / or software. Figure 1 As shown, the method includes:
[0033] S110. Monitor the full monitoring data of the target computing body through the monitoring module.
[0034] Among them, the full monitoring data includes: user perception data, external perception data and internal perception data corresponding to the application program running on the target computing body. The full monitoring data may refer to the data monitored in all aspects. The target computing body may refer to the computing body to be allocated computing resources. The computing body is the hardware that carries intelligent computing in the computer. For example, the computing body may be but not limited to a graphics processing unit (GPU) chip, a field programmable gate array (FPGA) chip or an application specific integrated circuit (ASIC) chip. The application program may refer to a computer program developed and run on an operating system in order to complete one or several specific tasks. For example, the application program may be but not limited to a game, a video player or a photo editor. User perception data may be perception data from the user. External perception data may be perception data from outside the target computing body. Internal perception data may be perception data from inside the target computing body. The monitoring module may refer to a module that performs real-time data monitoring on the target computing body and the external device connected to the target computing body. For example, the monitoring module may be used to perform real-time data monitoring on the target computing body and the external device connected to the target computing body when running the application program.
[0035] Specifically, the monitoring module can use the monitoring method corresponding to each monitoring data type to monitor the full amount of monitoring data of the target computing body, so that accurate monitoring data can be obtained in a targeted manner, thereby achieving comprehensive monitoring, and further improving the accuracy of the target allocation strategy. For example, the number of frames per second (Frames Per Second, FPS) is one of the indicators for measuring the quality of service (QoS) of the GPU. The process of monitoring FPS includes: in order to achieve FPS recording, the cloud game sets the Linux environment variable LD_PRELOAD to replace the default rendering function, and the new module can accurately record the rendering timestamp in real time, and then count it into the FPS measurement of the artificial intelligence (Artificial Intelligence, AI) program. For example, the process of monitoring response time includes: real-time feedback time, using the text recognition OCR model test (the model is PaddleOCR), the entire kernel (kenerl) function is called, and the time when the processed data is returned to the application memory. For example, the process of monitoring kernel execution time includes: the use of code injection can accurately obtain the kernel execution time, but it will reduce the parallelism of kenerl.
[0036] On the basis of the above technical solution, "monitoring the full monitoring data of the target computing body through the monitoring module" may include: determining the short-term monitoring data and the long-term monitoring data through the monitoring module based on the effective time of each monitoring data and the monitoring time of each monitoring data; resampling the short-term monitoring data through the monitoring module to obtain resampled short-term monitoring data, and determining the resampled short-term monitoring data and long-term monitoring data as the full monitoring data.
[0037] Among them, the effective duration may refer to the duration during which the data can be used as a basis for adjusting the allocation strategy. The monitoring duration may refer to the duration from the start of monitoring the data to the current moment. The monitoring duration may be understood as the storage duration of the monitoring data. Short-term monitoring data may refer to data that needs to be re-monitored and acquired. Long-term monitoring data may refer to data that does not need to be re-monitored and acquired.
[0038] Specifically, the monitoring module determines short-term monitoring data and long-term monitoring data based on the comparison of the effective duration of each monitoring data and the monitoring duration of each monitoring data. For example, if the effective duration of the monitoring data is greater than or equal to the monitoring duration of the monitoring data, it is determined that the monitoring data is in a valid state and no data resampling is required. If the effective duration of the monitoring data is less than the monitoring duration of the monitoring data, it is determined that the monitoring data is in an invalid state and data resampling is required. The advantage of such a setting is that targeted data updates can be performed for different types of monitoring data. The monitoring module resamples the short-term monitoring data to obtain resampled short-term monitoring data, and determines the resampled short-term monitoring data and long-term monitoring data as the full amount of monitoring data.
[0039] For example, monitoring data such as QoS targets, computing core settings, video memory size settings, AI model types, and AI ecosystems only need to be sampled once. Real-time QoS requires setting the correct monitoring points and monitoring procedures, and monitoring at an appropriate monitoring frequency.
[0040] Based on the above technical solution, the user perception data is the perception data from the operator and the customer; the user perception data includes: at least one of the service quality data and the service level agreement data; wherein the service quality data includes: at least one of the computing power data of the computing core, the space data of the video memory size, the number of packets sent per second, the number of frames per second and the response time; the service level agreement data includes: at least one of the billing mode, priority, congestion strategy and fault handling mode.
[0041] Based on the above technical solutions, external perception data include: at least one of artificial intelligence ecology, artificial intelligence model type, artificial intelligence interface version, cloud type, scheduling framework, early warning tool and log type; internal perception data include: computing body utilization, video memory utilization, kernel function running time, number of streaming multiprocessors, device temperature, device power consumption and device error.
[0042] S120. Obtain the target core indicator value proposed by the user for the target core indicator of the target application through the monitoring module, and determine the target core monitoring data from the user perception data based on the target core indicator, and determine the target auxiliary monitoring data from the external perception data and the internal perception data based on the preset indicator mapping table and the target core indicator, and send the target core indicator value, target core monitoring data, target auxiliary monitoring data and the preset indicator control strategy of the target application to the control module.
[0043] Among them, users may include operators and customers. The target application may refer to an application that the user has requested. For example, the user can adjust the FPS value in the display adjustment interface in the game so that the monitoring module monitors the adjustment of the FPS value, and uses the FPS as the target core indicator, and uses the FPS value as the target core indicator value. The target core indicator may refer to an indicator that the user is concerned about. The target core indicator value may refer to the numerical value of the target core indicator. The target core monitoring data may refer to the monitoring data corresponding to the target core indicator in the full monitoring data. The preset indicator mapping table may refer to a mapping table composed of the mapping relationship between the pre-set core indicators and the auxiliary indicators. The target auxiliary monitoring data may refer to the monitoring data corresponding to the target auxiliary indicator in the full monitoring data. The preset indicator control strategy may include the value range of the core indicators and auxiliary indicators in the application. The control module can be used to adjust the allocation strategy and the functional module for computing resource allocation according to the allocation strategy.
[0044] Specifically, the monitoring module obtains the target core indicator value proposed by the user for the target core indicator of the target application. The monitoring module uses the target core indicator to determine the target core monitoring data corresponding to the target core indicator from the user perception data. The monitoring module uses the target core indicator to determine the target auxiliary indicator corresponding to the target core indicator from the preset indicator mapping table, and uses the target auxiliary indicator to determine the target auxiliary monitoring data corresponding to the target auxiliary indicator from the external perception data and the internal perception data. The monitoring module sends the target core indicator value, the target core monitoring data, the target auxiliary monitoring data, and the preset indicator control strategy of the target application to the control module.
[0045] On the basis of the above technical solution, "determining target auxiliary monitoring data from external perception data and internal perception data based on preset indicator mapping table and target core indicators" may include: determining the selected auxiliary indicators corresponding to the target core indicators based on preset indicator mapping table and target core indicators; determining the target auxiliary monitoring data corresponding to the target application from external perception data and internal perception data based on the selected auxiliary indicators.
[0046] The auxiliary indicators to be selected may refer to all auxiliary indicators corresponding to the target core indicators without considering whether corresponding hardware exists.
[0047] Specifically, the monitoring module uses the target core indicator to determine the candidate auxiliary indicators corresponding to the target core indicators from the preset indicator mapping table, and uses the external perception data and the internal perception data to screen the candidate auxiliary indicators, and obtains the target auxiliary indicators existing in the external perception data and the internal perception data, and uses the target auxiliary indicators to determine the target auxiliary monitoring data of the target application corresponding to the target auxiliary indicators from the external perception data and the internal perception data, so that accurate target auxiliary indicators and target auxiliary monitoring data can be determined, further improving the accuracy of the target allocation strategy determination.
[0048] S130. The control module determines the target allocation strategy corresponding to the target application based on the received target core indicator value, target core monitoring data, target auxiliary monitoring data and preset indicator control strategy, and controls the target computing body to allocate computing resources based on the target allocation strategy to obtain the target resource allocation result corresponding to the target application.
[0049] The target allocation strategy may refer to the allocation method of the computing resources of the target computing body to the target application. The target resource allocation result may refer to the situation of the computing resources allocated by the target computing body to the target application. For example, the target resource allocation result may include but is not limited to time slice and data throughput.
[0050] Specifically, the control module receives the target core indicator value, the target core monitoring data, the target auxiliary monitoring data and the preset indicator control strategy. The control module uses the preset indicator control strategy to determine whether the target core indicator value is reasonable. If reasonable, it determines a reasonable target auxiliary indicator value based on the preset indicator control strategy. The control module uses the difference between the target core indicator value and the target core monitoring data to reduce the difference, thereby obtaining a preliminary allocation strategy. On the basis of the preliminary allocation strategy, the difference between the target auxiliary indicator value and the target auxiliary monitoring data is used to reduce the difference, while trying to ensure that the difference between the target core indicator value and the target core monitoring data is stable within the preset difference range, thereby obtaining a target allocation strategy. The control module controls the target computing body to allocate computing resources based on the target allocation strategy, and obtains the target resource allocation result corresponding to the target application.
[0051] The technical solution of the embodiment of the present invention monitors the full monitoring data of the target computing body through the monitoring module, so that targeted monitoring data can be determined according to the core indicators that the user is concerned about; the full monitoring data includes: user perception data, external perception data and internal perception data corresponding to the application program run by the target computing body; the target core indicator value proposed by the user for the target application program is obtained through the monitoring module, and the target core monitoring data is determined from the user perception data based on the target core indicator, and the target auxiliary monitoring data is determined from the external perception data and the internal perception data based on the preset indicator mapping table and the target core indicator, and the target core indicator value, target core monitoring data, target auxiliary monitoring data and the preset indicator control strategy of the target application program are sent to the control module; the control module accurately and conveniently determines the target allocation strategy of the target computing body that takes into account various needs based on the received target core indicator value, target core monitoring data, target auxiliary monitoring data and preset indicator control strategy, and performs computing resource allocation according to the target allocation strategy, thereby improving the efficiency and accuracy of determining the computing resource allocation result.
[0052] Based on the above technical solution, the method also includes: sending the target time slice corresponding to the target application in the target resource allocation result to the backend call queue through the control module; receiving the target time slice through the backend call queue, and calling the target application for execution based on the target time slice to obtain the execution result; monitoring the full monitoring data during the execution of the target application through the monitoring module.
[0053] The time slice may refer to the running time period allocated to each application. The backend call queue may refer to a queue for calling applications according to the time slice of the application. Applications that are called but have not reached the running time are sorted and waited in the backend call queue.
[0054] Specifically, the control module sends the target time slice corresponding to the target application in the target resource allocation result to the backend call queue. The backend call queue receives the target time slice, and calls the target application for execution based on the target time slice to obtain the execution result. The monitoring module monitors the full amount of monitoring data during the execution of the target application. And periodically loop S120, S130 and this step, thereby realizing a wider range of control loops.
[0055] For example, Figure 2 An example diagram of a control loop is given. Figure 2 The monitoring module monitors the full monitoring data, and uses the game frame rate and number of frame captures proposed by the user as the target core indicators, and selects the target core monitoring data corresponding to the target core indicators from the full monitoring data, and uses the target core indicators to select the contract SLA, priority, application target indicators, GPU usage time, video memory occupancy, power consumption and temperature from the full monitoring data as target auxiliary monitoring data. The monitoring module sends the target core indicator value, target core monitoring data, target auxiliary monitoring data and preset indicator control strategy to the control module. The control module determines the target allocation strategy based on the received information, and uses the target allocation strategy to control the target computing body to allocate computing resources, and obtains the target resource allocation result corresponding to the target application. The control module sends the target time slice corresponding to the target application in the target resource allocation result to the backend call queue. The backend call queue receives the target time slice, and calls the target application for execution based on the target time slice, and calls the GPU and / or FPEG during the execution of the target application. The monitoring module monitors the full monitoring data during the execution of the target application.
[0056] Embodiment 2
[0057] Figure 3 This is a flowchart of a computing resource allocation method provided in Embodiment 2 of the present invention. Based on the above embodiments, this embodiment describes in detail the process of determining the target allocation strategy corresponding to the target application. The explanations of the terms that are the same or corresponding to the above embodiments are not repeated here. Figure 3 As shown, the method includes:
[0058] S310. Monitor the full amount of monitoring data of the target computing body through the monitoring module.
[0059] Among them, the full monitoring data includes: user perception data, external perception data and internal perception data corresponding to the application running on the target computing body.
[0060] S320. Obtain the target core indicator value proposed by the user for the target core indicator of the target application through the monitoring module, and determine the target core monitoring data from the user perception data based on the target core indicator, and determine the target auxiliary monitoring data from the external perception data and the internal perception data based on the preset indicator mapping table and the target core indicator, and send the target core indicator value, target core monitoring data, target auxiliary monitoring data and the preset indicator control strategy of the target application to the control module.
[0061] S330. Determine the target auxiliary index corresponding to the target auxiliary monitoring data through the control module, and determine the target auxiliary index interval corresponding to the target auxiliary index based on the target auxiliary index and the preset index control strategy.
[0062] The target auxiliary index interval may refer to a valid value interval of the target auxiliary index value.
[0063] Specifically, the control module determines the target auxiliary indicator corresponding to the target auxiliary monitoring data based on the auxiliary indicator to which the target auxiliary monitoring data belongs, and determines the target auxiliary indicator interval corresponding to the target auxiliary indicator from the preset indicator control strategy based on the target auxiliary indicator. Since each application has its own indicator limit, the allocation strategy adjustment also needs to comply with each indicator limit.
[0064] On the basis of the above technical scheme, "determining the target auxiliary indicator interval corresponding to the target auxiliary indicator based on the target auxiliary indicator and the preset indicator control strategy" may include: determining the target auxiliary indicator maximum value and the target auxiliary indicator minimum value corresponding to the target auxiliary indicator from the preset indicator control strategy based on the target auxiliary indicator, and determining the target auxiliary indicator interval corresponding to the target auxiliary indicator based on the target auxiliary indicator maximum value and the target auxiliary indicator minimum value.
[0065] The maximum value of the target auxiliary indicator may refer to the maximum value that the target auxiliary indicator value can take when the target application is running when the target core indicator value is limited. The minimum value of the target auxiliary indicator may refer to the minimum value that the target auxiliary indicator value can take when the target application is running when the target core indicator value is limited.
[0066] Specifically, the control module determines the maximum value and the minimum value of the target auxiliary indicator corresponding to the target auxiliary indicator from the preset indicator control strategy based on the target auxiliary indicator, and determines the target auxiliary indicator interval corresponding to the target auxiliary indicator based on the maximum value and the minimum value of the target auxiliary indicator. If the value of the target auxiliary indicator is optimal outside the target auxiliary indicator interval when the allocation strategy is adjusted, the interval boundary value of the target auxiliary indicator interval is still used as the target auxiliary indicator value.
[0067] S340. Determine, through the control module, a target adjustment method corresponding to the target application based on the target core indicator, the target auxiliary indicator, and the target program type of the target application.
[0068] The target adjustment method may refer to a specific allocation strategy adjustment method for each application program.
[0069] Specifically, the control module determines an effective target adjustment method for the target application based on the target core indicators, target auxiliary indicators and the target program type of the target application, so that the allocation strategy can be accurately adjusted based on the targeted target adjustment method, further improving the accuracy of the determination of the computing resource allocation results.
[0070] On the basis of the above technical solution, "determining the target adjustment method corresponding to the target application based on the target core indicator, the target auxiliary indicator and the target program type of the target application through the control module" may include: if the control module detects that the target core indicator is the number of frames per second, the target auxiliary indicator is the computing body utilization and the video memory usage, and the target program type of the target application is a game type, then the target adjustment method is a proportional-integral-differential algorithm.
[0071] Among them, the target adjustment method can also include a pre-built multi-objective optimization function and a pre-trained allocation strategy optimization model.
[0072] S350, adjusting the allocation strategy based on the target adjustment mode, the target core indicator value, the target core monitoring data, the target auxiliary monitoring data and the target auxiliary indicator interval by the control module to obtain the target allocation strategy of the target application.
[0073] Among them, following the above example, the application indicators such as the number of files processed per second FPS in the video surveillance application or the number of frames refreshed per second of the game terminal can be taken as the target core indicator, and the corresponding target core indicator value can be monitored. At the same time, the technical indicators of intelligent hardware and software such as GPU, such as core utilization and video memory occupancy, are used as auxiliary indicators to adjust the allocation strategy. The indicator value of the target auxiliary indicator is limited to the target auxiliary indicator range. The target core monitoring data is close to the target core indicator value. The target auxiliary monitoring data is close to the target auxiliary indicator value. Specifically, based on the SLA (target auxiliary indicator) signed by the operator as a prerequisite, on the basis of satisfying this condition (the indicator value of the target auxiliary indicator falls within the target auxiliary indicator range), the customer's APP type is taken as the core, and a certain data indicator perceived by the customer is taken as the core indicator. For example, the game can use FPS as the target core indicator, and the PID control strategy is adjusted so that the target core monitoring data is close to the target core indicator value, thereby obtaining the target allocation strategy of the target application. Among them, P\I\D are all calculated using FPS as an indicator.
[0074] Exemplarily, the embodiment of the present invention also provides an optional example, as follows: a monitoring module can be defined to monitor or collect full monitoring data in a unified mode, and at the same time, a preset indicator control strategy, a target core indicator, a target auxiliary indicator and a full monitoring data are used to provide an allocation strategy for the control module, thereby assisting the control module to allocate an accurate amount of necessary resources for each workload (various APP backends), and fully considering the configured customer characteristics, application APP type, service agreement and other important attributes in the control, thereby achieving a more effective, more comprehensive and personalized allocation strategy, and being able to effectively utilize the computing body resources. Specifically, a new monitoring module is added to the system where the target computing body is located, and various types of data such as customer characteristics, application APP type, service agreement, computing body attributes, etc. are monitored by various sign processes, that is, full monitoring data, and the target auxiliary indicators proposed by the user are obtained at the same time, and the preset indicator control strategy and the above-obtained data are sent to the control module, and a real-time allocation strategy is generated, and a time slice is sent from the control module to the backend call queue queue. The backend call queue completes the calculation within an operation cycle, and the calculation result is sent to the application for display, and the relevant information (various types of data when the application is running) is collected by the monitoring module.
[0075] For example, taking an Nvidia chip (Nvidia T4) as an example, the maximum throughput of Nvidia T4 is 121.426FPS. If the user selects FPS as the target core indicator, the number of video images processed per second can be used as the business verification frequency. If the business verification frequency is too frequent and the video does not change much, multiple video frames with similar screen content will be checked, resulting in a waste of resources and no effective business effect display. If too few pictures are processed per second, key frames will be missed, resulting in omissions when doing pattern matching of video pictures. According to business experience, 25 frames per second can fully meet business needs. Among them, the test model is Yolov5. The test data set is COCOval2017.
[0076] The traditional strategy is to use one Nvidia T4 to run one application model. According to the traditional control model, the time slice division strategy is adopted. When running one application as a whole, the peak processing capacity can reach 121FPS. According to 25 FPS per application, the system can be divided into 4 time slices, each occupying 25% of the time.
[0077] Based on the technical solution of the embodiment of the present invention, the FPS performance index detection is carried out in real time and dynamically, and it is finally found that 10-12 application models can be run. By adopting the dynamic FPS control mode, the peak value can reach 564FPS (10 applications) or 522FPS (12 applications). Therefore, in the same hardware system, the system capacity and resource utilization can be greatly improved by adopting different indicator control systems.
[0078] FPS video reasoning (Frames Per Second): The video is extracted and saved as images of the same size. The target detection model Yolov5 processes frames per second. The industry standard recognizes that full-frame reasoning is 20-25FPS, so basically the standard for judging a video reasoning model is 25FPS. In the test, the model running Yolvo5 on each GPU is >25FPS, so it can be considered that each GPU can support full-frame reasoning of Yolvo5. When Yolov5 is used as the business model for video reasoning, the use of this technical solution can bring about a huge business improvement, and the application support capacity of 4 applications is 150% to 200% higher than that of the traditional allocation solution, thereby greatly saving intelligent computing resources such as GPUs. It can save more than 30% of GPU intelligent computing resources compared to traditional GPU scheduling methods, and reduce the large fluctuations of core indicators that users care about, improving user perception.
[0079] S360. The control module controls the target computing entity to allocate computing resources based on the target allocation strategy, and obtains a target resource allocation result corresponding to the target application.
[0080] The technical solution of the embodiment of the present invention determines the target auxiliary indicators corresponding to the target auxiliary monitoring data through a control module, and determines the target auxiliary indicator interval corresponding to the target auxiliary indicator based on the target auxiliary indicator and the preset indicator control strategy; through the control module based on the target core indicator, the target auxiliary indicator and the target program type of the target application, a targeted adjustment method is selected in a specific situation, and then the allocation strategy is adjusted by using the targeted adjustment method and various indicator values and data in the specific situation, so as to obtain an accurate target allocation strategy corresponding to the target application, thereby improving the versatility of the technical solution of the present invention and further improving the accuracy of determining the target allocation strategy.
[0081] The following is an embodiment of a computing resource allocation system provided by an embodiment of the present invention. The system and the computing resource allocation methods of the above-mentioned embodiments belong to the same inventive concept. For details not described in detail in the embodiment of the computing resource allocation system, reference can be made to the embodiments of the above-mentioned computing resource allocation methods.
[0082] Embodiment 3
[0083] Figure 4 This is a schematic diagram of the structure of a computing resource allocation system provided by Embodiment 3 of the present invention. Figure 4 As shown, the system includes: a monitoring module 410 and a control module 420 .
[0084] Among them, the monitoring module 410 is used to monitor the full monitoring data of the target computing body; the full monitoring data includes: user perception data, external perception data and internal perception data corresponding to the application running on the target computing body; the monitoring module 410 is also used to obtain the target core indicator value proposed by the user for the target core indicator of the target application, and determine the target core monitoring data from the user perception data based on the target core indicator, and determine the target auxiliary monitoring data from the external perception data and the internal perception data based on the preset indicator mapping table and the target core indicator, and send the target core indicator value, target core monitoring data, target auxiliary monitoring data and the preset indicator control policy of the target application to the control module 420; the control module 420 is used to determine the target allocation policy corresponding to the target application based on the received target core indicator value, target core monitoring data, target auxiliary monitoring data and preset indicator control policy, and control the target computing body to allocate computing resources based on the target allocation policy to obtain the target resource allocation result corresponding to the target application.
[0085] The technical solution of the embodiment of the present invention monitors the full monitoring data of the target computing body through the monitoring module 410, so that targeted monitoring data can be determined according to the core indicators that the user is concerned about; the full monitoring data includes: user perception data, external perception data and internal perception data corresponding to the application program run by the target computing body; the target core indicator value proposed by the user for the target core indicator of the target application program is obtained through the monitoring module 410, and the target core monitoring data is determined from the user perception data based on the target core indicator, and the target auxiliary monitoring data is determined from the external perception data and the internal perception data based on the preset indicator mapping table and the target core indicator, and the target core indicator value, target core monitoring data, target auxiliary monitoring data and the preset indicator control strategy of the target application program are sent to the control module 420; the control module 420 is based on the received target core indicator value, target core monitoring data, target auxiliary monitoring data and preset indicator control strategy, so as to accurately and conveniently determine the target allocation strategy of the target computing body that takes into account various needs, and perform computing resource allocation according to the target allocation strategy, thereby improving the efficiency and accuracy of determining the computing resource allocation result.
[0086] On the basis of the above technical solution, the monitoring module 410 is further used to determine the short-term monitoring data and the long-term monitoring data based on the effective duration of each monitoring data and the monitoring duration of each monitoring data;
[0087] The monitoring module 410 is further used to resample the short-term monitoring data to obtain resampled short-term monitoring data, and determine the resampled short-term monitoring data and long-term monitoring data as full monitoring data.
[0088] Based on the above technical solution, the user perception data is the perception data from the operator and the customer; the user perception data includes: at least one of the service quality data and the service level agreement data; wherein the service quality data includes: at least one of the computing power data of the computing core, the space data of the video memory size, the number of packets sent per second, the number of frames per second and the response time; the service level agreement data includes: at least one of the billing mode, priority, congestion strategy and fault handling mode.
[0089] Based on the above technical solutions, external perception data include: at least one of artificial intelligence ecology, artificial intelligence model type, artificial intelligence interface version, cloud type, scheduling framework, early warning tool and log type; internal perception data include: computing body utilization, video memory utilization, kernel function running time, number of streaming multiprocessors, device temperature, device power consumption and device error.
[0090] On the basis of the above technical solution, the monitoring module 410 is further used to determine the auxiliary indicator to be selected corresponding to the target core indicator based on the preset indicator mapping table and the target core indicator;
[0091] The monitoring module 410 is further used to determine target auxiliary monitoring data corresponding to the target application from the external perception data and the internal perception data based on the selected auxiliary indicators.
[0092] On the basis of the above technical solution, the control module 420 is further used to determine the target auxiliary indicator corresponding to the target auxiliary monitoring data, and determine the target auxiliary indicator interval corresponding to the target auxiliary indicator based on the target auxiliary indicator and the preset indicator control strategy;
[0093] The control module 420 is further used to determine a target adjustment method corresponding to the target application based on the target core indicator, the target auxiliary indicator and the target application type of the target application;
[0094] The control module 420 is further used to adjust the allocation strategy based on the target adjustment mode, the target core indicator value, the target core monitoring data, the target auxiliary monitoring data and the target auxiliary indicator interval to obtain the target allocation strategy of the target application.
[0095] Based on the above technical solution, the control module 420 is also used to determine the target auxiliary indicator maximum value and the target auxiliary indicator minimum value corresponding to the target auxiliary indicator from the preset indicator control strategy based on the target auxiliary indicator, and determine the target auxiliary indicator interval corresponding to the target auxiliary indicator based on the target auxiliary indicator maximum value and the target auxiliary indicator minimum value.
[0096] Based on the above technical solution, the control module 420 is also used to adjust the target method using a proportional-integral-differential algorithm if it is detected that the target core indicator is the number of frames per second, the target auxiliary indicators are the computing volume utilization and the video memory utilization, and the target program type of the target application is a game type.
[0097] On the basis of the above technical solution, the system further includes: a backend call queue;
[0098] The control module 420 is further configured to send the target time slice corresponding to the target application in the target resource allocation result to the backend call queue;
[0099] The backend call queue is specifically used to receive the target time slice, and call the target application to execute based on the target time slice to obtain the execution result;
[0100] The monitoring module 410 is also used to monitor the full amount of monitoring data during the execution of the target application.
[0101] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.
[0102] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A computing resource allocation method, characterized in that: include: Monitor the full amount of monitoring data of the target computing body through the monitoring module; The full monitoring data includes: user perception data, external perception data and internal perception data corresponding to the application program running on the target computing body; Obtaining the target core indicator value proposed by the user for the target core indicator of the target application through the monitoring module, and determining the target core monitoring data from the user perception data based on the target core indicator, and determining the target auxiliary monitoring data from the external perception data and the internal perception data based on the preset indicator mapping table and the target core indicator, and sending the target core indicator value, the target core monitoring data, the target auxiliary monitoring data and the preset indicator control strategy of the target application to the control module; Determining the target auxiliary index corresponding to the target auxiliary monitoring data through the control module, and determining the target auxiliary index interval corresponding to the target auxiliary index based on the target auxiliary index and a preset index control strategy; Determining, by the control module, a target adjustment method corresponding to the target application based on the target core indicator, the target auxiliary indicator and the target program type of the target application; The control module adjusts the allocation strategy based on the target adjustment mode, the target core indicator value, the target core monitoring data, the target auxiliary monitoring data and the target auxiliary indicator interval to obtain a target allocation strategy for the target application program; The control module controls the target computing entity to allocate computing resources based on the target allocation strategy, and obtains a target resource allocation result corresponding to the target application.
2. The method according to claim 1, characterized in that The monitoring module monitors the full amount of monitoring data of the target computing body, including: Determine short-term monitoring data and long-term monitoring data based on the effective duration of each monitoring data and the monitoring duration of each monitoring data through the monitoring module; The short-term monitoring data is resampled by the monitoring module to obtain resampled short-term monitoring data, and the resampled short-term monitoring data and the long-term monitoring data are determined as full monitoring data.
3. The method according to claim 1, characterized in that The user perception data is perception data from operators and customers; The user perception data includes: at least one of service quality data and service level agreement data; The service quality data includes: computing power data of the computing core, spatial data of the video memory size, number of packets sent per second, number of frames per second, and at least one of the response time; The service level agreement data includes at least one of a charging mode, a priority, a congestion strategy, and a fault handling mode.
4. The method according to claim 1, characterized in that The external perception data includes: at least one of: artificial intelligence ecology, artificial intelligence model type, artificial intelligence interface version, cloud type, scheduling framework, early warning tool and log type; The internal perception data includes: at least one of computing volume utilization, video memory utilization, kernel function running time, number of streaming multiprocessors, device temperature, device power consumption and device errors.
5. The method according to claim 1, characterized in that The determining target auxiliary monitoring data from the external perception data and the internal perception data based on the preset indicator mapping table and the target core indicator includes: Based on the preset indicator mapping table and the target core indicator, determine the auxiliary indicator to be selected corresponding to the target core indicator; The target auxiliary monitoring data corresponding to the target application is determined from the external perception data and the internal perception data based on the selected auxiliary indicators.
6. The method according to claim 5, characterized in that The determining the target auxiliary indicator interval corresponding to the target auxiliary indicator based on the target auxiliary indicator and the preset indicator control strategy includes: Based on the target auxiliary indicator, a target auxiliary indicator maximum value and a target auxiliary indicator minimum value corresponding to the target auxiliary indicator are determined from a preset indicator control strategy, and based on the target auxiliary indicator maximum value and the target auxiliary indicator minimum value, a target auxiliary indicator interval corresponding to the target auxiliary indicator is determined.
7. The method according to claim 5, characterized in that The control module determines the target adjustment mode corresponding to the target application based on the target core indicator, the target auxiliary indicator and the target program type of the target application, including: If the control module detects that the target core indicator is the number of frames per second, the target auxiliary indicators are the computing volume utilization and the video memory utilization, and the target program type of the target application is a game type, then the target adjustment method is a proportional-integral-differential algorithm.
8. The method according to claim 1, characterized in that: The method further comprises: Sending the target time slice corresponding to the target application in the target resource allocation result to the backend call queue through the control module; Receiving the target time slice through a backend call queue, and calling a target application program for execution based on the target time slice to obtain an execution result; The monitoring module monitors the full amount of monitoring data during the execution of the target application.
9. A resource allocation system, characterized in that: include: Monitoring module, used to monitor the full monitoring data of the target computing body; The full monitoring data includes: user perception data, external perception data and internal perception data corresponding to the application program running on the target computing body; The monitoring module is further used to obtain the target core indicator value proposed by the user for the target core indicator of the target application, and determine the target core monitoring data from the user perception data based on the target core indicator, and determine the target auxiliary monitoring data from the external perception data and the internal perception data based on the preset indicator mapping table and the target core indicator, and send the target core indicator value, the target core monitoring data, the target auxiliary monitoring data and the preset indicator control strategy of the target application to the control module; The control module is used to determine the target auxiliary indicator corresponding to the target auxiliary monitoring data, and determine the target auxiliary indicator interval corresponding to the target auxiliary indicator based on the target auxiliary indicator and the preset indicator control strategy; determine the target adjustment method corresponding to the target application based on the target core indicator, the target auxiliary indicator and the target program type of the target application; adjust the allocation strategy based on the target adjustment method, the target core indicator value, the target core monitoring data, the target auxiliary monitoring data and the target auxiliary indicator interval to obtain the target allocation strategy of the target application, and control the target computing body to allocate computing resources based on the target allocation strategy to obtain the target resource allocation result corresponding to the target application.
Citation Information
Patent Citations
Vehicle enterprise activity operation KPI distribution method based on sliding sales funnel and application
CN114139920A
Resource scheduling method and device, equipment and storage medium
CN115766876A