Cluster floating point performance test method under RISC-V architecture

By providing an automated floating-point performance testing method for RISC-V clusters, the complexity of application evaluation and optimization of RISC-V clusters in the field of high-performance computing in the prior art is solved, and a more efficient and convenient testing process is achieved, helping to discover performance bottlenecks and provide optimization references.

CN119781832AActive Publication Date: 2025-04-08SHANDONG UNIV

Patent Information

Application Number
CN202411582977.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-07
Publication Date
2025-04-08
Estimated Expiration
2044-11-07

AI Technical Summary

Technical Problem

The prior art is difficult to effectively evaluate and optimize the application of RISC-V clusters in the field of high-performance computing, especially in floating-point performance testing. Traditional methods are complex and inconvenient to operation, and it is difficult to find performance bottlenecks.

Method used

It provides a cluster floating point performance testing method under the RISC-V architecture, including configuration modules, test modules, log modules and data analysis modules. By automating and simplifying the test process, improving testing efficiency and accuracy, providing menu configuration and parameter verification, reducing human configuration work, and providing log monitoring and data analysis.

Benefits of technology

It significantly improves the convenience and intuitiveness of user operations, reduces the complexity of testing, and can facilitate the discovery of performance bottlenecks in RISC-V clusters, providing important reference data for subsequent optimization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119781832A_ABST
    Figure CN119781832A_ABST
Patent Text Reader

Abstract

The invention relates to a cluster floating point performance test method under an RISC-V architecture, belongs to the field of high-performance computing performance testing, and the method conforms to a real use scene, so that an HPL test can support the RISC-V architecture, the application range of the HPL is expanded, and the blank of the cluster performance test method under the RISC-V architecture is filled. A node parameter export device is provided, so that hardware parameters of nodes can be rapidly exported in a lightweight manner; and the test module can conveniently and quickly obtain the parameter information of the node through the node parameter export device and fewer http requests. The test module not only supports automatic parameter setting, but also supports test personnel to individually adjust test parameters through a visual interface according to experience, so that the test convenience and accuracy are remarkably improved. The monitoring module in the invention can observe the states and resource occupation conditions of all the tested nodes in real time, and can observe the bottleneck of performance more visually.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a cluster floating-point performance testing method under a RISC-V architecture, which aims to evaluate and optimize the application of a RISC-V cluster in the field of high-performance computing, and belongs to the field of high-performance computing performance testing. Background Art

[0002] RISC-V is a new generation of open source instruction set architecture (ISA) that meets the requirements of autonomous control. The RISC-V instruction set adopts a modular design concept. It has a minimum instruction set that can fully implement a software stack, and then implements instructions for other extended functions in a modular way, such as floating-point multiplication and division instructions, vector instructions, etc. This allows users to flexibly choose different module combinations to adapt to different application scenarios. Without the historical burden of backward compatibility, the RISC-V instruction set and basic architecture design are quite simple. The RISC-V instruction set is licensed under the BSD open source protocol, and there is no licensing fee for using RISC-V for teaching, academic research, and commercialization. The rapid development of AI has created a huge demand for computing power, and RISC-V has also entered the field of high-performance computing. Using RISC-V architecture servers to build clusters can achieve large-scale numerical calculations, simulations, data analysis and other tasks. For example, RISC-V servers can be used to build a deep learning model training platform to support the rapid training of large-scale neural networks; conduct large-scale data mining and analysis to support data analysis and decision-making in industries such as finance, healthcare, and e-commerce; develop intelligent control systems based on edge computing to achieve real-time monitoring and control of IoT devices; perform tasks such as image recognition and speech recognition to improve the performance and efficiency of artificial intelligence applications.

[0003] Linpack test has become the most popular benchmark for testing the floating-point performance of high-performance computer systems in the world. By using high-performance computers and Gaussian elimination method to solve N-dimensional dense linear algebraic equations, the floating-point performance of high-performance computers is evaluated. Linpack test includes three categories, Linpack100, Linpack1000 and HPL. Linpack100 solves dense linear algebraic equations of order 100. It only allows optimization using compilation optimization options. The code cannot be changed, and even the comments in the code cannot be modified. Linpack1000 requires solving a linear algebraic equation of order 1000 to meet the specified accuracy requirements. The algorithm and code can be optimized without changing the amount of calculation. HPL, High Performance Linpack, is a benchmark for testing the floating-point performance of high-performance computing cluster systems. It has no restrictions on the array size N. The scale of the problem can be changed. Except for the basic algorithm (amount of calculation), any other optimization method can be used. The first two tests are small in scale and are no longer very suitable for the development of modern computers. Therefore, HPL is the most commonly used test standard. HPL is a test method proposed for modern parallel computers. Without modifying any test program, users can adjust the problem size N (matrix size), the number of CPUs used, and use various optimization methods to execute the test program to obtain the best performance. HPL evaluates the floating-point computing performance of a computer by the time it takes to solve a dense linear equation system Ax=b. To ensure the fairness of the test results, HPL does not allow modification of the basic algorithm (Gaussian elimination method using LU decomposition), that is, the total number of floating-point calculations must remain unchanged.

[0004] At present, the mainstream server clusters are still based on x86 and arm architectures, and the test methods for high-performance computers are also based on these two architectures. With the increasing application of RISC-V architecture in the fields of high-performance computing and AI, it is necessary to improve the cluster performance test methods under the RISC-V architecture to ensure that the design of the RISC-V cluster system meets the key steps of the predetermined performance goals, provide important data for the subsequent evaluation and optimization of the RISC-V cluster, and promote the development and application of the RISC-V cluster. Traditional HPL tests require manual calculation of relevant parameters and modification of the HPL.dat configuration file. Due to the large number of parameters and cumbersome calculations, modifying the HPL.dat file is prone to errors and inconvenient to operate. In addition, the HPL test time is long, and the test results only contain the actual floating-point peak value of the test. It is difficult to find problems in the test from the test results alone, and it is difficult to analyze whether the bottleneck is caused by CPU, memory, network or other problems. Summary of the invention

[0005] In order to improve the cluster performance test under the RISC-V architecture, fill the gap in the cluster performance test method under the RISC-V architecture, reduce the difficulty and complexity of high-performance testing, find the performance bottleneck of the cluster under the RISC-V architecture, and provide reference materials for subsequent evaluation and optimization of the RISC-V cluster, the present invention provides a cluster floating-point performance test method under the RISC-V architecture, which is successfully adapted to the server cluster under the RISC-V architecture, can conveniently and efficiently test the RISC-V cluster performance, provides a menu configuration method and parameter verification, significantly improves the convenience and intuitiveness of user operation, reduces the workload of manual configuration, reduces the complexity of testing, provides log monitoring and data analysis, is more convenient to find the performance bottleneck of the cluster under the RISC-V architecture, and provides a reference for subsequent optimization.

[0006] Terminology explanation:

[0007] 1. HPL: High-Performance Linpack is a benchmark program used to measure the performance of high-performance computers (HPC). It evaluates the performance of the system by calculating a series of linear algebra operations.

[0008] The technical solution of the present invention is as follows:

[0009] A cluster floating-point performance test method under a RISC-V architecture includes a configuration module, a test module, a log module, and a data analysis module to automate and simplify the test process and improve the test efficiency and accuracy, including the following steps:

[0010] (1) The configuration module automatically obtains the operating system used by the RISC-V architecture cluster, automatically generates the corresponding package manager related commands, and installs the GCC and Fortran77 compilers suitable for the RISC-V structure and the necessary dependent libraries and tools on the node;

[0011] (2) The configuration module automatically deploys the MPICH environment on each node of the RISC-V cluster, generates an SSH key pair for each node through ssh-keygen, sends the public key to each node of the cluster through ssh-copy-id, configures secret-free communication between nodes, and implements two-way secret-free communication for all nodes in the cluster;

[0012] (3) The configuration module downloads, compiles, and installs the BLAS, CBLAS, and ATLAS mathematical libraries for each node in the RISC-V cluster, and automatically sets the corresponding environment variables for use in the subsequent compilation of HPL; the vector extension in the RISC-V architecture provides support for SIMD operations, which can improve performance by processing multiple data in parallel.

[0013] (4) The configuration module downloads the HPL adapted to each node in the RISC-V cluster and automatically modifies the configuration of related variables in Make.top and Makefile;

[0014] Make.top and Makefile are two configuration files used when compiling software. They are usually used to automate the compilation process. Make.top is a top-level Makefile file, usually used for large projects or projects with multiple subdirectories. It contains calls to multiple sub-Makefiles and may also contain some global variables and compilation options. During the compilation process, the top-level Make.top will call the Makefiles in each subdirectory to compile different components as needed. Makefile is a file used to control the compilation process. It contains a series of instructions and rules that tell the make tool how to compile source code files. Makefile can define variables, set compiler options, specify dependencies, etc. During the compilation process, the make tool reads the Makefile and executes the instructions in it. In order to ensure that the test program can adapt to the RISC-V architecture and combine the characteristics of the RISC-V architecture, it is necessary to adjust the configuration of the relevant variables in Make.top and Makefile.

[0015] (5) The test module automatically captures the hardware parameter information of each node in the RISC-V cluster. The hardware parameter information includes: the number of all nodes in the RISC-V cluster, the memory of each node (MB), the number of cores of each node, the speed of each core (GHz), and the network speed of the cluster. By default, all nodes in the cluster participate in the test. The test module also supports users to select which nodes to participate in the test through a friendly visual interface.

[0016] (6) The test module automatically calculates the theoretical peak value corresponding to the hardware parameters of the cluster and the appropriate theoretical parameters of the HPL test based on the hardware parameter information of each node in the RISC-V cluster captured in step (5), including the matrix size Ns, the block size NB, the process combination methods P and Q, and the network broadcast method BCASTs, and generates different parameter combinations;

[0017] (7) The test module generates a configuration menu, and displays the generated node list and parameter combination to the user in the form of a menu on the terminal. The user is allowed to set the threshold and step length of the parameters Ns and NB that have a greater impact on the test results in the menu, and the user is allowed to select the number of nodes used in the test;

[0018] (8) The test module automatically performs the verification steps to ensure that all settings are correct, and then generates the final node list and parameter combination list based on the user's adjustments;

[0019] (9) The test module selects the first set of parameters from the parameter combination list, automatically generates the corresponding HPL.dat, checks whether each node is normal, and if so, generates the mpirun command (the mpirun command is used to run the HPL test application in parallel on multiple nodes) to start executing the HPL test; otherwise, reports to the user;

[0020] The HPL test is the latest benchmark test program for the world's supercomputer rankings and other supercomputer evaluations or competitions. Its testing method is to let the system solve the linear equation system Ax=b in a multi-process distributed manner to estimate the floating-point computing power of the system.

[0021] (10) The log module records key performance indicators during the test, including the CPU usage, memory usage, and network latency of each node. When a problem occurs during the test, the node where the problem occurs and the cause are recorded, and relevant log information is saved to help users quickly locate the problem and performance bottleneck.

[0022] (11) When the test of a set of parameters is completed, the test module saves the test results and returns to step (8) to select the next set of parameter combinations until all parameter combinations are tested;

[0023] (12) The data analysis module automatically analyzes all test results in a set of tests, generates tables and visual reports of test results as parameters change, forms a performance monitoring report for each test, and saves the results and reports to the historical record.

[0024] Preferably, in step (3), when compiling BLAS, CBLAS and ATLAS mathematical libraries, the configuration module improves the performance of the linear algebra operation library by turning on the vector optimization option of the compiler, thereby giving full play to the advantages of RISC-V.

[0025] Preferably, in step (4), the configuration module of the present invention also includes a node parameter exporter implemented for the RISC-V architecture, which is used to automatically collect and export the hardware resource information on the node to achieve more efficient and accurate node information collection and export. The node parameter exporter includes but is not limited to key performance indicators such as CPU usage, memory usage, and number of cores; this information is encapsulated into a JSON data format that is easy to parse and transmit, so as to facilitate cross-platform and cross-language data exchange. In order to more accurately calculate the operating state of the operating system, the node parameter exporter will regularly read the relevant files under the / proc directory of the operating system. For example, by analyzing the data in the / proc / meminfo file, the node parameter exporter can obtain detailed information such as the total amount of memory, the amount used, and the amount of free memory; by parsing the / proc / stat file, the node parameter exporter can collect the usage of each core of the CPU, including the proportion of user state, system state, and idle time. In addition, the node parameter exporter uses Python's Flask framework to build a lightweight HTTP server that can respond to queries sent by external nodes through HTTP requests and return formatted JSON data. This design not only simplifies the process of data acquisition, but also improves the scalability and flexibility of the system. In order to ensure that the node parameter exporter can run efficiently on all nodes in the RISC-V cluster, the configuration module automatically sends and deploys the node parameter exporter to each node through a configuration script. The parameter exporters of these nodes are set to run automatically when the system starts, thereby ensuring continuous monitoring of the cluster and real-time updating of data. Through the node parameter exporter, the configuration module of the present invention not only improves the accuracy and real-time performance of node parameter export, but also enhances the automation of cluster management, providing strong data support for cluster testing and maintenance.

[0026] Preferably, in step (5), the implementation process of automatically capturing the hardware parameter information of each node in the RISC-V cluster is:

[0027] The test module sends an http request to the node parameter exporter of all nodes under test. The result returned by the request is the parameter data exported by the node parameter exporter. The test module integrates the parameter information of all nodes into a hardware parameter information table. This method innovatively introduces a node parameter exporter for the nodes on the cluster. Before the test, you only need to send an http request to the node under test to obtain all the parameters of the node. These parameters are already prepared in advance and can be directly obtained. There is no need to send a query instruction to each node for each hardware parameter. This greatly reduces the number of communication requests and shortens the time waiting for the node to calculate the parameters and return the results. This innovative method fully optimizes the process of collecting node hardware parameter information, making the calculation of cluster hardware parameter information more efficient.

[0028] Preferably, in step (6), the method for automatically calculating the theoretical parameters is:

[0029] Ns is obtained by Ns×Ns×8=total system memory×80% (total memory is in bytes). According to the general rule of thumb, the set of all NB values ​​is {65, 128, 192, 256, 384}. The combination of P and Q is obtained by P×Q=number of cluster test nodes*number of cores of each node, and then the values ​​of P and Q are further screened by taking P as a power of 2.

[0030] Preferably, in step (7), the test module supports the user to customize parameters through the menu bar, mainly the parameters Ns, NB and the nodes used for the test. Taking Ns as an example, if the theoretical value is theoreticalNs, the user sets the upper threshold limit to +20%, the lower threshold limit to -20%, and the step length to 10%, then the value range of Ns will be [theoreticalNs*0.8,theoreticalNs*1.2], that is, the set of all values ​​of Ns is {theoreticalNs*0.8,theoreticalNs*0.9,theoreticalNs,theoreticalNs*1.1,theoreticalNs*1.2,}.

[0031] Preferably, in step (8), during the verification process, it is checked whether there are unavailable machines in the node list and whether there are obvious unreasonable combinations in the parameter combination list. If there are obvious unreasonable combinations, feedback prompts are given and it is recommended to use the theoretical parameters calculated previously.

[0032] Preferably, in step (8), checking whether there is an unavailable machine includes:

[0033] Node reachability check: Verifies that all nodes are reachable by attempting a network connection from the control node to each node.

[0034] Resource status check: Check the resource status of each node, including CPU usage, memory usage, etc., to ensure that they are in an available state.

[0035] Check whether there is any obvious unreasonableness, including:

[0036] Hardware limit check: Ensure that the parameter combination does not exceed the physical limitations of the hardware, such as memory capacity, number of cores, etc.

[0037] Application of empirical rules: Based on general empirical rules and the theoretical parameters automatically calculated above, evaluate whether the value of the parameter combination is too large or too small.

[0038] Preferably, in step (12), the log recording module supports users to view records, retrieve records, export records, delete records and other operations through the front-end interface.

[0039] For any details not provided in the present invention, please refer to the prior art.

[0040] The beneficial effects of the present invention are:

[0041] The present invention greatly reduces the workload of manually installing and configuring the RISC-V performance test environment through an automated and visually configured test process, can flexibly select test nodes of a cluster under the RISC-V architecture, provides a visual menu configuration method, and no longer needs to modify related configuration files, greatly improving the simplicity and usability of the test configuration. In addition, through the verification mechanism of the test module, invalid tests caused by incorrect configuration are reduced, the test complexity is reduced, detailed performance monitoring and log records are provided, which is convenient for finding errors and locating performance bottlenecks, a data analysis mechanism is provided, and a visual analysis report is formed, providing important reference data for cluster performance evaluation and optimization under the RISC-V architecture. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] The drawings in the specification, which constitute a part of the present application, are used to provide further understanding of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute improper limitations on the present application.

[0043] Figure 1 The present invention is a flow chart of configuring modules in the cluster floating-point performance testing method under the RISC-V architecture.

[0044] Figure 2 This is a flow chart of the test module and the log module in the cluster floating-point performance test method under the RISC-V architecture of the present invention. DETAILED DESCRIPTION

[0045] In order to enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of the present invention are clearly and completely described below in conjunction with the drawings in the implementation of this specification, but are not limited to this. Anything not fully described in the present invention shall be based on the conventional technology in the art.

[0046] Example 1

[0047] A cluster floating-point performance test method under RISC-V architecture includes a configuration module, a test module, a log module and a data analysis module to automate and simplify the test process and improve the test efficiency and accuracy. Figure 1 , Figure 2 As shown, the following steps are included:

[0048] (1) The configuration module automatically obtains the operating system used by the RISC-V architecture cluster, automatically generates the corresponding package manager related commands, and installs the GCC and Fortran77 compilers suitable for the RISC-V structure and the necessary dependent libraries and tools on the node;

[0049] (2) The configuration module automatically deploys the MPICH environment on each node of the RISC-V cluster, generates an SSH key pair for each node through ssh-keygen, sends the public key to each node of the cluster through ssh-copy-id, configures secret-free communication between nodes, and implements two-way secret-free communication for all nodes in the cluster;

[0050] (3) The configuration module downloads, compiles, and installs the BLAS, CBLAS, and ATLAS mathematical libraries for each node in the RISC-V cluster, and automatically sets the corresponding environment variables for use in the subsequent compilation of HPL; the vector extension in the RISC-V architecture provides support for SIMD operations, which can improve performance by processing multiple data in parallel.

[0051] When compiling BLAS, CBLAS, and ATLAS math libraries, the configuration module improves the performance of the linear algebra library by turning on the compiler's vector optimization option, giving full play to the advantages of RISC-V.

[0052] (4) The configuration module downloads the HPL adapted to each node in the RISC-V cluster and automatically modifies the configuration of related variables in Make.top and Makefile;

[0053] Make.top and Makefile are two configuration files used when compiling software. They are usually used to automate the compilation process. Make.top is a top-level Makefile file, usually used for large projects or projects with multiple subdirectories. It contains calls to multiple sub-Makefiles and may also contain some global variables and compilation options. During the compilation process, the top-level Make.top will call the Makefiles in each subdirectory to compile different components as needed. Makefile is a file used to control the compilation process. It contains a series of instructions and rules that tell the make tool how to compile source code files. Makefile can define variables, set compiler options, specify dependencies, etc. During the compilation process, the make tool reads the Makefile and executes the instructions in it. In order to ensure that the test program can adapt to the RISC-V architecture and combine the characteristics of the RISC-V architecture, it is necessary to adjust the configuration of the relevant variables in Make.top and Makefile.

[0054] The configuration module of the present invention also includes a node parameter exporter implemented for the RISC-V architecture, which is used to automatically collect and export the hardware resource information on the node to achieve more efficient and accurate node information collection and export. The node parameter exporter includes but is not limited to key performance indicators such as CPU usage, memory usage, and core number; this information is encapsulated into a JSON data format that is easy to parse and transmit, so as to facilitate cross-platform and cross-language data exchange. In order to more accurately calculate the operating state of the operating system, the node parameter exporter will regularly read the relevant files under the / proc directory of the operating system. For example, by analyzing the data in the / proc / meminfo file, the node parameter exporter can obtain detailed information such as the total amount of memory, the amount used, and the amount of free memory; by parsing the / proc / stat file, the node parameter exporter can collect the usage of each core of the CPU, including the proportion of user state, system state, and idle time. In addition, the node parameter exporter uses Python's Flask framework to build a lightweight HTTP server that can respond to queries sent by external nodes through HTTP requests and return formatted JSON data. This design not only simplifies the process of data acquisition, but also improves the scalability and flexibility of the system. In order to ensure that the node parameter exporter can run efficiently on all nodes in the RISC-V cluster, the configuration module automatically sends and deploys the node parameter exporter to each node through a configuration script. The parameter exporters of these nodes are set to run automatically when the system starts, thereby ensuring continuous monitoring of the cluster and real-time updating of data. Through the node parameter exporter, the configuration module of the present invention not only improves the accuracy and real-time performance of node parameter export, but also enhances the automation of cluster management, providing strong data support for cluster testing and maintenance.

[0055] (5) The test module automatically captures the hardware parameter information of each node in the RISC-V cluster. The hardware parameter information includes: the number of all nodes in the RISC-V cluster, the memory of each node (MB), the number of cores of each node, the speed of each core (GHz), and the network speed of the cluster. By default, all nodes in the cluster participate in the test. The test module also supports users to select which nodes to participate in the test through a friendly visual interface.

[0056] The implementation process of automatically capturing the hardware parameter information of each node in the RISC-V cluster is as follows:

[0057] The test module sends an http request to the node parameter exporter of all nodes under test. The result returned by the request is the parameter data exported by the node parameter exporter. The test module integrates the parameter information of all nodes into a hardware parameter information table. This method innovatively introduces a node parameter exporter for the nodes on the cluster. Before the test, you only need to send an http request to the node under test to obtain all the parameters of the node. These parameters are already prepared in advance and can be directly obtained. There is no need to send a query instruction to each node for each hardware parameter. This greatly reduces the number of communication requests and shortens the time waiting for the node to calculate the parameters and return the results. This innovative method fully optimizes the process of collecting node hardware parameter information, making the calculation of cluster hardware parameter information more efficient.

[0058] (6) The test module automatically calculates the theoretical peak value corresponding to the hardware parameters of the cluster and the appropriate theoretical parameters of the HPL test based on the hardware parameter information of each node in the RISC-V cluster captured in step (5), including the matrix size Ns, the block size NB, the process combination methods P and Q, and the network broadcast method BCASTs, and generates different parameter combinations;

[0059] The method for automatically calculating theoretical parameters is:

[0060] Ns is obtained by Ns×Ns×8=total system memory×80% (total memory is in bytes). According to the general rule of thumb, the set of all NB values ​​is {65, 128, 192, 256, 384}. The combination of P and Q is obtained by P×Q=number of cluster test nodes*number of cores of each node, and then the values ​​of P and Q are further screened by taking P as a power of 2.

[0061] (7) The test module generates a configuration menu, and displays the generated node list and parameter combination to the user in the form of a menu on the terminal. The user is allowed to set the threshold and step length of the parameters Ns and NB that have a greater impact on the test results in the menu, and the user is allowed to select the number of nodes used in the test;

[0062] The test module supports users to customize parameters through the menu bar, mainly parameters Ns, NB and nodes used in the test. Taking Ns as an example, if the theoretical value is theoreticalNs, the user sets the upper threshold to +20%, the lower threshold to -20%, and the step length to 10%, then the value range of Ns will be [theoreticalNs*0.8,theoreticalNs*1.2], that is, the set of all values ​​of Ns is {theoreticalNs*0.8,theoreticalNs*0.9,theoreticalNs,theoreticalNs*1.1,theoreticalNs*1.2,}.

[0063] (8) The test module automatically performs the verification steps to ensure that all settings are correct, and then generates the final node list and parameter combination list based on the user's adjustments;

[0064] During the verification process, check whether there are unavailable machines in the node list and whether there are obvious unreasonable combinations in the parameter combination list. If there are obvious unreasonable combinations, provide feedback and recommend using the theoretical parameters calculated previously.

[0065] Checking whether there are unavailable machines includes:

[0066] Node reachability check: Verifies that all nodes are reachable by attempting a network connection from the control node to each node.

[0067] Resource status check: Check the resource status of each node, including CPU usage, memory usage, etc., to ensure that they are in an available state.

[0068] Check whether there is any obvious unreasonableness, including:

[0069] Hardware limit check: Ensure that the parameter combination does not exceed the physical limitations of the hardware, such as memory capacity, number of cores, etc.

[0070] Application of empirical rules: Based on general empirical rules and the theoretical parameters automatically calculated above, evaluate whether the value of the parameter combination is too large or too small.

[0071] (9) The test module selects the first set of parameters from the parameter combination list, automatically generates the corresponding HPL.dat, checks whether each node is normal, and if so, generates the mpirun command (the mpirun command is used to run the HPL test application in parallel on multiple nodes) to start executing the HPL test; otherwise, reports to the user;

[0072] The HPL test is the latest benchmark test program for the world's supercomputer rankings and other supercomputer evaluations or competitions. Its testing method is to let the system solve the linear equation system Ax=b in a multi-process distributed manner to estimate the floating-point computing power of the system.

[0073] (10) The log module records key performance indicators during the test, including the CPU usage, memory usage, and network latency of each node. When a problem occurs during the test, the node where the problem occurs and the cause are recorded, and relevant log information is saved to help users quickly locate the problem and performance bottleneck.

[0074] (11) When the test of a set of parameters is completed, the test module saves the test results and returns to step (8) to select the next set of parameter combinations until all parameter combinations are tested;

[0075] (12) The data analysis module automatically analyzes all test results in a set of tests, generates tables and visual reports of test results changing with parameters, forms a performance monitoring report for each test, and saves the results and reports to the historical records of the log module; the log recording module supports users to view records, retrieve records, export records, and delete records through the front-end interface.

[0076] The RISC-V cluster performance test method of the present invention conforms to the actual use scenario, so that the HPL test can support the RISC-V architecture and expand the application scope of HPL. The present invention is applied for the first time on the RISC-V server cluster in my country, supplementing the blank of the cluster performance test method under the RISC-V architecture, and providing data reference for the RISC-V CPU to move towards the field of high-performance computing. And compared with other high-performance cluster test methods, this method can support the automatic deployment of the test environment when the operating systems used by the nodes in the cluster are different, which is more flexible and does not require each node to be configured with the same operating system; the present invention innovatively provides a node parameter exporter, which can quickly and lightly export the hardware parameters of the node; the test module provided by the present invention can easily and quickly obtain the parameter information of the node through the node parameter exporter and fewer http requests. In addition to supporting automatic parameter setting, the test module also supports testers to adjust test parameters in a personalized manner through a visual interface based on experience. After the parameters are adjusted, the system will automatically verify the rationality of the parameters and give a pop-up window prompt, which significantly improves the convenience and accuracy of the test; the test module in the present invention will verify the status of all tested nodes before executing the HPL test. Since the HPL test time is relatively long, this greatly reduces the situation where the test fails due to node status problems, and greatly reduces the time cost of the test; the method of the present invention is also applicable to the elastic scaling of RISC-V cluster resources; the monitoring module in the present invention can observe the status and resource occupancy of all tested nodes in real time, and can more intuitively observe the performance bottleneck; the log module of the present invention can record historical test results, support testers to query and export results, and testers can more conveniently perform statistics and analysis.

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

Claims

1. A cluster floating-point performance test method under RISC-V architecture, characterized in that: The steps include: (1) The configuration module automatically obtains the operating system used by the RISC-V architecture cluster and installs the GCC and Fortran77 compilers suitable for the RISC-V structure as well as dependent libraries and tools on the nodes; (2) The configuration module automatically deploys the MPICH environment on each node of the RISC-V cluster, generates an SSH key pair for each node, configures secret-free communication between nodes, and implements two-way secret-free communication for all nodes in the cluster; (3) The configuration module downloads, compiles, and installs BLAS, CBLAS, and ATLAS math libraries for each node in the RISC-V cluster, and automatically sets environment variables for use in the subsequent compilation of HPL; (4) The configuration module downloads the HPL adapted to each node in the RISC-V cluster and automatically modifies the configuration of variables in Make.top and Makefile; (5) The test module automatically captures the hardware parameter information of each node in the RISC-V cluster. The hardware parameter information includes: the number of all nodes in the RISC-V cluster, the memory of each node, the number of cores of each node, the speed of each core, and the network speed of the cluster; (6) The test module automatically calculates the theoretical peak value corresponding to the hardware parameters of the cluster and the theoretical parameters of the HPL test according to the hardware parameter information of each node in the RISC-V cluster captured in step (5), including the matrix size Ns, the block size NB, the process combination methods P and Q, and the network broadcast method BCASTs, and generates different parameter combinations; (7) The test module generates a configuration menu, displays the generated node list and parameter combinations to the user in the form of a menu on the terminal, and allows the user to set the threshold and step length of the parameters Ns and NB in ​​the menu, and allows the user to select the number of nodes used in the test; (8) The test module automatically performs the verification steps to ensure that all settings are correct, and then generates the final node list and parameter combination list based on the user's adjustments; (9) The test module selects the first set of parameters from the parameter combination list, generates HPL.dat, and checks whether each node is normal. If normal, it generates the mpirun command and starts executing the HPL test; otherwise, it reports to the user; (10) The log module records key performance indicators during the test, including the CPU usage, memory usage, and network latency of each node. When a problem occurs during the test, the node where the problem occurs and the cause are recorded; (11) When the test of a set of parameters is completed, the test module saves the test results and returns to step (8) to select the next set of parameter combinations until all parameter combinations are tested; (12) The data analysis module automatically analyzes all test results in a set of tests, generates tables and visual reports of test results as parameters change, forms a performance monitoring report for each test, and saves the results and reports to the historical record.

2. The cluster floating point performance testing method under the RISC-V architecture according to claim 1, characterized in that: In step (3), when compiling the BLAS, CBLAS and ATLAS math libraries, the configuration module improves the performance of the linear algebra library by turning on the compiler's vector optimization option.

3. The cluster floating point performance testing method under the RISC-V architecture according to claim 2, characterized in that: In step (4), the configuration module also includes a node parameter exporter, which is used to automatically collect and export hardware resource information on the node, including but not limited to CPU utilization, memory usage, and core number key performance indicators; and automatically send and deploy the node parameter exporter to each node through a configuration script.

4. The cluster floating point performance testing method under the RISC-V architecture according to claim 3, characterized in that: In step (5), the implementation process of automatically capturing the hardware parameter information of each node in the RISC-V cluster is as follows: The test module sends an http request to the node parameter exporter of all tested nodes. The result returned by the request is the parameter data exported by the node parameter exporter. The test module integrates the parameter information of all nodes into a hardware parameter information table.

5. The cluster floating point performance testing method under the RISC-V architecture according to claim 4, characterized in that: In step (6), the method for automatically calculating the theoretical parameters is: Ns is obtained by Ns×Ns×8=total system memory×80%. According to the general rule of thumb, the set of all NB values ​​is {65, 128, 192, 256, 384}. The combination of P and Q is obtained by P×Q=number of cluster test nodes*number of cores of each node, and then the values ​​of P and Q are further screened by taking P as a power of 2.

6. The cluster floating point performance testing method under the RISC-V architecture according to claim 5, characterized in that: In step (7), the test module supports users to customize parameters through the menu bar.

7. The cluster floating point performance testing method under the RISC-V architecture according to claim 6, characterized in that: In step (8), during the verification process, check whether there are unavailable machines in the node list and whether there are obviously unreasonable parameter combinations in the parameter list. If there are obvious unreasonable combinations, provide feedback and recommend the use of theoretical parameters.

8. The cluster floating point performance testing method under the RISC-V architecture according to claim 7, characterized in that: In step (8), checking whether there are unavailable machines includes node reachability check and resource status check; Verification for obvious implausibilities includes hardware limitation checks and application of empirical rules.

9. The cluster floating point performance testing method under the RISC-V architecture according to claim 8, characterized in that: In step (12), the log recording module supports users to view records, retrieve records, export records and delete records through the front-end interface.

Citation Information

Patent Citations

  • Method and device for evaluating supercomputing performance, medium and computer equipment

    CN111881009A

  • Processor verification system based on RISC-V architecture

    CN117422026A

  • HPL automatic testing method for high-performance computing cluster performance based on cloud platform

    CN117707908A

  • Intellectual property block validation and design integration for integrated circuits

    US10922462B1

Cited By

  • CPU performance test method in Conda environment and application

    CN121144121A

  • Cluster system-oriented performance detection method and device, electronic equipment and medium

    CN121509282A