Parameter optimization method and device

By dynamically updating the noise distribution and identifying abnormal noise, and by using Bayesian optimization algorithms, the problem of noise interference in parameter optimization is solved, thereby improving the efficiency and accuracy of parameter optimization.

CN116126657BActive Publication Date: 2025-11-07HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111341930.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-12
Publication Date
2025-11-07
Estimated Expiration
2041-11-12

AI Technical Summary

Technical Problem

In parameter optimization scenarios for software applications, middleware, algorithms, or servers, severe noise interference leads to performance fluctuations, which existing technologies struggle to effectively address, thus impacting parameter optimization performance.

Method used

By obtaining candidate configuration parameters of the target object, dynamically updating the noise distribution, and using optimization algorithms such as Bayesian optimization, combined with noise variance and configuration parameter type, abnormal noise is identified and filtered, and parameters are dynamically adjusted to improve optimization performance.

Benefits of technology

It effectively reduces noise interference, improves the efficiency and accuracy of parameter optimization, and enhances the ability to find the optimal parameters.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116126657B_ABST
    Figure CN116126657B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a parameter optimization method and device, wherein the method comprises the following steps: obtaining a first candidate configuration parameter of a tuning object; running the tuning object according to the first candidate configuration parameter to obtain a first key performance indicator (KPI); obtaining a first historical performance observation record set and a variance of the first historical performance observation record set; determining a first expected value according to the first historical performance observation record set; determining a noise variance according to the first KPI, the first expected value and the variance of the first historical performance observation record set; and determining a second candidate configuration parameter of the tuning object according to the first KPI, the noise variance, the type and range of the candidate configuration parameter of the tuning object. The technical solution of the present application can reasonably retain potential optimal solutions when searching for a parameter solution space, reduce the interference of noise on searching for optimal solutions, and improve the parameter optimization performance.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of computers, in particular to a parameter optimization method and device. BACKGROUND

[0002] In the parameter optimization scenarios of software applications, middleware, algorithms or servers, the feedback of performance test on parameters often contains noise. Especially on the cloud, the interference of noise is more serious. The real performance of the application will be affected by real physical neighbors such as resource interference, cabinet frequency limiting and other environmental factors, and even make the real performance of virtual resources in a long-term fluctuation state. Although the performance isolation and quality assurance measures are provided by the supplier, the problem of performance fluctuation still exists universally, and even the fluctuation may be more severe because of these mechanisms.

[0003] Therefore, how to improve the parameter optimization performance is a technical problem to be solved. SUMMARY

[0004] The present application provides a parameter optimization method and device, which can dynamically update the noise distribution in the tuning process and improve the parameter optimization performance.

[0005] In a first aspect, a parameter optimization method is provided, which includes: obtaining a first candidate configuration parameter of a tuning object; running the tuning object according to the first candidate configuration parameter to obtain a first key performance indicator (KPI), the first KPI being determined according to at least one observation index; obtaining a first historical performance observation record set and a variance of the first historical performance observation record set, the first historical performance observation record set including a plurality of KPIs obtained by running the tuning object according to historical candidate configuration parameters, the historical candidate configuration parameters being determined before the first candidate configuration parameter is obtained; determining a first expected value according to the first historical performance observation record set; determining a noise variance according to the first KPI, the first expected value and the variance of the first historical performance observation record set; and determining a second candidate configuration parameter of the tuning object according to the first KPI, the noise variance, the type and range of the candidate configuration parameter of the tuning object.

[0006] The tuning object includes software applications, middleware, algorithms or servers, etc.

[0007] The optimization algorithm determines the second candidate configuration parameter of the tuning object by the first KPI, the noise variance and the type and range of the candidate configuration parameter of the tuning object.

[0008] Optionally, the optimization algorithm can be a Bayesian optimization algorithm, random search, grid search, cross-validation, genetic algorithm, particle swarm optimization, simulated annealing, etc.

[0009] In the embodiments of the present application, the noise variance represents the amplitude of noise fluctuation, and the optimization algorithm can consider the amplitude of noise fluctuation when recommending parameters through the noise variance, reasonably retain potential optimal solutions, reduce the interference of noise on finding optimal solutions, and thus determine the second candidate configuration parameter of the tuning object, improving the parameter optimization performance.

[0010] In combination with the first aspect, in some implementations of the first aspect, before determining the first expected value according to the first set of historical performance observation records, the method further includes determining that the first KPI is not an abnormal performance observation value.

[0011] In combination with the first aspect, in some implementations of the first aspect, the method further includes: running the tuning object according to the second candidate configuration parameter to obtain a second KPI; determining that the second KPI is the abnormal performance observation value; and determining a third candidate configuration parameter of the tuning object according to the first KPI, the noise variance, the type and range of the candidate configuration parameter of the tuning object.

[0012] Optionally, determining that the second KPI is the abnormal performance observation value can use a distance-based outlier detection method, a statistics-based outlier detection method, an unsupervised-based outlier detection method, a classification-based outlier detection method, a density-based outlier detection method, an information entropy-based outlier detection method, etc.

[0013] In the embodiments of the present application, by identifying and determining the abnormal performance observation value, the abnormal performance observation value is filtered, avoiding the interference of the abnormal performance observation value on the parameter optimization process, and improving the efficiency of finding optimal parameters to a certain extent.

[0014] In combination with the first aspect, in some implementations of the first aspect, the determination that the first KPI is not an abnormal performance observation value includes: obtaining a confidence interval; and determining that the first expected value is located within the confidence interval. The determination that the second KPI is the abnormal performance observation value includes: determining a second expected value according to a second set of historical performance observation records, wherein the second set of historical performance observation records includes multiple KPIs in the first set of historical performance observation records and the first KPI; and determining that the second expected value is located outside the confidence interval.

[0015] Optionally, the obtaining the confidence interval comprises: configuring a fourth candidate configuration parameter of the tuning object, repeatedly running G times to obtain an initial performance observation record set, G being a positive integer greater than 1; and obtaining the confidence interval according to the initial performance observation record set.

[0016] Optionally, the obtaining the confidence interval further comprises: obtaining a preset confidence interval.

[0017] Optionally, the obtaining the confidence interval further comprises: obtaining a historical performance observation record set obtained by the tuning object running according to different parameter configurations, and constructing the confidence interval according to the historical performance observation record set.

[0018] In the embodiments of the present application, the confidence interval is calculated or preset, so that the abnormal performance observation value can be judged according to the historical performance observation record of the target software, the abnormal performance observation value in the parameter optimization process is filtered out, and the next group of candidate configuration parameters or the optimal parameter is directly determined or selected, thereby improving the efficiency of finding the optimal parameter.

[0019] With reference to the first aspect, in some implementations of the first aspect, before the determining the second candidate configuration parameter of the tuning object according to the first KPI, the noise variance, the type and range of the candidate configuration parameter of the tuning object, the method further comprises: determining whether the initial performance observation record set conforms to an approximate Gaussian distribution; if the initial performance observation record set does not conform to the approximate Gaussian distribution, determining a transformation parameter capable of converting the initial performance observation record set into a performance observation record set conforming to the approximate Gaussian distribution; and the determining the second candidate configuration parameter of the tuning object according to the first KPI, the noise variance, the type and range of the candidate configuration parameter of the tuning object comprises: if the initial performance observation record set conforms to the approximate Gaussian distribution, determining the second candidate configuration parameter of the tuning object according to the first KPI, the noise variance, the type and range of the candidate configuration parameter of the tuning object; and if the initial performance observation record set does not conform to the approximate Gaussian distribution, converting the first KPI into a third KPI using the transformation parameter, and determining the second candidate configuration parameter of the tuning object according to the first KPI, the third KPI, the noise variance, the type and range of the candidate configuration parameter of the tuning object.

[0020] Optionally, the method of determining whether the distribution is approximately Gaussian can utilize a histogram, a Shapiro-Wilk (W) test, a Kolmogorov-Smirnov (KS) test, a probability-probability (P-P) plot, a quantile-quantile (Q-Q) plot, etc.

[0021] It should be understood that a threshold value can be preset, and when the value obtained by using the above method of determining whether the distribution is approximately Gaussian is less than the threshold value, the distribution is determined to be non-Gaussian, and when the value is greater than or equal to the threshold value, the distribution is determined to be approximately Gaussian. For example, when using the KS test, the distribution is determined to be approximately Gaussian when the probability (P) value of making a mistake when accepting the null hypothesis is greater than or equal to 0.05.

[0022] Optionally, the method of transformation can include a beta transformation, a log transformation, a square root transformation, a transformation of a certain power less than 1, an inverse transformation, a square root inverse rotation transformation, a Box-Cox transformation, an inverse transformation sampling, an inverse probability integral transformation, a Fisher transformation, etc.

[0023] With reference to the first aspect, in some implementations of the first aspect, before the third candidate configuration parameter of the tuning object is determined according to the first KPI, the noise variance, the type and range of the candidate configuration parameter of the tuning object, the method further includes: determining whether the initial performance observation record set conforms to an approximately Gaussian distribution; if the initial performance observation record set does not conform to the approximately Gaussian distribution, determining a transformation parameter capable of converting the initial performance observation record set into a performance observation record set conforming to the approximately Gaussian distribution; and determining the third candidate configuration parameter of the tuning object according to the first KPI, the noise variance, the type and range of the candidate configuration parameter of the tuning object includes: if the initial performance observation record set conforms to the approximately Gaussian distribution, determining the third candidate configuration parameter of the tuning object according to the first KPI, the noise variance, the type and range of the candidate configuration parameter of the tuning object; and if the initial performance observation record set does not conform to the approximately Gaussian distribution, converting the first KPI into a fourth KPI using the transformation parameter, and determining the third candidate configuration parameter of the tuning object according to the first KPI, the fourth KPI, the noise variance, the type and range of the candidate configuration parameter of the tuning object.

[0024] In the embodiments of the present application, the influence of noise can be processed in the parameter optimization process, and the noise can be processed according to characteristics of the noise. The performance observation records of non-Gaussian distribution are converted into performance observation records of approximate Gaussian distribution, so as to suppress the influence of non-Gaussian distribution noise on parameter optimization. The noise changing with time can be processed, and the efficiency of searching for optimal parameters is improved to a certain extent.

[0025] With reference to the first aspect, in some implementations of the first aspect, the noise variance is determined according to the first KPI, the first expected value, and the variance of the first set of historical performance observation records, and includes: the noise variance is determined according to the following formula:

[0026]

[0027] wherein i is the serial number of the candidate configuration parameter of the tuning object, is the variance of the first set of historical performance observation records, E(x i ) is the expected value of the first set of historical performance observation records, y i is the first KPI, is the noise variance, y i -E(x i ) is the residual of the expected value of the first set of historical performance observation records and the first KPI.

[0028] Optionally, the formula for determining the noise variance can also be

[0029]

[0030] or

[0031] wherein P is a penalty coefficient.

[0032] In the embodiments of the present application, the noise distribution can be dynamically estimated, and the noise variance of this time is obtained through the residual of the expected value of the first set of historical performance observation records and the first KPI and the variance of the first set of historical performance observation records. The noise variance can be used by the optimization algorithm, and the noise fluctuation amplitude can be considered when searching for the parameter solution space. The potential optimal solution can be reasonably reserved, the interference of noise on searching for the optimal solution can be reduced, and the parameter optimization performance is improved.

[0033] In the second aspect, the embodiments of the present application provide a computer device, which includes units for implementing the first aspect or any possible implementation manner of the first aspect.

[0034] In a third aspect, an embodiment of the present application provides a computer device, comprising a processor configured to couple with a memory, read and execute instructions and / or program codes in the memory to perform the first aspect or any possible implementation of the first aspect.

[0035] In a fourth aspect, an embodiment of the present application provides a chip system, comprising a logic circuit configured to couple with an input / output interface, transmit data through the input / output interface to perform the first aspect or any possible implementation of the first aspect.

[0036] In a fifth aspect, an embodiment of the present application provides a computer readable storage medium, storing program codes, which when executed on a computer, cause the computer to perform the first aspect or any possible implementation of the first aspect.

[0037] In a sixth aspect, an embodiment of the present application provides a computer program product, comprising: computer program codes, which when executed on a computer, cause the computer to perform the first aspect or any possible implementation of the first aspect. BRIEF DESCRIPTION OF DRAWINGS

[0038] Figure 1 is an application example diagram of a parameter optimization method provided by an embodiment of the present application.

[0039] Figure 2 is an example flowchart of a parameter optimization method provided by an embodiment of the present application.

[0040] Figure 3 is a schematic diagram of setting a parameter type and a range provided by an embodiment of the present application.

[0041] Figure 4 is a schematic diagram of a tuning object running result provided by an embodiment of the present application.

[0042] Figure 5 is an example flowchart of internal processing of a noise diagnosis module in the first iteration provided by an embodiment of the present application.

[0043] Figure 6 is an example histogram of noise distribution estimation provided by an embodiment of the present application.

[0044] Figure 7 is an example histogram of approximate Gaussian distribution provided by an embodiment of the present application.

[0045] Figure 8 is an example histogram of non-Gaussian distribution provided by an embodiment of the present application.

[0046] Figure 9 is an exemplary flowchart of the internal processing of the 2nd iteration time noise diagnosis module provided by an embodiment of the present application.

[0047] Figure 10 is an exemplary flowchart of the internal processing of the 30th iteration time noise diagnosis module provided by an embodiment of the present application.

[0048] Figure 11 is an exemplary flowchart of the internal processing of the 60th iteration time noise diagnosis module provided by an embodiment of the present application.

[0049] Figure 12 is an exemplary structure diagram of a computer device provided by an embodiment of the present application.

[0050] Figure 13 is an exemplary structure diagram of another computer device provided by an embodiment of the present application.

[0051] Figure 14 is an exemplary diagram of a computer program product provided by an embodiment of the present application. DETAILED DESCRIPTION

[0052] The final performance observation value of a software application, middleware, algorithm or server can be determined using the average, mode or median of the performance observation values obtained through multiple verifications. However, the type of noise is not fixed, and only one estimation method cannot cope with all applications.

[0053] The above method has the following problems:

[0054] Calculating the average, mode and median from a statistical point of view requires a certain amount of data, and the number of verifications of real application software parameters is often small due to cost reasons, and a small number of verification times cannot correctly estimate these statistical measures. The distribution of noise may change over time, and establishing a fixed noise model for noise cannot correctly weaken the influence of noise. Different noise types have different effects on tuning algorithms, and different methods need to be used to handle them.

[0055] For example, in the scenario of GCC compiler optimization, the running time of each type of program is affected by the optimization switch, and the running time of the program code is relatively long, from tens of minutes to several hours. In this case, it is not possible to use a large number of verification times to estimate the mean and median.

[0056] In the middleware tuning scenario, taking the tuning of middleware kafka or tomcat as an example, when kafka or tomcat is affected by virtualized resources on the cloud, the cloud virtualized resources compete in the peak period of request processing, causing the performance to decline, and the performance of the application is in a fluctuating state. This situation is due to the change of performance affected by external factors. The traditional method cannot distinguish whether the real performance has changed or the performance change is caused by noise interference.

[0057] The traditional multiple verification statistical average value calculation method can be applied to the scene with less verification times. However, if abnormal noise seriously deviates from the performance observation value distribution range, it will cause the average value of the statistical performance observation value to deviate from the true value.

[0058] The statistical method can cope with the influence of abnormal noise by means of multiple verification, and the mode or median is used to cope with the influence of abnormal noise. However, this method requires more verification times, and the verification cost will also increase.

[0059] Therefore, the application provides a parameter optimization method, which can dynamically update the noise distribution in the tuning process and improve the parameter optimization performance.

[0060] The technical scheme provided by the application can be applied to the parameter tuning scene of noise data in the computer field, including middleware parameter tuning, software parameter tuning and server parameter tuning, and is especially suitable for the parameter tuning scene on the cloud.

[0061] In order to more specifically solve various noises, the application divides the noise into two types of abnormal noise and normal noise according to the characteristics of the noise.

[0062] Abnormal noise is a serious counterfactual outlier observation value caused by abnormal problems. Abnormal noise is usually caused by accidental factors such as program exception or hardware failure. Abnormal noise appears less frequently but has a large amplitude, and a small amount of repeated verification is difficult to handle. The mean value of abnormal noise is disturbed by large noise.

[0063] The problem caused by abnormal noise: it is difficult to judge whether the performance fluctuation is caused by the parameter effect or the abnormal noise without enough data support; when the problem model is complex, the estimation performance confidence interval method will fail due to less interactive verification times.

[0064] Normal noise: due to the virtualization of resources on the cloud and the influence of complex environment, the real performance of the target software to be monitored is always in a fluctuating state. This noise cannot be eliminated and will accompany for a long time, and is affected by many variables. The feedback observation value cannot correctly reflect the real performance of the parameter. The normal noise is long-term accompanied, the noise amplitude is small, the mean value method can be approximated, but the verification cost is high.

[0065] Normal noise can be divided into three types:

[0066] a) Gaussian noise: This noise exists for a long time, conforms to a fixed Gaussian distribution, and traditional parameter optimization algorithms assume Gaussian noise as a premise. It is believed that each sampling observation value is close to the true value with high probability.

[0067] Problems caused by Gaussian noise: Although the premise assumption of Gaussian noise can statistically guarantee that the sampling point falls within the mode interval, there is still a possibility of inaccurate sampling. Although the noise conforms to the Gaussian distribution, the fluctuation interval of the noise is still very wide, and a small amount of repeated verification cannot correctly estimate its true performance.

[0068] b) Non-Gaussian noise: Due to the interference of multiple noise, the noise distribution does not conform to a specific variance distribution, and even multiple peaks appear when statistics are taken. When using mean statistics, a large amount of verification data is needed to support.

[0069] Problems caused by non-Gaussian noise: Noise does not conform to a specific distribution, making it difficult to model the noise; a large number of repeated verifications are needed to generate a distribution histogram.

[0070] c) Time-varying noise: Due to the influence of user access patterns on the use of some services on the cloud, the use of resources presents a time-sequential pattern, so during the tuning test process, these peak resources may be preempted, causing the observation noise model to change over time.

[0071] Problems caused by time-varying noise: Time-varying noise is difficult to model, and it is difficult to locate the key factors that cause time variation; the noise distribution may change, and it cannot be guaranteed that the noise will always remain the same.

[0072] The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative labor should fall within the scope of protection of the present application.

[0073] Figure 1 is an application example of a parameter optimization method provided by an embodiment of the present application.

[0074] As Figure 1 shown, the application example of the parameter optimization method includes a tuning server 100 and a client 101, wherein the tuning server 100 includes a tuning service module 110, a noise diagnosis module 140, and a tuning record storage module 150. The client 101 includes a performance monitoring module 130 and a tuning object 120.

[0075] The tuning service module 110 can recommend candidate configuration parameters by receiving data from the noise diagnosis module 140, and save the data received from the noise diagnosis module 140 in the tuning record storage module 150.

[0076] The tuning record storage module 150 can be a hard disk drive or other computer readable storage medium. The tuning record storage module 150 can store data, instructions, and other information sent by the tuning service module 110.

[0077] The tuning object 120 can be middleware, a software application, an algorithm, or a server that needs to be parameter tuned, and the present application does not limit the tuning object 120. The tuning object 120 can run an application according to candidate configuration parameters recommended by the tuning service module 110.

[0078] The performance monitoring module 130 can be a tool, an application, or a script code that can monitor performance, etc. The performance monitoring module 130 can monitor corresponding KPIs generated by the tuning object 120 during runtime according to KPIs that a user needs to monitor, and transmit the obtained KPIs to the noise diagnosis module 140.

[0079] The noise diagnosis module 140 can perform noise diagnosis and noise transformation on KPIs according to historical performance observation records obtained from the tuning record storage module 150 and KPIs transmitted by the performance monitoring module 130, and transmit the obtained denoised KPIs and noise variance to the tuning service module 110.

[0080] In the following, the present application will be described in detail based on the application examples shown in Figure 1 The interaction and workflow of each module will be described in detail.

[0081] Figure 2 is an exemplary flowchart of a parameter optimization method provided by an embodiment of the present application.

[0082] 210, define elements and a preset iteration number M, M is a positive integer greater than 1.

[0083] It should be understood that the defined elements can include configuration parameters, set KPI targets, and business loads, etc.

[0084] The configuration parameters can be configuration of tuning parameter types and their ranges on a tuning script. As an example, Figure 3 ​An example of setting parameter type and range for parameter tuning of Kafka provided by embodiments of the present application is shown in the following table. The parameter type can include integer, float, Boolean, enumeration, etc. The range of the parameter can be set according to the type of the parameter. For example, when the parameter log.cleaner.enable is set as Boolean, the parameter log.cleaner.enable is true or false. The value of the parameter is within the pre-set range, for example, when the range of the parameter message.max.bytes is set as 1K-1M, the value of the parameter message.max.bytes is between 1K and 1M.

[0085] The KPI in setting KPI target refers to the KPI index of parameter optimization. The KPI index can be one observation index or a combination of multiple observation indexes. As an example, the KPI index can be specified as common performance test indexes, including producer throughput or throughput rate, transaction average response time, transaction success rate, CPU utilization, max-jobs, critical-jobs, etc. The user can set the KPI index according to the requirement, which is not limited in the present application. Exemplarily, when the KPI index is set as producer throughput (transactions per second, TPS), the optimal parameter found by embodiments of the present application is the parameter corresponding to the maximum TPS. When the KPI index is a combination of multiple indexes, the indexes need to have the same dimension. Exemplarily, when tuning Java Virtual Machine (JVM) public base test suite Specjbb, the KPI index can be a combination of max-jobs and critical-jobs, and the KPI can be set as KPI = max-jobs + critical-jobs. Different weights can also be set for the indexes, for example, KPI = max-jobs * 0.8 + critical-jobs * 0.2. At this time, the optimal parameter is the parameter corresponding to the maximum KPI.

[0086] Optionally, the business load of the tuning object 120 can also be set, and stress test or load test can be performed on the tuning object 120 or the code program specified by the tuning object 120. The stress test is a test for obtaining the maximum service level that the system can provide by determining the bottleneck or performance point that the system cannot receive, and the load test is a test for determining the acceptability of the performance behavior of the test object under different operating conditions (such as different number of users, number of transactions, etc.) while keeping the configuration unchanged. The performance test result obtained by the stress test or load test is used for parameter optimization.

[0087] Optionally, users can preset the number of iterations M for the optimization method according to their needs, or they can use the default number of iterations. The number of iterations is used to limit the number of rounds the optimization method learns. It can be understood that the larger the number of iterations M, the more likely it is to find the optimal parameters, but the energy consumption may also increase accordingly. Therefore, users can set the number of iterations M according to their actual needs. For example, M can be set to 30, 50, 60, etc.

[0088] 220, Optimization Service Module 110 recommends a set of candidate configuration parameters.

[0089] Optionally, the optimization service module 110 provides at least one optimization algorithm, which may include Bayesian optimization, random search, grid search, cross-validation, genetic algorithm, particle swarm optimization, simulated annealing, etc., and this application does not limit the specific algorithm. When the number of iterations of the current parameter optimization method is less than M, the optimization algorithm in the optimization service module 110 can recommend the next set of candidate configuration parameters for the optimization object 120 to run based on the input provided by the noise diagnosis module.

[0090] It should be understood that a set of candidate configuration parameters includes at least one parameter. For example, the optimization service module 110 can execute an optimization algorithm once to obtain a set of candidate configuration parameters for recommendation, or it can execute multiple optimization algorithms to obtain multiple sets of candidate configuration parameters and select one set for recommendation. The selection method can be random selection or selection based on the time when the candidate configuration parameters are obtained, and this application does not limit this.

[0091] 230. Configure the parameters for the target object 120 and perform a test.

[0092] The client's tuning object 120 obtains a set of candidate configuration parameters recommended by the tuning service module 110, configures them, and then runs the configuration to obtain the KPI corresponding to this set of parameters. For example, when the KPI is producer throughput, the KPI corresponding to this set of parameters could be 130M / s, 158M / s, etc. It should be understood that the KPIs given here are only examples, and the specific values ​​are subject to the actual results generated during operation.

[0093] 240, the performance monitoring module 130 sends the KPI to the noise diagnosis module 140.

[0094] The performance monitoring module 130 monitors the tuning object 120 according to preset KPI indicators. For example, when the KPI indicator is producer throughput, the TPS of the tuning object 120 during operation is monitored, and then the TPS value is sent to the noise diagnosis module 140.

[0095] 250, Noise Diagnosis Module 140 performs diagnostic transformation on KPIs.

[0096] The noise diagnosis module 140 can process the impact of noise in the process of parameter optimization. According to the characteristics of different noises, targeted processing is performed. If it is judged that the KPI obtained in this run is abnormal noise, the abnormal performance observation value is filtered, and the tuning service module 110 directly recommends the next set of candidate configuration parameters. If it is judged that the KPI obtained in this run is normal noise, the normal noise is suppressed according to the demand and the expected value and noise variance are calculated, and the denoised KPI and noise variance are output.

[0097] 260, the tuning service module 110 saves the tuning result of this time.

[0098] The tuning service module 110 saves the parameters configured by the tuning object 120 this time and the denoised KPI sent by the noise diagnosis module 140 in the tuning record storage module 150.

[0099] 270, judge whether the iteration number is less than M.

[0100] The tuning service module 110 judges whether the iteration number of this time is less than the iteration number M preset by the user. If the iteration number of this time is less than M, the next set of candidate configuration parameters is recommended according to the denoised KPI and noise variance using the optimization algorithm. After the noise variance is obtained by the optimization algorithm, the error interval can be considered in the optimization process, and a certain tolerance is maintained for the local optimal point, and the potential parameter space close to the optimal point is reserved.

[0101] If the iteration number of this time is greater than or equal to the iteration number M preset by the user, step 280 is performed.

[0102] 280, select the optimal parameters.

[0103] If the iteration number at this time is greater than or equal to the iteration number M preset by the user, it indicates that the iteration learning process of the parameter optimization method has met the user's demand, and at this time the set of candidate configuration parameters corresponding to the optimal KPI in M rounds is output as the selection of the optimal parameters.

[0104] When the number of iterations of the current parameter optimization method learning iteration is greater than or equal to M, the tuning service module 110 selects a set of configuration parameters used when the performance of the tuning object 120 is optimal from the tuning record storage module 150. The configuration parameters are the optimal parameters. Exemplarily, when the KPI index is set as TPS, the optimal parameters found by the embodiment of the application are the parameters corresponding to the maximum TPS.

[0105] Next, the application is in Figure 1Based on the application examples shown, it is assumed that the user presets the iteration number M = 60, and m is the current iteration number. Taking m = 1, m = 2, m = 30, and m = 60 as examples, the internal processing flow of the noise diagnosis module is described in detail.

[0106] It should be understood that the candidate configuration parameter used by the tuning object 120 when m = i can be referred to as candidate configuration parameter i, i being a positive integer greater than or equal to 1. For example, the candidate configuration parameter used by the tuning object 120 when m = 1 can be referred to as candidate configuration parameter 1, the candidate configuration parameter used when m = 2 can be referred to as candidate configuration parameter 2, the candidate configuration parameter used when m = 30 can be referred to as candidate configuration parameter 30, and the candidate configuration parameter used when m = 60 can be referred to as candidate configuration parameter 60.

[0107] Optionally, at the initial stage when the parameter optimization method has not started the iterative learning, that is, before the tuning object 120 runs according to the candidate configuration parameter 1, the tuning object 120 can be repeatedly run multiple times using the same set of configuration parameters, which can be referred to as default configuration parameters. The default configuration parameters can be parameters set by the user. The number of repetitions can be set by the user or a default number of repetitions can be used. For example, the number of repetitions can be set to 30, 50, 80, etc., which is not limited in the present application. After the multiple repeated runs, an initial performance observation record set corresponding to the default parameter configuration can be obtained.

[0108] For example, Figure 4 is a schematic diagram of the results of repeated running of the tuning object 120 according to the same set of parameters, and the default configuration parameters are set to "num.io.threads = 12, num.network.threads = 6, socket.receive.buffer.bytes = 102400". In the figure, all the KPI values correspond to the initial performance observation record set corresponding to the default configuration parameters.

[0109] The goal of the parameter optimization method is to find the optimal KPI corresponding to the parameters, as shown in equation (1),

[0110] x * = argmax i∈N (f(x i )+ ∈ i ) ∈ ~ N(0, σ 2 ) (1)

[0111] x * is the candidate configuration parameter corresponding to the optimal KPI. Where i is the serial number of the candidate configuration parameter currently used by the tuning object 120, i is equal to the current iteration number m, x is the configuration parameter, and x if is a model of the tuning object 120, f(x i ) is a real performance value of the tuning object 120 running according to the candidate configuration parameter x i , ∈ i is a noise value of the tuning object 120 running according to the candidate configuration parameter x i . As shown in equation (2), the sum of the real performance value f(x i ) and its corresponding noise value ∈ i is the KPI value y i .

[0112] y i = f(x i ) + ∈ i (2)

[0113] It should be understood that, as shown in equations (3) to (5), the initial performance observation record set Y is a set of all KPIs obtained by repeatedly running a specified number of times using the same set of default configuration parameters X. variance is variance, c i is a constant. Since the real performance value f(x i ) obtained by running the same set of parameter configurations is a constant, the variance of the initial performance observation record set Y is equal to the noise variance corresponding to the running of the default configuration parameter x i of the tuning object 120. The initial noise variance is equal to the variance of the initial performance observation record set Y.

[0114] variance(Y) = variance(f(x i ) + ∈ i ) ∵ f(x i ) = c i (3)

[0115] variance(Y) = variance(∈ i ) (4)

[0116]

[0117] Figure 5 is an exemplary flowchart of internal processing of the noise diagnosis module when m = 1. When m = 1, the tuning object 120 can run according to the candidate configuration parameter 1. The performance monitoring module 130 monitors the tuning object 120 according to the preset KPI indicators, obtains the KPI corresponding to the candidate configuration parameter 1, and sends the KPI corresponding to the candidate configuration parameter 1 to the noise diagnosis module. The noise diagnosis module 140 can execute the flow as shown in Figure 5 according to the received KPI.

[0118] 510, noise distribution estimation.

[0119] Optionally, the noise distribution estimation 510 can include two steps, judging whether the initial performance observation record set is approximately Gaussian distributed and calculating the initial noise variance of the initial performance observation record set.

[0120] Judging whether the initial performance observation record set is approximately Gaussian distributed: the noise distribution estimation is performed on the initial performance observation record set obtained by repeatedly running the tuning object 120 and judging whether it is approximately Gaussian distributed. The judging method used by the embodiments of the present application is histogram. Exemplarily, Figure 6 is an example histogram of the noise distribution estimation provided by the embodiments of the present application. Each tuning test can have only one KPI, and the histogram obtained is the histogram corresponding to the KPI. The KPI can be set as a single observation index or a combination of multiple observation indexes. When set as a combination of multiple observation indexes, the multiple observation values need to have the same dimension. That is, one KPI can correspond to one observation index or multiple observation indexes.

[0121] Exemplarily, when the KPI is set as a single observation index and is the producer throughput, the KPI at this time corresponds to one observation index 1, and the observation index 1 is the producer throughput. Exemplarily, Figure 7 is the throughput histogram obtained by running the tuning object 120 and conforming to the approximately Gaussian distribution.

[0122] Exemplarily, when the KPI index is set as a combination of n observation indexes, the KPI has n corresponding observation indexes. For example, when the KPI index is set as KPI = max-jobs + critical-jobs, the KPI at this time corresponds to two observation indexes, the observation index 1 is the maximum number of jobs, and the observation index 2 is the number of critical jobs. Exemplarily, Figure 8 is the KPI histogram obtained by running the tuning object 120 and not conforming to the Gaussian distribution.

[0123] Optionally, the method of judging whether it is approximately Gaussian distributed can also use W test, KS test, P-P plot, Q-Q plot, etc., which are not limited by the present application.

[0124] If the initial performance observation record set is not Gaussian distributed, the transformation parameter is determined. The transformation parameter can transform the initial performance observation record set into an initial performance observation record set 2 conforming to the approximately Gaussian distribution. If the initial performance observation record set conforms to the approximately Gaussian distribution, the transformation parameter does not need to be determined.

[0125] Optionally, the transformation parameter can be determined by transforming the initial performance observation record set. For example, the initial performance observation record set can be transformed using different parameters, and if the performance observation record set obtained after transformation according to a parameter conforms to an approximate Gaussian distribution, the parameter can be determined as the transformation parameter. The transformation method from a non-Gaussian distribution to an approximate Gaussian distribution can be any one of the following transformations: beta transformation, log transformation, square root transformation, transformation of a certain power less than 1, reciprocal transformation, square root inverse rotation transformation, Box-Cox transformation, inverse transformation sampling, inverse probability integral transformation, Fisher transformation, etc. The specific transformation method is not limited in the present application.

[0126] Optionally, the step of determining whether the initial performance observation record set conforms to an approximate Gaussian distribution can also be performed after 520.

[0127] Calculate the initial noise variance of the initial performance observation record set Calculate the initial noise variance of the initial performance observation record set and used for subsequent noise diagnosis.

[0128] 520, outlier detection.

[0129] Optionally, the initial noise variance obtained in 510 noise distribution estimation According to the confidence level set by the user, a confidence interval of the initial performance observation record set is constructed. Then, the historical performance observation record set of the tuning object 120 is Gaussian fitted. The historical performance observation record set includes all KPIs obtained by historical running of the tuning object 120 except the KPI obtained by running according to the current candidate configuration parameter. It should be understood that the historical performance observation record set when m = 1 is the same as the initial performance observation record set.

[0130] Optionally, the method of Gaussian fitting the historical performance observation record set includes a function approximation method for function points, a decision tree method, a Gaussian curve fitting method, or an interface of software that can fit data, and the present application is not limited thereto.

[0131] After Gaussian fitting the historical performance observation record set, the expected value of the candidate configuration parameter 1 can be obtained, and then it is determined whether the expected value falls within the confidence interval. If it falls within the confidence interval, the KPI corresponding to the candidate configuration parameter 1 is not abnormal noise, and if it falls outside the confidence interval, the KPI corresponding to the candidate configuration parameter 1 belongs to abnormal noise, and abnormal noise is filtered out in this way.

[0132] Optionally, the method of screening out abnormal noise can also use distance-based outlier detection methods, statistical-based outlier detection methods, unsupervised-based outlier detection methods, classification-based outlier detection methods, density-based outlier detection methods, information entropy-based outlier detection methods, etc., which are not limited by the present application.

[0133] It should be understood that if the KPI corresponding to the candidate configuration parameter 1 is judged as abnormal noise, the tuning service module 110 directly recommends the next set of candidate configuration parameter 2.

[0134] The above technical solution can process the influence of noise in the parameter optimization process, and specifically process according to the characteristics of the noise, identify and filter abnormal noise, avoid the interference of abnormal noise on the parameter optimization process, and to some extent, improve the efficiency of finding the optimal parameter.

[0135] If the KPI corresponding to the candidate configuration parameter 1 is judged as not abnormal noise, the subsequent steps can be continued according to whether the initial performance observation record set conforms to the approximate Gaussian distribution.

[0136] For example, if the initial performance observation record set does not conform to the approximate Gaussian distribution, steps 530 and 540 can be performed; if the initial performance observation record set conforms to the approximate Gaussian distribution, step 540 can be directly performed.

[0137] 530, using the transformation parameter determined in step 510 to transform the KPI corresponding to the candidate configuration parameter 1.

[0138] The above technical solution can process the influence of noise in the parameter optimization process, and specifically process according to the characteristics of the noise, convert the KPI of non-Gaussian distribution into a value of approximate Gaussian distribution, suppress the influence of non-Gaussian distribution noise on parameter optimization, and can process noise that changes over time, to some extent, improve the efficiency of finding the optimal parameter.

[0139] 540, calculate the noise variance when m=1.

[0140] As shown in formulas (6) to (8), in the interactive tuning process of dynamic noise estimation, the historical performance observation record set can be Gaussian fitted, and the current candidate configuration parameter x i The expected value E(x i ) is estimated, at which time the KPI value y i is calculated with the expected value to calculate the residual, and the new residual result is used to update the noise variance Where i is the current iteration number m, is the noise variance of the last iteration calculated by any one of formulas (6) to (8).

[0141] The method for calculating the expected value E(x i ) can be a regression model such as GP Gaussian process regression, linear regression, polynomial regression, ridge regression, least absolute shrinkage and selection operator (Lasso) regression, or a regression tree model, extreme gradient boosting (XGBoost), categorical boosting (CatBoost), light gradient boosting machine (LightGBM), and the like, or a random forest method, and the present application is not limited in this regard.

[0142] P in formula (8) is a default or user-set penalty coefficient, which can be an integer greater than 0 or a floating-point type, and the like, and the present application is not limited in this regard.

[0143] It should be understood that formulas (6) to (8) are only examples of formulas for updating noise variance, and a person of ordinary skill in the art can use variations of similar formulas or different formulas to achieve the described functions in combination with the embodiments disclosed herein, but such implementation should not be considered as beyond the scope of the present application.

[0144]

[0145]

[0146]

[0147] When m = 1, i = 1. When formula (6) is used to update the noise variance, E(x1) can be an expected value calculated by Gaussian fitting of the initial performance observation record set using GP Gaussian process regression. y1 is the KPI corresponding to the candidate configuration parameter 1, and y1-E(x1) is the residual of the KPI corresponding to the candidate configuration parameter 1 and the expected value. is the initial noise variance, is the variance corresponding to the candidate configuration parameter 1, that is, the noise variance output by the noise diagnosis module 140 this time.

[0148] After passing through the noise diagnosis module, the KPI value y1 and the noise variance will be output to the tuning service module 110. The optimization algorithm in the tuning service module 110 can use the KPI value y1, and the noise variance The amplitude of the noise fluctuation is considered when the next set of candidate configuration parameters 2 is recommended, the potential optimal solution is reasonably reserved, the interference of the noise on finding the optimal solution is reduced, and thus the parameter optimization performance is improved.

[0149] If the KPI value y1 is transformed from a non-Gaussian distribution to an approximate Gaussian distribution in 530, the noise diagnosis module also outputs the transformed KPI value y1 to the tuning service module 110. The optimization algorithm in the tuning service module 110 can determine the optimal configuration parameters 2 by using the KPI value y1, the transformed KPI value y1, and the noise variance The amplitude of the noise fluctuation is considered when the next set of candidate configuration parameters 2 is recommended, the potential optimal solution is reasonably reserved, the interference of the noise on finding the optimal solution is reduced, and thus the parameter optimization performance is improved.

[0150] Figure 9 is an exemplary flowchart of the internal processing of the noise diagnosis module when m = 2. When m = 2, the tuning object 120 can be run according to the candidate configuration parameters 2. The performance monitoring module 130 monitors the tuning object 120 according to the preset KPI indicators, obtains the KPI corresponding to the candidate configuration parameters 2, and sends the KPI corresponding to the candidate configuration parameters 2 to the noise diagnosis module. The noise diagnosis module 140 can execute the flowchart shown in Figure 9 .

[0151] 710, outlier detection.

[0152] It should be understood that the historical performance observation record set when m = 2 includes the initial performance observation record set and the KPI corresponding to the candidate configuration parameters 1. If the KPI corresponding to the candidate configuration parameters 1 is abnormal noise, the historical performance observation record set when m = 2 only includes the initial performance observation record set, the historical performance observation record set is Gaussian fitted to obtain the expected value of the candidate configuration parameters 2, and then whether the expected value falls within the confidence interval constructed in step 520 in Figure 5 , if it falls within the confidence interval, the KPI corresponding to the candidate configuration parameters 2 is not abnormal noise, and if it falls outside the confidence interval, the KPI corresponding to the candidate configuration parameters 2 belongs to abnormal noise. In this way, abnormal noise is filtered out.

[0153] Optionally, the method of Gaussian fitting the historical performance observation record set includes a function approximation method, a decision tree method, a Gaussian curve fitting method, or an interface of software that can fit data, and the present application does not limit this.

[0154] Optionally, the method of screening out abnormal noise can also use distance-based outlier detection method, statistical-based outlier detection method, unsupervised-based outlier detection method, classification-based outlier detection method, density-based outlier detection method, information entropy-based outlier detection method, etc., which are not limited in the present application.

[0155] It should be understood that if the KPI corresponding to the candidate configuration parameter 2 is judged as abnormal noise, the tuning service module 110 directly recommends the next set of candidate configuration parameter 3.

[0156] The above technical solution can process the influence of noise in the parameter optimization process, and specifically process according to the characteristics of the noise, identify and filter abnormal noise, avoid the interference of abnormal noise on the parameter optimization process, and to some extent, improve the efficiency of finding the optimal parameter.

[0157] If the KPI corresponding to the candidate configuration parameter 2 is judged as not abnormal noise, the subsequent steps can be continued according to whether the initial performance observation record set conforms to the approximate Gaussian distribution.

[0158] For example, if the initial performance observation record set does not conform to the approximate Gaussian distribution, steps 720 and 730 can be performed; if the initial performance observation record set conforms to the approximate Gaussian distribution, step 730 can be directly performed.

[0159] 720, using the transformation parameter determined in step 510 to transform the KPI corresponding to the candidate configuration parameter 2.

[0160] The above technical solution can process the influence of noise in the parameter optimization process, and specifically process according to the characteristics of the noise, convert the KPI of non-Gaussian distribution into the value of approximate Gaussian distribution, suppress the influence of non-Gaussian distribution noise on parameter optimization, and can process the noise changing over time, to some extent, improve the efficiency of finding the optimal parameter.

[0161] 730, calculate the noise variance when m=2.

[0162] When m=2, i=2. Illustratively, when using formula (6) to update the noise variance, E(x2) can be the expected value calculated by using GP Gaussian process regression to perform Gaussian fitting on the historical performance observation record set when m=2. y2 is the KPI corresponding to the candidate configuration parameter 2, and y2-E(x2) is the residual of the KPI corresponding to the candidate configuration parameter 2 and the expected value. is the noise variance corresponding to the candidate configuration parameter 1, is the variance corresponding to the candidate configuration parameter 2, that is, the noise variance output this time.

[0163] Optionally, the method for calculating the expected value E(x2) can also be a regression model such as linear regression, polynomial regression, ridge regression, Lasso regression, or a regression tree model, an XGBoost, a CatBoost, a LightGBM, or other random forest method, which is not limited in the present application.

[0164] After passing through the noise diagnosis module, the KPI value y2 and the noise variance to the tuning service module 110. The optimization algorithm in the tuning service module 110 can pass the KPI value y2, the noise variance The magnitude of the noise fluctuation is considered when recommending the next set of candidate configuration parameters 3, the potential optimal solution is reasonably retained, the interference of noise on finding the optimal solution is reduced, and the parameter optimization performance is improved.

[0165] If the KPI value y2 is transformed from a non-Gaussian distribution to an approximate Gaussian distribution in 720, the noise diagnosis module also outputs the transformed KPI value y2 to the tuning service module 110. The optimization algorithm in the tuning service module 110 can pass the KPI value y2, the transformed KPI value y2, and the noise variance The magnitude of the noise fluctuation is considered when recommending the next set of candidate configuration parameters 3, the potential optimal solution is reasonably retained, the interference of noise on finding the optimal solution is reduced, and the parameter optimization performance is improved.

[0166] Figure 10 is an exemplary flowchart of the internal processing of the noise diagnosis module when m = 30. When m = 30, the tuning object 120 can be run according to the candidate configuration parameters 30. The performance monitoring module 130 monitors the tuning object 120 according to the preset KPI indicators, obtains the KPI corresponding to the candidate configuration parameters 30, and sends the KPI corresponding to the candidate configuration parameters 30 to the noise diagnosis module. The noise diagnosis module 140 can execute the flow as shown in Figure 10 .

[0167] 810, outlier detection.

[0168] It should be understood that the historical performance observation record set when m = 30 includes the initial performance observation record set and the KPI after removing abnormal noise corresponding to the candidate configuration parameters 1 to 29. Gaussian fitting is performed on the historical performance observation record set to obtain the expected value of the candidate configuration parameters 30, and then the confidence interval is constructed according to the step 520 in Figure 5 , it is judged whether the expected value falls within the confidence interval. If it falls within the confidence interval, the KPI corresponding to the candidate configuration parameters 30 is not abnormal noise, and if it falls outside the confidence interval, the KPI corresponding to the candidate configuration parameters 30 belongs to abnormal noise. In this way, abnormal noise is filtered out.

[0169] Optionally, the method of Gaussian fitting on the set of historical performance observation records includes a function approximation on function points, a decision tree method, a Gaussian curve fitting method, or other methods with fitting functions, or an interface of software that can fit data, and the present application does not limit this.

[0170] Optionally, the method of screening out abnormal noise can also use distance-based outlier detection methods, statistics-based outlier detection methods, unsupervised-based outlier detection methods, classification-based outlier detection methods, density-based outlier detection methods, information entropy-based outlier detection methods, and the like, and the present application does not limit this.

[0171] It should be understood that if the KPI corresponding to the candidate configuration parameter 30 is determined to be abnormal noise, the tuning service module 110 directly recommends the next set of candidate configuration parameters 31.

[0172] The above technical solution can handle the impact of noise in the parameter optimization process, and can handle it according to the characteristics of the noise. The abnormal noise is identified and filtered to avoid interference of the abnormal noise on the parameter optimization process, and the efficiency of finding the optimal parameter is improved to a certain extent.

[0173] If the KPI corresponding to the candidate configuration parameter 30 is determined to be not abnormal noise, the subsequent steps can be continued according to whether the set of initial performance observation records conforms to the approximate Gaussian distribution.

[0174] For example, if the set of initial performance observation records does not conform to the approximate Gaussian distribution, steps 820 and 830 can be performed; if the set of initial performance observation records conforms to the approximate Gaussian distribution, step 830 can be directly performed.

[0175] 820, the KPI corresponding to the candidate configuration parameter 30 is transformed using the transformation parameter determined in step 510.

[0176] The above technical solution can handle the impact of noise in the parameter optimization process, and can handle it according to the characteristics of the noise. The KPI of non-Gaussian distribution is converted into a value of approximate Gaussian distribution, the influence of non-Gaussian distribution noise on parameter optimization is suppressed, time-varying noise can be handled, and the efficiency of finding the optimal parameter is improved to a certain extent.

[0177] 830, the noise variance when m=30 is calculated.

[0178] When m=30, i=30. Illustratively, when the formula (6) is used to update the noise variance, E(x 30 ) can be an expected value calculated by Gaussian fitting on the set of historical performance observation records when m=30 using GP Gaussian process regression. y30 This is the KPI corresponding to candidate configuration parameter 30, y 30 -E(x 30 ) represents the residual between the KPI corresponding to candidate configuration parameter 30 and the expected value. The noise variance corresponding to candidate configuration parameter 29. The variance corresponding to candidate configuration parameter 30 is the noise variance of this output.

[0179] Optionally, calculate the expected value E(x) 30 The method can also be a linear regression, multinomial regression, ridge regression, Lasso regression or other regression models, or a regression tree model, XGBoost, CatBoost, LightGBM or other random forest methods, and this application does not limit it.

[0180] After passing through the noise diagnosis module, the KPI value y will be output. 30 and noise variance Provide this to the optimization service module 110. The optimization algorithm in the optimization service module 110 can be based on the KPI value y. 30 , and noise variance When recommending the next set of candidate configuration parameters 31, the amplitude of noise fluctuation is taken into account, the potential optimal solution is reasonably retained, and the interference of noise on finding the optimal solution is reduced, thereby improving the parameter optimization performance.

[0181] If the KPI value y in 820 30 After the non-Gaussian distribution is transformed into an approximately Gaussian distribution, the noise diagnosis module will also output the transformed KPI value y. 30 Provide this to the optimization service module 110. The optimization algorithm in the optimization service module 110 can be based on the KPI value y. 30 Transformed KPI value y 30 and noise variance When recommending the next set of candidate configuration parameters 31, the amplitude of noise fluctuation is taken into account, the potential optimal solution is reasonably retained, and the interference of noise on finding the optimal solution is reduced, thereby improving the parameter optimization performance.

[0182] Figure 11 This is an exemplary flowchart illustrating the internal processing of the noise diagnosis module when m = 60, as provided in this application embodiment. When m = 60, the tuning object 120 can run according to the candidate configuration parameter 60. The performance monitoring module 130 monitors the tuning object 120 according to preset KPI indicators, obtains the KPI corresponding to the candidate configuration parameter 60, and sends the KPI corresponding to the candidate configuration parameter 60 to the noise diagnosis module. The noise diagnosis module 140 can perform the following actions based on the received KPI: Figure 11 The process is shown below.

[0183] 910, outlier detection.

[0184] It should be understood that the historical performance observation record set when m = 60 includes the initial performance observation record set and the KPIs after removing abnormal noises corresponding to the candidate configuration parameters 1 to 59. Gaussian fitting is performed on the historical performance observation record set to obtain the expected value of the candidate configuration parameter 60, and then it is determined whether the expected value falls in the confidence interval constructed in step 520 according to the confidence interval. If the expected value falls in the confidence interval, the KPI corresponding to the candidate configuration parameter 60 is not abnormal noise, and if the expected value falls out of the confidence interval, the KPI corresponding to the candidate configuration parameter 60 belongs to abnormal noise, and in this way, the abnormal noise is filtered out. Figure 5

[0185] Optionally, the method of performing Gaussian fitting on the historical performance observation record set includes a function approximation method, a decision tree method, a Gaussian curve fitting method, or other methods with fitting functions or interfaces of software capable of fitting data, which are not limited in the present application.

[0186] Optionally, the method of filtering out abnormal noise can also use a distance-based outlier detection method, a statistics-based outlier detection method, an unsupervised-based outlier detection method, a classification-based outlier detection method, a density-based outlier detection method, an information entropy-based outlier detection method, and the like, which are not limited in the present application.

[0187] It should be understood that when m = 60, the iteration number M preset by the user has been met. If the KPI corresponding to the candidate configuration parameter 60 is determined to be abnormal noise, the abnormal noise is discarded, the tuning service module 110 directly compares the KPIs corresponding to all candidate configuration parameters in the tuning record storage module 150, and outputs the candidate configuration parameter corresponding to the optimal KPI as the optimal parameter selection. If the KPI corresponding to the candidate configuration parameter 60 is determined to be not abnormal noise, the noise diagnosis module 140 outputs the KPI, and the tuning service module 110 saves the KPI to the tuning record storage module 150, and then compares the KPIs corresponding to all candidate configuration parameters in 60 rounds, and outputs the candidate configuration parameter corresponding to the optimal KPI as the optimal parameter selection.

[0188] The above describes the parameter optimization method according to the embodiments of the present application, and the apparatus and device according to the embodiments of the present application are described below respectively with reference to Figure 12 and Figure 13 .

[0189] The embodiments of the present application also provide a computer storage medium, which stores program instructions, and the program instructions can include the above method when executed. Figure 2 , 5 ​, 9-11 correspond to part or all steps of the parameter optimization method in the embodiment.

[0190] Figure 12 A structural example diagram of a computer device 1000 provided by the embodiment is shown in FIG. 10. The computer device 1000 includes an acquisition module 1010 and a processing module 1020.

[0191] The acquisition module 1010 is configured to acquire candidate configuration parameters, a historical performance observation record set and a noise variance, and perform Figure 2 steps 220 and 280 in the method, Figure 5 step 540 in the method, Figure 9 step 730 in the method, Figure 10 step 830 in the method.

[0192] The processing module 1020 is configured to select a candidate configuration parameter corresponding to an optimal KPI according to the candidate configuration parameters, the historical performance observation record set and the noise variance, and perform Figure 2 steps in the method, Figure 5 steps in the method, Figure 9 steps in the method, Figure 10 steps in the method, Figure 11 steps in the method.

[0193] Figure 13 Another structural example diagram of a computer device 1300 provided by the embodiment is shown in FIG. 13. The computer device 1300 includes a processor 1302, a communication interface 1303 and a memory 1304. One example of the computer device 1300 is a chip. Another example of the computer device 1300 is a computing device.

[0194] The method disclosed in the embodiments of the present application can be applied to the processor 1302 or implemented by the processor 1302. The processor 1302 can be a central processing unit (CPU), and can also be other general-purpose processors, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc. In the implementation process, each step of the above method can be completed by the integrated logic circuit of hardware in the processor 1302 or the instruction in the form of software. The disclosed methods, steps and logic block diagrams in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or any conventional processor, etc. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as a hardware decoding processor for execution, or executed by a combination of hardware and software modules in the decoding processor.

[0195] The memory 1304 can be a volatile memory or a nonvolatile memory, or can include both volatile and nonvolatile memory. The nonvolatile memory can be a read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically EPROM (EEPROM), or flash memory, among others. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous dynamic RAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct rambus RAM (DRRAM). It is noted that the memory of the systems and methods described herein is intended to include, without being limited to, these and any other suitable types of memory.

[0196] The processor 1302, the memory 1304, and the communication interface 1303 can communicate through a bus. The memory 1304 stores executable code, which is read by the processor 1302 to perform a corresponding method. The memory 1304 can also include software modules required by other running processes, such as an operating system. The operating system can be LINUX TM , UNIX TM , WINDOWS TM , or the like.

[0197] For example, the executable code in the memory 1304 is used to implement the method shown in Figure 2 , and the processor 1302 reads the executable code in the memory 1304 to perform the method shown in Figure 2 .

[0198] In some embodiments of the present application, the disclosed method can be implemented as computer program instructions encoded in a machine-readable format on a computer-readable storage medium or on other non-transitory media or articles. Figure 14A conceptual partial view of an example computer program product arranged in accordance with at least some embodiments presented herein is shown schematically, the example computer program product including a computer program for executing a computer process on a computing device. In one embodiment, the example computer program product 1400 is provided using a signal bearing medium 1401. The signal bearing medium 1401 can include one or more program instructions 1402, which when executed by one or more processors can provide the functionality or some portion thereof described above with respect to the methods shown. Figure 2 For example, with reference to the embodiments shown in Figure 2 one or more features of 410-450 can be assumed by one or more instructions associated with the signal bearing medium 1401.

[0199] In some examples, the signal bearing medium 1401 can comprise a computer- readable medium 1403, such as, but not limited to, a hard disk drive, a compact disc (CD), a digital video disc (DVD), a digital tape, memory, read-only memory (ROM), random access memory (RAM), etc. In some embodiments, the signal bearing medium 1401 can comprise a computer recordable medium 1404, such as, but not limited to, memory, a read / write (R / W) CD, a R / W DVD, etc. In some embodiments, the signal bearing medium 1401 can comprise a communications medium 1405, such as, but not limited to, a digital and / or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communication link, a wireless communication link, etc.). Thus, for example, the signal bearing medium 1401 can be conveyed by a wireless form of the communication medium 1405 (e.g., a wireless communication medium complying with the IEEE 802.11 standard or other transmission protocol). The one or more program instructions 1402 can be, for example, computer-executable or logic-implementing instructions. In some examples, the aforementioned computing device can be configured to provide various operations, functions, or actions in response to the program instructions 1402 conveyed to the computing device by one or more of the computer-readable medium 1403, the computer recordable medium 1404, and / or the communication medium 1405. It will be appreciated that the arrangements described herein are for exemplary purposes only. As such, those skilled in the art will appreciate that other arrangements and other elements (e.g., machines, interfaces, functions, orders, and functionality groups, etc.) can be used instead, and some elements can be omitted altogether depending on the desired results. Further, many of the described elements can be implemented as functional entities that can be realized as discrete or distributed components, or in conjunction with other components in any suitable combinations and locations.

[0200] Those skilled in the art can clearly understand that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0201] Those skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working processes of the above-described system, device and unit can refer to the corresponding processes in the foregoing method embodiments, which will not be repeated here.

[0202] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the above-described device embodiments are merely schematic, for example, the division of the units is only a logical function division, and actual implementation can have another division manner, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0203] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, that is, they can be located in one place, or can be distributed on multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment.

[0204] In addition, each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically independently, or two or more units can be integrated into one unit.

[0205] If the functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application essentially or the parts that contribute to the prior art or parts of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media that can store program codes.

[0206] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in the present application, which should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A parameter optimization method, characterized in that, The method comprises: obtaining a first candidate configuration parameter of a tuning object; running the tuning object according to the first candidate configuration parameter to obtain a first key performance indicator, the first key performance indicator being determined according to at least one observation indicator; obtaining a first historical performance observation record set and a variance of the first historical performance observation record set, the first historical performance observation record set comprising a plurality of key performance indicators obtained by running the tuning object according to historical candidate configuration parameters determined before the first candidate configuration parameter is obtained; determining a first expected value according to the first historical performance observation record set; determining a noise variance according to a residual between the first expected value and the first key performance indicator and the variance of the first historical performance observation record set; determining a second candidate configuration parameter of the tuning object according to the first key performance indicator, the noise variance, a type and a range of the candidate configuration parameter of the tuning object.

2. The method of claim 1, wherein, Before the determining a first expected value according to the first historical performance observation record set, the method further comprises: determining that the first key performance indicator is not an abnormal performance observation value.

3. The method of claim 2, wherein, The method further comprises: running the tuning object according to the second candidate configuration parameter to obtain a second key performance indicator; determining that the second key performance indicator is the abnormal performance observation value; determining a third candidate configuration parameter of the tuning object according to the first key performance indicator, the noise variance, a type and a range of the candidate configuration parameter of the tuning object.

4. The method of claim 3, wherein, The determining that the first key performance indicator is not an abnormal performance observation value comprises: obtaining a confidence interval; determining that the first expected value is located in the confidence interval. The determining that the second key performance indicator is the abnormal performance observation value comprises: determining a second expected value according to a second historical performance observation record set, wherein the second historical performance observation record set comprises the first key performance indicator and the plurality of key performance indicators in the first historical performance observation record set; determining that the second expected value is located outside the confidence interval.

5. The method of claim 4, wherein, The obtaining a confidence interval comprises: configuring a fourth candidate configuration parameter of the tuning object, repeatedly running G times to obtain an initial performance observation record set, G being a positive integer greater than 1; obtaining the confidence interval according to the initial performance observation record set.

6. The method of claim 5, wherein, Before the determining a second candidate configuration parameter of the tuning object according to the first key performance indicator, the noise variance, a type and a range of the candidate configuration parameter of the tuning object, the method further comprises: determining whether the initial performance observation record set conforms to an approximate Gaussian distribution; if the initial performance observation record set does not conform to the approximate Gaussian distribution, determining a transformation parameter, the transformation parameter being capable of converting the initial performance observation record set into a performance observation record set conforming to the approximate Gaussian distribution; the determining a second candidate configuration parameter of the tuning object according to the first key performance indicator, the noise variance, a type and a range of the candidate configuration parameter of the tuning object comprises: if the initial performance observation record set conforms to the approximate Gaussian distribution, determining a second candidate configuration parameter of the tuning object according to the first key performance indicator, the noise variance, the type and range of the candidate configuration parameter of the tuning object; if the initial performance observation record set does not conform to the approximate Gaussian distribution, converting the first key performance indicator into a third key performance indicator using the transformation parameter, and determining a second candidate configuration parameter of the tuning object according to the first key performance indicator, the third key performance indicator, the noise variance, the type and range of the candidate configuration parameter of the tuning object.

7. The method of claim 5, wherein, Before the determining the third candidate configuration parameter of the tuning object according to the first key performance indicator, the noise variance, the type and range of the candidate configuration parameter of the tuning object, the method further comprises: determining whether the initial performance observation record set conforms to an approximate Gaussian distribution; if the initial performance observation record set does not conform to the approximate Gaussian distribution, determining a transformation parameter capable of converting the initial performance observation record set into a performance observation record set conforming to the approximate Gaussian distribution; the determining the third candidate configuration parameter of the tuning object according to the first key performance indicator, the noise variance, the type and range of the candidate configuration parameter of the tuning object, comprises: if the initial performance observation record set conforms to the approximate Gaussian distribution, determining a third candidate configuration parameter of the tuning object according to the first key performance indicator, the noise variance, the type and range of the candidate configuration parameter of the tuning object; if the initial performance observation record set does not conform to the approximate Gaussian distribution, converting the first key performance indicator into a fourth key performance indicator using the transformation parameter, and determining a third candidate configuration parameter of the tuning object according to the first key performance indicator, the fourth key performance indicator, the noise variance, the type and range of the candidate configuration parameter of the tuning object.

8. The method according to any one of claims 1 to 7, characterized in that, the determining the noise variance according to the first key performance indicator, the first expected value, and the variance of the first historical performance observation record set, comprises determining the noise variance according to the following formula: wherein i is the serial number of the candidate configuration parameter of the tuning object, is the variance of the first historical performance observation record set, E(x i ) is the expectation value of the first historical performance observation record set, y i is the first key performance indicator, is the noise variance.

9. A computer apparatus, comprising: The device comprises an acquisition module and a processing module, The acquisition module is configured to acquire a first candidate configuration parameter of a tuning object. The processing module is configured to run the tuning object according to the first candidate configuration parameter to obtain a first key performance indicator, the first key performance indicator being determined according to at least one observation indicator. The acquisition module is further configured to acquire a first historical performance observation record set and a variance of the first historical performance observation record set, the first historical performance observation record set comprising a plurality of key performance indicators obtained by running the tuning object according to historical candidate configuration parameters, the historical candidate configuration parameters being candidate configuration parameters determined before the first candidate configuration parameter is acquired. The processing module is further configured to determine a first expected value according to the first historical performance observation record set. The processing module is further configured to determine a noise variance according to a residual between the first expected value and the first key performance indicator and a variance of the first set of historical performance observation records; The processing module is further configured to determine a second candidate configuration parameter of the tuning object according to the first key performance indicator, the noise variance, a type and a range of the candidate configuration parameter of the tuning object.

10. The apparatus of claim 9, wherein, The processing module is further configured to determine that the first key performance indicator is not an abnormal performance observation value. The processing module is further configured to run the tuning object according to the second candidate configuration parameter to obtain a second key performance indicator; 11. The apparatus of claim 10, wherein, The processing module is further configured to determine that the second key performance indicator is the abnormal performance observation value. The processing module is further configured to determine a third candidate configuration parameter of the tuning object according to the first key performance indicator, the noise variance, a type and a range of the candidate configuration parameter of the tuning object. The processing module is specifically configured to: obtain a confidence interval; 12. The apparatus of claim 11, wherein, determine that the first expected value is located in the confidence interval; The determination that the second key performance indicator is the abnormal performance observation value includes: determine a second expected value according to a second set of historical performance observation records, wherein the second set of historical performance observation records includes multiple key performance indicators in the first set of historical performance observation records and the first key performance indicator; determine that the second expected value is located outside the confidence interval. The processing module is specifically configured to: configure a fourth candidate configuration parameter of the tuning object, and repeatedly run G times to obtain an initial set of performance observation records, G being a positive integer greater than 1; 13. The apparatus of claim 12, wherein, obtain the confidence interval according to the initial set of performance observation records. The processing module is specifically configured to: determine whether the initial set of performance observation records conforms to an approximate Gaussian distribution; 14. The apparatus of claim 13, wherein, if the initial set of performance observation records does not conform to the approximate Gaussian distribution, determine a transformation parameter that can convert the initial set of performance observation records into a set of performance observation records conforming to the approximate Gaussian distribution; The determination of the second candidate configuration parameter of the tuning object according to the first key performance indicator, the noise variance, a type and a range of the candidate configuration parameter of the tuning object includes: if the initial set of performance observation records conforms to the approximate Gaussian distribution, determine the second candidate configuration parameter of the tuning object according to the first key performance indicator, the noise variance, a type and a range of the candidate configuration parameter of the tuning object; if the initial set of performance observation records does not conform to the approximate Gaussian distribution, convert the first key performance indicator into a third key performance indicator using the transformation parameter, and determine the second candidate configuration parameter of the tuning object according to the first key performance indicator, the third key performance indicator, the noise variance, a type and a range of the candidate configuration parameter of the tuning object. The processing module is specifically configured to: determine whether the initial set of performance observation records conforms to an approximate Gaussian distribution; 15. The apparatus of claim 13, wherein, ​ ​ If the initial performance observation record set does not conform to the approximate Gaussian distribution, a transformation parameter is determined, the transformation parameter being capable of converting the initial performance observation record set into a performance observation record set conforming to the approximate Gaussian distribution; The third candidate configuration parameter of the tuning object is determined according to the first key performance indicator, the noise variance, the type and range of the candidate configuration parameter of the tuning object. If the initial performance observation record set conforms to the approximate Gaussian distribution, the third candidate configuration parameter of the tuning object is determined according to the first key performance indicator, the noise variance, the type and range of the candidate configuration parameter of the tuning object. If the initial performance observation record set does not conform to the approximate Gaussian distribution, the first key performance indicator is converted into a fourth key performance indicator using the transformation parameter, and the third candidate configuration parameter of the tuning object is determined according to the first key performance indicator, the fourth key performance indicator, the noise variance, the type and range of the candidate configuration parameter of the tuning object.

16. The apparatus of any one of claims 9 to 15, wherein, The processing module is specifically configured to: The noise variance is determined according to the following formula: wherein i is the serial number of the candidate configuration parameter of the tuning object, is the variance of the first historical performance observation record set, E(x i ) is the expectation value of the first historical performance observation record set, y i is the first key performance indicator, is the noise variance.

17. A computer device, comprising: It comprises: A processor is used to be coupled with a memory, read and execute instructions and / or program codes in the memory, so as to execute the method in any one of claims 1-8.

18. A chip system, characterized by It comprises: A logic circuit is used to be coupled with an input / output interface, transmit data through the input / output interface, so as to execute the method in any one of claims 1-8.

19. A computer readable medium characterized by The computer readable medium stores program codes, when the computer program codes run on the computer, make the computer execute the method in any one of claims 1-8.

Citation Information

Patent Citations

  • Method for calculating weighting coefficient of driver's optimal control model

    CN106444375A

  • Network parameter optimization method and device

    CN110139325A