Configuration parameter self-evolution tuning method and system based on application perception
By applying the self-evolution tuning method of application-aware configuration parameters and using transfer learning technology to quickly build an I/O performance prediction model suitable for unknown applications, the problem of low accuracy of I/O performance prediction models in the existing technology is solved and achieved Improvement of storage system I/O performance.
Patent Information
- Application Number
- CN202411302181.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-18
- Publication Date
- 2025-01-24
AI Technical Summary
The prior art is difficult to quickly train high-accuracy I/O performance prediction models for unknown applications, resulting in limited improvement in I/O performance in high-performance computing storage systems.
Adopting the self -evolving tuning method of the configuration parameters of the application, by obtaining all the application of all applications I/O characteristic parameters, using the known application parameter training I/O performance prediction model, and using the migration learning method to perform secondary training to the model to generate to generate the model to generate the model to generate the model to generate the model to generate to generate the model to generate the model to generate the model to generate the model to generate the model to generate the model to generate the model to generate the model to generate the model to generate the model to generate the model to generate the model to generate the model to generate the model to generate the model to generate to generate the model and generate the generation to generate the model to generate the model to generate the model to generate to generate the model to generate the model and generate the generating model to generate secondary training to generate the production method to generate secondary training and generate generation. Adapt to the I/O performance prediction model of different applications.
The I/O performance prediction model suitable for unknown applications is achieved, which significantly improves the accuracy of the I/O performance prediction model and improves the I/O performance of the storage system.
Smart Images

Figure CN119356848A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computers, and in particular to an application-aware configuration parameter self-evolution tuning method and system. Background Art
[0002] With the integration of big data, artificial intelligence and supercomputing technology, the powerful data processing capabilities of high-performance computers are of vital importance for converting data into information, then into knowledge, and finally into decision-making. In the information age, the amount of data generated in the production process is increasing exponentially, and the growth rate of data far exceeds the performance growth rate of high-performance computer storage systems. There is a large gap between the performance growth rates of high-performance computer computing systems and storage systems. The I / O operations of applications cannot match the speed of computing, resulting in computing and data processing efficiency being severely limited by the ability to input and output data.
[0003] In order to match the rapidly growing computing systems and support the various I / O requirements of a wide variety of high-performance computing applications, with the development of new storage devices, high-performance computers are designed with a multi-level storage architecture based on multiple storage devices, such as I / O forwarding architecture and Burst Buffer technology. The high-performance computing I / O software stack has multiple storage levels, and the I / O of different applications passes through different storage levels. With complex software stacks and configuration parameters, the I / O behavior of different applications is characterized differently. The I / O path of the high-performance computing multi-level storage system is lengthened, the depth of the I / O software stack is increased, and the number of system configuration parameters is increased. While it can meet the I / O requirements of more applications, the complex architecture increases the difficulty of configuring storage system parameters and building I / O performance prediction models, resulting in low working efficiency of the multi-level storage structure and reducing the effective utilization rate of high-performance computers.
[0004] Based on the understanding of the I / O behavior of high-performance computer multi-level storage systems, storage system configuration parameter tuning is very important for performance improvement. Sehgal et al. found that appropriate adjustments to the Linux file system and options under specific loads can improve performance by 1.05-9.4 times. The configuration parameters of the storage system are highly related to the running software and hardware environment and workload. The optimal values of the parameters are different in different application scenarios. Parameter configuration optimization strategies can be divided into manual parameter tuning and automatic configuration parameter tuning. The automatic configuration parameter tuning strategy can better adapt to the large number of dynamically changing configuration parameters in high-performance computing application scenarios. Based on different algorithms, the existing automatic parameter tuning strategies can be divided into heuristic algorithms, machine learning methods, etc. Heuristic algorithms include genetic algorithms and simulated annealing algorithms. Commonly used machine learning algorithms include regression models, reinforcement learning, and active learning.
[0005] There are some research results on automatic tuning of storage parameter configuration of distributed file systems and local file systems. However, there is no effective solution for multi-level parallel storage systems facing the broadening application fields of high-performance computers and complex storage software stacks. The I / O performance prediction models proposed in existing work are not accurate and have poor applicability. It is difficult to quickly and effectively configure storage hierarchies for unknown applications and dynamically changing storage hierarchies of different applications. Summary of the invention
[0006] The technical problem to be solved by the present invention is as follows: In view of the above-mentioned problems of the prior art, an application-aware configuration parameter self-evolution tuning method and system are provided, which can quickly train an I / O performance prediction model for unknown applications, effectively improve the accuracy of the I / O performance prediction model, and realize the improvement of the I / O performance of the storage system.
[0007] In order to solve the above technical problems, the technical solution adopted by the present invention is:
[0008] An application-aware configuration parameter self-evolution tuning method includes the following steps:
[0009] Obtain I / O characteristic parameters of all applications, use the I / O characteristic parameters of known applications to train an I / O performance prediction model to obtain an I / O performance prediction model for known applications, and use a transfer learning method to perform secondary training on the I / O performance prediction model for known applications to obtain an I / O performance prediction model for unknown applications;
[0010] Add the I / O characteristic parameters of the application to be tuned to the corresponding parameter search space, iteratively obtain the current round parameter configurations of all I / O characteristic parameters in the parameter search space, pass the current round parameter configurations to the search engine to generate the next round parameter configurations, and pass the current round parameter configurations to the corresponding I / O performance prediction model to obtain the corresponding performance prediction results until the maximum number of iterations or the specified duration is reached;
[0011] The best performance prediction result is selected from the performance prediction results of each round, and the parameter configuration corresponding to the best performance prediction result is used as the tuning result of the I / O characteristic parameters of the application to be tuned.
[0012] Furthermore, when the I / O characteristic parameters of a known application are used to train the I / O performance prediction model, and when the I / O performance prediction model of the known application is trained again using the transfer learning method, the steps of data collection are included, specifically including:
[0013] Select a specified I / O characteristic parameter from all I / O characteristic parameters and add it into a corresponding parameter search space;
[0014] The parameter configurations of the I / O characteristic parameters in the parameter search space are sampled using a Latin hypercube sampling algorithm to generate different parameter configurations;
[0015] The corresponding application programs are executed under different parameter configurations to obtain performance results corresponding to the different parameter configurations, and the different parameter configurations and the performance results corresponding to the different parameter configurations are added to the data set.
[0016] Furthermore, when selecting the specified I / O characteristic parameters from all I / O characteristic parameters, it specifically includes: based on expert experience, selecting the I / O characteristic parameters in order from large to small impact on I / O performance, until the number of selected I / O characteristic parameters meets the requirement.
[0017] Furthermore, when the I / O characteristic parameters of a known application are used to train the I / O performance prediction model, the following steps are included:
[0018] Normalize the I / O characteristic parameters in the data set;
[0019] Use the filtering method to remove the I / O feature parameters whose impact on I / O performance is less than the specified value from the I / O feature parameters of the data set, and then use recursive feature elimination cross-validation to perform feature selection on the remaining I / O feature parameters, and finally select several I / O feature parameters that have a greater impact on I / O performance;
[0020] The stacking model is trained using the selected I / O feature parameters. The stacking model includes individual learners and meta-learners. The individual learners include random forest 1, random forest 2, gradient boosting algorithm 1, gradient boosting algorithm 2, KNN and decision tree. After the meta-learner outputs the result, cross-validation is used to verify the result. If the accuracy meets the expectation, the trained stacking model is saved as the I / O performance prediction model of the known application.
[0021] Furthermore, when the transfer learning method is used to perform secondary training on the I / O performance prediction model of a known application, the following steps are included:
[0022] Normalize the I / O characteristic parameters in the data set;
[0023] Compare the similarity between the I / O characteristic parameters of the unknown application and the I / O characteristic parameters of all known applications, and select the I / O performance prediction model of the known application with the highest similarity;
[0024] The selected dataset of known applications is used as the source domain, and the dataset of unknown applications is used as the target domain. The transfer learning algorithm is used to iteratively update the weights of the source domain samples and the target domain samples. The source domain samples and target domain samples with updated weights are used to train the I / O performance prediction model of the selected known applications until the accuracy meets the expectation or the maximum number of iterations is reached, thus obtaining the I / O performance prediction model of the unknown application.
[0025] Furthermore, the specific steps of the transfer learning algorithm include:
[0026] Combine the source domain samples and the target domain samples to obtain a combined sample, and set the initial weights of all samples in the combined sample;
[0027] The combined samples are used as training samples to iteratively train the I / O performance prediction model of the selected known applications. In each iteration, the weights of the source domain samples in the combined samples are frozen, the model is trained using the AdaBoost.R2 algorithm, and the estimation error is calculated. Then, the weights of all samples in the combined samples are updated according to the estimation error.
[0028] The model with the smallest estimation error is selected as the I / O performance prediction model for the unknown application.
[0029] Furthermore, when the weights of all samples in the combined sample are updated according to the estimation error, the weight update formula of the source domain sample in the combined sample is:
[0030]
[0031] The weight update formula of the target domain sample in the combined sample is:
[0032]
[0033] in, represents the adjusted error of the i-th sample in the combined sample of the k-th iteration, Z k is the normalization coefficient, choose β k The total weight of the target domain samples is S is the number of iterations, n s Represents the number of source domain samples in the combined sample, n t Represents the number of target domain samples in the combined sample.
[0034] Furthermore, after the I / O characteristic parameters of the application to be tuned are added to the parameter search space, the method includes: taking the midpoint values of all parameters in the entire parameter search space as the initial parameter configuration.
[0035] Furthermore, when the parameter configuration of this round is passed to the search engine to generate the parameter configuration of the next round, it includes:
[0036] The parameter configuration of this round and the corresponding performance prediction results are fed back to the search engine, which uses a specified heuristic search algorithm to guide the search process and searches for the parameter configuration of the next round based on the parameter configuration of this round and all previous rounds and the corresponding performance prediction results.
[0037] The present invention also proposes an application-aware configuration parameter self-evolution tuning system, comprising a microprocessor and a computer-readable storage medium connected to each other, wherein the microprocessor is programmed or configured to execute any one of the application-aware configuration parameter self-evolution tuning methods.
[0038] Compared with the prior art, the advantages of the present invention are:
[0039] The present invention constructs an application-aware I / O performance prediction model, uses the I / O characteristic parameters of known applications to pre-train the model, and uses a transfer learning method to perform secondary training on the I / O performance prediction of unknown applications, thereby obtaining an I / O performance prediction model adapted to different applications. The use of the transfer learning method can reduce the amount of unknown application data required in the secondary training, greatly saving model training time and computing resources.
[0040] When searching for configuration parameters, the present invention iteratively generates the parameter configuration for the next round based on the parameter configuration for the current round, and uses an I / O performance prediction model to perform performance evaluation on the parameter configuration for each round. By using the I / O performance prediction model to predict the I / O performance of applications under different I / O parameter configurations, the execution of application programs can be avoided, thereby greatly reducing the time required for performance tuning. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1 It is an overall flow chart of an embodiment of the present invention.
[0042] Figure 2 A brief flowchart of building an application-aware I / O performance prediction model in an embodiment of the present invention
[0043] Figure 3 A detailed flow chart of building an application-aware I / O performance prediction model in an embodiment of the present invention.
[0044] Figure 4 A schematic diagram of the stacking model.
[0045] Figure 5 This is a flowchart of the self-evolving configuration parameter search in an embodiment of the present invention.
[0046] Figure 6 This is a schematic diagram of a visual preview of the tuning result in an embodiment of the present invention. DETAILED DESCRIPTION
[0047] The present invention is further described below in conjunction with the accompanying drawings and specific preferred embodiments, but the protection scope of the present invention is not limited thereby.
[0048] Embodiment 1
[0049] This embodiment proposes an application-aware self-evolutionary tuning method for configuration parameters, which is aimed at the fixed layers of the parallel storage software stack, namely the application layer, I / O layer, and parallel file system layer. All HPC applications can use this method to tune configuration parameters and obtain a certain degree of I / O performance improvement.
[0050] like Figure 1 As shown, the method of this embodiment includes the following steps:
[0051] S1) Building an application-aware I / O performance prediction model: obtaining I / O characteristic parameters of all applications, using the I / O characteristic parameters of known applications to train an I / O performance prediction model to obtain an I / O performance prediction model for known applications, and using a transfer learning method to perform secondary training on the I / O performance prediction model for known applications to obtain an I / O performance prediction model for unknown applications;
[0052] S2) Self-evolving configuration parameter search: add the I / O characteristic parameters of the application to be tuned to the corresponding parameter search space, iteratively obtain the current round parameter configurations of all I / O characteristic parameters in the parameter search space, pass the current round parameter configurations to the search engine to generate the next round parameter configurations, and pass the current round parameter configurations to the corresponding I / O performance prediction model to obtain the corresponding performance prediction results until the maximum number of iterations or the specified time is reached;
[0053] S3) Visual display of tuning results: The best performance prediction result is selected from each round of performance prediction results, and the parameter configuration corresponding to the best performance prediction result is used as the tuning result of the I / O characteristic parameters of the application to be tuned. The performance corresponding to all parameter configurations and the set of parameter configurations with the best performance are visualized.
[0054] Each step is described in detail below.
[0055] Step S1 of this embodiment is as follows: Figure 2As shown in the figure, in the face of a large number of configuration parameters for diversified applications and multi-level storage software stacks, model training is first performed for applications. As the application field of HPC expands, new unknown applications may appear, and it is necessary to perceive whether the application is a known application or an unknown application. For known applications, a system-level I / O performance prediction model for the application is built based on multi-level I / O mode parameters; for unknown applications, secondary training is performed based on the training model of known applications and the transfer learning method to obtain its I / O performance prediction model. Predicting the I / O performance of applications under different I / O parameter configurations through the I / O performance prediction model can avoid executing the application and greatly reduce the time required for performance tuning.
[0056] High-performance computing applications are complex and diverse, and generate huge amounts of data in scientific research and production activities. Existing I / O optimization methods based on traditional manual analysis or heuristic strategies do not fully consider the I / O differences of complex and diverse applications, especially the perception of new unknown applications. Therefore, step S1 of this embodiment studies the construction of an application-aware I / O performance prediction model, and obtains an I / O performance prediction model for unknown applications through secondary training based on the I / O performance prediction model of known applications and the transfer learning method. Figure 3 As shown, the specific steps include:
[0057] S11) Detect unknown applications: In this embodiment, in order to detect the problem of unknown application detection, it is detected whether the input data comes from a known application or an unknown application according to the input I / O features;
[0058] S12) Training of I / O performance prediction model for known applications:
[0059] If it is a known application, training the I / O performance prediction model mainly consists of two parts: data collection and model training:
[0060] Data collection is very important for model training. The quality of data will greatly affect the accuracy of the model. The steps of data collection include:
[0061] S121) selecting a specified I / O characteristic parameter from all I / O characteristic parameters and adding it to a corresponding parameter search space;
[0062] In the data collection phase, some parameters that have a greater impact on I / O performance in the multi-level storage system are first input as the I / O parameter search space, as shown in Table 1. In this embodiment, based on expert experience, I / O feature parameters are selected in order from large to small impact on I / O performance until the number of selected I / O feature parameters meets the requirements.
[0063] Table 1 I / O stack parameter introduction
[0064]
[0065] S122) using a Latin hypercube sampling (LHS) algorithm to sample the parameter configuration of the I / O feature parameter in the parameter search space to generate different parameter configurations. How to use the Latin hypercube sampling (LHS) algorithm to sample the configuration space to generate various parameter configuration sets is well known to those skilled in the art and will not be described in detail in this embodiment.
[0066] S123) After the sampling is completed, the corresponding application is executed under different parameter configurations to obtain performance results corresponding to the different parameter configurations. In this embodiment, the bandwidth obtained by executing the corresponding application under different parameter configurations is used as the performance result, and the different parameter configurations and the performance results corresponding to the different parameter configurations are added to the data set.
[0067] The model training phase includes the following steps:
[0068] S124) normalizing the I / O characteristic parameters in the data set;
[0069] In the model training phase, the I / O feature parameters in the data set are first normalized. This is because the original data usually includes features of different ranges. If the values of different features differ too much, the impact of parameters with a smaller value range on the model results will be reduced. If normalization is not performed, it may cause deviations in model training.
[0070] S125) using a filtering method to remove I / O feature parameters whose impact on I / O performance is less than a specified value from the I / O feature parameters of the data set, thereby removing I / O feature parameters that have too little impact on I / O performance, and then using recursive feature elimination cross-validation to perform feature selection on the remaining I / O feature parameters, and finally selecting several I / O feature parameters that have a greater impact on I / O performance;
[0071] In order to improve the accuracy of the trained I / O performance prediction model, feature screening is necessary. Since RFECV (recursive feature elimination + cross validation) is relatively complex and requires a large amount of calculation, this embodiment first uses a filtering method (chi-square test and variance selection method) to filter out some I / O feature parameters that have little impact on I / O performance, and then uses RFECV (recursive feature elimination cross validation) for feature selection to obtain several parameters that have a high impact on I / O performance. How to use the chi-square test and variance selection method for screening and filtering and how to use RFECV for feature selection are well known to those skilled in the art, and will not be repeated in this embodiment;
[0072] S126) using the selected I / O feature parameters to train the stacking model;
[0073] The stacking model framework is as follows Figure 4As shown in Figure 2, it includes individual learners and meta-learners. The original data is extracted by RFECV features and passed to the stacking model as input. In order to prevent problems when training the model, data verification is first performed to delete NaN values and INF values that may appear in the data. The stacking model is mainly divided into Level 0 and Level 1. Level 0 is the individual learner and Level 1 is the meta-learner. The stacking model combines the prediction results of multiple individual learners and uses a meta-learner to improve the overall performance of the model. The individual learners include random forest 1, random forest 2, gradient boosting algorithm 1, gradient boosting algorithm 2, KNN and decision tree. The settings of random forest 1, random forest 2, gradient boosting algorithm 1 and gradient boosting algorithm 2 of the individual learners are shown in Table 2.
[0074] Table 2 Random forest and gradient boosting algorithm settings in stacking model
[0075]
[0076] Note: n_estimators represents the number of decision trees, max_features represents the maximum number of features considered by each decision tree when splitting a node, max_samples represents the sample ratio used when training each tree, random_state represents the random number seed, and n_jobs represents the number of jobs running in parallel.
[0077] In this way, even if the same algorithm is used, different models can be generated through different random number seeds, thereby increasing random diversity. This method helps to improve the generalization ability of the model and reduce overfitting. After the meta-learner outputs the results, cross-validation is used to verify the results. If the accuracy meets expectations, the trained stacking model is saved as the I / O performance prediction model for known applications.
[0078] S13) Training of I / O performance prediction model for unknown applications:
[0079] If it is an unknown application, training the I / O performance prediction model is also divided into two parts: data collection and model training:
[0080] The process of data collection for unknown applications is basically the same as step S121 and step S123. However, since some applications take a long time to execute and the data collection speed is slow, for unknown applications that do not have a large amount of historical data, this embodiment uses a transfer learning method to perform secondary training on the I / O performance prediction model of the unknown application, so that the collected unknown application data only needs to be half of the known application data. That is, during the data collection process for unknown applications, the Latin hypercube sampling (LHS) algorithm is used to sample the parameter configurations of the I / O feature parameters in the parameter search space to generate different parameter configurations that are half the number of parameter configurations generated by the same steps for known applications.
[0081] The model training phase includes the following steps:
[0082] S131) normalizing the I / O feature parameters in the data set. After the data of the unknown application is collected, its I / O features need to be standardized to ensure that they have a similar range distribution as the data features of the known applications;
[0083] S132) comparing the similarity of the I / O feature parameters of the unknown application with the I / O feature parameters of all known applications, and selecting the I / O performance prediction model of the known application with the highest similarity. This embodiment compares the similarity of the I / O features of the unknown application with the I / O features of the known applications, and selects the I / O performance prediction model of the known application that is most similar to the unknown application according to its I / O features, so as to shorten the secondary training time of the I / O performance prediction model of the unknown application;
[0084] S133) The selected dataset of the known application is used as the source domain, and the dataset of the unknown application is used as the test data (also called the target domain). The weights of the source domain samples and the target domain samples are iteratively updated using the transfer learning algorithm, and the source domain samples and the target domain samples after the weight update are used to train the I / O performance prediction model of the selected known application until the accuracy meets the expectation or the maximum number of iterations is reached, thereby obtaining the I / O performance prediction model of the unknown application.
[0085] At the beginning of the transfer learning algorithm, the weights of the training data are initialized and the entire iteration process is performed. In each iteration cycle, a regressor model can be established on the test data using a base learner (such as partial least squares regression (PLSR), support vector regression (SVR), decision tree regression (DTR)) and a weight distribution. The model will set new sample weights based on the results of the previous iteration. The transfer learning algorithm iteratively adjusts the weights of instances in the source domain that are different from the target domain distribution, thereby reducing the difference between the data distributions. If the distribution of source domain samples and target domain samples is very different, these samples will be given a lower weight (the influence relative to other source domain samples is reduced), while instances with similar distribution to the target domain will continue to increase their weights during the iteration (the influence relative to other source domain samples is increased). After multiple rounds of iterations and updates, among the known application samples in the source domain, samples similar to the unknown application will receive a larger weight, while those samples with a large difference in data distribution from the unknown application will receive a smaller weight. Finally, when the accuracy meets expectations or reaches the maximum number of iterations, the final trained I / O performance prediction model can be saved as the I / O performance prediction model for unknown applications for the self-evolving configuration parameter search in step S2.
[0086] In this embodiment, the transfer learning algorithm gradually reduces the weight of source domain samples and increases the weight of target domain samples, thereby gradually improving the adaptability of the model to the target domain, and finally selects the model with the smallest error as the I / O performance prediction model for the unknown application. The pseudo code of the transfer learning algorithm is shown below.
[0087]
[0088] In this embodiment, the specific steps of the transfer learning algorithm include:
[0089] First, define the source domain (known application dataset) sample Ds and the labeled training set Target domain (unknown application dataset) samples in and is the I / O parameter feature vector, and is the I / O performance, n s and n t are the number of samples in the source domain and target domain training sets respectively;
[0090] Then the source domain samples and target domain samples are combined to obtain a sample size of (n s +n t ) of the combined sample D=D s_train +D t_train , set the initial weights of all samples in the combined sample to
[0091] The combined samples are used as training samples to iteratively train the I / O performance prediction model of the selected known applications, and the weights of the source domain and target domain samples are iteratively adjusted to improve the transfer learning effect. In each iteration, the weights of the source domain samples in the combined samples are frozen, and the model is trained using the AdaBoost.R2 algorithm to calculate the estimated error. k , and then update the weights of all samples in the combined sample according to the estimated error. When the weights of all samples in the combined sample are updated according to the estimated error, the weight update formula of the source domain samples in the combined sample is:
[0092]
[0093] The weight update formula of the target domain sample in the combined sample is:
[0094]
[0095] in, represents the adjustment error of the i-th sample in the combined sample of the k-th iteration, Z k is the normalization coefficient, choose β k The total weight of the target domain samples is S is the number of iterations, n s Represents the number of source domain samples in the combined sample, n t Represents the number of target domain samples in the combined sample;
[0096] Finally, the model with the smallest estimation error is selected as the I / O performance prediction model for unknown applications.
[0097] In summary, step S1 of this embodiment uses regression technology to establish an I / O performance prediction model, designs and extracts parameter features related to I / O performance, and trains the model to predict application performance. Among them, AdaBoost.R2 is a variant of the AdaBoost algorithm, which is specifically used to solve regression problems. For unknown applications, based on the data features of known applications and the I / O performance prediction model, an improved transfer learning algorithm is used, which combines the advantages of TrAdaBoost and AdaBoost.R2 and is specifically used to solve transfer learning in regression problems. Through transfer learning, only small-scale unknown application data needs to be collected to establish an I / O performance prediction model for unknown applications, which greatly saves model training time and computing resources. The algorithm can use source domain data (known application data set) (i.e., data that is similar but not exactly the same as the target domain) to enhance the learning effect of the target domain data (unknown application data set). Using this algorithm, a higher-precision I / O performance prediction model can also be obtained.
[0098] Step S2 of this embodiment is as follows: Figure 5As shown in the figure, the I / O performance prediction model is used to self-evolve and update the parameter configuration, and the structure of the parameter space and the performance of the corresponding parameters are learned. The I / O performance prediction model is used to predict performance without actually executing the application, and the performance results are fed back to the heuristic search algorithm to guide the search process. This method will greatly reduce the time required for performance tuning. Specifically, it includes the following steps:
[0099] S21) adding the I / O characteristic parameters of the application to be tuned into the parameter search space, taking the parameter search space as input, and initially taking the midpoint value of all parameters in the entire parameter search space as the initial parameter configuration;
[0100] S22) Input the parameter configuration into the search engine for searching, and execute the parameter configuration on the corresponding I / O performance prediction model to obtain the performance prediction result for performance evaluation. The search engine will generate the next round of parameter configurations to be evaluated based on the input parameter configurations and the corresponding performance prediction results. After one round of execution, check whether the current search condition reaches the stop condition set by the user (maximum search time or maximum number of iterations). If the stop condition is not reached, the parameter configuration searched in the previous round will be passed to the search engine and the I / O performance prediction model again to perform a new round of search.
[0101] In this embodiment, when the parameter configuration of the current round is passed to the search engine to generate the parameter configuration of the next round, it includes:
[0102] Feedback the current round parameter configuration and the corresponding performance prediction results to the search engine, which uses a specified heuristic search algorithm to guide the search process. In this embodiment, in order to improve the search efficiency in a large parameter space, several parameter search algorithms are compared, including the Bayesian optimization algorithm, the TPE algorithm, the genetic algorithm, and the random search. Through the comparison, it is found that the Bayesian optimization algorithm has significantly better performance than other algorithms, so the Bayesian optimization algorithm is selected as the search engine;
[0103] The Bayesian optimization algorithm is used to search for the parameter configuration of the next round based on the parameter configuration of this round and all previous rounds and the corresponding performance prediction results. The specific steps include:
[0104] S221) Update the data set: add the parameter configuration of this round and its performance prediction results to the historical data set. This data set contains all the parameter configurations of previous rounds and their corresponding performance prediction results;
[0105] S222) Training a proxy model: Using the updated data set to train a proxy model, usually a Gaussian process (GP) model, the proxy model estimates the objective function value (in this embodiment, the objective function is an I / O performance prediction model) and its uncertainty for each point in the parameter space;
[0106] S223) Define acquisition function: Select an acquisition function, such as Expected Improvement (EI), Probability of Improvement (PI) or Upper Confidence Bound (UCB), the input of the acquisition function is the parameter configuration, and the output is the acquisition value;
[0107] S224) Calculate the next round of parameter configuration: find the parameter configuration when the acquisition value of the acquisition function is the largest in the parameter space, and use it as the parameter configuration for the next round.
[0108] In summary, in step S2 of the present embodiment, the selection of I / O characteristic parameters comes from the parameter analysis results of the I / O performance prediction model construction process. After determining the parameter search space, the midpoint value of all parameters in the entire parameter search space is used as the initial configuration to start the search. The initial configuration is passed to the Bayesian optimization search engine to generate the parameter configuration of the next round, and the prediction bandwidth result corresponding to the parameters of this round is obtained by passing it to the I / O performance prediction model. When the maximum search time or the maximum search round is not reached, the parameter configuration of the next round generated before will be returned for iteration. This method of using the I / O performance prediction model to predict I / O performance and the heuristic search algorithm to guide the search process does not need to execute the application program to obtain the real I / O performance when evaluating each set of parameter configurations, thereby greatly speeding up the search speed of the optimal parameters and greatly reducing the time of I / O stack parameter tuning. In most cases, one round of iteration can be completed in less than 1s. When using this method, the trained I / O stack parameter performance prediction model must have a higher accuracy, otherwise when it is fed back to the integrated algorithm of the heuristic search, it will cause deviations and affect the search for the optimal parameter configuration.
[0109] In order to facilitate users to quickly and easily find the tuning results, that is, the parameter configuration with the best performance, step S3 of this embodiment designs a visualization module based on PyQt5. The overall effect is as follows: Figure 6 The specific workflow is as follows:
[0110] S31) During the execution of step S2, each set of parameter configurations and their corresponding predicted bandwidth (i.e., performance prediction results) are saved in the result.txt file;
[0111] S32) After the tuning of step S2 is completed, the visualization module is started to read all the contents of the result.txt file, and then the parameter configuration (various parameter values) and the corresponding I / O bandwidth results are saved as key-value pairs in the variable task_info;
[0112] S33) calling a custom display function to display all key-value pairs in task_info on a more intuitive line chart. Due to the large number of parameters, the horizontal axis is named in the form of Set1, Set2...Set99;
[0113] S34) Finally, the task_info variable is traversed to find the maximum I / O bandwidth, which is the set of optimal parameter configurations found. In order to facilitate display to the user, the visualization module will output this set of parameter configurations into a table.
[0114] Embodiment 2
[0115] This embodiment proposes an application-aware configuration parameter self-evolution tuning system, including a microprocessor and a computer-readable storage medium connected to each other, wherein the microprocessor is programmed or configured to execute the application-aware configuration parameter self-evolution tuning method described in the first embodiment.
[0116] In this embodiment, the microprocessor includes the following functional modules:
[0117] A model building module is used to build an application-aware I / O performance prediction model, specifically to obtain I / O characteristic parameters of all applications, use the I / O characteristic parameters of known applications to train the I / O performance prediction model to obtain the I / O performance prediction model of the known application, and use the transfer learning method to perform secondary training on the I / O performance prediction model of the known application to obtain the I / O performance prediction model of the unknown application;
[0118] The automatic tuning module is used to perform self-evolving configuration parameter search. Specifically, the I / O characteristic parameters of the application to be tuned are added to the corresponding parameter search space, the current round parameter configurations of all I / O characteristic parameters in the parameter search space are iteratively obtained, the current round parameter configurations are passed to the search engine to generate the next round parameter configurations, and the current round parameter configurations are passed to the corresponding I / O performance prediction model to obtain the corresponding performance prediction results until the maximum number of iterations or the specified duration is reached;
[0119] The visualization module is used to visualize the tuning results. Specifically, the optimal performance prediction result is selected from the performance prediction results of each round, and the parameter configuration corresponding to the optimal performance prediction result is used as the tuning result of the I / O characteristic parameters of the application to be tuned. The performance corresponding to all parameter configurations and the set of parameter configurations with the best performance are visualized.
[0120] In summary, the configuration parameter space of parallel storage systems is huge, and the I / O differences of complex and diverse applications increase the difficulty of searching for the optimal configuration. In response to the challenges of complex and changeable application I / O features and huge configuration parameter space, the present invention discloses an application-aware self-evolutionary tuning method and system for configuration parameters, which realizes the construction of an I / O performance prediction model for unknown applications based on transfer learning, performs interpretable analysis on the trained I / O performance prediction model, guides parameter search optimization, accelerates the search efficiency of the huge parameter space based on the Bayesian optimization algorithm, and realizes the self-evolutionary configuration parameter search technology. Among them, the construction of the I / O performance prediction model is crucial to the entire model. Although some methods have been proposed at home and abroad to train the I / O performance prediction model, there is still a problem that the accuracy of the I / O performance prediction model is not high. To address this problem, the present invention uses the RFECV feature screening and stacking model training method to improve the accuracy of the I / O performance prediction model. At the same time, the present invention verifies through experiments that the stacking model has better performance than the XGBoost and random forest algorithms, and the trained I / O performance prediction model has a higher accuracy. In addition, it also takes a lot of time to collect the data used to train the I / O performance prediction model. The present invention can reduce the amount of data required to train the I / O performance prediction model of unknown applications through application perception and transfer learning methods, thereby saving model training time and computing resources.
[0121] The above is only a preferred embodiment of the present invention, and the protection scope of the present invention is not limited to the above embodiments. All technical solutions under the concept of the present invention belong to the protection scope of the present invention. It should be pointed out that for ordinary technicians in this technical field, some improvements and modifications without departing from the principle of the present invention should also be regarded as the protection scope of the present invention.
Claims
1. An application-aware configuration parameter self-evolution tuning method, characterized in that: The following steps are involved: Obtain I / O characteristic parameters of all applications, use the I / O characteristic parameters of known applications to train an I / O performance prediction model to obtain an I / O performance prediction model for known applications, and use a transfer learning method to perform secondary training on the I / O performance prediction model for known applications to obtain an I / O performance prediction model for unknown applications; Add the I / O characteristic parameters of the application to be tuned to the corresponding parameter search space, iteratively obtain the current round parameter configurations of all I / O characteristic parameters in the parameter search space, pass the current round parameter configurations to the search engine to generate the next round parameter configurations, and pass the current round parameter configurations to the corresponding I / O performance prediction model to obtain the corresponding performance prediction results until the maximum number of iterations or the specified duration is reached; The best performance prediction result is selected from the performance prediction results of each round, and the parameter configuration corresponding to the best performance prediction result is used as the tuning result of the I / O characteristic parameters of the application to be tuned.
2. The application-aware configuration parameter self-evolution tuning method according to claim 1, characterized in that: When the I / O characteristic parameters of a known application are used to train the I / O performance prediction model, and when the transfer learning method is used to perform secondary training on the I / O performance prediction model of the known application, data collection steps are included, specifically including: Select a specified I / O characteristic parameter from all I / O characteristic parameters and add it into a corresponding parameter search space; The parameter configurations of the I / O characteristic parameters in the parameter search space are sampled using a Latin hypercube sampling algorithm to generate different parameter configurations; The corresponding application programs are executed under different parameter configurations to obtain performance results corresponding to the different parameter configurations, and the different parameter configurations and the performance results corresponding to the different parameter configurations are added to the data set.
3. The application-aware configuration parameter self-evolution tuning method according to claim 2, characterized in that: When selecting the specified I / O characteristic parameters from all I / O characteristic parameters, specifically including: selecting the I / O characteristic parameters in order of the impact on the I / O performance from large to small through expert experience, until the number of the selected I / O characteristic parameters meets the requirement.
4. The application-aware configuration parameter self-evolution tuning method according to claim 2, characterized in that: When using the I / O characteristic parameters of a known application to train an I / O performance prediction model, the following steps are included: Normalize the I / O characteristic parameters in the data set; Use the filtering method to remove the I / O feature parameters whose impact on I / O performance is less than the specified size from the I / O feature parameters of the data set, and then use recursive feature elimination cross-validation to select features for the remaining I / O feature parameters; The stacking model is trained using the selected I / O feature parameters. The stacking model includes individual learners and meta-learners. The individual learners include random forest 1, random forest 2, gradient boosting algorithm 1, gradient boosting algorithm 2, KNN and decision tree. After the meta-learner outputs the result, cross-validation is used to verify the result. If the accuracy meets the expectation, the trained stacking model is saved as the I / O performance prediction model of the known application.
5. The application-aware configuration parameter self-evolution tuning method according to claim 2, characterized in that: When using the transfer learning method to perform secondary training on the I / O performance prediction model of a known application, it includes: Normalize the I / O characteristic parameters in the data set; Compare the similarity between the I / O characteristic parameters of the unknown application and the I / O characteristic parameters of all known applications, and select the I / O performance prediction model of the known application with the highest similarity; The selected dataset of known applications is used as the source domain, and the dataset of unknown applications is used as the target domain. The transfer learning algorithm is used to iteratively update the weights of the source domain samples and the target domain samples. The source domain samples and target domain samples with updated weights are used to train the I / O performance prediction model of the selected known applications until the accuracy meets the expectation or the maximum number of iterations is reached, thus obtaining the I / O performance prediction model of the unknown application.
6. The application-aware configuration parameter self-evolution tuning method according to claim 5, characterized in that: The specific steps of the transfer learning algorithm include: Combine the source domain samples and the target domain samples to obtain a combined sample, and set the initial weights of all samples in the combined sample; The combined samples are used as training samples to iteratively train the I / O performance prediction model of the selected known applications. In each iteration, the weights of the source domain samples in the combined samples are frozen, the model is trained using the AdaBoost.R2 algorithm, and the estimation error is calculated. Then, the weights of all samples in the combined samples are updated according to the estimation error. The model with the smallest estimation error is selected as the I / O performance prediction model for the unknown application.
7. The application-aware configuration parameter self-evolution tuning method according to claim 6, characterized in that: When the weights of all samples in the combined sample are updated according to the estimation error, the weight update formula of the source domain sample in the combined sample is: The weight update formula of the target domain sample in the combined sample is: in, represents the adjusted error of the i-th sample in the combined sample of the k-th iteration, Z k is the normalization coefficient, choose β k The total weight of the target domain samples is S is the number of iterations, n s Represents the number of source domain samples in the combined sample, n t Represents the number of target domain samples in the combined sample.
8. The application-aware configuration parameter self-evolution tuning method according to claim 1, characterized in that: After the I / O characteristic parameters of the application to be tuned are added to the parameter search space, the method includes: taking the midpoint values of all parameters in the entire parameter search space as initial parameter configuration.
9. The application-aware configuration parameter self-evolution tuning method according to claim 1, characterized in that: When passing the current round of parameter configuration to the search engine to generate the next round of parameter configuration, it includes: The parameter configuration of this round and the corresponding performance prediction results are fed back to the search engine, which uses a specified heuristic search algorithm to guide the search process and searches for the parameter configuration of the next round based on the parameter configuration of this round and all previous rounds and the corresponding performance prediction results.
10. An application-aware configuration parameter self-evolution tuning system, characterized in that: The invention comprises a microprocessor and a computer-readable storage medium connected to each other, wherein the microprocessor is programmed or configured to execute the application-aware configuration parameter self-evolution tuning method according to any one of claims 1 to 9.
Citation Information
Cited By
Parameter optimization method for chip electromagnetic fault injection test and computer equipment
CN120142909A