A parameter tuning method, system, device, and medium for a distributed storage system

By applying the combination method of Bayesian optimization and multi-objective evolution algorithms in distributed storage systems, the problem of low parameter tuning efficiency in the existing technology is solved, and more efficient parameter optimization and faster iteration process are achieved.

CN114415945BActive Publication Date: 2025-04-29AEROSPACE SCI & ENG NETWORK INFORMATION DEV CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111627516.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-28
Publication Date
2025-04-29
Estimated Expiration
2041-12-28

AI Technical Summary

Technical Problem

The existing distributed storage system parameter tuning methods are difficult to quickly find near-optimal configuration parameters, and the time overhead is high, especially when facing complex system structures and large amounts of data to be analyzed.

Method used

A priori initialization multi-objective evolution algorithm based on Bayesian optimization is adopted. By acquiring multiple optimization goals of the distributed storage system, parameter analysis and optimization are performed, and the optimization results are comprehensively used as the first population of the multi-objective optimization algorithm, and iteratively calculates to obtain parameter solutions that optimize all optimization goals simultaneously.

Benefits of technology

Improve the quality and iteration speed of parameter optimization, quickly find close to the optimal configuration parameters, and reduce time overhead.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114415945B_ABST
    Figure CN114415945B_ABST
Patent Text Reader

Abstract

The present invention discloses a parameter tuning method, system, device, and medium for a distributed storage system, and relates to the technical field of parameter tuning to solve the problem of slow parameter tuning speed of existing parameter tuning methods. The parameter tuning method establishes an independent Bayesian optimization model for multiple optimization targets, and then performs parameter synthesis, converts the optimization results into prior knowledge to initialize the first generation population of a multi-objective evolutionary algorithm, thereby improving the quality of optimized parameters and accelerating the iteration speed, thereby quickly tuning the parameters of the distributed storage system. The parameter tuning method, system, device, and medium for a distributed storage system provided by the present invention are used to quickly optimize the parameters of a distributed storage system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of parameter tuning, and in particular to a parameter tuning method, system, device, and medium for a distributed storage system. Background Art

[0002] As the scale of the Internet gradually expands, in pursuit of high reliability, high scalability and low-cost storage services, more and more institutions, companies and individuals have begun to accept and use distributed storage systems. With users' increasingly high service quality requirements, how to maximize the performance of the system on limited hardware facilities is a concern for many operation and maintenance personnel. Existing distributed storage systems usually have complex software architectures that support users to modify their built-in parameters through interfaces to guide the execution process of applications, and optimizing these parameters can significantly improve the performance of the system. However, for any system, there is no universal parameter configuration that adapts to all application loads, that is, it is necessary to analyze the inherent I / O characteristics of each user load and then configure the distributed storage system. Due to the complexity of the parameter space and the diversity of application loads, it is impractical to rely solely on traditional operation and maintenance methods to match a set of optimal parameter configurations for each user application from a high-dimensional parameter space.

[0003] The emergence of AIOps (Artificial Intelligence for IT Operations), or intelligent operation and maintenance, provides a good solution to these pain points in the current operation and maintenance of distributed storage systems, because it can use machine learning to intelligently analyze user loads, adjust parameter configurations, and provide users with intelligent performance optimization services through trade-off analysis of multiple indicators. However, due to the gradual expansion of scale and the complexity of internal structure, when using AIOps to tune the parameters of distributed storage systems, the lack of high-quality data, complex system structure, and huge amount of data to be analyzed will bring great challenges to AIOps. Existing tuning solutions do not take into account the large parameter dimensions of distributed storage systems, the complex parameter associations, and the mutual influence between targets, making it difficult to cope with the above challenges. As a result, when using machine learning algorithms to optimize the parameters of distributed storage systems, it is not easy to find configuration parameters close to the optimal, and the time cost is large.

[0004] Therefore, there is an urgent need for a method and system that can quickly optimize parameters of a distributed storage system. Summary of the invention

[0005] The purpose of the present invention is to provide a parameter tuning method, system, device, and medium for a distributed storage system, which can improve the quality of optimized parameters, speed up iteration, and quickly optimize the parameters of the distributed storage system based on the initial population of a multi-objective evolutionary algorithm initialized based on Bayesian optimization priors.

[0006] In order to achieve the above object, the present invention provides the following technical solutions:

[0007] A parameter tuning method for a distributed storage system, the parameter tuning method comprising:

[0008] Acquire multiple optimization objectives of a distributed storage system; the optimization objectives include time and cost;

[0009] For each of the optimization targets, parameter analysis is performed in the parameter-performance database corresponding to the distributed storage system, and parameters whose correlation with the optimization target is greater than a preset threshold are selected to form a parameter set corresponding to the optimization target; the parameter-performance database includes a plurality of sets of historical configuration value sets of parameters and historical performance values ​​of a plurality of optimization targets corresponding to each set of the historical configuration value sets;

[0010] Optimizing the parameters on the parameter set using a Bayesian optimization algorithm to obtain a parameter optimization result corresponding to the optimization target;

[0011] Combining the parameter optimization results corresponding to all the optimization objectives to obtain a comprehensive result;

[0012] Using the comprehensive result as the initial population of the multi-objective optimization algorithm, performing iterative calculations using the multi-objective optimization algorithm to obtain a set of parameter solutions that optimize all the optimization objectives simultaneously;

[0013] A parameter solution is selected from the parameter solution set according to user requirements, and the parameters of the distributed storage system are configured using the parameter solution.

[0014] Compared with the prior art, the parameter tuning method for a distributed storage system provided by the present invention establishes an independent Bayesian optimization model for multiple optimization objectives, and then performs parameter synthesis to convert the optimization results into prior knowledge for initializing the initial population of the multi-objective evolutionary algorithm, which can improve the quality of the optimized parameters and speed up the iteration speed.

[0015] A parameter tuning system for a distributed storage system, the parameter tuning system comprising:

[0016] An optimization target acquisition module, used to acquire multiple optimization targets of a distributed storage system; the optimization targets include time and cost;

[0017] A parameter analysis submodule is used to perform parameter analysis in a parameter-performance database corresponding to the distributed storage system for each of the optimization targets, and select parameters whose correlation with the optimization target is greater than a preset threshold to form a parameter set corresponding to the optimization target; the parameter-performance database includes a plurality of sets of historical configuration value sets of parameters and historical performance values ​​of a plurality of optimization targets corresponding to each set of the historical configuration value sets;

[0018] A parameter optimization submodule, used to perform parameter optimization on the parameter set using a Bayesian optimization algorithm to obtain a parameter optimization result corresponding to the optimization target;

[0019] A parameter synthesis module is used to synthesize the parameter optimization results corresponding to all the optimization objectives to obtain a comprehensive result;

[0020] A multi-objective optimization module, used to use the comprehensive result as the initial population of the multi-objective optimization algorithm, and use the multi-objective optimization algorithm to perform iterative calculations to obtain a set of parameter solutions that optimize all the optimization objectives simultaneously;

[0021] The preference selection module is used to select a parameter solution from the parameter solution set according to user needs, and use the parameter solution to configure the parameters of the distributed storage system.

[0022] A parameter tuning device for a distributed storage system, comprising:

[0023] Processor; and

[0024] a memory storing computer readable program instructions,

[0025] Wherein, the above parameter tuning method is executed when the computer-readable program instructions are executed by the processor.

[0026] A computer-readable storage medium stores a computer program, which implements the steps of the above parameter tuning method when executed by a processor.

[0027] Compared with the prior art, the beneficial effects of the parameter tuning system, device, and medium provided by the present invention are the same as the beneficial effects of the parameter tuning method described in the above technical solution, and will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:

[0029] Figure 1 A schematic diagram of a flow chart of a parameter tuning method provided in Example 1 of the present invention;

[0030] Figure 2 A schematic diagram of the process of the Bayesian optimization algorithm provided in Example 1 of the present invention;

[0031] Figure 3 A schematic diagram of the process of the multi-objective evolutionary algorithm provided in Example 1 of the present invention;

[0032] Figure 4 A schematic diagram of the overall architecture of the parameter tuning system provided in Example 2 of the present invention;

[0033] Figure 5 This is a schematic diagram of the overall design of the single-objective optimization module provided in Example 2 of the present invention;

[0034] Figure 6 A topological diagram of the test environment provided in Example 2 of the present invention;

[0035] Figure 7 A comparison chart of throughput rates of different configurations when the number of concurrent users provided in Example 2 of the present invention is 32;

[0036] Figure 8 A comparison chart of delays of different configurations when the number of concurrent users provided in Example 2 of the present invention is 32;

[0037] Fig. 9 A comparison chart of throughput rates of different configurations when the number of concurrent users provided in Example 2 of the present invention is 8;

[0038] Fig.10 A comparison chart of delays of different configurations when the number of concurrent users provided in Example 2 of the present invention is 8;

[0039] Fig.11 A graph showing how the optimal throughput changes with the number of iterations on a load webfile provided in Example 2 of the present invention;

[0040] Fig.12 A graph showing how the optimal delay changes with the number of iterations on a load webfile provided by Embodiment 2 of the present invention;

[0041] Fig.13 A graph showing the variation of the optimal throughput rate with the number of iterations on a load weblog provided by Example 2 of the present invention;

[0042] Fig.14 A graph showing how the optimal delay changes with the number of iterations on a load weblog provided by Example 2 of the present invention;

[0043] Fig.15 A graph showing how the optimal throughput changes with the number of iterations on an OLTP load provided by Embodiment 2 of the present invention;

[0044] Fig.16 A graph showing how the optimal delay changes with the number of iterations on the OLTP load provided by Embodiment 2 of the present invention;

[0045] Fig.17 A graph showing how the optimal throughput changes with the number of iterations on a video load provided in Example 2 of the present invention;

[0046] Fig.18 This is a graph showing how the optimal delay changes with the number of iterations on a loaded video according to Embodiment 2 of the present invention. DETAILED DESCRIPTION

[0047] In order to facilitate the clear description of the technical solutions of the embodiments of the present invention, in the embodiments of the present invention, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" in the present invention should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0048] Embodiment 1:

[0049] Before introducing the technical solution of this embodiment in detail, a brief introduction to the distributed storage system and AIOps is first given. A distributed storage system is a storage system that stores data in a dispersed manner on multiple independent devices. The distributed storage system adopts a scalable system structure, uses multiple storage servers to share the storage load, and uses location servers to locate storage information. AIOps, or intelligent operation and maintenance, is the application of artificial intelligence to the field of operation and maintenance, combining data analysis and machine intelligence, continuously learning from massive operation and maintenance data (logs, monitoring information, application information, etc.) and making advanced decisions to perform automated operation and maintenance operations.

[0050] The parameter tuning of distributed storage systems has the following main characteristics:

[0051] (1) After the hardware equipment for deploying the cloud storage system is fixed, the satisfaction of users' diverse performance requirements for the distributed storage system depends on accurate and efficient parameter tuning. However, for any system, there is no universal parameter configuration that can adapt to all application loads. That is, it is necessary to analyze the inherent I / O characteristics of each user load and then configure the distributed storage system.

[0052] (2) Today’s distributed storage systems usually have complex architectural designs, contain a huge number of parameters and complex parameter relationships, and are related to the hardware environment.

[0053] (3) Distributed storage system parameter tuning is a multi-objective optimization problem. In multi-objective optimization problems, since these objectives are often conflicting, it is difficult to find a set of solutions that can achieve the optimal solution for all objectives, so it is necessary to perform the best trade-off analysis between multiple objectives.

[0054] In order to achieve parameter tuning of distributed storage systems, the existing methods are as follows: a multi-objective optimization system MCAMC (Minimizing the Cost and Makespan of Cloud Service) is designed for the execution time of user tasks and the operating cost of cloud services in cloud environments. MCAMC uses a non-dominated sorting genetic algorithm in the optimization process. First, a resource allocation scheme is randomly selected for each task as the initial population, and the crossover and mutation operations of the evolutionary algorithm are performed on them to generate the next generation population. Through a series of operations such as fast non-dominated sorting and congestion calculation, a resource allocation strategy that meets the user's time and cost requirements is selected. When the algorithm converges, MCAMC will optimize a set of non-inferior solutions that satisfy multiple objectives as much as possible and return them to the user as a result. However, since MCAMC does not know in advance which resource allocation scheme may be better, it can only use random initialization. When faced with large-scale parameters, the calculation speed of the algorithm will become a bottleneck. Based on this, in order to meet the user's needs to obtain an optimal distributed storage system parameter configuration close to the user's needs at a faster speed, while ensuring the quality of the parameters, how to intelligently analyze the characteristics of different user loads and recommend a set of parameters that meet multiple performance indicators has become an urgent problem to be solved.

[0055] In view of the defects of the above-mentioned prior art, this embodiment provides a distributed storage system parameter tuning method based on Bayesian optimization priors, by establishing independent Bayesian optimization models for multiple optimization objectives, and then performing parameter synthesis, and converting the synthesis results into prior knowledge to initialize the initial population of the multi-objective evolutionary algorithm, thereby improving the quality of optimized parameters and accelerating the iteration speed. Figure 1 As shown, the parameter tuning method of this embodiment includes:

[0056] S1: Acquire multiple optimization objectives of a distributed storage system; the optimization objectives include time and cost;

[0057] The optimization target of this embodiment is determined according to user needs, and specifically may be the user's requirements regarding time and cost.

[0058] S2: For each optimization target, perform parameter analysis in the parameter-performance database corresponding to the distributed storage system, and select parameters whose correlation with the optimization target is greater than a preset threshold to form a parameter set corresponding to the optimization target; the parameter-performance database includes a plurality of sets of historical configuration value sets of parameters and historical performance values ​​of a plurality of optimization targets corresponding to each set of the historical configuration value sets;

[0059] Considering that some parameters in the distributed storage system cannot be modified (such as server IP address, file path, port number, etc.), these unmodifiable parameters have no effect on the performance of the distributed storage system. Therefore, before S2, the parameter tuning method of this embodiment also includes: preprocessing the parameter-performance database, manually counting the unmodifiable parameters, removing the unmodifiable parameters in the parameter-performance database after a series of parameter filtering and cleaning operations, deleting all the values ​​of the unmodifiable parameters, preliminarily screening out parameters that may be related to system performance, obtaining the preprocessed parameter-performance database, and using the preprocessed parameter-performance database as the new parameter-performance database to execute S2. By preliminarily screening the parameters, the quality of the optimized parameters can be further improved and the number of iterations can be reduced.

[0060] In S2, performing parameter analysis in the parameter-performance database corresponding to the distributed storage system may include: using the relation-extract function to analyze and select parameters with a correlation greater than a preset threshold value with respect to the optimization target in the parameter-performance database, and then directly forming these parameters into a parameter set. Alternatively, using Lasso regression analysis to calculate the correlation between each parameter in the parameter-performance database and the optimization target, and then selecting parameters with a correlation greater than a preset threshold value to form a parameter set, and then extracting important parameters with a high correlation with each single target.

[0061] Among them, a function relation-extract is used to analyze and extract important parameters (i.e. parameters with a correlation greater than a preset threshold), including: X important =relation_extract(target,X);X important It means extracting a set of parameters that are highly correlated with the optimization objective from the entire sample space X (i.e., the parameter-performance database).

[0062] The performance data corresponding to the optimization target is obtained from the parameter-performance database, and then the influence (i.e., correlation) of each parameter on the optimization target performance is analyzed using Lasso regression, and several parameters with the highest influence are returned to form a parameter set.

[0063] S3: Optimize the parameters on the parameter set using a Bayesian optimization algorithm to obtain a parameter optimization result corresponding to the optimization target;

[0064] like Figure 2 As shown, S3 may include:

[0065] (1) Determine the value range of each parameter in the parameter set based on the document description provided by the developer;

[0066] Specifically, determine a reasonable value range for each parameter based on the documentation provided by the developer. For string and Boolean parameters that cannot be quantified, convert them into numeric values. The specific method is as follows: Boolean parameters use simple numeric mapping, that is, True corresponds to 1 and False corresponds to 0; for string type parameters, if there is a size relationship between multiple discrete values, they are mapped to integer values ​​according to the size relationship, and the category information is encoded using one-hot encoding. By defining the range of parameters, the quality of optimized parameters can be further improved and the number of iterations can be reduced. At the same time, for string and Boolean parameters that cannot be quantified, converting them into numeric values ​​and normalizing the parameter range can effectively improve the quality of the model.

[0067] (2) For each parameter, use the random library function to randomly sample within the parameter value range to obtain the parameter value; the values ​​of all parameters in the parameter set constitute the initial sample points;

[0068] Since the types and values ​​of parameters in distributed storage systems are different, in order to diversify the parameter sampling results as much as possible and avoid the limitations of human specification, the random library function is used to randomly sample all parameters within their value range.

[0069] (3) Initializing the Bayesian optimization model using the initial sample points to obtain the initial Bayesian optimization model; evaluating the initial sample points using the initial Bayesian optimization model to obtain the performance value of the initial sample points; the performance value of the initial sample points is the performance value of the optimization target corresponding to the parameter set obtained when the parameters in the parameter set take the value of the initial sample points.

[0070] (4) modifying a Gaussian process model based on the performance value; the Gaussian process model is used to fit the posterior probability distribution of the target performance;

[0071] (5) Based on the Gaussian process model, use the acquisition function to perform sampling within the value range to generate a first sample point; use the initial Bayesian optimization model to evaluate the first sample point to obtain a performance value of the first sample point;

[0072] The acquisition function is used to perform sampling within the value range of each parameter to obtain the value of each parameter in the parameter set, and the values ​​of all parameters constitute the first sample point.

[0073] (6) Determine whether the preset iteration termination condition is reached;

[0074] The preset iteration termination condition may be that the performance value reaches the target value or the number of iterations reaches the preset number of iterations.

[0075] (7) If not, the performance value of the first sample point is used as the performance value, and the process returns to the step of “correcting the Gaussian process model based on the performance value”;

[0076] (8) If yes, then all the first sample points involved in the iteration process constitute the parameter optimization results corresponding to the optimization target, and the iteration ends.

[0077] This embodiment uses the initial sample point to initialize the model. The acquisition function selects the next suitable parameter value in the parameter value range, and uses the evaluation result of this parameter to update the Gaussian process model. When a parameter that meets the target value is searched or iterates a certain number of times, the Bayesian optimization model terminates and outputs the parameter configuration with the best performance in the optimization process to obtain the parameter optimization result for each optimization target.

[0078] As an optional implementation, since some parameters represent special meanings or dependencies between parameters, it is necessary to improve the random sampling process. Using the random library function to randomly sample within the range of parameter values ​​may include: taking the dependency between parameters as a constraint, using the random library function to randomly sample within the range of parameter values. Using the acquisition function to perform sampling within the range of values ​​to generate the first sample point may include: taking the dependency between parameters as a constraint, using the acquisition function to perform sampling within the range of values ​​to generate the first sample point. By introducing the constraint of the dependency between parameters in the process of generating the initial sample point and the first sample point, the quality of the optimized parameters can be further improved and the number of iterations can be reduced.

[0079] For example, in the configuration file of the proxy node of the OpenStack Swift system, the value of the parameter concurrency_timeout must be between 0 and another parameter node_timeout. Node_timeout indicates the time the proxy node waits for the storage node to respond. If the node_timeout is exceeded and the storage node has not returned any response information, the proxy node will re-initiate the request. When the proxy node receives a user's read request, it can set multiple concurrent threads equal to the number of replicas, and then be responsible for initiating read requests to different storage nodes respectively, and use the result of the first response to answer the user. Concurrency_timeout indicates the time interval between triggering multiple threads. Concurrency_timeout of 0 indicates that all threads are fully concurrent. If the sampling rule does not meet the concurrency_timeout less than node_timeout, even if multiple threads are set to access the storage node simultaneously, only one thread will be executed each time, because the proxy node has received the response result before the second thread is started.

[0080] S4: integrating the parameter optimization results corresponding to all the optimization objectives to obtain a comprehensive result;

[0081] In the parameter set X important Parameters are optimized for the target, and the parameter optimization results are synthesized and converted into prior sample points for multi-objective optimization.

[0082] The comprehensive operations on the parameter optimization results are as follows:

[0083] P0=Σ(target,X important );

[0084] The BO (Bayesian Optimization) algorithm is executed on the parameter set for a specific target to obtain the parameter optimization results for different targets, and these parameter optimization results are integrated using Σ to obtain the initial population P0.

[0085] Specifically, S4 may include:

[0086] (1) For each parameter optimization result corresponding to the optimization target, the parameter optimization results are arranged in descending order by row according to the performance value, and the first n rows are selected to form the matrix to be integrated;

[0087] The parameter optimization result is a combination of all first sample points, and the first sample point is the value of all parameters in the parameter set, so the parameter optimization result is an N*A matrix, N is the number of iterations of Bayesian optimization, which is also the number of first sample points, and A is the number of parameters in the parameter set. At the same time, each first sample point corresponds to a performance value, so the N*A matrix is ​​first sorted in descending order according to the performance value, and the first n groups of better parameters are intercepted to form the matrix to be integrated.

[0088] (2) Randomly select two matrices to be integrated, which are respectively recorded as the first matrix and the second matrix;

[0089] For the convenience of subsequent description, the first matrix is ​​recorded as T and the second matrix is ​​recorded as L. T and L are matrices of n*p and n*q dimensions, respectively, and p and q are the numbers of parameters associated with the two optimization objectives, respectively.

[0090] (3) determining whether there are common parameters between the first matrix and the second matrix; the common parameters are parameters contained in both the first matrix and the second matrix;

[0091] Usually, different optimization objectives have different parameters, but it is not ruled out that there is a parameter that has a great impact on the performance of both optimization objectives. For such common parameters, although it is impossible to obtain a specific value that optimizes the performance of both optimization objectives, it is certain that by inputting the solutions optimized for different objectives into the multi-objective optimization module, at least one of the objectives can be close to the optimal. So first calculate the common parameters of matrices T and L, and record the number of common parameters as c.

[0092] (4) If it does not exist, randomly combine the first matrix and the second matrix to obtain a comprehensive matrix; if it exists, determine whether the number of common parameters is equal to the number of parameters of the first matrix or equal to the number of parameters of the second matrix;

[0093] (5) If yes, the first matrix and the second matrix are replaced and combined to obtain a comprehensive matrix; if no, the non-public parameters are randomly combined, the public parameters are respectively processed with original values ​​and average values, and the processed non-public parameters and the processed public parameters are replaced and combined to obtain a comprehensive matrix;

[0094] Specifically, after the ∑ operator operation, a comprehensive matrix of M*(p+qc) dimensions is finally obtained, where M represents the number of parameter solutions in the prior, and its calculation formula is as follows:

[0095]

[0096] When 0<c<min(p, q), for these c public parameters, three different sets of parameter solutions can be formed by taking their original values ​​or average values ​​respectively. The remaining non-public parameters can be directly generated by random combination. 2 different parameter solutions, and finally randomly combine them to get 3n 2 different parameter solutions; when c is equal to min(p, q), it means that the parameter sets of T and L are in a relationship of inclusion and being included. At this time, 2n sets of different parameter solutions will be generated after integration; c = 0 means that there are no common parameters, then the p parameters of T and the q parameters of L are randomly combined, which will produce n 2 Different parameter solutions.

[0097] (6) Determine whether all matrices to be integrated have been selected;

[0098] (7) If so, the comprehensive matrix is ​​taken as the comprehensive result; the M parameter solutions are the comprehensive results of the initial single-objective optimization, and the comprehensive results are taken as the initial population of the multi-objective evolutionary algorithm.

[0099] (8) If not, randomly select an unselected matrix to be integrated as the first matrix, use the integrated matrix as the second matrix, and return to the step of "determining whether the first matrix and the second matrix have common parameters".

[0100] S5: using the comprehensive result as the initial population of the multi-objective optimization algorithm, performing iterative calculations using the multi-objective optimization algorithm, and obtaining a set of parameter solutions that optimize all the optimization objectives simultaneously;

[0101] Specifically, Figure 3 As shown, S5 may include:

[0102] (1) Using the comprehensive results as the initial population of the multi-objective optimization algorithm, non-dominated sorting, selection, crossover and mutation are performed on the initial population to generate the first-generation subpopulation;

[0103] (2) Merge the initial population and the first-generation subpopulation to obtain a merged population;

[0104] P now =Cross_Muta(P i )+P i ;

[0105] Among them, the function Cross_Muta represents the selection, crossover and mutation in the population, P i is the first generation population; P now The merged population.

[0106] (3) Perform fast non-dominated sorting and congestion calculation on the merged population to select excellent individuals; merge the excellent individuals with the initial population to obtain a new parent population;

[0107] P i+1 ={argmaxpnow(C_T(p now )-C_T(p i ))}+P i ;

[0108] Among them, P i+1 is the new parent population; argmaxpnow(C_T(p now )-C_T(p i ))} is an excellent individual, function C_T is the fitness function, and individuals with higher fitness in the population are considered to be better, until the C_T function value tends to be stable or C_T(p now ) is no longer significantly greater than C_T(p i ), it indicates that the iteration reaches the optimum, and a set of parameter solutions is obtained that optimizes multiple optimization objectives at the same time.

[0109] (4) Select, crossover and mutate the new parent population to generate a new sub-population;

[0110] (5) Determine whether the current number of iterations reaches the maximum number of iterations;

[0111] (6) If yes, the new parent population is used as the parameter solution set that optimizes all optimization objectives simultaneously, and the iteration ends;

[0112] (7) If not, take the new parent population as the first-generation population and the new sub-population as the first-generation sub-population, and return to the step of "merging the first-generation population and the first-generation sub-population to obtain the merged population".

[0113] S6: Select a parameter solution from the parameter solution set according to user requirements, and use the parameter solution to configure parameters of the distributed storage system.

[0114] Specifically, based on the user's preference and emphasis on target performance, a set of parameter solutions is selected from the parameter solution set and returned to the user as the final optimization result. This set of parameters is used to automatically deploy a distributed storage system, thus achieving automatic parameter tuning for multiple objectives.

[0115] This embodiment provides a distributed storage system parameter tuning method based on Bayesian optimization prior. By establishing an independent Bayesian optimization model for multiple optimization objectives and then performing parameter synthesis, the optimization results are converted into prior knowledge for initializing the initial population of the multi-objective evolutionary algorithm, which can improve the quality of the optimized parameters and speed up the iteration speed.

[0116] Embodiment 2:

[0117] This embodiment is used to provide a parameter tuning system for a distributed storage system. Figure 4 As shown in Figure 1, the parameter tuning system (DSST system) includes: a priori generation module, a multi-objective optimization module and a preference selection module. The priori generation module includes two modules: a single-objective optimization module and a parameter synthesis module. Figure 5 As shown in the figure, the parameter analysis submodule in the single-objective optimization module is used to analyze the data in the parameter-performance database to obtain a set of parameters that are highly correlated with the target. Then, the parameter optimization submodule is used to optimize these parameters to obtain the parameter values ​​that optimize the target application performance. The parameter synthesis module synthesizes multiple optimization results and converts them into priors. The samples obtained by the prior generation module are imported into the multi-objective optimization module. The multi-objective optimization module first performs a crossover mutation process, then merges the offspring population generated by the crossover mutation with the primary population, and performs fast non-dominated sorting and crowding calculation on the merged population, then selects excellent individuals and merges them with the primary population to generate a new parent population. By repeatedly executing these steps, the individuals in the population are getting closer and closer to the optimal solution, and finally the model can predict several sets of parameter solutions that meet multiple objectives. The preference selection module selects a set of parameters from the solution set as the final optimization result based on the user's preference and importance for the target performance and returns it to the user, and uses this set of parameters to automatically deploy the distributed storage system, realizing multi-objective automatic parameter tuning.

[0118] Specifically, the parameter tuning system includes:

[0119] An optimization target acquisition module, used to acquire multiple optimization targets of a distributed storage system; the optimization targets include time and cost;

[0120] A parameter analysis submodule is used to perform parameter analysis in a parameter-performance database corresponding to the distributed storage system for each of the optimization targets, and select parameters whose correlation with the optimization target is greater than a preset threshold to form a parameter set corresponding to the optimization target; the parameter-performance database includes a plurality of sets of historical configuration value sets of parameters and historical performance values ​​of a plurality of optimization targets corresponding to each set of the historical configuration value sets;

[0121] A parameter optimization submodule, used to perform parameter optimization on the parameter set using a Bayesian optimization algorithm to obtain a parameter optimization result corresponding to the optimization target;

[0122] A parameter synthesis module is used to synthesize the parameter optimization results corresponding to all the optimization objectives to obtain a comprehensive result;

[0123] A multi-objective optimization module, used to use the comprehensive result as the initial population of the multi-objective optimization algorithm, and use the multi-objective optimization algorithm to perform iterative calculations to obtain a set of parameter solutions that optimize all the optimization objectives simultaneously;

[0124] The preference selection module is used to select a parameter solution from the parameter solution set according to user needs, and use the parameter solution to configure the parameters of the distributed storage system.

[0125] In order to verify the effectiveness of the DSST system in this embodiment, the following verification experiment was designed:

[0126] This experiment is based on the OpenStack Swift distributed storage system. The network topology of the test environment is as follows: Figure 6 As shown in the figure, the OpenStack Swift system is divided into two layers from the architecture: the proxy layer (Proxy Nodes) and the storage layer (Storage Nodes). The proxy layer is responsible for processing RESTful requests and authenticating user identities. The storage layer consists of a series of storage nodes, which are responsible for storing object data and using a single machine to generate load and record performance.

[0127] The hardware and software configurations of the machines used in the experiment are shown in Table 1. The COSBench client is run on the specified machine to send requests to saturate the OpenStack Swift system. Each benchmark runs for 20 minutes.

[0128] Table 1 Test environment configuration

[0129]

[0130]

[0131] In order to reflect the real environment characteristics of the distributed storage system, this experiment prepared four application loads as shown in Table 2 based on Dell's white paper and related literature. Each load has its own characteristics according to different application fields, and there are differences in the read-write ratio and average access size of the object. In the experiment, the popular distributed storage system benchmark tool COSBench is used as a workload generator. According to different read-write ratios and sizes, corresponding requests are generated and sent to the proxy service node of the OpenStack Swift system. After receiving the request, the proxy node processes it, performs access operations on the corresponding object storage node, and then returns the results to the COSBench client.

[0132] Table 2 Experimental load

[0133]

[0134] (1) Parameter quality comparison

[0135] Figure 7 and Figure 8 The comparison of throughput and latency of the OpenStack Swift system under four configurations when the number of concurrent users is 32 is shown respectively. The horizontal axis represents different application loads, and the vertical axis represents the observed performance indicators. The throughput is measured by the number of requests processed per unit time (IOPS), and the latency represents the average time required to process a single request, calculated in ms. The MCAMC system achieves better performance in throughput and latency than the default and manual configurations, but the improvement ratio is not large. There is a higher latency than the manual configuration on the load webfile, indicating that MCAMC has not searched for the parameter solution that minimizes the system latency. Compared with the other three configurations, the parameter configuration optimized by the DSST system in this embodiment can both improve the system throughput and reduce latency.

[0136] Fig. 9 and Fig.10 The throughput and latency performance of the four configurations are compared when the number of concurrent users is 8. The parameters optimized by the MCAMC system on the load webfile and weblog have a certain degree of improvement in throughput compared to the default configuration and manual configuration, but the latency has increased. The DSST system in this embodiment can both improve the throughput of the distributed storage system and reduce latency, indicating that DSST can search for parameter solutions in the parameter space that optimize multiple performances at the same time, making the quality of the tuned parameters higher.

[0137] Table 3 summarizes the performance optimization ratios (throughput improvement ratio and latency reduction ratio) of the parameters optimized by the DSST system compared to the other three configurations under different loads. Regarding throughput performance, the DSST system achieved a maximum of 1254.91 requests per second on the load webfile, which increased the throughput by 48.74%, 36.89%, and 28.17% compared to the default, manual, and MCAMC optimized configurations, and the lowest throughput was increased by 11.93%, 14.68%, and 9.78%, respectively. Regarding latency performance, DSST optimized the latency to 38.96ms on the load webfile, which was 47.16%, 38.87%, and 41.11% lower than the default, manual, and MCAMC configurations, and the worst case latency was reduced by 19.20%, 12.46%, and 7.48%, respectively.

[0138] Table 3 The improvement ratio of DSST in throughput and the reduction ratio of latency compared with the three configurations

[0139]

[0140] In summary, compared with the default configuration, manual configuration and MCAMC optimized configuration, the configuration finally optimized by DSST can increase the throughput by 11.93% to 48.74%, 14.68% to 36.89%, and 9.78% to 28.17%, respectively, and reduce the delay by 19.20% to 47.16%, 12.46% to 38.87%, and 7.48% to 41.11%, respectively, indicating that the DSST system not only effectively improves the throughput, but also reduces the delay. It proves that the parameter tuning system proposed in this embodiment uses prior knowledge to guide the model to more accurately adjust the parameters of the distributed storage system, so that the optimized parameters are closer to the optimal solution and the quality is better.

[0141] (2) Comparison of parameter tuning efficiency

[0142] Figure 11-Figure 18 The figure shows how the optimal values ​​of throughput and latency change during the first n iterations of DSST and MCAMC for four application loads: webfile, weblog, OLTP, and video. The experiment collected the results of 30 iterations of MCAMC and DSST for each load, and marked the coordinates of the optimal points of throughput and latency during the iteration process.

[0143] like Fig.11 and Fig.12 As shown in the figure, the convergence process of throughput and delay of DSST and MCAMC systems in the process of optimizing the load webfile. It can be seen that the performance of the DSST system changes significantly during the iteration process, indicating that DSST searches a wider parameter space than MCAMC. During the DSST optimization process, when the throughput and delay converge to the optimal, 15 and 3 iterations are required, respectively, while MCAMC requires 29 and 30 iterations, respectively, indicating that DSST has a higher optimization efficiency on the load webfile than MCAMC.

[0144] like Fig.13 and Fig.14 As shown in the figure, the optimal throughput and delay changes when optimizing the load weblog. At the same number of iterations, the throughput corresponding to the parameters optimized by the DSST system is higher than that of MCAMC, while the delay is lower than that of MCAMC. At the same time, when converging to the optimal solution, DSST needs 10 fewer iterations than MCAMC, indicating that DSST can search for a near-optimal solution faster when optimizing the load weblog.

[0145] like Fig.15 and Fig.16As shown in the figure, when optimizing the load OLTP, the number of iterations required for DSST to converge to the optimal solution is 9 times less than that of MCAMC, and the maximum throughput achieved by DSST during the optimization process is significantly higher than that of MCAMC, and the minimum delay is also lower than that of MCAMC.

[0146] like Fig.17 and Fig.18 As shown in the figure, the throughput performance of the two methods is close to each other in terms of load video. In terms of latency performance, DSST needs 2 more iterations than MCAMC to converge to the optimal value, but the latency is reduced by 32.9%.

[0147] In summary, on the four loads, compared with MCAMC, DSST can generally search for parameter solutions with better quality with fewer iterations. In general, in the load based on the OpenStack Swift system and the real environment characteristics, the parameter tuning system implemented by the distributed storage system parameter tuning method based on Bayesian optimization prior proposed in Example 1 can effectively improve the throughput and reduce the delay by comparing the default parameters and the manually configured parameters, so that the optimized parameters are closer to the optimal solution.

[0148] This embodiment establishes independent Bayesian optimization models for multiple optimization objectives, then performs parameter synthesis, and converts the optimization results into prior knowledge for initializing the initial population of the multi-objective evolutionary algorithm, which can improve the quality of optimized parameters and speed up the iteration speed.

[0149] Embodiment 3:

[0150] This embodiment is used to provide a parameter tuning device for a distributed storage system, including:

[0151] Processor; and

[0152] a memory storing computer readable program instructions,

[0153] Wherein, when the computer-readable program instructions are executed by the processor, the parameter tuning method as described in Example 1 is executed.

[0154] Embodiment 4:

[0155] This embodiment is used to provide a computer-readable storage medium, on which a computer program is stored, characterized in that when the program is executed by a processor, the steps of the parameter tuning method described in Example 1 are implemented.

[0156] Although the present invention is described herein in conjunction with various embodiments, in the process of implementing the claimed invention, those skilled in the art may understand and implement other variations of the disclosed embodiments by viewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "one" or "an" does not exclude multiple situations. A single processor or other unit may implement several functions listed in the claims. Certain measures are recorded in different dependent claims, but this does not mean that these measures cannot be combined to produce good results.

[0157] Although the present invention has been described in conjunction with specific features and embodiments thereof, it is apparent that various modifications and combinations may be made thereto without departing from the spirit and scope of the present invention. Accordingly, this specification and the accompanying drawings are merely exemplary illustrations of the present invention as defined by the appended claims and are deemed to cover any and all modifications, variations, combinations or equivalents within the scope of the present invention. Obviously, those skilled in the art may make various modifications and variations to the present invention without departing from the spirit and scope of the present invention. Thus, the present invention is intended to include such modifications and variations if they fall within the scope of the claims of the present invention and their equivalents.

Claims

1. A parameter tuning method for a distributed storage system, characterized in that: The parameter tuning method comprises: Acquire multiple optimization objectives of the distributed storage system; the optimization objectives include time and cost; For each of the optimization targets, parameter analysis is performed in the parameter-performance database corresponding to the distributed storage system, and parameters whose correlation with the optimization target is greater than a preset threshold are selected to form a parameter set corresponding to the optimization target; the parameter-performance database includes a plurality of sets of historical configuration value sets of parameters and historical performance values ​​of a plurality of optimization targets corresponding to each set of the historical configuration value sets; Optimizing the parameters on the parameter set using a Bayesian optimization algorithm to obtain a parameter optimization result corresponding to the optimization target; The parameter optimization results corresponding to all the optimization objectives are integrated to obtain a comprehensive result, which specifically includes: For each parameter optimization result corresponding to the optimization target, the parameter optimization results are arranged in descending order by row according to the performance value, and the first n rows are selected to form a matrix to be integrated. Randomly select two matrices to be integrated, which are respectively denoted as the first matrix T and the second matrix L, where T and L are matrices of n*p and n*q dimensions, respectively, and p and q are the numbers of parameters associated with the two optimization objectives, respectively. Determine whether the first matrix and the second matrix have common parameters; the common parameters are parameters contained in both the first matrix and the second matrix, and the number of common parameters is denoted as c. If it does not exist, the first matrix and the second matrix are randomly combined to obtain a comprehensive matrix; if it exists, it is determined whether the number of the common parameters is equal to the number of parameters of the first matrix or equal to the number of parameters of the second matrix, If yes, the first matrix and the second matrix are replaced and combined to obtain a comprehensive matrix; if no, the non-public parameters are randomly combined, the public parameters are respectively processed with original values ​​and average values, and the processed non-public parameters and the processed public parameters are replaced and combined to obtain a comprehensive matrix. in, In the parameter set X important Optimize the parameters for the target target, and synthesize the parameter optimization results to convert them into prior sample points for multi-objective optimization. The comprehensive operations on the parameter optimization results are as follows: P0=Σ(target, X important ), The Bayesian optimization algorithm is executed on the parameter set for a specific target to obtain the parameter optimization results for different targets, and these parameter optimization results are synthesized using Σ to obtain the initial population P0. After the ∑ operator operation, we finally get a comprehensive matrix of M*(p+qc) dimensions, where M represents the number of parameter solutions in the prior, and its calculation formula is as follows: When \(0 < c < \min(p, q)\), for these \(c\) common parameters, three different sets of parameter solutions can be formed by taking their original values or averages respectively. For the remaining non - common parameters, \(n\) different parameter solutions can be generated directly through random combination. Finally, randomly combining them will result in \(3n\) different parameter solutions. When \(c=\min(p, q)\), it indicates an inclusion relationship between the parameter sets of \(T\) and \(L\). At this time, \(2n\) different sets of parameter solutions will be generated after synthesis. When \(c = 0\), which means there are no common parameters, randomly combining the \(p\) parameters of \(T\) and the \(q\) parameters of \(L\) will produce \(n\) different parameter solutions. 2 different parameter solutions. 2 When \(c=\min(p, q)\), it indicates an inclusion relationship between the parameter sets of \(T\) and \(L\). At this time, \(2n\) different sets of parameter solutions will be generated after synthesis. When \(c = 0\), which means there are no common parameters, randomly combining the \(p\) parameters of \(T\) and the \(q\) parameters of \(L\) will produce \(n\) different parameter solutions. 2 different parameter solutions. Determine whether all the matrices to be integrated have been selected, If so, the comprehensive matrix is ​​used as the comprehensive result. If not, randomly select an unselected matrix to be integrated as the first matrix, use the integrated matrix as the second matrix, and return to the step of "determining whether the first matrix and the second matrix have common parameters"; Using the comprehensive result as the initial population of the multi-objective optimization algorithm, performing iterative calculations using the multi-objective optimization algorithm, and obtaining a set of parameter solutions that optimize all the optimization objectives simultaneously; A parameter solution is selected from the parameter solution set according to user requirements, and the parameters of the distributed storage system are configured using the parameter solution.

2. The parameter tuning method according to claim 1, characterized in that: Before performing parameter analysis in the parameter-performance database corresponding to the distributed storage system, the parameter tuning method further includes: The parameter-performance database is preprocessed to remove unmodifiable parameters in the parameter-performance database to obtain a preprocessed parameter-performance database, and the preprocessed parameter-performance database is used as a new parameter-performance database.

3. The parameter tuning method according to claim 1, characterized in that: The performing parameter analysis in the parameter-performance database corresponding to the distributed storage system specifically includes: Analyzing and selecting parameters whose correlation with the optimization target is greater than a preset threshold value in the parameter-performance database by using a relation-extract function; or, Lasso regression analysis is used to calculate the correlation between each parameter in the parameter-performance database and the optimization target.

4. The parameter tuning method according to claim 1, characterized in that: The method of performing parameter optimization on the parameter set by using the Bayesian optimization algorithm to obtain the parameter optimization result corresponding to the optimization target specifically includes: Determine the value range of each parameter in the parameter set according to the document description provided by the developer; For each of the parameters, random sampling is performed within the range of the parameter using the random library function to obtain the value of the parameter; the values ​​of all the parameters constitute the initial sample points; Initializing the Bayesian optimization model using the initial sample points to obtain an initial Bayesian optimization model; evaluating the initial sample points using the initial Bayesian optimization model to obtain a performance value of the initial sample points; Modifying a Gaussian process model based on the performance value; the Gaussian process model is used to fit the posterior probability distribution of the target performance; Based on the Gaussian process model, using an acquisition function to perform sampling within the value range to generate a first sample point; using the initial Bayesian optimization model to evaluate the first sample point to obtain a performance value of the first sample point; Determine whether the preset iteration termination condition is reached; If not, taking the performance value of the first sample point as the performance value, and returning to the step of "correcting the Gaussian process model based on the performance value"; If so, all the first sample points involved in the iteration process constitute the parameter optimization result corresponding to the optimization target, and the iteration ends.

5. The parameter tuning method according to claim 4, characterized in that: The random sampling within the range of the parameter using the random library function specifically includes: taking the dependency relationship between the parameters as a constraint, randomly sampling within the range of the parameter using the random library function; The using the acquisition function to perform sampling within the value range to generate the first sample point specifically includes: taking the dependency relationship between parameters as a constraint, using the acquisition function to perform sampling within the value range to generate the first sample point.

6. The parameter tuning method according to claim 1, characterized in that: The method of using the comprehensive result as the initial population of the multi-objective optimization algorithm and performing iterative calculation using the multi-objective optimization algorithm to obtain a parameter solution set that optimizes all the optimization objectives simultaneously specifically includes: Using the comprehensive result as the initial population of the multi-objective optimization algorithm, performing non-dominated sorting, selection, crossover and mutation on the initial population to generate a first-generation subpopulation; Merging the primary population and the first-generation subpopulation to obtain a merged population; Performing fast non-dominated sorting and congestion calculation on the merged population to select excellent individuals; merging the excellent individuals with the initial generation population to obtain a new parent population; The new parent population is subjected to selection, crossover and mutation to generate a new sub-population; Determine whether the current number of iterations has reached the maximum number of iterations; If yes, the new parent population is used as a parameter solution set that optimizes all the optimization objectives simultaneously, and the iteration ends; If not, the new parent population is used as the primary population, the new sub-population is used as the first-generation sub-population, and the process returns to the step of "merging the primary population and the first-generation sub-population to obtain a merged population".

7. A parameter tuning system for a distributed storage system, characterized in that: The parameter tuning system comprises: An optimization target acquisition module, used to acquire multiple optimization targets of a distributed storage system; the optimization targets include time and cost; A parameter analysis submodule is used to perform parameter analysis in a parameter-performance database corresponding to the distributed storage system for each of the optimization targets, and select parameters whose correlation with the optimization target is greater than a preset threshold to form a parameter set corresponding to the optimization target; the parameter-performance database includes a plurality of sets of historical configuration value sets of parameters and historical performance values ​​of a plurality of optimization targets corresponding to each set of the historical configuration value sets; A parameter optimization submodule, used to perform parameter optimization on the parameter set using a Bayesian optimization algorithm to obtain a parameter optimization result corresponding to the optimization target; The parameter synthesis module is used to synthesize the parameter optimization results corresponding to all the optimization objectives to obtain a comprehensive result. Specifically include: For each parameter optimization result corresponding to the optimization target, the parameter optimization results are arranged in descending order by row according to the performance value, and the first n rows are selected to form a matrix to be integrated. Randomly select two matrices to be integrated, and record them as the first matrix T and the second matrix L , T and L are matrices of n*p and n*q dimensions respectively, p and q are the number of parameters associated with the two optimization objectives respectively, Determine whether the first matrix and the second matrix have common parameters; the common parameters are parameters contained in both the first matrix and the second matrix, and the number of common parameters is denoted as c. If it does not exist, the first matrix and the second matrix are randomly combined to obtain a comprehensive matrix; if it exists, it is determined whether the number of the common parameters is equal to the number of parameters of the first matrix or equal to the number of parameters of the second matrix, If yes, the first matrix and the second matrix are replaced and combined to obtain a comprehensive matrix; if no, the non-public parameters are randomly combined, the public parameters are respectively processed with original values ​​and average values, and the processed non-public parameters and the processed public parameters are replaced and combined to obtain a comprehensive matrix. in, In the parameter set X important Optimize the parameters for the target target, and synthesize the parameter optimization results to convert them into prior sample points for multi-objective optimization. The comprehensive operations on the parameter optimization results are as follows: P0=Σ(target, X important ), The Bayesian optimization algorithm is executed on the parameter set for a specific target to obtain the parameter optimization results for different targets, and these parameter optimization results are synthesized using Σ to obtain the initial population P0, After the ∑ operator operation, we finally get a comprehensive matrix of M*(p+qc) dimensions, where M represents the number of parameter solutions in the prior, and its calculation formula is as follows: When \(0 \lt c \lt \min(p, q)\), for these \(c\) common parameters, three different sets of parameter solutions can be formed by respectively taking their original values or averages. For the remaining non-common parameters, \(n\) different parameter solutions can be generated directly through random combination. Finally, randomly combining them will result in \(3n\) different parameter solutions. When \(c\) is equal to \(\min(p, q)\), it indicates an inclusion relationship between the parameter sets of \(T\) and \(L\). At this time, a total of \(2n\) different sets of parameter solutions will be generated after synthesis. When \(c = 0\), it means there are no common parameters. Then, randomly combining the \(p\) parameters of \(T\) and the \(q\) parameters of \(L\) will produce \(n\) different parameter solutions. 2 When \(0 \lt c \lt \min(p, q)\), for these \(c\) common parameters, three different sets of parameter solutions can be formed by respectively taking their original values or averages. For the remaining non-common parameters, \(n\) different parameter solutions can be generated directly through random combination. Finally, randomly combining them will result in \(3n\) different parameter solutions. When \(c\) is equal to \(\min(p, q)\), it indicates an inclusion relationship between the parameter sets of \(T\) and \(L\). At this time, a total of \(2n\) different sets of parameter solutions will be generated after synthesis. When \(c = 0\), it means there are no common parameters. Then, randomly combining the \(p\) parameters of \(T\) and the \(q\) parameters of \(L\) will produce \(n\) different parameter solutions. 2 When \(0 \lt c \lt \min(p, q)\), for these \(c\) common parameters, three different sets of parameter solutions can be formed by respectively taking their original values or averages. For the remaining non-common parameters, \(n\) different parameter solutions can be generated directly through random combination. Finally, randomly combining them will result in \(3n\) different parameter solutions. When \(c\) is equal to \(\min(p, q)\), it indicates an inclusion relationship between the parameter sets of \(T\) and \(L\). At this time, a total of \(2n\) different sets of parameter solutions will be generated after synthesis. When \(c = 0\), it means there are no common parameters. Then, randomly combining the \(p\) parameters of \(T\) and the \(q\) parameters of \(L\) will produce \(n\) different parameter solutions. 2 When \(0 \lt c \lt \min(p, q)\), for these \(c\) common parameters, three different sets of parameter solutions can be formed by respectively taking their original values or averages. For the remaining non-common parameters, \(n\) different parameter solutions can be generated directly through random combination. Finally, randomly combining them will result in \(3n\) different parameter solutions. When \(c\) is equal to \(\min(p, q)\), it indicates an inclusion relationship between the parameter sets of \(T\) and \(L\). At this time, a total of \(2n\) different sets of parameter solutions will be generated after synthesis. When \(c = 0\), it means there are no common parameters. Then, randomly combining the \(p\) parameters of \(T\) and the \(q\) parameters of \(L\) will produce \(n\) different parameter solutions. Determine whether all the matrices to be integrated have been selected, If so, the comprehensive matrix is ​​used as the comprehensive result. If not, randomly select an unselected matrix to be integrated as the first matrix, use the integrated matrix as the second matrix, and return to the step of "determining whether the first matrix and the second matrix have common parameters"; A multi-objective optimization module, used to use the comprehensive result as the initial population of the multi-objective optimization algorithm, and use the multi-objective optimization algorithm to perform iterative calculations to obtain a set of parameter solutions that optimize all the optimization objectives simultaneously; The preference selection module is used to select a parameter solution from the parameter solution set according to user needs, and use the parameter solution to configure the parameters of the distributed storage system.

8. A parameter tuning device for a distributed storage system, characterized in that: include: processor; as well as a memory storing computer readable program instructions, Wherein, when the computer-readable program instructions are executed by the processor, the parameter tuning method according to any one of claims 1 to 6 is executed.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the steps of the parameter tuning method described in any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Machine learning hyper-parameter adjusting method and system

    CN111144581A

  • Distributed storage server QoS optimization method and system, terminal and storage medium

    CN113687780A