Automatic CPU performance debugging method, device and equipment based on system framework
By using automated debugging methods within the system framework, and leveraging configuration and test parameter tables, combined with Linpack and Intel oneAPI Base Toolkit, the problem of time-consuming and laborious CPU performance testing has been solved, enabling rapid and automated acquisition and debugging of optimal performance.
Patent Information
- Application Number
- CN202411600758.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-08
- Publication Date
- 2025-02-18
AI Technical Summary
Existing CPU performance testing is time-consuming and influenced by the experience of testers, making it difficult to quickly obtain optimal performance, and the test results are not convincing.
Through program units within the system framework, and utilizing configuration and test parameter tables, the system automatically selects and invokes testing tools for CPU performance testing. Combined with Linpack and Intel oneAPI Base Toolkit, it achieves automated debugging.
It enables rapid and automated acquisition of optimal CPU performance, reduces manpower input, provides comprehensive performance testing covering different CPU models, and supports production line and after-sales optimization.
Smart Images

Figure CN119473751A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer processor technology, and in particular to a method, device and equipment for automatic debugging of CPU performance based on a system framework. Background Art
[0002] How to quickly respond to and process the large amount of data received involves the performance of the CPU (Central Processing Unit). At present, Linpack (Linear system package) is the most widely used benchmark test for the floating-point performance of high-performance computer systems in the world. The server is tested by using the Gaussian elimination method to solve a dense linear algebraic equation system of a variable N times to evaluate the floating-point computing performance of the high-performance computer. The results of the Linpack test are used to reflect that the test takes too long to complete once, and it takes a lot of time to test. The final result is not ideal, and repeated tuning tests are required, which is time-consuming and laborious. In addition, the test is greatly affected by the tuning experience of the tester. For those who are not very experienced in tuning, it is difficult to obtain an ideal CPU high computing power value.
[0003] Therefore, it is particularly important to know how to obtain the current Linpack performance of the server and how to obtain the optimal performance in a "fool-proof" automated manner without wasting manpower and time. Summary of the invention
[0004] The purpose of this application is to provide a method, device and equipment for automatic debugging of CPU performance based on a system framework, so as to solve the problems existing in the existing CPU performance testing, that is, it takes a lot of time to test, requires repeated tuning and testing, and is time-consuming and labor-intensive.
[0005] In a first aspect, an embodiment of the present application provides a method for automatic CPU performance debugging based on a system framework, the method being executed by a program unit of the system framework, the method comprising:
[0006] Selecting option values corresponding to different parameters from a first parameter table of configuration to obtain a set of configuration parameters, wherein the first parameter table includes multiple parameters affecting CPU performance and at least one option value corresponding to each parameter;
[0007] Select different parameters from a second parameter table of the configuration to obtain a set of test parameters, wherein the second parameter table includes a plurality of test parameters required to perform a CPU performance test;
[0008] Selecting at least one set of configuration parameters and at least one set of test parameters as input parameters, performing relevant configuration on the CPU according to the input sets of configuration parameters, and calling a test tool for testing, wherein the test tool uses the input sets of test parameters to test the current CPU performance;
[0009] The performance parameters obtained by the test tool after completing the test are obtained and output as output parameters.
[0010] The embodiment of the present application configures a first configuration parameter table corresponding to the configuration parameters and a second parameter table corresponding to the test parameters in advance. During the test, the relevant configuration of the CPU performance can be performed by selecting the configuration parameters from the corresponding tables. It supports the selection of configuration parameters in different combinations and the selection of test parameters in different combinations. These parameters are used as input parameters of the system framework, and the test tool is called through the program unit of the system framework for testing. The test tool returns the results after the test, thereby realizing a CPU performance testing solution based on the system framework and combined with the test tool.
[0011] The parameters in the first parameter table include basic input and output system BIOS option parameters that affect CPU performance;
[0012] The BIOS option parameters in the first parameter table are some BIOS option parameters selected from all BIOS option parameters according to the degree of influence of different BIOS option parameters on CPU performance;
[0013] The option value of each BIOS option parameter in the first parameter table is at least a portion of the option values selected from all option values of the BIOS option parameter according to the degree of influence of different option values on CPU performance.
[0014] In view of the large number of BIOS option parameters currently available, the embodiment of the present application selects some BIOS option parameters that have a certain impact on CPU performance. Based on other unconfigured BIOS option parameters, the default BIOS option parameter values can be used during the test process, thereby ensuring that different CPU performance can be obtained through BIOS option parameter configuration.
[0015] In some possible embodiments, the first parameter table and the second parameter table include first parameter tables and second parameter tables corresponding to different types of CPUs respectively;
[0016] According to the target model of the CPU to be tested for performance, a first parameter table and a second parameter table corresponding to the target model are determined.
[0017] The embodiment of the present application sets the parameters corresponding to different CPU models in the first parameter table and the second parameter table in advance, so that the relevant configuration can be refined according to the CPU model, avoiding the limitation that the configuration needs to be manually performed by dedicated personnel.
[0018] In some possible embodiments, calling a test tool to test, wherein the test tool uses each set of input test parameters to test the current CPU performance, including:
[0019] Call the linear system software package Linpack, use Linpack to solve the test of the univariate N-order dense linear algebraic equations according to the input test parameters, and use the Gaussian elimination method to evaluate the current CPU performance according to the number of floating-point operations per second.
[0020] The embodiment of the present application makes use of the program unit of the system framework. The system framework program can be used to operate input parameters and output parameters, and access the OS system to perform CPU-related performance configuration. However, the underlying logic of the executed test is implemented by calling Linpack, so that automated CPU performance testing can be achieved with the help of the linear system software package Linpack in the related technology.
[0021] In some possible embodiments, the method further includes:
[0022] Record the CPU performance corresponding to any set of configuration parameters and any set of test parameters as input parameters;
[0023] The target configuration parameters and target test parameters corresponding to the optimal CPU performance are analyzed and obtained, and the target configuration parameters and target test parameters are marked as the optimal parameter combination.
[0024] Since the optimal parameter combination is recorded, in subsequent corresponding scenarios, when the user needs to configure the CPU to the optimal CPU performance to support business needs, the configuration parameters and test parameters corresponding to the optimal CPU performance can be determined based on the recorded relevant information, and the corresponding configuration parameters can be directly used to configure the CPU.
[0025] In some possible embodiments, the method further includes:
[0026] Record the CPU performance corresponding to any set of configuration parameters and any set of test parameters as input parameters;
[0027] For the same model of CPU, according to the configuration parameters and test parameters corresponding to different CPU performance, the factors affecting the CPU performance change are analyzed, and the influence weights of each influencing factor on the CPU performance change and the corresponding CPU performance change trend curve are summarized.
[0028] The embodiment of the present application can form a curve to obtain the influence weight of each influencing factor on the CPU performance change and the corresponding CPU performance change trend, provide performance support for production lines, after-sales, etc., and optimize the production environment, which is more practical.
[0029] In some possible embodiments, calling a test tool to test, wherein the test tool uses each set of input test parameters to test the current CPU performance, including:
[0030] Calling a test tool for testing, wherein the test tool uses a message passing MPI interface to call the Intel oneAPI Base Toolkit according to each set of test parameters input, and uses each set of test parameters to modify the parameters of the highly parallel computing benchmark test HPL;
[0031] Based on the modified HPL parameters, the current CPU performance is tested.
[0032] In the process of calling the test tool using the program unit of the system framework, the test tool uses the relevant MPI interface to call the core tool and library Intel oneAPI Base Toolkit to modify the relevant parameters and then perform performance testing to implement testing based on the system framework.
[0033] In a second aspect, an embodiment of the present application further provides a CPU performance automatic debugging device based on a system framework, the device comprising:
[0034] A configuration parameter determination module, used to select option values corresponding to different parameters from a first parameter table of configuration to obtain a set of configuration parameters, wherein the first parameter table includes multiple parameters affecting CPU performance and at least one option value corresponding to each parameter;
[0035] A test parameter determination module, used to select different parameters from a configured second parameter table to obtain a set of test parameters, wherein the second parameter table includes a plurality of test parameters required to perform a CPU performance test;
[0036] A performance testing module, used to select at least one set of configuration parameters and at least one set of test parameters as input parameters, perform relevant configurations on the CPU according to the input sets of configuration parameters, and call a test tool for testing, wherein the test tool uses the input sets of test parameters to test the current CPU performance;
[0037] The test result output module is used to obtain the performance parameters obtained by the test tool after completing the test and output them as output parameters.
[0038] In a third aspect, an embodiment of the present application also provides a CPU performance automatic debugging device based on a system framework, comprising at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the CPU performance automatic debugging method based on the system framework provided in the first aspect above.
[0039] In a fourth aspect, an embodiment of the present application further provides a computer storage medium, wherein the computer storage medium stores a computer program, and the computer program is used to enable a computer to execute the automatic CPU performance debugging method based on the system framework provided in the first aspect above.
[0040] By utilizing the system framework-based CPU performance automated debugging method, device, and equipment provided in the embodiments of the present application, it is possible to automatically perform performance testing on CPUs of different models, conduct comprehensive coverage, and thereby obtain the optimal performance value, thereby providing technical support for production lines, after-sales, and the like; the automated debugging method of the present application can be combined with different configuration parameters to evaluate the impact of hardware configuration on CPU performance, obtain the optimal configuration, and provide technical support for customers' high-performance requirements.
[0041] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments of the present application will be briefly introduced below. Obviously, the drawings introduced below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0043] Figure 1 A flowchart of a method for automatic CPU performance debugging based on a system framework according to an embodiment of the present application;
[0044] Figure 2 A schematic diagram of the CPU performance automation debugging phase based on the system framework according to an embodiment of the present application;
[0045] Figure 3 A detailed flow chart of a method for automatic CPU performance debugging based on a system framework according to an embodiment of the present application;
[0046] Figure 4A structural diagram of a CPU performance automatic debugging device based on a system framework according to an embodiment of the present application;
[0047] Figure 5 This is a structural diagram of a CPU performance automation debugging device based on a system framework according to an embodiment of the present application. DETAILED DESCRIPTION
[0048] 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 as 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. The method can be executed in the order of the method shown in the embodiment or drawings or in parallel during the actual processing process or when the control device is executed.
[0049] In order to facilitate understanding of the technical solutions of the embodiments of the present application, the relevant technical terms involved in the present application are explained below.
[0050] 1) Linpack (Linear system package) is the most widely used benchmark for testing the floating-point performance of high-performance computer systems. The floating-point computing performance of high-performance computers is evaluated by testing the Gaussian elimination method to solve a dense linear algebraic equation system of one variable N times. The results of Linpack are expressed in flops.
[0051] 2) HPL (High Performance Linpack, a highly parallel computing benchmark), can adjust the problem size (matrix size Ns), the number of CPUs used (P, Q), and various optimization methods to execute the test program without modifying any test program to obtain the best performance. Gaussian elimination is used to solve the linear equations. When the problem size is N, the number of floating-point operations is (2 / 3*N^3-2*N^2). Therefore, as long as the problem size N is given, the system calculation time T is measured, the peak value = calculation amount (2 / 3*N^3-2*N^2) / computation time T, and the test results are given in floating-point operations per second (Flops).
[0052] 3) MPI (Message passing interface) is a cross-language communication protocol and a standard API for developing parallel applications in the field of high-performance computing. The high-performance use of supercomputers is to enable jobs to have multi-node collaboration through programming, and the collaboration between multiple nodes is achieved through MPI. Parallelization is achieved by calling the method implemented by the MPI parallel library. You only need to install the MPI library, and then you can use the original compiler to compile and run. High performance, scalability and portability. There are multiple implementation versions, such as MPICH, OpenMPI and CHIMP.
[0053] 4) CPU (Central Processing Unit) is a large-scale integrated circuit, which is the core of a computer and the control unit. Its main function is to interpret computer instructions and process data in computer software. The CPU mainly includes ALU (Arithmetic Logic Unit) and cache memory Cache and the data, control and status bus that realize the connection between them. It, internal memory Memory and input / output I / O devices are collectively called the three core components of electronic computers.
[0054] 5) oneAPI (Intel oneAPI Base Toolkit) is a software development kit for developers that aims to simplify application development across different hardware architectures. It is suitable for developers who want to use Intel hardware platforms for high-performance computing and parallel processing application development. By providing a unified programming model and optimized libraries, it aims to simplify the software development process across different hardware architectures and improve application performance.
[0055] 6) RAK (RAS (Remote Access Service) Automation ToolKit) is a tool set for improving system reliability and reducing downtime.
[0056] Linpack testing requires a lot of experience from the tester in terms of performance tuning. It also has a great impact on the server's physical environment and other configurations such as memory. As far as testing alone is concerned, due to the varying levels of testers, server types, actual configurations, and application scenarios, the performance results obtained may not necessarily be the best results, and a single result is not convincing and has little significance for evaluating the quality of the server.
[0057] Therefore, the current difficulty and pain point is that the tuning method is greatly affected by the tuning experience of the tester, and a round of testing is time-consuming and laborious. After the test is completed, the inexperienced personnel only record the high or low results without considering why they are high or low, where the performance ceiling is, and whether it can be higher. In addition, if they want to achieve high performance, they will spend a lot of time and energy on tuning.
[0058] At present, the tuning means are mainly divided into two parts: BIOS (Basic Input Output System) options and OS (Operating System) test parameters. The impact of BIOS options on the results Through a large number of experiments, the specific settings of each option can be determined. However, the BIOS option combinations for different CPU models are different; in addition, some test parameters under the OS system will be affected by the model and configuration to a certain extent, and only an interval can be obtained. The parameter value setting within this interval will have a better impact on the results. How to use tools, combined with actual conditions, to obtain and cover the parameter interval of the current test, and conduct a "fool-style" fully automated tuning test is a technical problem that needs to be solved by the CPU performance automation debugging method, device and equipment based on the system framework provided in the embodiments of the present application.
[0059] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written description, claims, and drawings.
[0060] The present application embodiment provides a CPU performance automatic debugging method based on the system framework, such as Figure 1 As shown, the method is executed by a program unit of the system framework, and the method includes:
[0061] Step 101, selecting option values corresponding to different parameters from a first parameter table of configuration to obtain a set of configuration parameters, wherein the first parameter table includes multiple parameters affecting CPU performance and at least one option value corresponding to each parameter;
[0062] There are many configuration parameters for CPU performance, some of which have fixed values, and some of which are variable within a certain range. For variable configuration parameters, some of which have little effect on CPU performance when they are changed within the allowed range, and some of which have a certain effect on CPU performance when they are changed within the allowed range. Different configuration parameters have different degrees of effect on CPU performance when they are changed within the allowed range. Based on the degree of effect of the above configuration parameters on CPU performance, the embodiment of the present application pre-configures a first parameter table, which includes multiple parameters that affect CPU performance and at least one corresponding option value, that is, each parameter in the first parameter table has at least one option value.
[0063] Step 102, selecting option values corresponding to different parameters from a configured second parameter table to obtain a set of test parameters, wherein the second parameter table includes multiple parameters for testing CPU performance and at least one option value corresponding to each parameter;
[0064] There are many test parameters for the OS system, some of which have fixed values, and some of which are variable within a certain range. For test parameters that can be configured variably, some of which have little effect on CPU performance when they are changed within the allowed range, and some of which have a certain effect on CPU performance when they are changed within the allowed range. Different test parameters have different degrees of effect on CPU performance when they are changed within the allowed range. The embodiment of the present application pre-configures a second parameter table based on the degree of effect of the above-mentioned test parameters on CPU performance. The second parameter table includes multiple parameters for testing CPU performance and at least one corresponding option value, that is, each parameter in the second parameter table has at least one option value.
[0065] Step 103, selecting at least one set of configuration parameters and at least one set of test parameters as input parameters, performing relevant configuration on the CPU according to the input sets of configuration parameters, and calling a test tool for testing, wherein the test tool uses the input sets of test parameters to test the current CPU performance;
[0066] As mentioned above, different groups of configuration parameters can be obtained by selecting different option values for each parameter in the first parameter table, and different groups of test parameters can be obtained by selecting different option values for each parameter in the second parameter table. The configuration parameter groups and the test parameter groups can also be arranged and combined differently, so that when any group of configuration parameters and any group of test parameters corresponding to the arrangement and combination are used as input parameters, the CPU performance can be obtained by using the test parameters after configuring the CPU based on the group of configuration parameters once.
[0067] In this embodiment, multiple groups of configuration parameters and multiple groups of test parameters can be input as input parameters in batches. When testing, the CPU can be configured based on any group of configuration parameters, and then different groups of test parameters can be used for testing to achieve test optimization.
[0068] Step 104: Acquire the performance parameters obtained by the test tool after completing the test and output them as output parameters.
[0069] By utilizing the system framework-based CPU performance automated debugging method, device, and equipment provided in the embodiments of the present application, it is possible to automatically perform performance testing on CPUs of different models, conduct comprehensive coverage, and thereby obtain the optimal performance value, thereby providing technical support for production lines, after-sales, and the like; the automated debugging method of the present application can be combined with different configuration parameters to evaluate the impact of hardware configuration on CPU performance, obtain the optimal configuration, and provide technical support for customers' high-performance requirements.
[0070] In some possible embodiments, the first parameter table and the second parameter table include first parameter tables and second parameter tables corresponding to different CPU models, respectively; wherein, according to the target model of the CPU to be tested for performance, the first parameter table and the second parameter table corresponding to the target model are determined. The embodiment of the present application can obtain CPU performance test results corresponding to different groups of configuration parameters and different groups of test parameters for different CPU models.
[0071] The above method of the embodiment of the present application is executed by a program unit of a system framework, which encapsulates some functional modules and can implement functions such as accessing the OS system, configuring the CPU, and calling test tools. Therefore, the program unit of the system framework can be used to input relevant parameters for testing, and the corresponding test results can be output after the test. In some possible embodiments, the program unit of the system framework is a remote access service automation toolkit RAS.
[0072] In some possible embodiments, the parameters in the first parameter table include basic input and output system BIOS option parameters that affect CPU performance;
[0073] The BIOS option parameters in the first parameter table are some BIOS option parameters selected from all BIOS option parameters according to the degree of influence of different BIOS option parameters on CPU performance;
[0074] The option value of each BIOS option parameter in the first parameter table is at least a portion of the option values selected from all option values of the BIOS option parameter according to the degree of influence of different option values on CPU performance.
[0075] There are many BIOS option parameters. In the first parameter table of the embodiment of the present application, only some BIOS option parameters that have a certain impact on CPU performance are configured. Based on other unconfigured BIOS option parameters, the default BIOS option parameter values can be used during the test process. There are many test parameters. In the second parameter table of the embodiment of the present application, the test parameters can also be some test parameters of all test parameters, which are the better parameters for obtaining actual CPU performance.
[0076] In some possible embodiments, calling a test tool to test, wherein the test tool uses each set of input test parameters to test the current CPU performance, including:
[0077] Call the linear system software package Linpack, use Linpack to solve the test of the univariate N-order dense linear algebraic equations according to the input test parameters, and use the Gaussian elimination method to evaluate the current CPU performance according to the number of floating-point operations per second.
[0078] The embodiment of the present application makes use of the system framework program, which can be used to operate input parameters and output parameters, and access the OS system to perform CPU-related performance configuration. However, the underlying logic of the executed test is implemented by calling Linpack. The process of Linpack testing can be found in the relevant technology and will not be repeated here.
[0079] The CPU performance automatic debugging method based on the system framework provided in the embodiment of the present application is as follows: Figure 2 As shown, it is mainly divided into four stages, namely parameter entry stage, batch test execution stage, test result comparison stage and test result output stage.
[0080] 1) The parameter entry stage is mainly divided into the entry of BIOS option parameters and test parameters. The entered BIOS option parameters are part of the BIOS option parameters selected from the first parameter table;
[0081] The first parameter table in the embodiment of the present application may be, but is not limited to, a parameter table as shown in Table 1.
[0082] Table 1
[0083]
[0084]
[0085] The CPU is configured through the entered BIOS option parameters. After completing the BIOS option parameter configuration once, batches of test parameters can be selected for entry to evaluate the test results. According to the test results, the option values of the BIOS option parameters are arranged and combined again, and the CPU is configured again before testing.
[0086] When the test parameters are entered again in the embodiment of the present application, the entered test parameters are some test parameters selected from the second parameter table; the parameters in the second parameter table are arranged and combined as input, and the MPI interface is used to call the InteloneAPI Base Toolkit to modify the HPL related parameters to perform performance testing and obtain test results.
[0087] The second parameter table in the embodiment of the present application may be, but is not limited to, the parameter table shown in Table 2.
[0088] Table 2
[0089] OS Test Parameters device out specifies the format of the output result file Ns specifies the size of the solution matrix NBs specifies the size of the matrix blocks PMAP process mapping specifies the arrangement of the processor array Ps&Qs defines the number of logical CPUs
[0090] 2) Batch execution test
[0091] In some possible embodiments, the method of the embodiment of the present application further includes recording the CPU performance corresponding to any set of configuration parameters and any set of test parameters as input parameters;
[0092] After completing the entry of the above parameters, call the Linpack tool provided by Intel to perform CPU performance tests on several machines of different models and configurations at the same time in accordance with the above embodiment of the present application, thereby greatly improving the test and tuning efficiency.
[0093] In some possible embodiments, a test tool is called for testing, and the test tool uses a message passing MPI interface to call Intel oneAPI Base Toolkit according to each set of test parameters input, and uses each set of test parameters to modify the parameters of the highly parallel computing benchmark test HPL;
[0094] Based on the modified HPL parameters, the current CPU performance is tested.
[0095] 3) Test result comparison stage
[0096] In some possible embodiments, the method of the embodiment of the present application further includes: recording the CPU performance corresponding to any set of configuration parameters and any set of test parameters as input parameters. After the test is completed, the embodiment of the present application records the CPU performance corresponding to any set of configuration parameters and any set of test parameters as input parameters, and then compares the recorded test results.
[0097] 4) Test result output stage
[0098] After the test is completed, the embodiment of the present application records the CPU performance corresponding to any set of configuration parameters and any set of test parameters as input parameters, and then compares the recorded test results. The output test results include CPU model, CPU performance, matching configuration parameters and test parameter combinations.
[0099] The embodiment of the present application records each CPU performance value of different CPU models and different configurations (configuration parameters and test parameter configurations), and calculates and analyzes all parameter models one by one to fully present the optimal performance results of the CPU.
[0100] In some possible embodiments, the target configuration parameters and target test parameters corresponding to the optimal CPU performance are analyzed and marked as the optimal parameter combination, so that the optimized configuration parameters can be reversely evaluated to provide support for property rights and after-sales. Since the optimal parameter combination is recorded, in subsequent corresponding scenarios, when the user needs to configure the CPU to the optimal CPU performance to support business needs, the configuration parameters and test parameters corresponding to the optimal CPU performance can be determined based on the recorded relevant information, and the corresponding configuration parameters can be directly used to configure the CPU.
[0101] In some possible embodiments, for the same model of CPU, according to the configuration parameters and test parameters corresponding to different CPU performances, the influencing factors affecting the CPU performance change are analyzed, and the weight of each influencing factor on the CPU performance change and the corresponding curve of the CPU performance change trend are summarized. Specifically, the CPU performance can be arranged from bad to good, and the trend of each CPU change can be recorded, and then the change parameter corresponding to the CPU changing from bad to good can be analyzed as the influencing factor, and the influencing factor can be determined according to the change size of the change parameter, so as to obtain the weight of each influencing factor on the CPU performance change and the corresponding curve of the CPU performance change trend.
[0102] The embodiment of the present application can form a parameter configuration database corresponding to the optimal performance of different CPU models. During the sales delivery stage, the parameter configuration database formed by the CPU performance automatic debugging method based on the system framework of the embodiment of the present application can be imported to provide performance support for production lines, after-sales, etc., and to optimize the production environment, which is more practical.
[0103] The embodiment of the present application is aimed at CPU performance. Based on the RAK (RAS Automation ToolKit, a tool set for improving system reliability and reducing downtime) architecture, it comprehensively covers relevant tuning parameters, evaluates each tuning parameter, takes it as input in turn, performs tuning tests, and outputs the current performance value; takes each performance value as input, reversely evaluates the tuning parameters, and inputs different combinations of the tuning parameters for testing, and finally achieves the goal of optimal performance after multiple trainings. This enables fully automated evaluation of the computing power of a server processor and reversely outputs parameter combinations of high-performance results of different CPU models to provide to operators.
[0104] like Figure 3 The following is a detailed flow chart of the CPU performance automation debugging method based on the system framework provided by this application, which mainly includes:
[0105] Step 301, select some BIOS option parameters and option values from the parameter table shown in Table 1 as input, and perform relevant configuration on the CPU according to the input BIOS option parameters and option values.
[0106] Step 302, select some test parameters from the parameter table shown in Table 2 as parameters, use the MPI interface to call Intel oneAPI Base Toolkit, and modify the HPL related parameters.
[0107] Step 303: Test the current CPU performance based on the modified HPL parameters.
[0108] Step 304, determine whether the condition for ending the test parameter input is met, if so, execute step 305, otherwise return to step 302 to reselect the test parameters;
[0109] The conditions for ending the test parameter input include whether the CPU performance test result meets the business requirements or the number of test parameter selections reaches a first set number of times.
[0110] Step 305, determining whether the condition for ending the BIOS option parameter selection is met, if so, executing step 306, otherwise returning to step 301 to reselect the BIOS option parameter;
[0111] The condition for ending the configuration parameter selection includes whether the CPU performance test result meets the business requirement or the number of selections of the BIOS option parameter reaches a second set number of times.
[0112] Step 306, recording each set of BIOS parameters and test parameters input each time the test is executed, and the CPU performance of the corresponding test.
[0113] Step 307, analyzing and obtaining target BIOS option parameters and target test parameters corresponding to the optimal CPU performance, and marking the target BIOS parameters and target test parameters as the optimal parameter combination.
[0114] Step 308, for the same model of CPU, according to the configuration parameters and test parameters corresponding to different CPU performances, analyze the factors affecting the CPU performance change, and summarize the influence weights of each influencing factor on the CPU performance change and the corresponding curve of the CPU performance change trend.
[0115] The embodiment of the present application can support one-click "fool-proof" execution of automated debugging tools, automatically perform performance tests on different models of CPUs, on the one hand, comprehensively cover and obtain the optimal performance value; on the other hand, it can output the optimal parameter combination for operators and evaluate the impact of different configurations on the results, providing technical support for production lines, after-sales, etc. In addition, the automated tool can also be used with different configurations to evaluate the impact of hardware configuration on CPU performance, obtain the optimal configuration, and provide technical support for customers' high-performance needs.
[0116] Based on the same inventive concept, the embodiment of the present application provides a CPU performance automatic debugging device based on a system framework, such as Figure 4 As shown, the device comprises:
[0117] A configuration parameter determination module 401 is used to select option values corresponding to different parameters from a first parameter table of configuration to obtain a set of configuration parameters, wherein the first parameter table includes multiple parameters affecting CPU performance and at least one option value corresponding to each parameter;
[0118] A test parameter determination module 402 is used to select different parameters from a configured second parameter table to obtain a set of test parameters, wherein the second parameter table includes a plurality of test parameters required to perform a CPU performance test;
[0119] The performance test module 403 is used to select at least one set of configuration parameters and at least one set of test parameters as input parameters, perform relevant configurations on the CPU according to the input sets of configuration parameters, and call a test tool for testing, wherein the test tool uses the input sets of test parameters to test the current CPU performance;
[0120] The test result output module 404 is used to obtain the performance parameters obtained by the test tool after completing the test and output them as output parameters.
[0121] In some possible embodiments, the parameters in the first parameter table include basic input and output system BIOS option parameters that affect CPU performance;
[0122] The BIOS option parameters in the first parameter table are some BIOS option parameters selected from all BIOS option parameters according to the degree of influence of different BIOS option parameters on CPU performance;
[0123] The option value of each BIOS option parameter in the first parameter table is at least a portion of the option values selected from all option values of the BIOS option parameter according to the degree of influence of different option values on CPU performance.
[0124] In some possible embodiments, the first parameter table and the second parameter table include first parameter tables and second parameter tables corresponding to different types of CPUs respectively;
[0125] According to the target model of the CPU to be tested for performance, a first parameter table and a second parameter table corresponding to the target model are determined.
[0126] In some possible embodiments, the performance testing module calls a testing tool to test, and the testing tool uses each set of input test parameters to test the current CPU performance, including:
[0127] Call the linear system software package Linpack, use Linpack to solve the test of the univariate N-order dense linear algebraic equations according to the input test parameters, and use the Gaussian elimination method to evaluate the current CPU performance according to the number of floating-point operations per second.
[0128] In some possible embodiments, the device further includes:
[0129] The optimal performance feedback module is used to record the CPU performance corresponding to any set of configuration parameters and any set of test parameters as input parameters; analyze and obtain the target configuration parameters and target test parameters corresponding to the optimal CPU performance, and mark the target configuration parameters and target test parameters as the optimal parameter combination.
[0130] In some possible embodiments, the device further includes:
[0131] The result analysis module is used to record the corresponding CPU performance when any set of configuration parameters and any set of test parameters are used as input parameters; for the same model of CPU, based on the configuration parameters and test parameters corresponding to different CPU performances, the influencing factors affecting the CPU performance change are analyzed, and the influence weights of each influencing factor on the CPU performance change and the corresponding CPU performance change trend curve are summarized.
[0132] In some possible embodiments, the performance testing module calls a testing tool to test, and the testing tool uses each set of input test parameters to test the current CPU performance, including:
[0133] Calling a test tool for testing, wherein the test tool uses a message passing MPI interface to call the Intel oneAPI Base Toolkit according to each set of test parameters input, and uses each set of test parameters to modify the parameters of the highly parallel computing benchmark test HPL;
[0134] Based on the modified HPL parameters, the current CPU performance is tested.
[0135] After introducing the method and apparatus for automatic CPU performance debugging based on a system framework according to an exemplary embodiment of the present application, next, an automatic CPU performance debugging device based on a system framework according to another exemplary embodiment of the present application is introduced.
[0136] In some possible implementations, the CPU performance automatic debugging device based on the system framework according to the present application may include at least one processor and at least one memory. The memory stores program code, and when the program code is executed by the processor, the processor executes the steps of the CPU performance automatic debugging method based on the system framework according to various exemplary implementations of the present application described above in this specification.
[0137] Refer to the following Figure 5 The CPU performance automatic debugging device 150 based on the system framework according to this embodiment of the present application is described. Figure 5 The system framework-based CPU performance automatic debugging device 130 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0138] like Figure 5 As shown, the CPU performance automatic debugging device 150 based on the system framework is presented in the form of a general electronic device. The components of the CPU performance automatic debugging device 150 based on the system framework may include but are not limited to: at least one processor 151, at least one memory 152, and a bus 153 connecting different system components (including the memory 152 and the processor 151).
[0139] Bus 153 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a processor, or a local bus using any of a variety of bus architectures.
[0140] The memory 152 may include a readable medium in the form of a volatile memory, such as a random access memory (RAM) 1521 and / or a cache memory 1522 , and may further include a read-only memory (ROM) 1523 .
[0141] The memory 152 may also include a program / utility 1525 having a set (at least one) of program modules 1524, such program modules 1524 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0142] The CPU performance automation debugging device 150 based on the system framework can also communicate with one or more external devices 154 (such as keyboards, pointing devices, etc.), and can also communicate with one or more devices that enable users to interact with the CPU performance automation debugging device 150 based on the system framework, and / or communicate with any device (such as a router, a modem, etc.) that enables the CPU performance automation debugging device 150 based on the system framework to communicate with one or more other electronic devices. Such communication can be performed through an input / output (I / O) interface 155. In addition, the CPU performance automation debugging device 150 based on the system framework can also communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN) and / or a public network, such as the Internet) through a network adapter 156. As shown in the figure, the network adapter 156 communicates with other modules of the CPU performance automation debugging device 150 based on the system framework through a bus 153. It should be understood that, although not shown in the figure, other hardware and / or software modules can be used in conjunction with the system framework-based CPU performance automation debugging device 150, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.
[0143] In some possible implementations, various aspects of a method for automatically debugging CPU performance based on a system framework provided by the present application may also be implemented in the form of a program product, which includes program code. When the program product runs on a computer device, the program code is used to enable the computer device to execute the steps of a method for automatically debugging CPU performance based on a system framework according to various exemplary implementations of the present application described above in this specification.
[0144] The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0145] The program product for monitoring of the embodiment of the present application can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on an electronic device. However, the program product of the present application is not limited to this. In this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by an instruction execution system, an apparatus or a device or used in combination with it.
[0146] The readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, wherein the readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The readable signal medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0147] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.
[0148] The program code for performing the operations of the present application can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and also conventional procedural programming languages such as "C" language or similar programming languages. The program code can be executed entirely on the user electronic device, partially on the user device, as an independent software package, partially on the user electronic device and partially on the remote electronic device, or entirely on the remote electronic device or server. In the case of a remote electronic device, the remote electronic device can be connected to the user electronic device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external electronic device (for example, using an Internet service provider to connect through the Internet).
[0149] It should be noted that, although several units or subunits of the device are mentioned in the above detailed description, this division is merely exemplary and not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more units described above can be embodied in one unit. Conversely, the features and functions of one unit described above can be further divided into multiple units to be embodied.
[0150] In addition, although the operations of the method of the present application are described in a specific order in the drawings, this does not require or imply that the operations must be performed in this specific order, or that all the operations shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.
[0151] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.
[0152] The present application is described with reference to the flowcharts and block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and block diagram, as well as the combination of the processes and boxes in the flowchart and block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and block diagram. Figure 1 Process or multiple processes and boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0153] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 Process or multiple processes and boxes Figure 1 A function specified in one or more boxes.
[0154] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 Process or multiple processes and boxes Figure 1 The steps for the functions specified in one or more boxes.
[0155] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.
[0156] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A CPU performance automatic debugging method based on a system framework, characterized in that: The method is executed by a program unit of the system framework, and the method includes: Selecting option values corresponding to different parameters from a first parameter table of configuration to obtain a set of configuration parameters, wherein the first parameter table includes multiple parameters affecting CPU performance and at least one option value corresponding to each parameter; Select different parameters from a second parameter table of the configuration to obtain a set of test parameters, wherein the second parameter table includes a plurality of test parameters required to perform a CPU performance test; Selecting at least one set of configuration parameters and at least one set of test parameters as input parameters, performing relevant configuration on the CPU according to the input sets of configuration parameters, and calling a test tool for testing, wherein the test tool uses the input sets of test parameters to test the current CPU performance; The performance parameters obtained by the test tool after completing the test are obtained and output as output parameters.
2. The method according to claim 1, characterized in that: The parameters in the first parameter table include basic input and output system BIOS option parameters that affect CPU performance; The BIOS option parameters in the first parameter table are some BIOS option parameters selected from all BIOS option parameters according to the degree of influence of different BIOS option parameters on CPU performance; The option value of each BIOS option parameter in the first parameter table is at least a portion of the option values selected from all option values of the BIOS option parameter according to the degree of influence of different option values on CPU performance.
3. The method according to claim 1 or 2, characterized in that: The first parameter table and the second parameter table include first parameter tables and second parameter tables corresponding to different types of CPUs respectively; According to the target model of the CPU to be tested for performance, a first parameter table and a second parameter table corresponding to the target model are determined.
4. The method according to claim 1, characterized in that: The test tool is called to test, and the test tool uses each set of input test parameters to test the current CPU performance, including: Call the linear system software package Linpack, use Linpack to solve the test of the N-order dense linear algebraic equations according to the input test parameters, and use the Gaussian elimination method to evaluate the current CPU performance according to the number of floating-point operations per second.
5. The method according to claim 1, characterized in that Also includes: Record the corresponding CPU performance when any set of configuration parameters and any set of test parameters are used as input parameters; The target configuration parameters and target test parameters corresponding to the optimal CPU performance are analyzed and obtained, and the target configuration parameters and target test parameters are marked as the optimal parameter combination.
6. The method according to claim 1, characterized in that Also includes: Record the CPU performance corresponding to any set of configuration parameters and any set of test parameters as input parameters; For the same model of CPU, according to the configuration parameters and test parameters corresponding to different CPU performance, the factors affecting the CPU performance change are analyzed, and the weight of each influencing factor on the CPU performance change and the corresponding curve of the CPU performance change trend are summarized.
7. The method according to claim 1, characterized in that The test tool is called to test the current CPU performance using each set of input test parameters, including: Calling a test tool for testing, wherein the test tool uses a message passing MPI interface to call the Intel oneAPI Base Toolkit according to each set of test parameters input, and uses each set of test parameters to modify the parameters of the highly parallel computing benchmark test HPL; Based on the modified HPL parameters, the current CPU performance is tested.
8. A CPU performance automatic debugging device based on a system framework, characterized in that: The device comprises: A configuration parameter determination module, used to select option values corresponding to different parameters from a first parameter table of configuration to obtain a set of configuration parameters, wherein the first parameter table includes multiple parameters affecting CPU performance and at least one option value corresponding to each parameter; A test parameter determination module, used to select different parameters from a configured second parameter table to obtain a set of test parameters, wherein the second parameter table includes a plurality of test parameters required to perform a CPU performance test; A performance testing module, used to select at least one set of configuration parameters and at least one set of test parameters as input parameters, perform relevant configurations on the CPU according to the input sets of configuration parameters, and call a test tool for testing, wherein the test tool uses the input sets of test parameters to test the current CPU performance; The test result output module is used to obtain the performance parameters obtained by the test tool after completing the test and output them as output parameters.
9. A CPU performance automatic debugging device based on a system framework, characterized in that: It comprises at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method as described in any one of claims 1-7.
10. A computer storage medium, characterized in that: The computer storage medium stores a computer program, and the computer program is used to enable a computer to execute the method according to any one of claims 1 to 7.