Computing power optimization method, device, electronic device and storage medium
By obtaining and analyzing the operating status indicators of the business processing module, determining the module to be optimized and optimizing, the business processing efficiency and accuracy problems caused by the inability to monitor and optimize in time are solved, and the efficiency and accuracy of business processing are achieved.
Patent Information
- Application Number
- CN202010995806.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-21
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2040-09-21
AI Technical Summary
During the multi-processor parallel collaborative business processing process, it is impossible to timely monitor the situation where there is no fault prompt during the business processing process but the result does not meet the expectations, which affects the effect and efficiency of subsequent business processing.
By obtaining the operating status indicators in the business processing module group, the business processing module to be optimized is determined, and optimized based on hardware tuning or software tuning to improve the efficiency and accuracy of business processing.
After each round of business processing is completed, the business processing modules to be optimized are timely screened out and optimized, which improves the efficiency and accuracy of business processing and avoids the wasted time of optimizing all processors one by one.
Smart Images

Figure CN114253813B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computing technology, and in particular to a method, device, electronic device and storage medium for optimizing computing power. Background Art
[0002] With the rapid development of the Internet, a large amount of business data has been generated. These data are large in scale, growing rapidly, and have diverse structures, so they belong to the category of big data. By analyzing, processing, developing and utilizing big data, new prediction models can be obtained, which have an important and positive impact on scientific research and life. However, due to the complexity of big data itself and the difficulty of current algorithms to provide elastic and scalable computing capabilities for efficient processing of big data, the emergence and development of cloud computing solves this problem. In order to efficiently process big data, the virtualized parallel computing capabilities provided by the cloud computing platform with elastic and scalable characteristics are used to process big data computing tasks. Through the cloud computing platform, multiple processors can be used simultaneously to coordinate business processing to solve computing problems.
[0003] When multiple processors are working together to process services in parallel, it is beneficial for the processors to maintain stable operation so that the service processing results meet the expected requirements. To this end, the processors will be monitored for faults, and faults will be repaired based on the fault prompts that appear during service processing to ensure the normal operation of service processing. However, if no fault prompts appear during service processing and the service processing results do not meet the expected requirements, it is impossible to monitor the existence of faults and troubleshoot them in time, which affects the effect and efficiency of subsequent service processing. Summary of the invention
[0004] The embodiments of the present application provide a method, device, electronic device and storage medium for computing power optimization, which can timely determine the business processing modules to be optimized based on the operating status indicators of the business processing modules, and then dynamically optimize the computing resources during the business processing process, thereby timely improving the efficiency and accuracy of business processing.
[0005] On the one hand, an embodiment of the present application provides a method for optimizing computing power, including:
[0006] Obtaining an operation status indicator corresponding to at least one business processing module in the business processing module group in the current round of business processing, wherein the business processing module group participates in at least two rounds of business processing;
[0007] Based on the operation status indicator corresponding to the at least one business processing module, determine the business processing module to be optimized and the corresponding optimization method, wherein the optimization method includes hardware tuning or software tuning;
[0008] Optimizing the business processing module to be optimized based on the optimization method;
[0009] The next round of business processing is performed based on the optimized business processing module group.
[0010] Optionally, the business processing is training a neural network.
[0011] On the one hand, an embodiment of the present application provides a computing power optimization device, including:
[0012] An acquisition module, used to acquire an operation status indicator corresponding to at least one business processing module in the business processing module group in the current round of business processing, wherein the business processing module group participates in at least two rounds of business processing;
[0013] A determination module, configured to determine a business processing module to be optimized and a corresponding optimization method based on an operation status indicator corresponding to the at least one business processing module, wherein the optimization method includes hardware tuning or software tuning;
[0014] An optimization module, used for optimizing the business processing module to be optimized based on the optimization method;
[0015] The business processing module is used to perform the next round of business processing based on the optimized business processing module group.
[0016] Optionally, the current round of service processing includes at least one sampling period, and the determining module is specifically configured to:
[0017] For each sampling period, determining a performance evaluation score of the at least one service processing module in each sampling period based on an operating status indicator of the at least one service processing module in the each sampling period;
[0018] Based on the performance evaluation score of the at least one service processing module in each sampling period, a service processing module to be optimized is determined.
[0019] Optionally, the determining module is specifically configured to:
[0020] Based on the operating status indicator of the at least one business processing module in each sampling period and the deduction value corresponding to each operating status indicator, a performance evaluation score of the at least one business processing module in each sampling period is determined.
[0021] Optionally, the device is also used for:
[0022] For any operating status indicator of any business processing module obtained in any sampling period, if any operating status indicator corresponding to any business processing module is not obtained in a sampling period before any sampling period, the deduction weight of any operating status indicator is determined to be a first weight value; otherwise, the deduction weight of any operating status indicator is determined to be a second weight value;
[0023] The determining module is specifically used for:
[0024] Based on the operating status indicator of the at least one business processing module in each sampling period, the deduction value and the deduction weight corresponding to each operating status indicator, the performance evaluation score of the at least one business processing module in each sampling period is determined.
[0025] Optionally, the determining module is specifically configured to:
[0026] Determine a score mean and a score variance corresponding to the at least one business processing module based on the performance evaluation scores respectively corresponding to the at least one business processing module in the multiple sampling periods;
[0027] Based on the score mean and score variance corresponding to the at least one business processing module, a business processing module to be optimized is determined.
[0028] Optionally, the determining module is used to:
[0029] Filter out, from the at least one business processing module, business processing modules whose mean scores are not higher than a first preset value and business processing modules whose variance scores are not lower than a second preset value;
[0030] The screened business processing modules are determined as business processing modules to be optimized.
[0031] Optionally, the determining module is specifically configured to:
[0032] Counting the number of occurrences of the specified operating status indicator corresponding to the business processing module to be optimized in the current round of business processing;
[0033] If the number of occurrences exceeds a preset number, the optimization method is determined to be hardware optimization, otherwise the optimization method is determined to be software optimization;
[0034] The optimization module is specifically used for:
[0035] When the optimization method is hardware optimization, replacing the service processing module to be optimized;
[0036] When the optimization method is software tuning, fault location and repair are performed on the software program of the business processing module to be optimized.
[0037] Optionally, the business processing is training a neural network.
[0038] On the one hand, an embodiment of the present application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any of the above methods when executing the computer program.
[0039] On the one hand, an embodiment of the present application provides a computer-readable storage medium having computer program instructions stored thereon, and the computer program instructions implement the steps of any of the above methods when executed by a processor.
[0040] On the one hand, an embodiment of the present application provides a computer program product or a computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the computing power optimization method provided in the above various optional implementations.
[0041] In an embodiment of the present application, firstly, the corresponding operating status indicator of at least one business processing module in the business processing module group in the current round of business processing is obtained, wherein the business processing module group participates in at least two rounds of business processing, and then based on the operating status indicator corresponding to at least one business processing module, the business processing module to be optimized and the corresponding optimization method are determined, and the business processing module to be optimized is optimized based on the optimization method, wherein the optimization method includes hardware tuning or software tuning, and finally the next round of business processing is performed based on the optimized business processing module group. The method, device, electronic device and storage medium for computing power optimization provided in an embodiment of the present application can timely screen out the business processing module to be optimized based on the corresponding operating status indicator of at least one business processing module in the current round of business processing after each round of business processing, and optimize it using the optimization method corresponding to the determined business processing module to be optimized, without the need to optimize all business processing modules one by one, thereby timely improving the efficiency of business processing and the accuracy of business processing. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1 A schematic diagram of an application scenario of a method for optimizing computing power provided in an embodiment of the present application;
[0043] Figure 2 A flowchart of a method for computing power optimization provided in an embodiment of the present application;
[0044] Figure 3a A flowchart of a method for computing power optimization provided in an embodiment of the present application;
[0045] Figure 3b A flow chart of a method for generating a data report based on cleaned data provided in an embodiment of the present application;
[0046] Figure 4a A flowchart of a method for computing power optimization provided in an embodiment of the present application;
[0047] Figure 4b A schematic diagram of a rule for calculating the performance evaluation score of a business processing module provided in an embodiment of the present application;
[0048] Figure 5 A flowchart of a method for computing power optimization provided in an embodiment of the present application;
[0049] Figure 6 A schematic diagram of the structure of a computing power optimization device provided in one embodiment of the present application;
[0050] Figure 7 A schematic diagram of the structure of a computing device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0051] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.
[0052] Any number of elements in the drawings is for illustration and not limitation, and any naming is for distinction only and does not have any limiting meaning.
[0053] Cloud technology refers to a hosting technology that unifies hardware, software, network and other resources within a wide area network or local area network to achieve data computing, storage, processing and sharing.
[0054] Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model. It can form a resource pool, which can be used on demand and is flexible and convenient. Cloud computing technology will become an important support. The backend services of the technical network system require a large amount of computing and storage resources, such as video websites, picture websites and more portal websites. With the rapid development and application of the Internet industry, in the future, each item may have its own identification mark, which needs to be transmitted to the backend system for logical processing. Data of different levels will be processed separately. All kinds of industry data need strong system backing support, which can only be achieved through cloud computing.
[0055] With the development of the Internet, real-time data streams, and the diversification of connected devices, as well as the demand for search services, social networks, mobile commerce, and open collaboration, cloud computing has developed rapidly. Different from the previous parallel distributed computing, the emergence of cloud computing will promote revolutionary changes in the entire Internet model and enterprise management model from a conceptual perspective.
[0056] Cloud computing refers to the delivery and use model of IT infrastructure, which means obtaining required resources through the network in an on-demand and easily scalable manner; in a broad sense, cloud computing refers to the delivery and use model of services, which means obtaining required services through the network in an on-demand and easily scalable manner. This service can be related to IT and software, the Internet, or other services. Cloud computing is the product of the development and integration of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balancing.
[0057] Operation status indicators refer to indicators used to measure whether the equipment is in good condition during operation. Based on these indicators, the equipment availability, equipment age, equipment accident rate, and equipment task completion efficiency can be measured. Taking GPU (Graphics Processing Unit) devices as an example, the corresponding operation status indicators of GPU include: ECC (Error Correcting Code), SBE (Single Bit Error), DBE (Double Bit Error), xid (a term from NVIDIA, xid information comes from the error report of the NVIDIA driver, and the error report is stored in the kernel log or event log of the operating system), PCI-Express (Peripheral Component Interconnect Express, the transmission rate of the high-speed serial computer expansion bus), SM_active (Streaming Multiprocessor_active, computing unit utilization), power (actual power).
[0058] Computing power, also known as computing power, mainly refers to the computing power of the processing module in the embodiments of this application. Taking the training of neural networks based on GPU as an example, the lack of GPU resource performance and computing power will affect the performance of the neural network obtained through training, and then affect the effect of training. Therefore, it is necessary to evaluate the performance of the GPU card to perform hardware or software tuning on the GPU card to improve the computing power of the GPU involved in the training, that is, computing power optimization.
[0059] In the specific practice, when multiple processors are processing business in parallel and in coordination, the stable operation of the processors is conducive to the business processing results meeting the expected requirements. Generally, fault repair is performed according to the fault prompts of the processors during the business processing. However, if no fault prompts appear during the business processing, and the results of the business processing do not meet the expected requirements, the existence of the fault cannot be monitored and troubleshooted in time, which affects the effect and efficiency of subsequent business processing. All processors can only be optimized one by one based on experience, which takes a long time and also affects the efficiency of business processing. Taking the neural network training in the field of AI (Artificial Intelligence) technology as an example, if the resource equipment is in a stable operating state, it is conducive to reducing the impact on the neural network training. Taking GPU (Graphics Processing Unit) device as an example, a single GPU device includes N GPU cards, where N is a positive integer. In the case of multiple GPU devices and multiple GPU cards, in the application scenario of AI neural network training, if a fault prompt appears during the GPU operation, it is necessary to repair the fault according to the fault prompt; if no fault prompt appears during the GPU operation, and the result of the neural network training also meets the expected requirements, there is no need to optimize the computing power of the training process, and the current neural network training ends; however, if no fault prompt appears during the GPU operation, and the result of the neural network training does not meet the expected requirements, it is necessary to optimize the computing power of the current neural network training, otherwise it will affect the effect and efficiency of subsequent neural network training. In addition, in the prior art, all GPU cards in multiple GPU devices can only be optimized one by one based on experience, which takes a long time and also affects the training efficiency and training effect.
[0060] To this end, the present application provides a method for optimizing computing power, first obtaining the corresponding operating status indicator of at least one business processing module in the business processing module group in the current round of business processing, wherein the business processing module group participates in at least two rounds of business processing, and then determining the business processing module to be optimized and the corresponding optimization method based on the operating status indicator corresponding to at least one business processing module, wherein the optimization method includes hardware tuning or software tuning, and optimizing the business processing module to be optimized based on the optimization method, and finally performing the next round of business processing based on the optimized business processing module group. Based on the above-mentioned computing power optimization method, after each round of business processing is completed, the business processing module to be optimized can be timely screened out based on the corresponding operating status indicator of at least one business processing module in the current round of business processing, and optimized using the optimization method corresponding to the determined business processing module to be optimized, without the need to optimize all business processing modules one by one, thereby realizing the dynamic optimization of computing resources in the business processing process, and timely improving the efficiency of business processing and the accuracy of business processing.
[0061] After introducing the design ideas of the embodiments of the present application, the following briefly introduces the application scenarios to which the technical solutions of the embodiments of the present application can be applied. It should be noted that the application scenarios introduced below are only used to illustrate the embodiments of the present application and are not limited. In specific implementation, the technical solutions provided by the embodiments of the present application can be flexibly applied according to actual needs.
[0062] refer to Figure 1, which is a schematic diagram of an application scenario of the method for computing power optimization provided in an embodiment of the present application. The application scenario includes a terminal device 101, a server 102, a database 103 and multiple business processing devices 104 (including a daemonset-agent (program agent), a driver corresponding to the business processing module and a business processing module 1, a business processing module 2, ... a business processing module n). Among them, the terminal device 101, the server 102, the database 103 and the business processing device 104 are connected via a wireless or wired network, and the terminal device 101 includes but is not limited to electronic devices such as desktop computers, mobile phones, mobile computers, tablet computers, media players, smart wearable devices, smart TVs, etc. The server 102 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The database 103 may include a main database 1030, sub-database 1031, ... sub-database 103n, each sub-database may correspond to a business processing device 104, each sub-database obtains and stores data in its corresponding business processing device 104, and the data in each sub-database is aggregated into the main database 1030.
[0063] Here, the main database 1030 can be a database such as MySQL, and the sub-database 103n can be a database such as a time series database (InfluxDB). This is only an example and does not specifically limit the type of database, and can be adjusted according to the actual application scenario.
[0064] The user sends a business processing request to the server 102 through the terminal device 101. The server 102 allocates a certain number of business processing modules for the business processing according to the computing power required for the business processing. These business processing modules form a business processing module group. The specific business processing is performed in parallel based on the business processing modules in the business processing module group. The business processing modules in a business processing module group can come from the same business processing device or from different business processing devices. The specific configuration can be freely made according to the demand for business processing modules for business processing and the number of business processing modules included in the business processing device. The embodiment of the present application does not limit this. The business processing device 104 runs in daemonset mode, uses agent to interact with the driver corresponding to the business processing module, obtains the corresponding running status indicator of at least one business processing module in the business processing device 104 in a round of business processing, and sends the running status indicator to its corresponding sub-database. When a round of business processing is completed, server 102 obtains the corresponding operating status indicator of at least one business processing module in the business processing module group participating in this round of business from database 103, determines the business processing module to be optimized according to the operating status indicator, optimizes the business processing module to be optimized, and then controls the optimized business processing module group to perform the next round of business processing.
[0065] In specific implementation, in order to quickly obtain the corresponding operating status indicators of the specified business within the specified time period from the database, the operating status indicators of each business processing module sent by the agent carry the corresponding business identifier, the module identifier of the business processing module, the device identifier of the business processing device where it is located, the start time and end time corresponding to this round of business processing, and other information. The database 103 summarizes the data from different business processing devices 104. Specifically, a data table may be corresponding to each business processing, and the collected operating status indicators and the information carried by the operating status indicators are stored in the corresponding data table according to the business identifier.
[0066] Of course, the method provided in the embodiment of the present application is not limited to Figure 1 The application scenarios shown can also be used in other possible application scenarios, and the embodiments of the present application are not limited thereto. Figure 1 The functions that can be implemented by each device in the application scenario shown will be described in the subsequent method embodiments, and will not be described in detail here.
[0067] To further illustrate the technical solution provided by the embodiment of the present application, this is described in detail below in conjunction with the accompanying drawings and specific implementation methods. Although the embodiment of the present application provides the method operation steps shown in the following embodiments or drawings, more or fewer operation steps may be included in the method based on routine or no creative labor. In the steps where there is no necessary causal relationship logically, the execution order of these steps is not limited to the execution order provided by the embodiment of the present application.
[0068] Combine the following Figure 1 The application scenario shown illustrates the technical solution provided by the embodiment of the present application.
[0069] refer to Figure 2 , the present application embodiment provides a method for optimizing computing power, which can be applied to Figure 1 The server 102 shown specifically includes the following steps:
[0070] S201, obtaining an operation status indicator corresponding to at least one business processing module in a business processing module group in the current round of business processing, wherein the business processing module group participates in at least two rounds of business processing.
[0071] Specifically, after receiving a request instruction for business processing, the server obtains the corresponding operating status indicator of at least one business processing module in this round of business processing through the data storage service, wherein the database obtains and stores the corresponding operating status indicator of at least one business processing module in this round of business processing through the business processing module group, wherein the business processing module group runs in daemonset mode, and uses the agent to interact with the driver corresponding to the business processing module, obtains the corresponding operating status indicator of at least one business processing module in this round of business processing, and sends the operating status indicator to the database.
[0072] Exemplarily, the business processing may be training a neural network, and at least two rounds of business processing may be multiple neural network trainings. Business processing may also be processing of other tasks. Here, neural networks are used as an example only, and this is not a specific limitation. The business processing module group may be a processor with computing capabilities such as a CPU and a GPU. In the embodiments of the present application, a GPU is used as an example only, and this is not a specific limitation. Each business processing module group includes at least two business processing modules. For example, the business processing module group may be a GPU device including multiple GPU cards.
[0073] Taking a GPU device as an example, when neural network training is performed through a GPU card in the GPU device, an operating status indicator of at least one GPU card is obtained. A single GPU device includes N GPU cards, where N is a positive integer. During at least two rounds of business processing, the business processing module group can be a single GPU device or multiple GPU devices, which can be adjusted according to the actual application scenario.
[0074] Among them, the operating status indicator of each GPU card may include one or more of the following operating status indicators: ECC (Error Correcting Code), SBE (Single Bit Error), DBE (Double Bit Error), xid (a term from NVIDIA, the xid information comes from the error report of the NVIDIA driver, and the error report is stored in the kernel log or event log of the operating system), PCI-Express (Peripheral Component Interconnect Express, the transmission rate of the high-speed serial computer expansion bus), SM_active (Streaming Multiprocessor_active, computing unit utilization), power (actual power).
[0075] S202: Determine a business processing module to be optimized and a corresponding optimization method based on an operation status indicator corresponding to at least one business processing module, wherein the optimization method includes hardware tuning or software tuning.
[0076] Specifically, the performance evaluation score of at least one business processing module can be determined based on the running status indicator corresponding to at least one business processing module; then, based on the performance evaluation score of at least one business processing module, the business processing module to be optimized can be determined, and then the business processing module to be optimized can be optimized by hardware tuning or software tuning. For example, the business processing module is a GPU card in a GPU device, and the running status indicator corresponding to each GPU card can be ECC, SBE, DBE, and xid. If the initial score of the performance evaluation score of each GPU card is 100 points, the deduction value corresponding to ECC is minus 10 points, which means that when an error occurs in ECC, the performance evaluation score of the GPU card is minus 10 points. Similarly, when an error occurs in SBE, the corresponding deduction value is minus 10 points, when an error occurs in DBE, the corresponding deduction value is minus 100 points, and when an error occurs in xid, the corresponding deduction value is minus 5 points. The number of occurrences of each running status indicator in the entire current round of business processing is counted to determine the performance evaluation score of the GPU card.
[0077] In addition, when the performance evaluation score of the GPU card does not meet the preset score, it is determined that the GPU card is to be optimized, that is, the GPU card is a business processing module to be optimized, and then the GPU card is optimized after the optimization method corresponding to the GPU card is determined by counting the number of times SBE and DBE appear in the entire round of business processing; when the performance evaluation score of the GPU card meets the preset score, it is determined that the GPU card does not need to be optimized.
[0078] Taking GPU as an example, we collect ECC, SBE, DBE, xid and other operating status indicators, and refine the data collection dimension to GPU operators to make the information obtained more comprehensive and specific.
[0079] Here, based on the operating status indicator corresponding to at least one business processing module, the performance evaluation score of at least one business processing module is determined. Also, based on the performance evaluation score of at least one business processing module, the business processing module to be optimized and the corresponding optimization method and other calculation methods are determined. They will be described in detail in subsequent steps and will not be repeated here.
[0080] S203: Optimize the service processing module to be optimized based on the optimization method.
[0081] Specifically, there are two optimization methods, one is a hardware optimization method, and the other is a software optimization method. These two optimization methods are only taken as examples here without any specific limitation.
[0082] S204, performing the next round of business processing based on the optimized business processing module group.
[0083] Taking the training of a neural network as an example, when training a neural network, it is necessary to perform multiple rounds of training on the neural network based on a large number of training samples until the output of the neural network meets the training requirements. In this process, it is necessary to optimize the GPU used for training the neural network to ensure the training effect from the resource layer. Specifically, the server allocates a certain number of GPU cards for training the neural network according to the number of resources required for training the neural network, and these GPU cards form a GPU group; the first round of training of the neural network is performed based on the GPU cards in the GPU group, and in this process, the operating status indicator of at least one GPU card is collected and stored in the database; when this round of training is completed, if it is determined that the output of the neural network does not meet the training requirements, the server obtains the operating status indicator of at least one GPU card in this round of training from the database, and determines the GPU card to be optimized and the corresponding optimization method based on the operating status indicator of at least one GPU card in this round of training, optimizes the GPU card to be optimized based on the optimization method, obtains the optimized business processing module group, and then continues to perform the next round of training on the neural network based on the optimized business processing module group; repeat the above steps until the output of the neural network meets the training requirements. Based on the above method, during the neural network training process, various operating status indicators of GPU cards can be collected, and GPU cards to be optimized can be screened out based on the operating status indicators. The computing power of GPU cards can be optimized after each round of training, thereby improving the training effect of the network from the resource level, and realizing resource optimization without user perception, which will not affect normal training.
[0084] In the embodiment of the present application, the corresponding running state index of at least one business processing module in the business processing module group in the current round of business processing is first obtained, wherein the business processing module group participates in at least two rounds of business processing, and then based on the running state index corresponding to at least one business processing module, the business processing module to be optimized and the corresponding optimization method are determined, and the business processing module to be optimized is optimized based on the optimization method, wherein the optimization method includes hardware tuning or software tuning, and finally the next round of business processing is performed based on the optimized business processing module group. Using the computing power optimization method provided in this embodiment, after each round of business processing is completed, the business processing module to be optimized can be timely screened out based on the running state index corresponding to at least one business processing module in the current round of business processing, and the optimization method corresponding to the determined business processing module to be optimized is used for optimization, and all business processing modules do not need to be optimized one by one, which timely improves the efficiency of business processing and the accuracy of business processing. In addition, according to the running state index corresponding to at least one business processing module, after calculating the performance evaluation score of at least one business processing module, the business processing module to be optimized is determined, and the business processing module to be optimized is accurately determined through specific data.
[0085] In specific implementation, data cleaning can be performed on the corresponding operation status indicators of at least one business processing module in the current round of business processing, and based on the cleaned operation status indicators, the business processing module to be optimized and the corresponding optimization method can be determined. Figure 3a As shown, the embodiment of the present application provides a method for computing power optimization, which specifically includes the following steps:
[0086] S301, obtaining an operation status indicator corresponding to at least one business processing module in a business processing module group in the current round of business processing, wherein the business processing module group participates in at least two rounds of business processing.
[0087] S302: Perform data cleaning on the corresponding operation status indicator of at least one business processing module in the current round of business processing.
[0088] In the specific implementation, the server reads the corresponding operation status indicators of the business processing module in the current round of business processing from the database, and then performs data cleaning on the read operation status indicators. Among them, data cleaning mainly checks the rationality of the operation status indicators, that is, checks whether the values of the operation status indicators are within a reasonable range, and deletes unreasonable data. Specifically, after the operation status indicators of at least one business processing module are obtained and counted according to the acquisition time, the counted data are cleaned according to the preset rules. When the exemplary business processing module is a GPU card, if the operation status indicators of the GPU card include SM_active, ECC, SBE, DBE, and xid, but the statistical data show that the utilization rate of the operation status indicator SM_active is zero, but one or more of the operation status indicators ECC, SBE, and DBE are collected, the unreasonable collected data is deleted; since the operation status indicators of each GPU card are counted according to the acquisition time, from the time dimension after the statistics are completed, if no data is counted at a certain moment, and data is counted at the previous moment and the next moment, it is determined that the data counted at the previous moment and the next moment is unreliable data and should be deleted; if the data counted at a certain moment is compared with the data counted at the previous moment and the next moment, there is a sudden increase or decrease in data, the data at this moment should be deleted.
[0089] S303: Determine the business processing module to be optimized and the corresponding optimization method based on the cleaned operation status indicator, wherein the optimization method includes hardware tuning or software tuning.
[0090] S304: Optimize the service processing module to be optimized based on the optimization method.
[0091] S305, performing the next round of business processing based on the optimized business processing module group.
[0092] For example, Figure 3b As shown, a flow chart of a method for generating a data report based on cleaned data provided by an embodiment of the present application is shown, which specifically includes the following steps:
[0093] S3021, obtain source data.
[0094] Specifically, the operation status indicator corresponding to at least one business processing module in the business processing module group in the current round of business processing, as well as the start time and end time corresponding to the current round of business processing, i.e., source data, are obtained, and the obtained source data is stored in a database, for example, the database storing the source data may be MySQL. In addition, MySQL may also pre-store the business processing start time and business processing end time corresponding to the business processing request sent by the user, and relevant information of the person in charge of the business processing, etc.
[0095] S3022, clean the acquired source data.
[0096] Specifically, the data volume of the corresponding operation status indicator in this round of business processing can be determined first. If the data volume is large, the data volume that needs to be cleaned can be counted first, and the computing resources required in the cleaning process are allocated according to the data volume. For example, the operation status indicator exported from MySQL in the business operation time period from the business processing start time to the business processing end time corresponding to the business processing request is counted, and then the data volume is calculated. At this time, a single data in the operation status indicator is calculated as 1kB. If the data volume is large, the data volume that needs to be cleaned can be counted first, and the computing resources required in the cleaning process are allocated according to the data volume. Here, the data cleaning process is the same as the data cleaning process in step S302, and will not be repeated here.
[0097] S3023, process the cleaned data to obtain the score mean and score variance of each business processing module.
[0098] Specifically, taking a business processing module in the business processing module group as an example, the score mean and score variance corresponding to the business processing module are calculated according to the cleaned operating status indicator corresponding to the business processing module, and then the score mean and score variance corresponding to the business processing module group are calculated according to the score mean and score variance of the business processing module.
[0099] S3024, generating a data report corresponding to the business processing module group according to the score mean and score variance of each business processing module in the business processing module group.
[0100] The data report may include: the score mean and score variance corresponding to the business processing module group, the number of business processing modules included in the business processing module group, the score mean, score variance and performance evaluation score of each business processing module in the business processing module group, and the number of ECC, SBE, DBE and other errors of each business processing module in the current round of business processing, etc. Specifically, the score mean of all business processing modules in the business processing module group may be averaged to obtain the score mean corresponding to the business processing module group, and similarly, the score variance of all business processing modules in the business processing module group may be variance calculated to obtain the score variance corresponding to the business processing module group.
[0101] Furthermore, when the data volume of the corresponding operation status indicator in the current round of business processing is large, the data volume that needs to be cleaned can be counted first, and the computing resources required in the cleaning process can be allocated according to the data volume.
[0102] In the specific implementation, the business processing module group runs in daemonset mode, and uses the agent to interact with the driver corresponding to the business processing module to obtain the corresponding operating status indicators (SM_active, power, ECC, SBE, DBE) of each business processing module in this round of business processing. The specific structure is as follows:
[0103] Struct ReportInfo{
[0104] Required string sm_active;
[0105] Required uint32 power;
[0106] Required uint32 ecc_cnt;
[0107] Required uint32 sbe_cnt;
[0108] Required uint32 dbe_cnt;
[0109] …
[0110] }
[0111] Here, ecc_cnt represents the number of error corrections, sbe_cnt represents the number of single-byte errors, and dbe_cnt represents the number of double-byte errors.
[0112] In the above embodiment, each round of service processing includes a sampling period, that is, the time of one round of service processing is one sampling period.
[0113] Furthermore, each round of business processing may also include multiple sampling periods, wherein the value of each sampling period may be determined according to the duration of this round of business processing.
[0114] Based on the periodic sampling method, the performance evaluation score of at least one business processing module in each sampling period can be determined in the following way: based on the operating status indicator of at least one business processing module in each sampling period, the performance evaluation score of at least one business processing module in each sampling period is determined.
[0115] For example, the time required for this round of business processing is 5 hours in total, and one sampling cycle is 1 hour. It takes a total of 5 sampling cycles to complete this round of business processing. Then, in this round of business processing, the operation status indicators corresponding to each business processing module are collected in the first hour, the second hour, the third hour, the fourth hour, and the fifth hour. If the operation status indicators corresponding to the business processing module are ECC, SBE, DBE, and xid, the results after collection are shown in Table 1, where 1 in the table represents an error in the operation status, and 0 in the table represents no error in the operation status. By assigning different scores to different operation status indicators corresponding to the business processing modules in Table 1, the performance evaluation score of the business processing module in each sampling cycle is determined, and based on the performance evaluation score of each business processing module, the business processing module to be optimized is determined.
[0116] Table 1
[0117]
[0118] Specifically, Figure 4a As shown, the following steps are included:
[0119] S401, obtaining an operation status indicator corresponding to at least one business processing module in a business processing module group in the current round of business processing, wherein the business processing module group participates in at least two rounds of business processing.
[0120] S402, for each sampling period, based on the operating status indicator of at least one business processing module in each sampling period and the deduction value corresponding to each operating status indicator, determine the performance evaluation score of at least one business processing module in each sampling period, wherein multiple sampling periods are included in this round of business processing.
[0121] For example, as shown in Table 2, in a sampling period, if each business processing module is a corresponding GPU card in a GPU device, and the corresponding operating status indicators of each GPU card are ECC, SBE, DBE, xid, PCI-Express, SM_active, and power, the initial score of the performance evaluation score of the GPU card is 100 points, and the deduction value corresponding to ECC is minus 10 points, which means that when an ECC error occurs, the performance evaluation score of the GPU card is minus 10 points, when an SBE error occurs, the corresponding deduction value is minus 10 points, when a DBE error occurs, the corresponding deduction value is minus 100 points, when an xid error occurs, the corresponding deduction value is minus 5 points, and when PCI-Express, SM_active, and power occur, the corresponding deduction values are all 0 points, which means no deduction.
[0122] Table 2
[0123]
[0124] Taking the score comparison table in Table 2 as an example, in a sampling period, if the operating status indicators corresponding to a GPU card are ECC no error, SBE error, DBE no error, and xid error, then the performance evaluation score of the GPU card is 85 points; if the operating status indicators corresponding to a GPU card are ECC no error, SBE error, DBE error, and xid error, then the performance evaluation score of the GPU card is 0 points; if the operating status indicators corresponding to a GPU card are ECC error, SBE error, DBE no error, and xid error, then the performance evaluation score of the GPU card is 75 points.
[0125] Alternatively, if Figure 4b As shown, a schematic diagram of a rule for calculating the performance evaluation score of a business processing module provided by an embodiment of the present application is shown. Specifically, in a sampling period, based on the operation status indicator corresponding to the business processing module, the operation status indicator is classified according to fatal error, serious error, prompt information and normal information, and the performance evaluation score of the business processing module is determined by using the deduction values corresponding to the classified operation status indicators.
[0126] Exemplarily, a business processing module is a GPU card. Assuming that the initial score of the performance evaluation score of the GPU card is 100 points, the operating status indicators corresponding to the GPU card may include: ECC, SBE, DBE, xid, PCI-Express, SM_active, and power, wherein the operating status indicators SBE and DBE may belong to the category of fatal errors, and the corresponding deduction values are minus 100 points respectively, the operating status indicator ECC may belong to the category of serious errors, and the corresponding deduction values are minus 10 points, the operating status indicator xid may belong to the category of prompt information, and the corresponding deduction value is minus 5 points, the operating status indicators PCI-Express, SM_active, and power may belong to the category of normal information, and the corresponding deduction values are minus 0 points respectively. Therefore, the performance evaluation score of the GPU card can be determined according to the operating status indicators of the GPU card and the deduction values corresponding to each operating status indicator.
[0127] S403: Determine a service processing module to be optimized based on a performance evaluation score of at least one service processing module in each sampling period.
[0128] In one possible implementation, the mean score and score variance corresponding to at least one business processing module can be determined based on the performance evaluation scores corresponding to at least one business processing module in multiple sampling periods; and the business processing module to be optimized can be determined based on the mean score and score variance corresponding to at least one business processing module.
[0129] Here, from at least one business processing module, business processing modules whose score mean is not higher than a first preset value and business processing modules whose score variance is not lower than a second preset value can be screened out; the screened out business processing modules are determined as business processing modules to be optimized.
[0130] Exemplarily, the time required for this round of business processing is 3 hours in total, and one sampling cycle time is 1 hour. A total of 3 sampling cycles are required to complete this round of business processing. Then, in this round of business processing, it is determined to collect the operating status indicators corresponding to each business processing module within the first hour, the second hour, and the third hour respectively. If the operating status indicators corresponding to each business processing module are ECC, SBE, DBE, and xid, assuming that the performance evaluation score of a business processing module in the first hour is 85 points, the performance evaluation score in the second hour is 75 points, and the performance evaluation score in the third hour is 85 points, then the mean score corresponding to the business processing module is approximately 81.7, and the variance of the score corresponding to the business processing module is approximately 22.2.
[0131] Since the score mean can reflect the processing capability of the business processing module in business processing, the score variance can reflect the stability of the business processing module in business processing.
[0132] Specifically, the specific method of determining the business processing module to be optimized may include at least one of the following: if the mean score corresponding to the business processing module is higher than the first preset value, and the variance of the score corresponding to the business processing module is lower than the business processing module of the second preset value, then the business processing module is determined to be a business processing module that does not need to be optimized; or, if the mean score corresponding to the business processing module is higher than the first preset value, and the variance of the score corresponding to the business processing module is not lower than the business processing module of the second preset value, then the business processing module is determined to be a business processing module that needs to be optimized; or, if the mean score corresponding to the business processing module is not higher than the first preset value, and the variance of the score corresponding to the business processing module is lower than the business processing module of the second preset value, then the business processing module is determined to be a business processing module that needs to be optimized; or, if the mean score corresponding to the business processing module is not higher than the first preset value, and the variance of the score corresponding to the business processing module is not lower than the business processing module of the second preset value, then the business processing module is determined to be a business processing module that needs to be optimized. Here, the specific values of the first preset value and the second preset value are not limited, and can be adjusted according to the actual application scenario.
[0133] In another possible implementation, the business processing module to be optimized may be determined based on the mean score corresponding to each business processing module. For example, when the mean score corresponding to the business processing module is higher than a first preset value, the business processing module is determined to be a business processing module that does not need to be optimized; when the mean score corresponding to the business processing module is not higher than the first preset value, the business processing module is determined to be a business processing module to be optimized.
[0134] In another possible implementation, the business processing module to be optimized may be determined based on the score variance corresponding to each business processing module. For example, when the score variance corresponding to the business processing module is lower than a second preset value, the business processing module is determined to be a business processing module that does not need to be optimized; when the score variance corresponding to the business processing module is not lower than the second preset value, the business processing module is determined to be a business processing module to be optimized.
[0135] S404: Determine an optimization method corresponding to the business processing module to be optimized based on an operation status indicator corresponding to at least one business processing module, wherein the optimization method includes hardware tuning or software tuning.
[0136] Specifically, the number of occurrences of the specified operating status indicator corresponding to the business processing module to be optimized in this round of business processing is counted; if the number of occurrences exceeds a preset number, the optimization method is determined to be hardware tuning, otherwise the optimization method is determined to be software tuning.
[0137] Exemplarily, the specified operating status indicators are SBE and DBE. For multiple sampling periods, when at least one DBE error or at least two SBE errors occur in the operating status indicators corresponding to the business processing module to be optimized, the optimization method corresponding to the business processing module to be optimized is determined to be hardware tuning; otherwise, the optimization method is determined to be software tuning.
[0138] S405: Optimize the service processing module to be optimized based on the optimization method.
[0139] Specifically, when the optimization method is hardware tuning, the business processing module to be optimized is replaced; when the optimization method is software tuning, fault location and repair are performed on the software program of the business processing module to be optimized.
[0140] Exemplarily, if the business processing module to be optimized is a GPU card, the specific operation of replacing the business processing module to be optimized during hardware tuning is: first turn off the power of the GPU device, then unplug the GPU card to be optimized, install the GPU card that has been detected and does not need to be optimized to the original position of the GPU card to be optimized, and turn on the power; or, the server reconfigures the business processing module group involved in business processing, removes the GPU card to be optimized from the business processing module group, and adds the idle GPU card in the GPU device or other GPU devices to the business processing module group, automatically completes hardware tuning, and improves optimization efficiency. When the optimization method is software tuning, obtain the dump (error) file of the crash (memory) corresponding to the GPU card to be optimized, search for keywords such as nvlink (a bus and its communication protocol developed by NVIDIA), oom (Out Of Memory), etc. in the dump file, and then locate the fault problem in the software program and fix the problem. If the above keywords are not searched, then check the user program software fault problem recorded in the crash memory in combination with the software program and fix the problem.
[0141] In actual applications, after determining the business processing module to be optimized, the person in charge of the business can be determined based on the business identifier of the specific business executed by the business processing module, and the device identifier, module identifier, optimization method, performance evaluation score, score average, score variance, operating status indicator and other information corresponding to the business processing module to be optimized can be sent to the person in charge to remind him to optimize the business processing module.
[0142] S406, performing the next round of business processing based on the optimized business processing module group.
[0143] In this embodiment, the operating status indicators of multiple sampling periods are collected to obtain the operating status of the business processing module in each time period in this round of business processing, and different operating indicators are assigned different deduction values according to multiple levels to obtain more accurate and comprehensive performance evaluation scores. The performance evaluation scores corresponding to multiple sampling periods are used to calculate the score mean and score variance corresponding to the business processing module, so as to more accurately locate the business processing module to be optimized.
[0144] During specific implementation, the server 102 can also send relevant information of the business processing modules to be optimized determined during the business processing process to the suppliers of the business processing modules. The relevant information includes: operating status indicators of the business processing modules, performance evaluation scores, located fault problems, types of business processing performed (such as neural network training, high-concurrency business), etc., to provide a reference for suppliers to optimize the same type of business processing modules.
[0145] In one embodiment of the present application, a method for optimizing computing power is also provided. In this round of business processing, multiple sampling cycles are included. For any operating status indicator of any business processing module obtained in any sampling cycle, if any operating status indicator corresponding to any business processing module is not obtained in the sampling cycle before any sampling cycle, the deduction weight of any operating status indicator is determined to be a first weight value, otherwise the deduction weight of any operating status indicator is determined to be a second weight value, such as Figure 5 As shown, the following steps are included:
[0146] S501, obtaining an operation status indicator corresponding to at least one business processing module in a business processing module group in the current round of business processing, wherein the business processing module group participates in at least two rounds of business processing.
[0147] S502, for each sampling period, based on the operating status indicator of at least one business processing module in each sampling period, the deduction value and deduction weight corresponding to each operating status indicator, determine the performance evaluation score of at least one business processing module in each sampling period, wherein multiple sampling periods are included in this round of business processing.
[0148] For example, if the time required for this round of business processing is 3 hours, and a sampling cycle time is 1 hour, a total of 3 sampling cycles are required to complete this round of business processing. Then, during this round of business processing, the operating status indicators corresponding to each business processing module are collected within the 1st hour, the 2nd hour, and the 3rd hour respectively. If the operating status indicators corresponding to the business processing module are ECC, SBE, DBE, and xid, and assuming that the deduction weight of each operating status indicator is 25%, the deduction weight of each operating status indicator can be adjusted according to the actual application scenario, and is not limited here.
[0149] According to the deduction weight of each operation status indicator, the deduction value for the first SBE error is 80 points, the deduction value for continuous SBE errors is 100 points, the deduction value for the first DBE error is 100 points, the deduction value for continuous DBE errors is 100 points, the deduction value for the first ECC error is 10 points, the deduction value for continuous ECC errors is 12.5 points, the deduction value for the first xid error is 5 points, and the deduction value for continuous xid errors is 6.25 points. If the results after collection are shown in Table 3, where 1 in the table represents an error in the operation status, and 0 in the table represents no error in the operation status, then the performance evaluation score of the business processing module after the first hour is 0 points, the performance evaluation score of the business processing module after the second hour is 0 points, and the performance evaluation score of the business processing module after the third hour is 0 points.
[0150] Table 3
[0151]
[0152] If the collected results are as shown in Table 4, where 1 represents an error in the running status and 0 represents no error in the running status, the performance evaluation score of the business processing module corresponding to the first hour is 85 points, the performance evaluation score of the business processing module corresponding to the second hour is 71.25 points, and the performance evaluation score of the business processing module corresponding to the third hour is 87.5 points.
[0153] Table 4
[0154]
[0155] S503: Determine a service processing module to be optimized based on a performance evaluation score of at least one service processing module in each sampling period.
[0156] Here, the specific step of determining the service processing module to be optimized based on the performance evaluation score of at least one service processing module is the same as step S403, and will not be repeated here.
[0157] S504: Determine an optimization method corresponding to the business processing module to be optimized based on an operation status indicator corresponding to at least one business processing module, wherein the optimization method includes hardware tuning or software tuning.
[0158] Here, the specific steps of determining the optimization method corresponding to the business processing module to be optimized based on the running status indicator corresponding to at least one business processing module are the same as step S404, which will not be repeated here.
[0159] S505: Optimize the service processing module to be optimized based on the optimization method.
[0160] S506, performing the next round of business processing based on the optimized business processing module group.
[0161] In this embodiment, the operating status indicators of multiple sampling periods are collected to obtain the operating status of the business processing module in each time period in this round of business processing, and based on the comparison of the operating status indicators of the current collection period with the previous collection period, it is determined whether the operating status indicator of the current collection period has an error for the first time or a continuous error, and then different operating indicators are assigned different deduction values and deduction weights according to multiple levels to obtain more accurate and comprehensive performance evaluation scores, and the performance evaluation scores corresponding to multiple sampling periods are used to calculate the score mean and score variance corresponding to the business processing module, so as to more accurately determine the business processing module to be optimized.
[0162] In this embodiment, the operation status indicators of multiple sampling periods are collected to optimize the computing power. There is no need to monitor the business processing module group and then check and repair the fault when it prompts a fault alarm. By collecting the operation status indicators, it is possible to monitor and determine the business processing modules to be optimized and optimize them during the actual operation of the business processing, and it is also possible to monitor and determine the business processing modules to be optimized and optimize them in advance before the business processing is put into use, so as to facilitate better operation after the business processing is put into use.
[0163] It should be noted that the resource optimized in the embodiment of the present application is the computing power of the business processing module, and the computing power of the business processing module can be optimized by software tuning or hardware tuning of the business processing module. Taking the training of neural networks based on GPU as an example, the performance of the GPU cards in the GPU devices participating in the training can be evaluated, and the GPU cards to be optimized can be determined based on the performance evaluation results, and the GPU cards to be optimized can be hardware tuned or software tuned to improve the computing power of the GPU cards in the GPU devices, that is, the computing power of the GPU cards is optimized. It is obvious to those skilled in the art that the same tuning method can be used for other resources besides computing power. These application scenarios should also be considered as part of this application.
[0164] like Figure 6 As shown, based on the same inventive concept as the above-mentioned method for computing power optimization, an embodiment of the present application also provides a computing power optimization device 60, which specifically includes an acquisition module 601, a determination module 602, an optimization module 603 and a business processing module 604.
[0165] An acquisition module 601 is used to acquire an operation status indicator corresponding to at least one business processing module in the business processing module group in the current round of business processing, wherein the business processing module group participates in at least two rounds of business processing;
[0166] A determination module 602 is used to determine a business processing module to be optimized and a corresponding optimization method based on an operation status indicator corresponding to at least one business processing module, wherein the optimization method includes hardware tuning or software tuning;
[0167] An optimization module 603, used for optimizing the service processing module to be optimized based on an optimization method;
[0168] The business processing module 604 is used to perform the next round of business processing based on the optimized business processing module group.
[0169] Optionally, this round of service processing includes at least one sampling period, and the determination module 602 is specifically configured to:
[0170] For each sampling period, based on the operating status indicator of at least one service processing module in each sampling period, determine a performance evaluation score of at least one service processing module in each sampling period;
[0171] Based on the performance evaluation score of at least one service processing module in each sampling period, a service processing module to be optimized is determined.
[0172] Optionally, the determination module 602 is specifically configured to:
[0173] Based on the operating status indicator of at least one business processing module in each sampling period and the deduction value corresponding to each operating status indicator, a performance evaluation score of at least one business processing module in each sampling period is determined.
[0174] Optionally, the computing power optimization device 60 is further used for:
[0175] For any operating status indicator of any business processing module obtained in any sampling period, if any operating status indicator corresponding to any business processing module is not obtained in a sampling period before any sampling period, the deduction weight of any operating status indicator is determined to be a first weight value, otherwise, the deduction weight of any operating status indicator is determined to be a second weight value;
[0176] The determination module 602 is specifically configured to:
[0177] Based on the operating status indicator of at least one business processing module in each sampling period, the deduction value and the deduction weight corresponding to each operating status indicator, a performance evaluation score of at least one business processing module in each sampling period is determined.
[0178] Optionally, the determination module 602 is specifically configured to:
[0179] Determine a score mean and score variance corresponding to at least one business processing module based on the performance evaluation scores corresponding to at least one business processing module in a plurality of sampling periods;
[0180] Based on the score mean and score variance corresponding to at least one business processing module, a business processing module to be optimized is determined.
[0181] Optionally, the determination module 602 is configured to:
[0182] Filter out, from at least one business processing module, a business processing module whose score mean is not higher than a first preset value and a business processing module whose score variance is not lower than a second preset value;
[0183] The screened business processing modules are determined as business processing modules to be optimized.
[0184] Optionally, the determination module 602 is specifically configured to:
[0185] Count the number of occurrences of the specified operating status indicator corresponding to the business processing module to be optimized in this round of business processing;
[0186] If the number of occurrences exceeds the preset number, the optimization method is determined to be hardware tuning, otherwise the optimization method is determined to be software tuning;
[0187] The optimization module 603 is specifically used for:
[0188] When the optimization method is hardware tuning, replace the business processing module to be optimized;
[0189] When the optimization method is software tuning, fault location and repair are performed on the software program of the service processing module to be optimized.
[0190] Optionally, the business process is training a neural network.
[0191] The computing power optimization device of the present application embodiment adopts the same inventive concept as the computing power optimization method described above, and can achieve the same beneficial effects, which will not be described in detail here. The internal structure of the computing power optimization device can refer to the internal structure of the computing power optimization device, which will not be described in detail here.
[0192] It should be noted that although the resource optimized in the embodiment of the present application is the computing power of the business processing module, it is obvious to those skilled in the art that other resources besides computing power can also be tuned using similar optimization devices. These application scenarios should also be considered as part of the present application.
[0193] Based on the same inventive concept as the above-mentioned computing power optimization method, the embodiment of the present application also provides an electronic device, which can be a desktop computer, a portable computer, a smart phone, a tablet computer, a personal digital assistant (PDA), a server, etc. Figure 7 As shown, the electronic device 70 may include a processor 701 and a memory 702 .
[0194] Processor 701 can be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor (DigitalSignal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, and can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor can be a microprocessor or any conventional processor, etc. The steps of the method disclosed in conjunction with the embodiments of the present application can be directly embodied as a hardware processor to be executed, or a combination of hardware and software modules in the processor can be executed.
[0195] The memory 702 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules. The memory may include at least one type of storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory, a random access memory (Random Access Memory, RAM), a static random access memory (Static Random Access Memory, SRAM), a programmable read-only memory (Programmable Read Only Memory, PROM), a read-only memory (Read Only Memory, ROM), an electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), a magnetic memory, a disk, an optical disk, etc. The memory is any other medium that can be used to carry or store a desired program code in the form of an instruction or data structure and can be accessed by a computer, but is not limited thereto. The memory 702 in the embodiment of the present application can also be a circuit or any other device that can realize a storage function, for storing program instructions and / or data.
[0196] A person of ordinary skill in the art can understand that: all or part of the steps of implementing the above method embodiments can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above method embodiments; the above computer storage medium can be any available medium or data storage device that can be accessed by a computer, including but not limited to: mobile storage devices, random access memory (RAM, Random Access Memory), magnetic storage (such as floppy disks, hard disks, magnetic tapes, magneto-optical disks (MO)), optical storage (such as CD, DVD, BD, HVD, etc.), and semiconductor storage (such as ROM, EPROM, EEPROM, non-volatile memory (NAND FLASH), solid-state drive (SSD)) and other media that can store program codes.
[0197] Alternatively, if the above-mentioned integrated unit of the present application is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods described in each embodiment of the present application. The aforementioned storage medium includes: a mobile storage device, a random access memory (RAM, Random Access Memory), a magnetic storage device (such as a floppy disk, a hard disk, a magnetic tape, a magneto-optical disk (MO), etc.), an optical storage device (such as CD, DVD, BD, HVD, etc.), and a semiconductor memory (such as ROM, EPROM, EEPROM, non-volatile memory (NAND FLASH), a solid-state drive (SSD)) and other various media that can store program codes.
[0198] According to one aspect of the present application, a computer program product or a computer program is provided, the computer program product or the computer program including computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the computing power optimization method provided in the above-mentioned various optional implementations.
[0199] The above embodiments are only used to introduce the technical solutions of the present application in detail, but the description of the above embodiments is only used to help understand the methods of the embodiments of the present application and should not be understood as limiting the embodiments of the present application. Any changes or substitutions that can be easily thought of by a person skilled in the art should be included in the protection scope of the embodiments of the present application.
Claims
1. A method for optimizing computing power, characterized in that: include: Obtaining at least one business processing module in the business processing module group, and an operating status indicator corresponding to each sampling period in at least one sampling period in the current round of business processing, wherein the business processing module group participates in at least two rounds of business processing; For any operating status indicator of any business processing module obtained in any sampling period, if any operating status indicator corresponding to any business processing module is not obtained in a sampling period before any sampling period, the deduction weight of any operating status indicator is determined to be a first weight value; otherwise, the deduction weight of any operating status indicator is determined to be a second weight value; Determine the performance evaluation score of the at least one business processing module in each sampling period based on the operating status indicator of the at least one business processing module in each sampling period and in combination with the determined deduction weight corresponding to each period; Determining a business processing module to be optimized based on a performance evaluation score of the at least one business processing module in each sampling period; Based on the running status indicator corresponding to the at least one business processing module, determining an optimization method corresponding to the business processing module to be optimized, wherein the optimization method includes hardware tuning or software tuning; Optimizing the business processing module to be optimized based on the optimization method; The next round of business processing is performed based on the optimized business processing module group.
2. The method according to claim 1, characterized in that Determining a performance evaluation score of the at least one service processing module in each sampling period based on an operating status indicator of the at least one service processing module in each sampling period specifically includes: Based on the operating status indicator of the at least one business processing module in each sampling period and the deduction value corresponding to each operating status indicator, a performance evaluation score of the at least one business processing module in each sampling period is determined.
3. The method according to claim 2, characterized in that The determining, based on the operating status indicator of the at least one business processing module in each sampling period and the deduction value corresponding to each operating status indicator, the performance evaluation score of the at least one business processing module in each sampling period specifically includes: Based on the operating status indicator of the at least one business processing module in each sampling period, the deduction value and the deduction weight corresponding to each operating status indicator, the performance evaluation score of the at least one business processing module in each sampling period is determined.
4. The method according to any one of claims 1 to 3, characterized in that: The determining the service processing module to be optimized based on the performance evaluation score of the at least one service processing module in each sampling period specifically includes: Determine a score mean and a score variance corresponding to the at least one business processing module based on the performance evaluation scores corresponding to the at least one business processing module in a plurality of sampling periods; Based on the score mean and score variance corresponding to the at least one business processing module, a business processing module to be optimized is determined.
5. The method according to claim 4, characterized in that The determining the business processing module to be optimized based on the score mean and score variance corresponding to the at least one business processing module includes: Filter out, from the at least one business processing module, business processing modules whose mean scores are not higher than a first preset value and business processing modules whose variance scores are not lower than a second preset value; The screened business processing modules are determined as business processing modules to be optimized.
6. The method according to any one of claims 1 to 3, characterized in that: The determining, based on the operating status indicator corresponding to the at least one business processing module, an optimization method corresponding to the business processing module to be optimized specifically includes: Counting the number of occurrences of the specified operating status indicator corresponding to the business processing module to be optimized in the current round of business processing; If the number of occurrences exceeds a preset number, the optimization method is determined to be hardware optimization, otherwise the optimization method is determined to be software optimization; The optimizing the service processing module to be optimized based on the optimization method specifically includes: When the optimization method is hardware optimization, replacing the service processing module to be optimized; When the optimization method is software tuning, fault location and repair are performed on the software program of the business processing module to be optimized.
7. A computing power optimization device, characterized in that: include: An acquisition module, used to acquire an operation status indicator corresponding to each sampling period of at least one business processing module in the business processing module group within at least one sampling period in the current round of business processing, wherein the business processing module group participates in at least two rounds of business processing; A determination module, for determining, for any operating status indicator of any business processing module obtained within any sampling period, if any operating status indicator corresponding to any business processing module is not obtained within a sampling period before any sampling period, the deduction weight of any operating status indicator is determined to be a first weight value, otherwise the deduction weight of any operating status indicator is determined to be a second weight value; based on the operating status indicator of at least one business processing module within each sampling period, combined with the determined deduction weight corresponding to each period, determine the performance evaluation score of at least one business processing module within each sampling period; based on the performance evaluation score of at least one business processing module within each sampling period, determine the business processing module to be optimized; based on the operating status indicator corresponding to the at least one business processing module, determine the optimization method corresponding to the business processing module to be optimized, wherein the optimization method includes hardware tuning or software tuning; An optimization module, used for optimizing the business processing module to be optimized based on the optimization method; The business processing module is used to perform the next round of business processing based on the optimized business processing module group.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.
9. A computer-readable storage medium having computer program instructions stored thereon, characterized in that: When the computer program instructions are executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Communication business quality optimization method, apparatus and device, and medium
CN109362084A
Controlling method for optimizing a processor and controlling system
US20160203006A1