WO2023082792A1 - Parameter optimization method and apparatus - Google Patents

Parameter optimization method and apparatus Download PDF

Info

Publication number
WO2023082792A1
WO2023082792A1 PCT/CN2022/116726 CN2022116726W WO2023082792A1 WO 2023082792 A1 WO2023082792 A1 WO 2023082792A1 CN 2022116726 W CN2022116726 W CN 2022116726W WO 2023082792 A1 WO2023082792 A1 WO 2023082792A1
Authority
WO
WIPO (PCT)
Prior art keywords
kpi
candidate configuration
performance observation
tuning object
parameter
Prior art date
Application number
PCT/CN2022/116726
Other languages
French (fr)
Chinese (zh)
Inventor
任宏帅
孙涛
杨震
田少博
雷晓松
Original Assignee
华为云计算技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Publication of WO2023082792A1 publication Critical patent/WO2023082792A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Definitions

  • the present application relates to the field of computers, in particular to a parameter optimization method and device.
  • the present application provides a parameter optimization method and device, which can dynamically update the noise distribution during the optimization process and improve the performance of parameter optimization.
  • a parameter optimization method comprising: obtaining a first candidate configuration parameter of an tuning object; running the tuning object according to the first candidate configuration parameter to obtain a first key performance indicator ( key performance indicator, KPI), the first KPI is determined according to at least one observation index; obtain the variance of the first historical performance observation record set and the first historical performance observation record set, the first historical performance observation record set includes A plurality of KPIs obtained by running the tuning object according to historical candidate configuration parameters, where the historical candidate configuration parameters are candidate configuration parameters determined before obtaining the first candidate configuration parameters; according to the first historical performance observation record set , determine the first expected value; determine the noise variance according to the first KPI, the first expected value, and the variance of the first historical performance observation record set; determine the noise variance according to the first KPI, the noise variance, the adjusted
  • KPI key performance indicator
  • Tuning objects include software applications, middleware, algorithms, or servers.
  • the optimization algorithm determines the second candidate configuration parameter of the tuning object according to the first KPI, the noise variance, and the type and range of the candidate configuration parameter of the tuning object.
  • the optimization algorithm may be Bayesian optimization algorithm, random search, grid search, cross-validation, genetic algorithm, particle swarm optimization, simulated annealing and the like.
  • the noise variance represents the magnitude of the noise fluctuation
  • the optimization algorithm can use the noise variance to consider the noise fluctuation magnitude when recommending parameters, reasonably retain the potential optimal solution, and reduce the interference of noise on the search for the optimal solution. Therefore, the second candidate configuration parameter of the tuning object is determined, and the performance of parameter optimization is improved.
  • the method before determining the first expected value according to the first historical performance observation record set, the method further includes: determining that the first KPI is not an abnormal performance observation value.
  • 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 The abnormal performance observation value; according to the first KPI, the noise variance, and the type and range of the candidate configuration parameters of the tuning object, determine a third candidate configuration parameter of the tuning object.
  • judging that the second KPI is the abnormal performance observation value may use a distance-based outlier detection method, a statistics-based outlier detection method, an unsupervised-based outlier detection method, a classification-based Cluster point detection method, outlier point detection method based on density, outlier point detection method based on information entropy, etc.
  • the determining that the first KPI is not an abnormal performance observation includes: obtaining a confidence interval; determining that the first expected value is within the confidence interval;
  • the determining that the second KPI is the abnormal performance observation value includes: determining a second expected value according to a second historical performance observation record set, wherein the second historical performance observation record set includes the first historical performance observation record A plurality of KPIs in the set and the first KPI; determine that the second expected value is outside the confidence interval.
  • the obtaining the confidence interval includes: configuring the fourth candidate configuration parameter of the tuning object, and repeating the operation G times to obtain an initial performance observation record set, where G is a positive integer greater than 1; according to the initial performance observation record Ensemble to get the confidence intervals.
  • the obtaining the confidence interval further includes: obtaining a preset confidence interval.
  • the obtaining the confidence interval further includes: running the tuning object according to different parameter configurations to obtain a set of historical performance observation records, and constructing a confidence interval according to the set of historical performance observation records.
  • the abnormal performance observation value can be judged according to the historical performance observation records of the target software, and the abnormal performance observation value in the parameter optimization process can be filtered out, and directly determined
  • the next group of candidate configuration parameters may select the optimal parameters to improve the efficiency of finding the optimal parameters.
  • the optimization is determined according to the first KPI, the noise variance, and the type and range of the candidate configuration parameters of the tuning object.
  • the method further includes: 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, then determining a transformation parameter, The transformation parameters can convert the initial performance observation record set into a performance observation record set conforming to the approximate Gaussian distribution; the candidate configuration parameters according to the first KPI, the noise variance, and the tuning object.
  • the type and scope of determining the second candidate configuration parameters of the tuning object include: if the initial performance observation record set conforms to the approximate Gaussian distribution, then according to the first KPI, the noise variance, the the type and range of the candidate configuration parameters of the tuning object, and determine the second candidate configuration parameters of the tuning object; if the initial performance observation record set does not conform to the approximate Gaussian distribution, then use the transformation parameters to
  • the method for judging whether it is an approximate Gaussian distribution can use histogram, Shapiro-Wilk (Shapiro-Wilk, W) test, Kolmogorov-Smirnov (Kolmogorov–Smirnov, KS ) test, probability (probability-probability, P-P) diagram, quantile-quantile (quantile-quantile, Q-Q) diagram, etc.
  • a degree threshold can be preset, and when the value obtained by using the method for judging an approximate Gaussian distribution is less than the degree threshold, it is a non-Gaussian distribution, and when it is greater than or equal to the degree threshold, it is an approximate Gaussian distribution.
  • the KS test when the error probability (P) value of accepting the null hypothesis is greater than or equal to 0.05, it is judged that the distribution conforms to an approximate Gaussian distribution.
  • the method of transformation may include beta (beta) transformation, logarithm (log) transformation, square root transformation, taking ⁇ 1 to a certain power transformation, reciprocal transformation, square root anti-rotation transformation, Box-Cox ( Box-Cox) transform, inverse transform sampling, inverse probability integral transform and Fisher transform, etc.
  • the optimization is determined according to the first KPI, the noise variance, and the type and range of the candidate configuration parameters of the tuning object.
  • the method further includes: 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, then determining a transformation parameter, The transformation parameters can convert the initial performance observation record set into a performance observation record set conforming to the approximate Gaussian distribution; the candidate configuration parameters according to the first KPI, the noise variance, and the tuning object
  • the type and scope of determining the third candidate configuration parameters of the tuning object include: if the initial performance observation record set conforms to the approximate Gaussian distribution, then according to the first KPI, the noise variance, the The type and range of the candidate configuration parameters of the tuning object, determine the third candidate configuration parameters of the tuning object; if the initial performance observation record set does not conform to the approximate Gaussian distribution, use the transformation parameters to convert the
  • the impact of noise can be dealt with during the parameter optimization process, and targeted processing can be performed according to the characteristics of the noise, by converting the non-Gaussian distribution of performance observation records into approximate Gaussian distribution of performance observation records , to suppress the impact of non-Gaussian distribution noise on parameter optimization, and can deal with time-varying noise, which improves the efficiency of finding optimal parameters to a certain extent.
  • the determining the noise variance according to the first KPI, the first expected value, and the variance of the first historical performance observation record set includes: according to The following formula determines the noise variance:
  • 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(xi ) is the expected value of the first historical performance observation record set, y i is the first KPI, is the noise variance, and y i -E(xi ) is the residual error between the expected value of the first historical performance observation record set and the first KPI.
  • the formula for determining the noise variance can also be
  • P is the penalty coefficient
  • the noise distribution can be dynamically estimated, and the noise variance of this time can be obtained through the expected value of the first historical performance observation record set, the residual of the first KPI, and the variance of the first historical performance observation record set.
  • the optimization algorithm can use the noise variance to consider the noise fluctuation range when searching the parameter solution space, reasonably retain the potential optimal solution, and reduce the interference of noise on the search for the optimal solution, thereby improving the parameter optimization performance.
  • an embodiment of the present application provides a computer device, where the computer device includes a unit for implementing the first aspect or any possible implementation manner of the first aspect.
  • an embodiment of the present application provides a computer device, the computer device includes a processor, the processor is used to be coupled 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.
  • an embodiment of the present application provides a chip system, the chip system includes a logic circuit, the logic circuit is used to couple with an input/output interface, and transmit data through the input/output interface to perform the first aspect or the first Any possible implementation of the aspect.
  • the embodiment of the present application provides a computer-readable storage medium, the computer-readable storage medium stores program codes, and when the computer storage medium is run on a computer, the computer executes the first aspect or the first aspect. any possible implementation of .
  • an embodiment of the present application provides a computer program product, the computer program product comprising: computer program code, when the computer program code is run on a computer, the computer is made to execute any of the first aspect or the first aspect.
  • a computer program product comprising: computer program code, when the computer program code is run on a computer, the computer is made to execute any of the first aspect or the first aspect.
  • FIG. 1 is an example diagram of an application of a parameter optimization method provided in an embodiment of the present application.
  • Fig. 2 is an exemplary flow chart of a parameter optimization method provided by an embodiment of the present application.
  • Fig. 3 is a schematic diagram of setting parameter types and ranges provided by the embodiment of the present application.
  • Fig. 4 is a schematic diagram of the running result of the tuning object provided by the embodiment of the present application.
  • Fig. 5 is an exemplary flow chart of the internal processing of the noise diagnosis module during the first iteration provided by the embodiment of the present application.
  • Fig. 6 is an example histogram of noise distribution estimation provided by the embodiment of the present application.
  • Fig. 7 is an example histogram conforming to the approximate Gaussian distribution provided by the embodiment of the present application.
  • Fig. 8 is an example histogram of the non-Gaussian distribution provided by the embodiment of the present application.
  • Fig. 9 is an exemplary flow chart of the internal processing of the noise diagnosis module during the second iteration provided by the embodiment of the present application.
  • Fig. 10 is an exemplary flow chart of the internal processing of the noise diagnosis module at the thirtieth iteration provided by the embodiment of the present application.
  • Fig. 11 is an exemplary flow chart of the internal processing of the noise diagnosis module at the sixtieth iteration provided by the embodiment of the present application.
  • FIG. 12 is a structural example diagram of a computer device provided by an embodiment of the present application.
  • Fig. 13 is a structural example diagram of another computer device provided by an embodiment of the present application.
  • Fig. 14 is an exemplary diagram of a computer program product provided by an embodiment of the present application.
  • the final performance observations of a software application, middleware, algorithm, or server may be determined using the mean, mode, or median of performance observations obtained from multiple validations.
  • the types of noise are not static, and only one estimation method cannot be used for all applications.
  • middleware tuning scenario take the tuning of middleware kafka or tomcat as an example.
  • kafka or tomcat is affected by virtualized resources on the cloud, competition for virtualized resources on the cloud will occur during the peak period of request processing, resulting in The performance is degraded, making the performance of the application fluctuate. This situation is due to changes in performance caused by external factors. Traditional methods cannot distinguish between real performance changes and performance changes due to noise interference.
  • the traditional method of statistically calculating the average value of multiple verifications can be applied to scenarios with fewer verifications. However, if encountering abnormal noise that seriously deviates from the distribution range of performance observations, it will cause the average value of statistical performance observations to deviate from the true value.
  • this application proposes a parameter optimization method, which can dynamically update the noise distribution during the tuning process and improve the parameter optimization performance.
  • the technical solution provided by this application can be applied to parameter tuning scenarios affected by noise data in the computer field, including middleware parameter tuning, software parameter tuning, and server parameter tuning, etc., especially for parameter tuning on the cloud Scenes.
  • this application divides noise into two types: abnormal noise and normal noise according to the characteristics of noise.
  • Anomaly noise is the heavily counterfactual outlier observations produced by an anomaly problem.
  • Abnormal noise is usually sporadic noise caused by accidental factors such as program abnormality or hardware failure.
  • the frequency of abnormal noise is low but the amplitude is large, and a small amount of repeated verification is difficult to deal with.
  • the mean size of abnormal noise is disturbed by large noise.
  • Normal noise Due to the virtualization of resources on the cloud and complex environmental impacts, the real performance of the monitored target software has been fluctuating. This kind of noise cannot be eliminated for a long time, and it is affected by many variables, so the observed value of the feedback cannot correctly reflect the real performance of the parameters. Normal noise accompanies for a long time, the noise amplitude is small, and the mean method can be approximated, but the verification cost is high.
  • Normal noise can be divided into three types:
  • Gaussian noise This kind of noise exists for a long time and conforms to a fixed Gaussian distribution.
  • the traditional parameter optimization algorithm takes Gaussian noise as the premise assumption, and believes that the observed value sampled each time has a high probability of being close to the real value.
  • Non-Gaussian noise Due to the interference of multi-party noise, the noise distribution does not follow a specific variance distribution, and even multiple peaks appear during statistics. When using mean statistics, a large amount of verification data support is required.
  • Timing change noise Since the use of certain services in the cloud environment is affected by user access patterns, the use of resources presents a regular pattern of timing. Therefore, during the tuning test, these peak resource preemption may cause The observation noise model changes over time.
  • Timing variation noise It is difficult to model the noise that changes with time, and it is difficult to locate the key factors that cause timing variation; the noise distribution may change, and it is impossible to guarantee that the noise will always maintain the same change law.
  • FIG. 1 is an example diagram of an application of a parameter optimization method provided in an embodiment of the present application.
  • the application example of the parameter optimization method shown in FIG. 1 includes an tuning server 100 and a client 101 , wherein the tuning server 100 includes an 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 .
  • 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 .
  • the tuning record storage module 150 may be a hard drive or other computer-readable storage medium.
  • the tuning record storage module 150 may store data sent by the tuning service module 110, or information such as instructions.
  • the tuning object 120 may be a middleware, a software application, an algorithm, or a server that needs parameter tuning, which is not limited in this application.
  • the tuning object 120 can run the application according to the candidate configuration parameters recommended by the tuning service module 110 .
  • the performance monitoring module 130 may be a tool with a monitoring function, an application, or a script code capable of monitoring performance.
  • the performance monitoring module 130 can monitor the corresponding KPIs generated when the tuning object 120 is running according to the KPIs preset by the user, and transmit the obtained KPIs to the noise diagnosis module 140 .
  • the noise diagnosis module 140 can perform noise diagnosis and noise transformation on the KPI according to the historical performance observation record obtained from the tuning record storage module 150 and the KPI sent by the performance monitoring module 130, and send the obtained denoised KPI and noise variance to to the tuning service module 110.
  • Fig. 2 is an exemplary flow chart of a parameter optimization method provided by an embodiment of the present application.
  • M is a positive integer greater than 1.
  • defining elements may include configuring parameters, setting KPI targets and service loads, and the like.
  • the configuration parameter can be to configure the tuning parameter type and its range on the tuning script.
  • Figure 3 is a schematic diagram of setting parameter types and ranges for kafka parameter tuning provided by the embodiment of this application.
  • the parameter types may include integer, floating point, Boolean, enumeration, etc.
  • the range of can be set according to the type of parameter. For example, when the parameter log.cleaner.enable is set to Boolean, the parameter log.cleaner.enable is true or false.
  • the value of the parameter is within a preset range. For example, when the range of the parameter message.max.bytes is set to 1K-1M, the value of the parameter message.max.bytes is between 1K and 1M.
  • the KPI in setting the KPI target refers to the KPI index for parameter optimization.
  • the KPI index can be one observation index or a combination of several observation indexes.
  • KPI indicators can be specified as commonly used performance test indicators, including producer throughput or throughput rate, transaction average response time, transaction success rate, CPU utilization, maximum number of jobs (max-jobs), and number of key jobs (critical-jobs) and so on. Users can set KPI indicators according to requirements, which is not limited in this application. Exemplarily, when the KPI index is set as the producer throughput (transactions per second, TPS), the optimal parameter found in the embodiment of the present application is the parameter corresponding to the maximum TPS.
  • the KPI indicator When setting the KPI indicator as a weighted combination of multiple indicators, these indicators need to have the same dimension.
  • the optimal parameter to be found at this time is the parameter corresponding to when the KPI is the largest.
  • the business load of the tuning object 120 may also be set, and a stress test or a load test may be performed on the tuning object 120 or a code program specified by the tuning object 120 .
  • Stress test is to obtain the maximum service level test that the system can provide by determining the bottleneck or unacceptable performance point of a system.
  • Load test is to verify that the test object is under different operating conditions (such as different Acceptability of performance behavior under the number of users, number of transactions, etc.). Optimize parameters based on performance test results obtained from stress tests or load tests.
  • the user can preset the number of iterations M of the optimization method according to requirements, or use a default value of the 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 greater the number of iterations M, the more likely it is to find optimal parameters, but the energy consumption may also increase accordingly. Therefore, users can set the number of iterations M according to their actual needs. Exemplarily, M can be set to 30, 50, 60 and so on.
  • the tuning service module 110 recommends a group of candidate configuration parameters.
  • the tuning service module 110 provides at least one optimization algorithm, and the optimization algorithm may include Bayesian optimization algorithm, random search, grid search, cross-validation, genetic algorithm, particle swarm optimization, simulated annealing, etc. Applications are not limited to this.
  • the optimization algorithm in the tuning service module 110 can recommend the next set of candidate configuration parameters for the tuning object 120 to run according to the input provided by the noise diagnosis module.
  • the tuning service module 110 can execute the optimization algorithm once to obtain a set of candidate configuration parameters for recommendation, or execute the optimization algorithm multiple times to obtain multiple sets of candidate configuration parameters and select one of them for recommendation.
  • the selection method can be The selection is made randomly or according to the time when the candidate configuration parameters are obtained, which is not limited in this application.
  • the tuning object 120 configures the parameter and performs a test.
  • the tuning object 120 of the client obtains and configures a set of candidate configuration parameters recommended by the tuning service module 110 , and then runs the configuration to obtain the KPI corresponding to the set of parameters.
  • the KPI indicator is the throughput of the producer
  • the KPI corresponding to this group of parameters may be 130M/s, 158M/s, etc. at this time. It should be understood that the KPIs given here are only examples, and the specific values are subject to the results of actual operation.
  • the performance monitoring module 130 sends the KPI to the noise diagnosis module 140 .
  • the performance monitoring module 130 monitors the tuning object 120 according to a preset KPI index. Exemplarily, when the KPI indicator is the throughput of the producer, monitor the TPS when the tuning object 120 is running, and then send the TPS value to the noise diagnosis module 140 .
  • the noise diagnosis module 140 performs diagnosis transformation on the KPI.
  • the noise diagnosis module 140 can deal with the impact of noise during the process of parameter optimization. Targeted processing is carried out according to the characteristics of different noises. If the KPI obtained in this operation is judged to be 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 operation is normal noise, the normal noise is suppressed according to the requirements and its expected value and noise variance are calculated, and the denoised KPI and noise variance are output.
  • the tuning service module 110 saves the current tuning result.
  • 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 .
  • the tuning service module 110 judges whether the number of iterations this time is less than the number of iterations preset by the user M, if the number of iterations this time is less than M, then use the optimization algorithm to recommend the next group of candidate configurations according to the denoised KPI and noise variance parameter. After the optimization algorithm obtains the noise variance, the error interval can be considered in the optimization process, a certain tolerance to the local optimal point can be maintained, and the potential parameter space that may be close to the optimal point can be reserved.
  • step 280 If the number of iterations this time is greater than or equal to the number of iterations M preset by the user, go to step 280 .
  • the set of candidate configuration parameters corresponding to the optimal KPI in the M round output as a choice of optimal parameters.
  • 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 is the optimal parameter.
  • the optimal parameter found in this embodiment of the present application is the parameter corresponding to the maximum TPS.
  • the candidate configuration parameter used by the tuning object 120 may be referred to as a candidate configuration parameter i, where i is a positive integer greater than or equal to 1.
  • the candidate configuration parameter used by the tuning object 120 may be called candidate configuration parameter 1
  • the candidate configuration parameter used may be called candidate configuration parameter 2
  • the candidate configuration parameter used may be called candidate configuration parameter 3
  • the candidate configuration parameter used may be called candidate configuration parameter 2
  • the candidate configuration parameter used may be referred to as candidate configuration parameters 30
  • the same set of configuration parameters can be used to make the tuning object 120 repeatedly run multiple times, the set
  • the configuration parameters may be referred to as default configuration parameters, and the default configuration parameters may be parameters set by users.
  • the number of repetitions can be set by the user, or the default number of repetitions can be used.
  • the number of repeated operations may be set to 30 times, 50 times, 80 times, etc., which is not limited in this application.
  • the initial performance observation record set corresponding to the default parameter configuration can be obtained through the repeated operations.
  • FIG. 4 is a schematic diagram of the result of repeated operation of the tuning object 120 provided by the embodiment of the present application according to the configuration of the same set of parameters.
  • the goal of the parameter optimization method is to find the parameters corresponding to the optimal KPI, as shown in formula (1),
  • x * argmax i ⁇ N (f(x i )+ ⁇ i ) ⁇ N(0, ⁇ 2 ) (1)
  • x * is the candidate configuration parameter corresponding to the optimal KPI.
  • i is the serial number of the candidate configuration parameter used by the current tuning object 120, i is equal to the current iteration number m
  • x is the configuration parameter
  • x i is the candidate configuration parameter i of the tuning object 120
  • f is the model of the tuning object 120
  • f( xi ) is the real performance value of the tuning object 120 running according to the candidate configuration parameter xi
  • ⁇ i is the noise value of the tuning object 120 running according to the candidate configuration parameter xi .
  • the sum of the true performance value f(xi ) and its corresponding noise value ⁇ i is the KPI value y i .
  • the initial performance observation record set Y is a set of all KPIs obtained by using the same set of default configuration parameters X to run repeatedly for a specified number of times. Variance is the variance, and ci is a constant. Since the real performance value f( xi ) obtained by running the same set of parameter configurations is constant, the variance of the initial performance observation record set Y is equal to the noise variance corresponding to the default configuration parameters xi of the tuning object 120 running. initial noise variance It is equal to the variance of the initial performance observation record set Y.
  • 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 index, 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 may execute the process shown in FIG. 5 according to the received KPI.
  • noise distribution estimation may include two steps, judging whether the initial performance observation record set conforms to an approximate Gaussian distribution and calculating the initial noise variance of the initial performance observation record set
  • Judging whether the initial performance observation record set conforms to an approximate Gaussian distribution Estimate the noise distribution of the initial performance observation record set obtained by repeated operations of the tuning object 120 and determine whether it is an approximate Gaussian distribution.
  • the judgment method used in the embodiment of the present application is a histogram.
  • FIG. 6 is an example histogram of noise distribution estimation provided by the embodiment of the present application.
  • KPI can be set as a single observation index or a combination of multiple observation indexes. When set as a combination of multiple observations, the multiple observations need to have the same dimension. That is to say, one KPI can correspond to one observation indicator, or can correspond to multiple observation indicators.
  • FIG. 7 is a throughput histogram conforming to an approximate Gaussian distribution obtained by running the tuning object 120 .
  • the KPI indicator when the KPI indicator is set as a combination of n observation indicators, then the KPI has n corresponding observation indicators.
  • FIG. 8 is a KPI histogram of a non-Gaussian distribution obtained by running the tuning object 120 .
  • the method for judging whether it is an approximate Gaussian distribution can also use W test, KS test, P-P diagram, Q-Q diagram, etc., which is not limited in this application.
  • the transformation parameter can transform the initial performance observation record set into an initial performance observation record set 2 conforming to an approximate Gaussian distribution. If the initial performance observation record set conforms to an approximate Gaussian distribution, then the transformation parameter does not need to be determined.
  • the transformation parameter may be determined by transforming the initial performance observation record set.
  • different parameters may be used to transform the initial performance observation record set.
  • the parameter may be determined as the transformation parameter.
  • the transformation method from non-Gaussian distribution to approximate Gaussian distribution can be any of the following transformations: beta transformation, log transformation, square root transformation, power transformation of a certain number ⁇ 1, reciprocal transformation, square root anti-rotation transformation, Box-Cox transformation, Inverse transformation sampling, inverse probability integral transformation, Fisher transformation, etc., which method is used for transformation is not limited in this application.
  • the step of judging whether the initial performance observation record set conforms to an approximate Gaussian distribution may also be performed after 520 .
  • the initial noise variance obtained in 510 noise distribution estimation can be used Constructs the confidence interval for the initial set of performance observation records according to the confidence level set by the user.
  • Gaussian fitting is then performed on the set of historical performance observation records of the tuning object 120 .
  • the method of performing Gaussian fitting on the set of historical performance observation records includes performing function approximation on function points, decision tree method, Gaussian curve fitting and other methods with fitting functions, or using some software that can be used to fit data interface, which is not limited in this application.
  • the expected value of candidate configuration parameter 1 can be obtained, and then judge whether the expected value falls within the confidence interval. If it falls within the confidence interval, the KPI corresponding to candidate configuration parameter 1 is not abnormal noise. If If it falls outside the confidence interval, the KPI corresponding to candidate configuration parameter 1 is abnormal noise, and abnormal noise is screened out in this way.
  • the method for 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 cluster detection method, a method based on The outlier detection method based on density, the outlier detection method based on information entropy, etc., are not limited in this application.
  • the tuning service module 110 directly recommends the next group of candidate configuration parameters 2 .
  • the above-mentioned technical solution can deal with the impact of noise in the process of parameter optimization, and carry out targeted processing according to the characteristics of noise, identify and filter abnormal noise, and avoid the interference of abnormal noise on the parameter optimization process, to a certain extent Improve the efficiency of finding the optimal parameters.
  • follow-up steps can be performed according to whether the initial performance observation record set conforms to an approximate Gaussian distribution.
  • step 530 and step 540 may be performed; if the initial performance observation record set conforms to the approximate Gaussian distribution, then step 540 may be directly performed.
  • step 530 Use the transformation parameters determined in step 510 to transform the KPI corresponding to the candidate configuration parameter 1.
  • the above technical solution can deal with the impact of noise in the process of parameter optimization, and according to the characteristics of the noise, it can be processed in a targeted manner, by converting the KPI of non-Gaussian distribution into the value of approximate Gaussian distribution, and suppressing the impact of non-Gaussian distribution noise on the parameters.
  • the impact of optimization being able to deal with time-varying noise, improves the efficiency of finding optimal parameters to a certain extent.
  • Gaussian fitting can be performed on the historical performance observation record set, and the expected value E(xi ) can be estimated for the current candidate configuration parameters x i
  • the KPI value y i and the expected value are used to calculate the residual, and the new residual result is used to update the noise variance Among them, i is the current iteration number m, The noise variance of the last iteration computed for any of equations (6) to (8).
  • the method of calculating the expected value E( xi ) can be regression models such as GP Gaussian process regression, linear regression, polynomial regression, ridge regression, least absolute shrinkage and selection operator (Lasso) regression, or regression tree model, limit Random forest methods such as extreme gradient boosting (XGBoost), categorical boosting (CatBoost), and light gradient boosting machine (LightGBM) are not limited in this application.
  • regression models such as GP Gaussian process regression, linear regression, polynomial regression, ridge regression, least absolute shrinkage and selection operator (Lasso) regression, or regression tree model
  • limit Random forest methods such as extreme gradient boosting (XGBoost), categorical boosting (CatBoost), and light gradient boosting machine (LightGBM) are not limited in this application.
  • P in formula (8) is a default or user-set penalty coefficient.
  • the penalty coefficient may be an integer greater than 0 or a floating point type, which is not limited in the present application.
  • E(x 1 ) may be an expected value calculated by using GP Gaussian process regression to perform Gaussian fitting on the initial performance observation record set.
  • y 1 is the KPI corresponding to candidate configuration parameter 1
  • y 1 -E(x 1 ) is the residual difference between the KPI corresponding to candidate configuration parameter 1 and the expected value.
  • is the initial noise variance is the variance corresponding to candidate configuration parameter 1, that is, the noise variance output by the noise diagnosis module 140 this time.
  • the KPI value y 1 and the noise variance will be output to the tuning service module 110.
  • the optimization algorithm in the tuning service module 110 can pass the KPI value y 1 , and the noise variance When recommending the next set of candidate configuration parameters 2, consider the magnitude of noise fluctuations, reasonably retain the potential optimal solution, and reduce the interference of noise on finding the optimal solution, thereby improving the performance of parameter optimization.
  • the noise diagnosis module will also output the transformed KPI value y 1 to the tuning service module 110 .
  • the optimization algorithm in the tuning service module 110 can pass the KPI value y 1 , the transformed KPI value y 1 and the noise variance When recommending the next set of candidate configuration parameters 2, consider the magnitude of noise fluctuations, reasonably retain the potential optimal solution, and reduce the interference of noise on finding the optimal solution, thereby improving the performance of parameter optimization.
  • the tuning object 120 may operate according to the candidate configuration parameter 2 .
  • the performance monitoring module 130 monitors the tuning object 120 according to the preset KPI index, obtains the KPI corresponding to the candidate configuration parameter 2, and sends the KPI corresponding to the candidate configuration parameter 2 to the noise diagnosis module.
  • the noise diagnosis module 140 may execute the process shown in FIG. 9 according to the received KPI.
  • the method of performing Gaussian fitting on the set of historical performance observation records includes performing function approximation on function points, decision tree method, Gaussian curve fitting and other methods with fitting functions, or using some software that can be used to fit data interface, which is not limited in this application.
  • the method for 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 cluster detection method, a method based on The outlier detection method based on density, the outlier detection method based on information entropy, etc., are not limited in this application.
  • the tuning service module 110 directly recommends the next group of candidate configuration parameters 3 .
  • the above-mentioned technical solution can deal with the impact of noise in the process of parameter optimization, and carry out targeted processing according to the characteristics of noise, identify and filter abnormal noise, and avoid the interference of abnormal noise on the parameter optimization process, to a certain extent Improve the efficiency of finding the optimal parameters.
  • follow-up steps can be performed according to whether the initial performance observation record set conforms to an approximate Gaussian distribution.
  • step 720 and step 730 may be performed; if the initial performance observation record set conforms to the approximate Gaussian distribution, then step 730 may be directly performed.
  • step 720 Use the transformation parameters determined in step 510 to transform the KPI corresponding to the candidate configuration parameter 2.
  • the above technical solution can deal with the impact of noise in the process of parameter optimization, and according to the characteristics of the noise, it can be processed in a targeted manner, by converting the KPI of non-Gaussian distribution into the value of approximate Gaussian distribution, and suppressing the impact of non-Gaussian distribution noise on the parameters.
  • the impact of optimization being able to deal with time-varying noise, improves the efficiency of finding optimal parameters to a certain extent.
  • y 2 is the KPI corresponding to the candidate configuration parameter 2
  • y 2 -E(x 2 ) is the residual difference between the KPI corresponding to the candidate configuration parameter 2 and the expected value.
  • the variance corresponding to candidate configuration parameter 2 that is, the noise variance of this output.
  • the method for calculating the expected value E(x 2 ) can also be regression models such as linear regression, polynomial regression, ridge regression, and Lasso regression, or regression tree models, random forest methods such as XGBoost, CatBoost, and LightGBM. Not limited.
  • the KPI value y 2 and the noise variance will be output to the tuning service module 110.
  • the optimization algorithm in the tuning service module 110 can pass the KPI value y 2 , and the noise variance
  • the amplitude of noise fluctuations is considered, and the potential optimal solution is reasonably reserved to reduce the interference of noise on finding the optimal solution, thereby improving the performance of parameter optimization.
  • the noise diagnosis module will also output the transformed KPI value y 2 to the tuning service module 110 .
  • the optimization algorithm in the tuning service module 110 can pass the KPI value y 2 , the transformed KPI value y 2 and the noise variance
  • the amplitude of noise fluctuations is considered, and the potential optimal solution is reasonably reserved to reduce the interference of noise on finding the optimal solution, thereby improving the performance of parameter optimization.
  • the tuning object 120 can operate according to the candidate configuration parameters 30 .
  • the performance monitoring module 130 monitors the tuning object 120 according to the preset KPI index, obtains the KPI corresponding to the candidate configuration parameter 30, and sends the KPI corresponding to the candidate configuration parameter 30 to the noise diagnosis module.
  • the noise diagnosis module 140 may execute the process shown in FIG. 10 according to the received KPI.
  • the KPI corresponding to the parameter 30 is not abnormal noise. If it falls outside the confidence interval, the KPI corresponding to the candidate configuration parameter 30 is abnormal noise.
  • the abnormal noise is screened out in this way.
  • the method of performing Gaussian fitting on the set of historical performance observation records includes performing function approximation on function points, decision tree method, Gaussian curve fitting and other methods with fitting functions, or using some software that can be used to fit data interface, which is not limited in this application.
  • the method for 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 cluster detection method, a method based on The outlier detection method based on density, the outlier detection method based on information entropy, etc., are not limited in this application.
  • the tuning service module 110 directly recommends the next group of candidate configuration parameters 31 .
  • the above-mentioned technical solution can deal with the impact of noise in the process of parameter optimization, and carry out targeted processing according to the characteristics of noise, identify and filter abnormal noise, and avoid the interference of abnormal noise on the parameter optimization process, to a certain extent Improve the efficiency of finding the optimal parameters.
  • the subsequent steps may be performed according to whether the initial performance observation record set conforms to an approximate Gaussian distribution.
  • step 820 and step 830 may be performed; if the initial performance observation record set conforms to the approximate Gaussian distribution, then step 830 may be directly performed.
  • step 510 Use the transformation parameters determined in step 510 to transform the KPIs corresponding to the candidate configuration parameters 30.
  • the above technical solution can deal with the impact of noise in the process of parameter optimization, and according to the characteristics of the noise, it can be processed in a targeted manner, by converting the KPI of non-Gaussian distribution into the value of approximate Gaussian distribution, and suppressing the impact of non-Gaussian distribution noise on the parameters.
  • the impact of optimization being able to deal with time-varying noise, improves the efficiency of finding optimal parameters to a certain extent.
  • y 30 is the KPI corresponding to the candidate configuration parameter 30
  • y 30 -E(x 30 ) is the residual difference between the KPI corresponding to the candidate configuration parameter 30 and the expected value.
  • is the noise variance corresponding to the candidate configuration parameter 29 is the variance corresponding to the candidate configuration parameter 30, that is, the noise variance output this time.
  • the method for calculating the expected value E(x 30 ) can also be regression models such as linear regression, polynomial regression, ridge regression, and Lasso regression, or random forest methods such as regression tree models, XGBoost, CatBoost, and LightGBM. Not limited.
  • the KPI value y 30 and the noise variance will be output to the tuning service module 110.
  • the optimization algorithm in the tuning service module 110 can pass the KPI value y 30 , and the noise variance When recommending the next set of candidate configuration parameters 31, consider the magnitude of noise fluctuations, reasonably retain the potential optimal solution, reduce the interference of noise on finding the optimal solution, and improve the performance of parameter optimization.
  • the noise diagnosis module will also output the transformed KPI value y 30 to the tuning service module 110 .
  • the optimization algorithm in the tuning service module 110 can pass the KPI value y 30 , the transformed KPI value y 30 and the noise variance When recommending the next set of candidate configuration parameters 31, consider the magnitude of noise fluctuations, reasonably retain the potential optimal solution, reduce the interference of noise on finding the optimal solution, and improve the performance of parameter optimization.
  • the tuning object 120 can operate according to the candidate configuration parameter 60 .
  • the performance monitoring module 130 monitors the tuning object 120 according to the preset KPI index, 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 may execute the process shown in FIG. 11 according to the received KPI.
  • the KPI corresponding to the parameter 60 is not abnormal noise. If it falls outside the confidence interval, the KPI corresponding to the candidate configuration parameter 60 is abnormal noise.
  • the abnormal noise is screened out in this way.
  • the method of performing Gaussian fitting on the set of historical performance observation records includes performing function approximation on function points, decision tree method, Gaussian curve fitting and other methods with fitting functions, or using some software that can be used to fit data interface, which is not limited in this application.
  • the method for 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 cluster detection method, a method based on The outlier detection method based on density, the outlier detection method based on information entropy, etc., are not limited in this application.
  • the tuning service module 110 directly compares the KPIs corresponding to all candidate configuration parameters in the tuning record storage module 150, and selects when the KPI is optimal. The corresponding set of candidate configuration parameters is output as the selection of optimal parameters.
  • the noise diagnosis module 140 will output the KPI, and the tuning service module 110 will save the KPI to the tuning record storage module 150, and then record all candidate configuration parameters in 60 rounds
  • the corresponding non-abnormal noise KPIs are compared, and the corresponding set of candidate configuration parameters output when the KPI is optimal is selected as the optimal parameter selection.
  • the embodiment of the present application also provides a computer storage medium, the computer storage medium stores program instructions, and when the program is executed, it may include the part of the parameter optimization method in the corresponding embodiments as shown in Fig. 2, 5, 9-11 or all steps.
  • FIG. 12 is a structural example diagram of a computer device 1000 provided in an embodiment of the present application.
  • the computer device 1000 includes an acquisition module 1010 and a processing module 1020 .
  • the obtaining module 1010 is used to obtain candidate configuration parameters, historical performance observation records set and noise variance, and executes 220 and 280 in the method of FIG. 2, 540 in the method of FIG. 5, 730 in the method of FIG. 9, and 730 in the method of FIG. The 830.
  • the processing module 1020 is used to select the candidate configuration parameters corresponding to the optimal KPI according to the candidate configuration parameters, the historical performance observation record set and the noise variance, and execute the method in FIG. 2 , the method in FIG. 5 , the method in FIG. 9 , and the method in FIG. 10 , some or all of the steps in the method in FIG. 11 .
  • FIG. 13 is a structural example diagram of another computer device 1300 provided in the embodiment of the present application.
  • the computer device 1300 includes a processor 1302 , a communication interface 1303 and a memory 1304 .
  • One example of computer device 1300 is a chip.
  • Another example of computer apparatus 1300 is a computing device.
  • Processor 1302 can be a central processing unit (central processing unit, CPU), and can also be other general-purpose processors, digital signal processors (digital signal processors, DSP), application specific integrated circuits (application specific integrated circuits, ASICs), on-site Programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • a general purpose processor may be a microprocessor or any conventional processor or the like. In the implementation process, each step of the above method may be completed by an integrated logic circuit of hardware in the processor 1302 or instructions in the form of software.
  • a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
  • the steps of the methods disclosed in the embodiments of the present invention may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor.
  • Memory 1304 can be volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory.
  • the non-volatile memory can be read-only memory (read-only memory, ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically programmable Erases programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • Volatile memory can be random access memory (RAM), which acts as external cache memory.
  • RAM random access memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • SDRAM double data rate synchronous dynamic random access memory
  • ESDRAM enhanced synchronous dynamic random access memory
  • SLDRAM direct memory bus random access memory
  • direct rambus RAM direct rambus RAM
  • the processor 1302, the memory 1304, and the communication interface 1303 may communicate through a bus.
  • Executable codes are stored in the memory 1304, and the processor 1302 reads the executable codes in the memory 1304 to execute a corresponding method.
  • the memory 1304 may also include an operating system and other software modules required for running processes.
  • the operating system can be LINUX TM , UNIX TM , WINDOWS TM and so on.
  • the executable code in the memory 1304 is used to implement the method shown in FIG. 2
  • the processor 1302 reads the executable code in the memory 1304 to execute the method shown in FIG. 2 .
  • Figure 14 schematically illustrates a conceptual partial view of an example computer program product comprising a computer program for executing a computer process on a computing device, arranged in accordance with at least some embodiments presented herein.
  • the example computer program product 1400 is provided using a signal bearing medium 1401 .
  • the signal bearing medium 1401 may include one or more program instructions 1402, which may provide the functions or part of the functions described above with respect to the method shown in FIG. 2 when executed by one or more processors.
  • one or more features of 410 through 450 may be undertaken by one or more instructions associated with signal bearing medium 1401 .
  • signal bearing medium 1401 may comprise computer readable medium 1403 such as, but not limited to, a hard drive, compact disc (CD), digital video disc (DVD), digital tape, memory, read-only memory (read only memory) -only memory, ROM) or random access memory (random access memory, RAM) and so on.
  • signal bearing media 1401 may comprise computer recordable media 1404 such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, and the like.
  • signal bearing media 1401 may include communication media 1405 such as, but not limited to, digital and/or analog communication media (eg, fiber optic cables, waveguides, wired communication links, wireless communication links, etc.).
  • signal bearing medium 1401 may be conveyed by a wireless form of communication medium 1405 (eg, a wireless communication medium that complies with the IEEE 802.11 standard or other transmission protocol).
  • One or more program instructions 1402 may be, for example, computer-executable instructions or logic-implemented instructions.
  • the aforementioned computing device may be configured to, in response to program instructions 1402 communicated to the computing device via one or more of computer-readable media 1403 , computer-recordable media 1404 , and/or communication media 1405 ,
  • Various operations, functions, or actions are provided. It should be understood that the arrangements described herein are for example purposes only.
  • the disclosed systems, devices and methods may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the functions described above are realized in the form of software function units and sold or used as independent products, they can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disc and other media that can store program codes. .

Abstract

Embodiments of the present application provide a parameter optimization method and apparatus, the method comprising: acquiring a first candidate configuration parameter of an optimization adjustment object; running the optimization adjustment object according to the first candidate configuration parameter to obtain a first key performance indicator (KPI); acquiring a first historical performance observation record set and the 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 optimization adjustment object according to the first KPI, the noise variance, and the types and range of candidate configuration parameters of the optimization adjustment object. In the technical solution of the present application, a potential optimal solution may be reasonably maintained when searching for a parameter solution space, the interference of noise on the optimal solution is reduced, and parameter optimization performance is improved.

Description

参数寻优方法和装置Parameter optimization method and device
本申请要求于2021年11月12日提交中国专利局、申请号为202111341930.X、申请名称为“参数寻优方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application with application number 202111341930.X and application title "parameter optimization method and device" filed with the China Patent Office on November 12, 2021, the entire contents of which are hereby incorporated by reference in this application middle.
技术领域technical field
本申请涉及计算机领域,具体涉及一种参数寻优方法和装置。The present application relates to the field of computers, in particular to a parameter optimization method and device.
背景技术Background technique
在软件应用、中间件、算法或服务器的参数寻优场景中,对参数进行性能测试的反馈往往是包含噪声的。尤其是在云上,噪声的干扰更加严重。应用的真实性能会受到真实物理邻居如资源干扰,机柜限频等环境因素的影响,甚至使虚拟资源的真实性能长期处于波动状态。尽管供应商提供了性能隔离和质量保证措施,但性能波动的问题仍然普遍存在,甚至还可能因为这些机制让波动更加剧烈。In parameter optimization scenarios of software applications, middleware, algorithms, or servers, feedback from performance testing of 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 environmental factors such as resource interference from real physical neighbors, cabinet frequency limitation, etc., and even make the real performance of virtual resources fluctuate for a long time. Although vendors provide performance isolation and quality assurance measures, the problem of performance fluctuations is still common, and may even be exacerbated by these mechanisms.
因此,如何提升参数寻优性能是一个亟待解决的技术问题。Therefore, how to improve the parameter optimization performance is an urgent technical problem to be solved.
发明内容Contents of the invention
本申请提供一种参数寻优方法和装置,能够在调优过程中动态更新噪声分布,提升参数寻优性能。The present application provides a parameter optimization method and device, which can dynamically update the noise distribution during the optimization process and improve the performance of parameter optimization.
第一方面,提供了一种参数寻优方法,该方法包括:获取调优对象的第一候选配置参数;根据所述第一候选配置参数运行所述调优对象,得到第一关键绩效指标(key performance indicator,KPI),所述第一KPI是根据至少一个观测指标确定的;获取第一历史性能观测记录集合和所述第一历史性能观测记录集合的方差,第一历史性能观测记录集合包括根据历史候选配置参数运行所述调优对象得到的多个KPI,所述历史候选配置参数是在获取所述第一候选配置参数之前确定的候选配置参数;根据所述第一历史性能观测记录集合,确定第一期望值;根据所述第一KPI、所述第一期望值、所述第一历史性能观测记录集合的方差,确定噪声方差;根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第二候选配置参数。In a first aspect, a parameter optimization method is provided, the method comprising: obtaining a first candidate configuration parameter of an tuning object; running the tuning object according to the first candidate configuration parameter to obtain a first key performance indicator ( key performance indicator, KPI), the first KPI is determined according to at least one observation index; obtain the variance of the first historical performance observation record set and the first historical performance observation record set, the first historical performance observation record set includes A plurality of KPIs obtained by running the tuning object according to historical candidate configuration parameters, where the historical candidate configuration parameters are candidate configuration parameters determined before obtaining the first candidate configuration parameters; according to the first historical performance observation record set , determine the first expected value; determine the noise variance according to the first KPI, the first expected value, and the variance of the first historical performance observation record set; determine the noise variance according to the first KPI, the noise variance, the adjusted The type and range of the candidate configuration parameters of the optimization object are determined, and the second candidate configuration parameters of the optimization object are determined.
调优对象包括软件应用、中间件、算法或服务器等。Tuning objects include software applications, middleware, algorithms, or servers.
寻优算法通过所述第一KPI、所述噪声方差和所述调优对象的候选配置参数的类型和范围,来确定所述调优对象的第二候选配置参数。The optimization algorithm determines the second candidate configuration parameter of the tuning object according to the first KPI, the noise variance, and the type and range of the candidate configuration parameter of the tuning object.
可选地,寻优算法可以是贝叶斯优化算法、随机搜索、网格搜索、交叉验证、遗传算法、粒子群优化、模拟退火等。Optionally, the optimization algorithm may be Bayesian optimization algorithm, random search, grid search, cross-validation, genetic algorithm, particle swarm optimization, simulated annealing and the like.
在本申请实施例中,噪声方差代表噪声波动的幅度,寻优算法可以通过噪声方差在推荐参数时考虑噪声波动的幅度,合理的保留潜在最优解,减少噪声对寻找最优解的干扰, 从而确定所述调优对象的第二候选配置参数,提升参数寻优性能。In the embodiment of the present application, the noise variance represents the magnitude of the noise fluctuation, and the optimization algorithm can use the noise variance to consider the noise fluctuation magnitude when recommending parameters, reasonably retain the potential optimal solution, and reduce the interference of noise on the search for the optimal solution. Therefore, the second candidate configuration parameter of the tuning object is determined, and the performance of parameter optimization is improved.
结合第一方面,在第一方面的某些实现方式中,在根据所述第一历史性能观测记录集合,确定第一期望值之前,所述方法还包括:确定所述第一KPI不是异常性能观测值。With reference to the first aspect, in some implementation manners of the first aspect, before determining the first expected value according to the first historical performance observation record set, the method further includes: determining that the first KPI is not an abnormal performance observation value.
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:根据所述第二候选配置参数运行所述调优对象,得到第二KPI;确定所述第二KPI为所述异常性能观测值;根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第三候选配置参数。With reference to 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 The abnormal performance observation value; according to the first KPI, the noise variance, and the type and range of the candidate configuration parameters of the tuning object, determine a third candidate configuration parameter of the tuning object.
可选地,判断所述第二KPI为所述异常性能观测值可以使用基于距离的离群点检测方法、基于统计的离群点检测方法、基于无监督的离群点检测方法、基于分类的群点检测方法、基于密度的离群点检测方法、基于信息熵的离群点检测方法等。Optionally, judging that the second KPI is the abnormal performance observation value may use a distance-based outlier detection method, a statistics-based outlier detection method, an unsupervised-based outlier detection method, a classification-based Cluster point detection method, outlier point detection method based on density, outlier point detection method based on information entropy, etc.
在本申请实施例中,通过对异常性能观测值进行识别判断,对异常性能观测值进行识别过滤,避免异常性能观测值对参数寻优过程的干扰,在一定程度上提高了寻找最优参数的效率。In the embodiment of the present application, by identifying and judging abnormal performance observations, identifying and filtering abnormal performance observations, avoiding the interference of abnormal performance observations on the parameter optimization process, and improving the search for optimal parameters to a certain extent efficiency.
结合第一方面,在第一方面的某些实现方式中,所述确定所述第一KPI不是异常性能观测值,包括:获取置信区间;确定所述第一期望值位于所述置信区间内;所述确定所述第二KPI为所述异常性能观测值,包括:根据第二历史性能观测记录集合,确定第二期望值,其中所述第二历史性能观测记录集合包括所述第一历史性能观测记录集合中的多个KPI和所述第一KPI;确定是第二期望值位于所述置信区间外。With reference to the first aspect, in some implementation manners of the first aspect, the determining that the first KPI is not an abnormal performance observation includes: obtaining a confidence interval; determining that the first expected value is within the confidence interval; The determining that the second KPI is the abnormal performance observation value includes: determining a second expected value according to a second historical performance observation record set, wherein the second historical performance observation record set includes the first historical performance observation record A plurality of KPIs in the set and the first KPI; determine that the second expected value is outside the confidence interval.
可选地,所述获取置信区间包括:配置所述调优对象的第四候选配置参数,重复运行G次得到初始性能观测记录集合,G为大于1的正整数;根据所述初始性能观测记录集合得到所述置信区间。Optionally, the obtaining the confidence interval includes: configuring the fourth candidate configuration parameter of the tuning object, and repeating the operation G times to obtain an initial performance observation record set, where G is a positive integer greater than 1; according to the initial performance observation record Ensemble to get the confidence intervals.
可选地,所述获取置信区间还包括:获取预设的置信区间。Optionally, the obtaining the confidence interval further includes: obtaining a preset confidence interval.
可选地,所述获取置信区间还包括:调优对象根据不同的参数配置运行得到历史性能观测记录集合,根据所述历史性能观测记录集合来构建置信区间。Optionally, the obtaining the confidence interval further includes: running the tuning object according to different parameter configurations to obtain a set of historical performance observation records, and constructing a confidence interval according to the set of historical performance observation records.
在本申请实施例中,通过计算或者预设置信区间,从而可以根据目标软件的历史性能观测记录来对异常性能观测值进行判断,过滤掉参数寻优过程中的异常性能观测值,并直接确定下一组候选配置参数或选择出最优参数,提高寻找最优参数的效率。In the embodiment of the present application, by calculating or presetting the confidence interval, the abnormal performance observation value can be judged according to the historical performance observation records of the target software, and the abnormal performance observation value in the parameter optimization process can be filtered out, and directly determined The next group of candidate configuration parameters may select the optimal parameters to improve the efficiency of finding the optimal parameters.
结合第一方面,在第一方面的某些实现方式中,在所述根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第二候选配置参数之前,所述方法还包括:确定所述初始性能观测记录集合是否符合近似高斯分布;若所述初始性能观测记录集合不符合所述近似高斯分布,则确定变换参数,所述变换参数能够将所述初始性能观测记录集合转换为符合所述近似高斯分布的性能观测记录集合;所述根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第二候选配置参数,包括:若所述初始性能观测记录集合符合所述近似高斯分布,则根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第二候选配置参数;若所述初始性能观测记录集合不符合所述近似高斯分布,则使用所述变换参数将所述第一KPI转换为第三KPI,根据所述第一KPI、所述第三KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第二候选配置参数。With reference to the first aspect, in some implementation manners of the first aspect, the optimization is determined according to the first KPI, the noise variance, and the type and range of the candidate configuration parameters of the tuning object. Before the second candidate configuration parameter of the object, the method further includes: 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, then determining a transformation parameter, The transformation parameters can convert the initial performance observation record set into a performance observation record set conforming to the approximate Gaussian distribution; the candidate configuration parameters according to the first KPI, the noise variance, and the tuning object The type and scope of determining the second candidate configuration parameters of the tuning object include: if the initial performance observation record set conforms to the approximate Gaussian distribution, then according to the first KPI, the noise variance, the the type and range of the candidate configuration parameters of the tuning object, and determine the second candidate configuration parameters of the tuning object; if the initial performance observation record set does not conform to the approximate Gaussian distribution, then use the transformation parameters to The first KPI is converted into a third KPI, and the second KPI of the tuning object is determined according to the first KPI, the third KPI, the noise variance, and the type and range of the candidate configuration parameters of the tuning object. Candidate configuration parameters.
可选地,判断是否为近似高斯分布的方法可以利用直方图、夏皮罗-威尔克(Shapiro-Wilk,W)检验、柯尔莫哥洛夫-斯摩洛夫(Kolmogorov–Smirnov,KS)检验、概率(probability-probability,P-P)图、分位数-分位数(quantile-quantile,Q-Q)图等。Optionally, the method for judging whether it is an approximate Gaussian distribution can use histogram, Shapiro-Wilk (Shapiro-Wilk, W) test, Kolmogorov-Smirnov (Kolmogorov–Smirnov, KS ) test, probability (probability-probability, P-P) diagram, quantile-quantile (quantile-quantile, Q-Q) diagram, etc.
应理解,可以预设一个程度阈值,当使用上述判断近似高斯分布的方法得到的值小于该程度阈值时为非高斯分布,大于等于该程度阈值时为近似高斯分布。示例性地,使用KS检验时,接受原假设时出错的概率(P)值大于等于0.05时判断该分布符合近似高斯分布。It should be understood that a degree threshold can be preset, and when the value obtained by using the method for judging an approximate Gaussian distribution is less than the degree threshold, it is a non-Gaussian distribution, and when it is greater than or equal to the degree threshold, it is an approximate Gaussian distribution. Exemplarily, when the KS test is used, when the error probability (P) value of accepting the null hypothesis is greater than or equal to 0.05, it is judged that the distribution conforms to an approximate Gaussian distribution.
可选地,变换的方法可以包括贝塔(beta)变换、对数(log)变换、平方根变换、取<1的某数次幂变换、倒数变换、平方根反正旋变换、博克斯-考克斯(Box-Cox)变换、逆变换采样、逆概率积分变换和费雪(Fisher)变换等。Optionally, the method of transformation may include beta (beta) transformation, logarithm (log) transformation, square root transformation, taking <1 to a certain power transformation, reciprocal transformation, square root anti-rotation transformation, Box-Cox ( Box-Cox) transform, inverse transform sampling, inverse probability integral transform and Fisher transform, etc.
结合第一方面,在第一方面的某些实现方式中,在所述根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第三候选配置参数之前,所述方法还包括:确定所述初始性能观测记录集合是否符合近似高斯分布;若所述初始性能观测记录集合不符合所述近似高斯分布,则确定变换参数,所述变换参数能够将所述初始性能观测记录集合转换为符合所述近似高斯分布的性能观测记录集合;所述根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第三候选配置参数,包括:若所述初始性能观测记录集合符合所述近似高斯分布,则根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第三候选配置参数;若所述初始性能观测记录集合不符合所述近似高斯分布,则使用所述变换参数将所述第一KPI转换为第四KPI,根据所述第一KPI、所述第四KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第三候选配置参数。With reference to the first aspect, in some implementation manners of the first aspect, the optimization is determined according to the first KPI, the noise variance, and the type and range of the candidate configuration parameters of the tuning object. Before the third candidate configuration parameter of the object, the method further includes: 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, then determining a transformation parameter, The transformation parameters can convert the initial performance observation record set into a performance observation record set conforming to the approximate Gaussian distribution; the candidate configuration parameters according to the first KPI, the noise variance, and the tuning object The type and scope of determining the third candidate configuration parameters of the tuning object include: if the initial performance observation record set conforms to the approximate Gaussian distribution, then according to the first KPI, the noise variance, the The type and range of the candidate configuration parameters of the tuning object, determine the third candidate configuration parameters of the tuning object; if the initial performance observation record set does not conform to the approximate Gaussian distribution, use the transformation parameters to convert the The first KPI is converted into a fourth KPI, and the third KPI of the tuning object is determined according to the first KPI, the fourth KPI, the noise variance, and the type and range of the candidate configuration parameters of the tuning object. Candidate configuration parameters.
在本申请实施例中,能够在参数寻优的过程中处理噪声带来的影响,根据噪声的特点有针对性的处理,通过将非高斯分布的性能观测记录转换为近似高斯分布的性能观测记录,来抑制非高斯分布噪声对参数寻优的影响,能够处理随时间变化的噪声,在一定程度上提高了寻找最优参数的效率。In the embodiment of the present application, the impact of noise can be dealt with during the parameter optimization process, and targeted processing can be performed according to the characteristics of the noise, by converting the non-Gaussian distribution of performance observation records into approximate Gaussian distribution of performance observation records , to suppress the impact of non-Gaussian distribution noise on parameter optimization, and can deal with time-varying noise, which improves the efficiency of finding optimal parameters to a certain extent.
结合第一方面,在第一方面的某些实现方式中,所述根据所述第一KPI、所述第一期望值、所述第一历史性能观测记录集合的方差,确定噪声方差,包括:根据以下公式确定所述噪声方差:With reference to the first aspect, in some implementation manners of the first aspect, the determining the noise variance according to the first KPI, the first expected value, and the variance of the first historical performance observation record set includes: according to The following formula determines the noise variance:
Figure PCTCN2022116726-appb-000001
Figure PCTCN2022116726-appb-000001
其中,i为所述调优对象的候选配置参数的序号,
Figure PCTCN2022116726-appb-000002
为所述第一历史性能观测记录集合的方差,E(x i)为所述第一历史性能观测记录集合的期望值,y i为所述第一KPI,
Figure PCTCN2022116726-appb-000003
为所述噪声方差,y i-E(x i)为第一历史性能观测记录集合的期望值与第一KPI的残差。
Wherein, i is the serial number of the candidate configuration parameter of the tuning object,
Figure PCTCN2022116726-appb-000002
is the variance of the first historical performance observation record set, E(xi ) is the expected value of the first historical performance observation record set, y i is the first KPI,
Figure PCTCN2022116726-appb-000003
is the noise variance, and y i -E(xi ) is the residual error between the expected value of the first historical performance observation record set and the first KPI.
可选地,确定所述噪声方差的公式还可以是Optionally, the formula for determining the noise variance can also be
Figure PCTCN2022116726-appb-000004
Figure PCTCN2022116726-appb-000004
Figure PCTCN2022116726-appb-000005
or
Figure PCTCN2022116726-appb-000005
其中,P为惩罚系数。Among them, P is the penalty coefficient.
在本申请实施例中,可以动态估计噪声分布,通过第一历史性能观测记录集合的期望值与第一KPI的残差、第一历史性能观测记录集合的方差来得到本次的噪声方差。寻优算法可以利用噪声方差,在搜索参数解空间的时候考虑噪声波动幅度,合理的保留潜在最优解,减少噪声对搜索最优解的干扰,从而提升参数寻优性能。In the embodiment of the present application, the noise distribution can be dynamically estimated, and the noise variance of this time can be obtained through the expected value of the first historical performance observation record set, the residual of the first KPI, and the variance of the first historical performance observation record set. The optimization algorithm can use the noise variance to consider the noise fluctuation range when searching the parameter solution space, reasonably retain the potential optimal solution, and reduce the interference of noise on the search for the optimal solution, thereby improving the parameter optimization performance.
第二方面,本申请实施例提供一种计算机装置,该计算机装置包括用于实现第一方面或第一方面的任一种可能的实现方式的单元。In a second aspect, an embodiment of the present application provides a computer device, where the computer device includes a unit for implementing the first aspect or any possible implementation manner of the first aspect.
第三方面,本申请实施例提供一种计算机装置,该计算机装置包括处理器,该处理器用于与存储器耦合,读取并执行该存储器中的指令和/或程序代码,以执行第一方面或第一方面的任一种可能的实现方式。In a third aspect, an embodiment of the present application provides a computer device, the computer device includes a processor, the processor is used to be coupled 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.
第四方面,本申请实施例提供一种芯片系统,该芯片系统包括逻辑电路,该逻辑电路用于与输入/输出接口耦合,通过该输入/输出接口传输数据,以执行第一方面或第一方面任一种可能的实现方式。In a fourth aspect, an embodiment of the present application provides a chip system, the chip system includes a logic circuit, the logic circuit is used to couple with an input/output interface, and transmit data through the input/output interface to perform the first aspect or the first Any possible implementation of the aspect.
第五方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有程序代码,当该计算机存储介质在计算机上运行时,使得计算机执行如第一方面或第一方面的任一种可能的实现方式。In the fifth aspect, the embodiment of the present application provides a computer-readable storage medium, the computer-readable storage medium stores program codes, and when the computer storage medium is run on a computer, the computer executes the first aspect or the first aspect. any possible implementation of .
第六方面,本申请实施例提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行如第一方面或第一方面的任一种可能的实现方式。In a sixth aspect, an embodiment of the present application provides a computer program product, the computer program product comprising: computer program code, when the computer program code is run on a computer, the computer is made to execute any of the first aspect or the first aspect. One possible implementation.
附图说明Description of drawings
图1是本申请实施例提供的一种参数寻优方法的应用示例图。FIG. 1 is an example diagram of an application of a parameter optimization method provided in an embodiment of the present application.
图2是本申请实施例提供的一种参数寻优方法的示例性流程图。Fig. 2 is an exemplary flow chart of a parameter optimization method provided by an embodiment of the present application.
图3是本申请实施例提供的设定参数类型和范围的示意图。Fig. 3 is a schematic diagram of setting parameter types and ranges provided by the embodiment of the present application.
图4是本申请实施例提供的调优对象运行结果的示意图。Fig. 4 is a schematic diagram of the running result of the tuning object provided by the embodiment of the present application.
图5是本申请实施例提供的第一次迭代时噪声诊断模块内部处理的示例性流程图。Fig. 5 is an exemplary flow chart of the internal processing of the noise diagnosis module during the first iteration provided by the embodiment of the present application.
图6是本申请实施例提供的噪声分布估计的示例直方图。Fig. 6 is an example histogram of noise distribution estimation provided by the embodiment of the present application.
图7是本申请实施例提供的符合近似高斯分布的示例直方图。Fig. 7 is an example histogram conforming to the approximate Gaussian distribution provided by the embodiment of the present application.
图8是本申请实施例提供的非高斯分布的示例直方图。Fig. 8 is an example histogram of the non-Gaussian distribution provided by the embodiment of the present application.
图9是本申请实施例提供的第二次迭代时噪声诊断模块内部处理的示例性流程图。Fig. 9 is an exemplary flow chart of the internal processing of the noise diagnosis module during the second iteration provided by the embodiment of the present application.
图10是本申请实施例提供的第三十次迭代时噪声诊断模块内部处理的示例性流程图。Fig. 10 is an exemplary flow chart of the internal processing of the noise diagnosis module at the thirtieth iteration provided by the embodiment of the present application.
图11是本申请实施例提供的第六十次迭代时噪声诊断模块内部处理的示例性流程图。Fig. 11 is an exemplary flow chart of the internal processing of the noise diagnosis module at the sixtieth iteration provided by the embodiment of the present application.
图12为本申请实施例提供的一种计算机装置的结构示例图。FIG. 12 is a structural example diagram of a computer device provided by an embodiment of the present application.
图13是本申请实施例提供的另一种计算机装置的结构示例图。Fig. 13 is a structural example diagram of another computer device provided by an embodiment of the present application.
图14是本申请实施例提供的一种计算机程序产品的示例图。Fig. 14 is an exemplary diagram of a computer program product provided by an embodiment of the present application.
具体实施方式Detailed ways
软件应用、中间件、算法或服务器的最终的性能观测值可以使用多次验证得到的性能 观测值的平均值、众数或者中位数来确定。然而噪声的类型并不是一成不变的,只选择一种估计方式无法应对所有的应用。The final performance observations of a software application, middleware, algorithm, or server may be determined using the mean, mode, or median of performance observations obtained from multiple validations. However, the types of noise are not static, and only one estimation method cannot be used for all applications.
上述方法存在以下问题:The above method has the following problems:
从统计意义上计算平均值、众数和中位数需要一定的数据量,而真实的应用软件参数验证由于成本的原因往往验证次数较少,而少量的验证次数无法正确估计这些统计度量。噪声的分布可能随时间而改变,给噪声建立固定的噪声模型,无法正确的削弱噪声的影响。不同噪声类型对调优算法的影响方式不同,需要使用不同方法来处理。Calculating the mean, mode, and median in a statistical sense requires a certain amount of data, and the real application software parameter verification often has fewer verification times 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 types of noise affect the tuning algorithm in different ways and require different methods to deal with it.
例如:在GCC编译器优化的场景中,由于程序代码运行时间较长,每种类型的程序运行时间受优化开关项的影响,从十几分钟到几个小时不等,这种情况就无法使用较多的验证次数来估计均值与中位数。For example: in the scenario of GCC compiler optimization, due to the long running time of the program code, the running time of each type of program is affected by the optimization switch item, ranging from more than ten minutes to several hours, this situation cannot be used More validation times to estimate the mean and median.
在中间件调优的场景中,以中间件kafka或tomcat的调优为例,当kafka或tomcat受到云上虚拟化资源的影响时,在请求处理的高峰期会出现云上虚拟化资源竞争导致性能出现下降的情况,使得应用的性能处于波动状态。这种情况是由于性能受到外界因素的影响而导致的变化。传统方法无法区分是真实性能发生了变化还是因为噪声干扰导致的性能变化。In the middleware tuning scenario, take the tuning of middleware kafka or tomcat as an example. When kafka or tomcat is affected by virtualized resources on the cloud, competition for virtualized resources on the cloud will occur during the peak period of request processing, resulting in The performance is degraded, making the performance of the application fluctuate. This situation is due to changes in performance caused by external factors. Traditional methods cannot distinguish between real performance changes and performance changes due to noise interference.
传统的多次验证统计计算平均值的方法,可以应用于验证次数较少的场景。但是如果遇到严重偏离性能观测值分布范围的异常噪声将会导致统计的性能观测值的平均值偏离真实值。The traditional method of statistically calculating the average value of multiple verifications can be applied to scenarios with fewer verifications. However, if encountering abnormal noise that seriously deviates from the distribution range of performance observations, it will cause the average value of statistical performance observations to deviate from the true value.
统计方法可以通过多次验证的方式,统计众数或中位数来应对异常噪声带来的影响,但是这种方式需要的验证次数较多,验证成本也会随之增加。Statistical methods can deal with the impact of abnormal noise by counting the mode or median through multiple verifications, but this method requires more verifications and the cost of verification will increase accordingly.
为此本申请提出了一种参数寻优方法,能够在调优过程中动态更新噪声分布,提升参数寻优性能。For this reason, this application proposes a parameter optimization method, which can dynamically update the noise distribution during the tuning process and improve the parameter optimization performance.
本申请提供的技术方案可以应用于计算机领域的受噪声数据影响的参数调优场景中,包括中间件参数调优、软件参数调优和服务器参数调优等,尤其适用于云上的参数调优场景。The technical solution provided by this application can be applied to parameter tuning scenarios affected by noise data in the computer field, including middleware parameter tuning, software parameter tuning, and server parameter tuning, etc., especially for parameter tuning on the cloud Scenes.
为了更有针对性的解决各类噪声,本申请根据噪声的特点将噪声划分为异常噪声和常态噪声两大类型。In order to solve various types of noise more specifically, this application divides noise into two types: abnormal noise and normal noise according to the characteristics of noise.
异常噪声是异常问题产生的严重反事实的离群点观测值。异常噪声通常是由于程序异常或硬件故障等偶然因素导致的偶发性噪声。异常噪声出现频率较低但幅度较大,少量的重复验证难以处理。异常噪声的均值大小会受到大噪声的干扰。Anomaly noise is the heavily counterfactual outlier observations produced by an anomaly problem. Abnormal noise is usually sporadic noise caused by accidental factors such as program abnormality or hardware failure. The frequency of abnormal noise is low but the amplitude is large, and a small amount of repeated verification is difficult to deal with. The mean size of abnormal noise is disturbed by large noise.
异常噪声带来的问题:没有足够数据支撑的情况下,难以判断是参数作用还是异常噪声导致的性能抖动;问题模型复杂时,由于交互验证次数较少,估计性能计算置信区间的方式会失效。Problems caused by abnormal noise: In the absence of sufficient data support, it is difficult to judge whether the performance jitter is caused by parameter effects or abnormal noise; when the problem model is complex, due to the small number of interactive verifications, the method of estimating performance and calculating confidence intervals will fail.
常态噪声:由于云上的资源虚拟化与复杂的环境影响使被监测的目标软件的真实性能一直处于波动状态。这种噪声不可消灭长期伴随,而且受到多方变量的影响,反馈的观测值无法正确反映参数的真实性能。常态噪声长期伴随,噪声幅度较小,均值方式可近似,但验证成本较高。Normal noise: Due to the virtualization of resources on the cloud and complex environmental impacts, the real performance of the monitored target software has been fluctuating. This kind of noise cannot be eliminated for a long time, and it is affected by many variables, so the observed value of the feedback cannot correctly reflect the real performance of the parameters. Normal noise accompanies for a long time, the noise amplitude is small, and the mean method can be approximated, but the verification cost is high.
常态噪声可以分为三种类型:Normal noise can be divided into three types:
a)高斯噪声:这种噪声长期存在,符合固定的高斯分布,传统的参数寻优算法,将 高斯噪声作为前提假设,认为每次采样到的观测值大概率接近真实值。a) Gaussian noise: This kind of noise exists for a long time and conforms to a fixed Gaussian distribution. The traditional parameter optimization algorithm takes Gaussian noise as the premise assumption, and believes that the observed value sampled each time has a high probability of being close to the real value.
高斯噪声带来的问题:尽管高斯噪声的前提假设能够从统计上保证采样点大概率落在众数直方区间,但仍然存在采样不准确的可能;尽管噪声符合高斯分布,但噪声的波动区间仍然十分宽泛,少量的重复验证无法正确估计出其真实性能。Problems caused by Gaussian noise: Although the premise assumption of Gaussian noise can statistically guarantee that the sampling point has a high probability of falling in the mode histogram interval, there is still the possibility of inaccurate sampling; although the noise conforms to the Gaussian distribution, the fluctuation interval of the noise is still Very broad, a small number of repeated verifications cannot correctly estimate its true performance.
b)非高斯噪声:由于多方噪声的干扰,使噪声分布不遵从特定的方差分布,统计时甚至出现多个波峰。使用均值统计时,需要大量的验证数据支撑。b) Non-Gaussian noise: Due to the interference of multi-party noise, the noise distribution does not follow a specific variance distribution, and even multiple peaks appear during statistics. When using mean statistics, a large amount of verification data support is required.
非高斯噪声带来的问题:噪声不遵从特定分布,难以对噪声进行建模;需要大量重复验证来统计分布直方图。Problems caused by non-Gaussian noise: noise does not follow a specific distribution, it is difficult to model noise; a large number of repeated verifications are required to statistically distribute histograms.
c)时序变化噪声:由于云上环境某些服务的使用受到用户访问模式的影响,导致资源的使用呈现一种时序规律的模式,因此在进行调优测试的过程中会因为这些高峰资源抢占导致观测噪声模型随时间而变化。c) Timing change noise: Since the use of certain services in the cloud environment is affected by user access patterns, the use of resources presents a regular pattern of timing. Therefore, during the tuning test, these peak resource preemption may cause The observation noise model changes over time.
时序变化噪声带来的问题:随时间变换的噪声难以建模,很难定位引发时序变化的关键因素;噪声分布可能发生变化,无法保证噪声始终保持相同的变化规律。Problems caused by timing variation noise: It is difficult to model the noise that changes with time, and it is difficult to locate the key factors that cause timing variation; the noise distribution may change, and it is impossible to guarantee that the noise will always maintain the same change law.
下面将结合附图,对本申请实施例中的技术方案进行描述。显然,所描述的实施例是本申请的一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本申请保护的范围。The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings. Apparently, the described embodiments are some of the embodiments of the present application, not all of them. Based on the embodiments in this application, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts shall fall within the scope of protection of this application.
图1是本申请实施例提供的一种参数寻优方法的应用示例图。FIG. 1 is an example diagram of an application of a parameter optimization method provided in an embodiment of the present application.
如图1所示的参数寻优方法的应用实例包括调优服务端100和客户端101,其中,调优服务端100包括调优服务模块110,噪声诊断模块140和调优记录存储模块150。客户端101包括性能监测模块130和调优对象120。The application example of the parameter optimization method shown in FIG. 1 includes an tuning server 100 and a client 101 , wherein the tuning server 100 includes an 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 .
调优服务模块110可以通过接收噪声诊断模块140传过来的数据推荐候选配置参数,并将从噪声诊断模块140接收到的数据保存在调优记录存储模块150。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 .
调优记录存储模块150可以是硬盘驱动器或其它计算机可读存储介质。调优记录存储模块150可以存储调优服务模块110发送来的数据,或者指令等信息。The tuning record storage module 150 may be a hard drive or other computer-readable storage medium. The tuning record storage module 150 may store data sent by the tuning service module 110, or information such as instructions.
调优对象120可以是需要进行参数调优的中间件、软件应用、算法或服务器等,本申请对此不做限定。调优对象120可以根据调优服务模块110推荐的候选配置参数来运行应用。The tuning object 120 may be a middleware, a software application, an algorithm, or a server that needs parameter tuning, which is not limited in this application. The tuning object 120 can run the application according to the candidate configuration parameters recommended by the tuning service module 110 .
性能监测模块130可以是具有监测功能的工具、应用或者是可以监测性能的脚本代码等。性能监测模块130可以根据用户预设的需要监测的KPI,对调优对象120运行时产生的对应KPI进行监测,并将得到的KPI传送给噪声诊断模块140。The performance monitoring module 130 may be a tool with a monitoring function, an application, or a script code capable of monitoring performance. The performance monitoring module 130 can monitor the corresponding KPIs generated when the tuning object 120 is running according to the KPIs preset by the user, and transmit the obtained KPIs to the noise diagnosis module 140 .
噪声诊断模块140可以根据从调优记录存储模块150得到的历史性能观测记录和性能监测模块130发送过来的KPI对KPI进行噪声诊断和噪声变换,并将得到的去噪后的KPI和噪声方差发送给调优服务模块110。The noise diagnosis module 140 can perform noise diagnosis and noise transformation on the KPI according to the historical performance observation record obtained from the tuning record storage module 150 and the KPI sent by the performance monitoring module 130, and send the obtained denoised KPI and noise variance to to the tuning service module 110.
下面,本申请在图1所示的应用示例的基础上,详细说明各模块的交互和工作流程。Next, the present application will describe in detail the interaction and work flow of each module on the basis of the application example shown in FIG. 1 .
图2是本申请实施例提供的一种参数寻优方法的示例性流程图。Fig. 2 is an exemplary flow chart of a parameter optimization method provided by an embodiment of the present application.
210,定义要素和预设迭代次数M,M为大于1的正整数。210. Define elements and a preset number of iterations M, where M is a positive integer greater than 1.
应理解,定义要素可以包括配置参数、设定KPI目标和业务负载等。It should be understood that defining elements may include configuring parameters, setting KPI targets and service loads, and the like.
配置参数可以是在调优脚本上配置调优参数类型及其范围。作为一个示例,图3为本申请实施例提供的关于kafka参数调优对参数类型和范围进行设定的一个示意图,参数类 型可以包括整型、浮点型、布尔型、枚举型等,参数的范围可以根据参数的类型进行设定。例如,当设置参数log.cleaner.enable为布尔型时,则参数log.cleaner.enable为true或者false。参数的取值在预先设定的范围内,例如,当设置参数message.max.bytes的范围为1K-1M时,则参数message.max.bytes的取值在1K到1M之间。The configuration parameter can be to configure the tuning parameter type and its range on the tuning script. As an example, Figure 3 is a schematic diagram of setting parameter types and ranges for kafka parameter tuning provided by the embodiment of this application. The parameter types may include integer, floating point, Boolean, enumeration, etc. The range of can be set according to the type of parameter. For example, when the parameter log.cleaner.enable is set to Boolean, the parameter log.cleaner.enable is true or false. The value of the parameter is within a preset range. For example, when the range of the parameter message.max.bytes is set to 1K-1M, the value of the parameter message.max.bytes is between 1K and 1M.
设定KPI目标中的KPI指的是参数优化的KPI指标。KPI指标可以是一个观测指标,也可以是多个观测指标的组合。作为一个示例,可以指定KPI指标为常用的性能测试指标,包括生产者吞吐量或吞吐率,事务平均响应时间,事务成功率,CPU利用率,最大工作数量(max-jobs),关键工作数量(critical-jobs)等。用户可以根据需求设定KPI指标,本申请对此不做限定。示例性地,当设置KPI指标为生产者吞吐量(transactions per second,TPS)时,本申请实施例寻找的最优参数为最大TPS所对应的参数。当设置KPI指标为多个指标的权重组合时,这些指标需要具有相同量纲。示例性的,在调优Java虚拟机(Java Virtual Machine,JVM)公开基础测试套件Specjbb时,KPI指标可以是max-jobs和critical-jobs这两个指标的组合,KPI可以设置为KPI=max-jobs+critical-jobs。也可以给这些指标设置不同的权重,例如,KPI=max-jobs*0.8+critical-jobs*0.2。此时寻找的最优参数为当KPI最大时所对应的参数。The KPI in setting the KPI target refers to the KPI index for parameter optimization. The KPI index can be one observation index or a combination of several observation indexes. As an example, KPI indicators can be specified as commonly used performance test indicators, including producer throughput or throughput rate, transaction average response time, transaction success rate, CPU utilization, maximum number of jobs (max-jobs), and number of key jobs ( critical-jobs) and so on. Users can set KPI indicators according to requirements, which is not limited in this application. Exemplarily, when the KPI index is set as the producer throughput (transactions per second, TPS), the optimal parameter found in the embodiment of the present application is the parameter corresponding to the maximum TPS. When setting the KPI indicator as a weighted combination of multiple indicators, these indicators need to have the same dimension. Exemplarily, when tuning the Java Virtual Machine (Java Virtual Machine, JVM) public basic test suite Specjbb, the KPI indicator can be the combination of these two indicators max-jobs and critical-jobs, and the KPI can be set to KPI=max- jobs+critical-jobs. Different weights can also be set for these indicators, for example, KPI=max-jobs*0.8+critical-jobs*0.2. The optimal parameter to be found at this time is the parameter corresponding to when the KPI is the largest.
可选地,还可以设定调优对象120的业务负载,对调优对象120或调优对象120指定的代码程序等进行压力测试或负载测试。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试,负载测试是核实在保持配置不变的情况下,测试对象在不同操作条件(如不同用户数、事务数等)下性能行为的可接受性。通过压力测试或负载测试得到的性能测试结果进行参数寻优。Optionally, the business load of the tuning object 120 may also be set, and a stress test or a load test may be performed on the tuning object 120 or a code program specified by the tuning object 120 . Stress test is to obtain the maximum service level test that the system can provide by determining the bottleneck or unacceptable performance point of a system. Load test is to verify that the test object is under different operating conditions (such as different Acceptability of performance behavior under the number of users, number of transactions, etc.). Optimize parameters based on performance test results obtained from stress tests or load tests.
可选地,用户可以根据需求预设寻优方法的迭代次数M,也可以使用默认的迭代次数值。迭代次数用于限制寻优方法学习的轮次。可以理解,迭代次数M越大,越有可能找到最优参数,但是带来的能耗可能也会随之增加,因此,用户可以根据自己的实际需求设置迭代次数M。示例性地,M可以设置为30,50,60等。Optionally, the user can preset the number of iterations M of the optimization method according to requirements, or use a default value of the 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 greater the number of iterations M, the more likely it is to find optimal parameters, but the energy consumption may also increase accordingly. Therefore, users can set the number of iterations M according to their actual needs. Exemplarily, M can be set to 30, 50, 60 and so on.
220,调优服务模块110推荐一组候选配置参数。220. The tuning service module 110 recommends a group of candidate configuration parameters.
可选地,调优服务模块110至少提供一种寻优算法,寻优算法可以包括贝叶斯优化算法、随机搜索、网格搜索、交叉验证、遗传算法、粒子群优化、模拟退火等,本申请对此不作限定。当目前参数寻优方法学习迭代的次数小于M时,调优服务模块110中的寻优算法可以根据噪声诊断模块提供的输入来推荐下一组候选配置参数供调优对象120运行。Optionally, the tuning service module 110 provides at least one optimization algorithm, and the optimization algorithm may include Bayesian optimization algorithm, random search, grid search, cross-validation, genetic algorithm, particle swarm optimization, simulated annealing, etc. Applications are not limited to this. When the number of learning iterations of the current parameter optimization method is less than M, the optimization algorithm in the tuning service module 110 can recommend the next set of candidate configuration parameters for the tuning object 120 to run according to the input provided by the noise diagnosis module.
应理解,一组候选配置参数中至少包括一个参数。示例性地,调优服务模块110可以执行一次寻优算法得到一组候选配置参数进行推荐,也可以执行多次寻优算法得到多组候选配置参数选择其中一组进行推荐,选择的方式可以采用随机选择或者按得到候选配置参数的时间来进行选择,本申请对此不作限定。It should be understood that at least one parameter is included in a set of candidate configuration parameters. Exemplarily, the tuning service module 110 can execute the optimization algorithm once to obtain a set of candidate configuration parameters for recommendation, or execute the optimization algorithm multiple times to obtain multiple sets of candidate configuration parameters and select one of them for recommendation. The selection method can be The selection is made randomly or according to the time when the candidate configuration parameters are obtained, which is not limited in this application.
230,调优对象120配置所述参数并进行测试。230. The tuning object 120 configures the parameter and performs a test.
客户端的调优对象120获取调优服务模块110推荐的一组候选配置参数并进行配置,然后运行所述配置,得到这组参数对应的KPI。示例性地,当KPI指标为生产者吞吐量时,此时这组参数对应的KPI可以是130M/s,158M/s等。应理解,这里给出的KPI仅为示例,具体值以实际运行产生的结果为准。The tuning object 120 of the client obtains and configures a set of candidate configuration parameters recommended by the tuning service module 110 , and then runs the configuration to obtain the KPI corresponding to the set of parameters. Exemplarily, when the KPI indicator is the throughput of the producer, the KPI corresponding to this group of parameters may be 130M/s, 158M/s, etc. at this time. It should be understood that the KPIs given here are only examples, and the specific values are subject to the results of actual operation.
240,性能监测模块130将KPI发送给噪声诊断模块140。240 , the performance monitoring module 130 sends the KPI to the noise diagnosis module 140 .
性能监测模块130根据预设的KPI指标对调优对象120进行监测。示例性地,当KPI指标为生产者吞吐量时,对调优对象120运行时的TPS进行监测,然后将该TPS值发送给噪声诊断模块140。The performance monitoring module 130 monitors the tuning object 120 according to a preset KPI index. Exemplarily, when the KPI indicator is the throughput of the producer, monitor the TPS when the tuning object 120 is running, and then send the TPS value to the noise diagnosis module 140 .
250,噪声诊断模块140对KPI进行诊断变换。250. The noise diagnosis module 140 performs diagnosis transformation on the KPI.
噪声诊断模块140可以在参数寻优的过程中处理噪声带来的影响。根据不同噪声的特点有针对性的处理,如果判断本次运行得到的KPI为异常噪声,则对该异常性能观测值进行过滤,调优服务模块110直接推荐下一组候选配置参数。如果判断本次运行得到的KPI为常态噪声,则根据需求对常态噪声进行抑制并计算其期望值和噪声方差,输出去噪后的KPI和噪声方差。The noise diagnosis module 140 can deal with the impact of noise during the process of parameter optimization. Targeted processing is carried out according to the characteristics of different noises. If the KPI obtained in this operation is judged to be 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 operation is normal noise, the normal noise is suppressed according to the requirements and its expected value and noise variance are calculated, and the denoised KPI and noise variance are output.
260,调优服务模块110将本次调优结果保存。260. The tuning service module 110 saves the current tuning result.
调优服务模块110将本次调优对象120配置的参数和噪声诊断模块140发送来的去噪后的KPI保存在调优记录存储模块150。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 .
270,判断迭代次数是否小于M。270. Determine whether the number of iterations is less than M.
调优服务模块110判断本次的迭代次数是否小于用户预设的迭代次数M,如果本次的迭代次数小于M,则根据去噪后的KPI和噪声方差利用寻优算法推荐下一组候选配置参数。寻优算法获得噪声方差之后,就可以在寻优过程中考虑误差区间,对局部最优点保持一定的容忍度,保留可能靠近最优点的潜在参数空间。The tuning service module 110 judges whether the number of iterations this time is less than the number of iterations preset by the user M, if the number of iterations this time is less than M, then use the optimization algorithm to recommend the next group of candidate configurations according to the denoised KPI and noise variance parameter. After the optimization algorithm obtains the noise variance, the error interval can be considered in the optimization process, a certain tolerance to the local optimal point can be maintained, and the potential parameter space that may be close to the optimal point can be reserved.
如果本次的迭代次数大于或者等于用户预设的迭代次数M,则进行280步骤。If the number of iterations this time is greater than or equal to the number of iterations M preset by the user, go to step 280 .
280,选出最优参数。280, select the optimal parameters.
如果此时的迭代次数大于或者等于用户预设的迭代次数M,则表示寻优方法的迭代学习过程已经满足了用户的需求,此时将M轮中KPI最优时对应的那组候选配置参数输出作为最优参数的选择。If the number of iterations at this time is greater than or equal to the number of iterations preset by the user M, it means that the iterative learning process of the optimization method has met the needs of the user. At this time, the set of candidate configuration parameters corresponding to the optimal KPI in the M round output as a choice of optimal parameters.
当目前参数寻优方法学习迭代的次数大于或者等于M时,调优服务模块110从调优记录存储模块150中选择出调优对象120性能最优时使用的一组配置参数,所述配置参数为最优参数。示例性地,当设置KPI指标为TPS时,本申请实施例寻找的最优参数为最大TPS所对应的参数。When the number of learning iterations of the current parameter optimization method 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 is the optimal parameter. Exemplarily, when the KPI indicator is set to TPS, the optimal parameter found in this embodiment of the present application is the parameter corresponding to the maximum TPS.
下面,本申请在图1所示的应用示例的基础上,假设用户预设的迭代次数M=60,m为当前的迭代次数。以m=1,m=2,m=30和m=60为例,详细说明噪声诊断模块的内部处理流程。Next, on the basis of the application example shown in FIG. 1 , the present application assumes that the number of iterations preset by the user is M=60, and m is the current number of iterations. 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.
应理解,m=i时调优对象120使用的候选配置参数可以称为候选配置参数i,i为大于等于1的正整数。示例性地,m=1时调优对象120使用的候选配置参数可以称为候选配置参数1,m=2时用的候选配置参数可以称为候选配置参数2,m=30时用的候选配置参数可以称为候选配置参数30,m=60用的候选配置参数可以称为候选配置参数60。It should be understood that when m=i, the candidate configuration parameter used by the tuning object 120 may be referred to as a candidate configuration parameter i, where i is a positive integer greater than or equal to 1. Exemplarily, when m=1, the candidate configuration parameter used by the tuning object 120 may be called candidate configuration parameter 1, when m=2, the candidate configuration parameter used may be called candidate configuration parameter 2, and when m=30, the candidate configuration parameter used The parameters may be referred to as candidate configuration parameters 30 , and the candidate configuration parameters for m=60 may be referred to as candidate configuration parameters 60 .
可选地,在参数寻优方法还未开始迭代学习的初始阶段,即在调优对象120根据候选配置参数1运行之前,可以使用同一组配置参数令调优对象120重复运行多次,该组配置参数可以称为默认配置参数,默认配置参数可以是用户设定的参数。重复的次数可以由用户自己设置,也可以使用默认的重复运行次数。示例性地,重复运行次数可以设置为30次、50次、80次等,本申请对此不作限定。经过所述多次重复运行可以得到默认参数配置对应的初始性能观测记录集合。Optionally, in the initial stage when the parameter optimization method has not started iterative learning, that is, before the tuning object 120 runs according to the candidate configuration parameter 1, the same set of configuration parameters can be used to make the tuning object 120 repeatedly run multiple times, the set The configuration parameters may be referred to as default configuration parameters, and the default configuration parameters may be parameters set by users. The number of repetitions can be set by the user, or the default number of repetitions can be used. Exemplarily, the number of repeated operations may be set to 30 times, 50 times, 80 times, etc., which is not limited in this application. The initial performance observation record set corresponding to the default parameter configuration can be obtained through the repeated operations.
示例性地,图4是本申请实施例提供的调优对象120根据同一组参数配置重复运行的结果示意图,该组默认配置参数设置为“num.io.threads=12,num.network.threads=6,socket.receive.buffer.bytes=102400”。图中对应的所有KPI值为该组默认配置参数对应的初始性能观测记录集合。Exemplarily, FIG. 4 is a schematic diagram of the result of repeated operation of the tuning object 120 provided by the embodiment of the present application according to the configuration of the same set of parameters. The set of default configuration parameters is set to "num.io.threads=12, num.network.threads= 6, socket.receive.buffer.bytes=102400". All the corresponding KPI values in the figure are the initial performance observation records set corresponding to the set of default configuration parameters.
参数寻优方法的目标为寻找最优KPI对应的参数,如公式(1)所示,The goal of the parameter optimization method is to find the parameters corresponding to the optimal KPI, as shown in formula (1),
x *=argmax i∈N(f(x i)+∈ i)    ∈~N(0,σ 2)      (1) x * =argmax i∈N (f(x i )+∈ i ) ∈~N(0,σ 2 ) (1)
x *为最优KPI所对应的候选配置参数。其中i为当前调优对象120使用的候选配置参数的序号,i等于当前的迭代次数m,x为配置参数,x i为调优对象120的候选配置参数i,f为调优对象120的模型,f(x i)为调优对象120根据候选配置参数x i运行的真实性能值,∈ i为调优对象120根据候选配置参数x i运行的噪声值。如公式(2)所示,真实性能值f(x i)与其对应的噪声值∈ i的和为KPI值y ix * is the candidate configuration parameter corresponding to the optimal KPI. Wherein i is the serial number of the candidate configuration parameter used by the current tuning object 120, i is equal to the current iteration number m, x is the configuration parameter, x i is the candidate configuration parameter i of the tuning object 120, and f is the model of the tuning object 120 , f( xi ) is the real performance value of the tuning object 120 running according to the candidate configuration parameter xi , and ∈ i is the noise value of the tuning object 120 running according to the candidate configuration parameter xi . As shown in formula (2), the sum of the true performance value f(xi ) and its corresponding noise value ∈ i is the KPI value y i .
y i=f(x i)+∈ i          (2) y i =f(x i )+∈ i (2)
应理解,由公式(3)至(5)所示,初始性能观测记录集合Y为使用同一组默认配置参数X重复运行指定次数得到的所有KPI的集合。variance为方差,c i为常数。由于同一组参数配置运行得到的真实性能值f(x i)为常数,因此初始性能观测记录集合Y的方差就等于调优对象120运行默认配置参数x i对应的噪声方差。初始噪声方差
Figure PCTCN2022116726-appb-000006
就等于初始性能观测记录集合Y的方差。
It should be understood that, as shown by formulas (3) to (5), the initial performance observation record set Y is a set of all KPIs obtained by using the same set of default configuration parameters X to run repeatedly for a specified number of times. Variance is the variance, and ci is a constant. Since the real performance value f( xi ) obtained by running the same set of parameter configurations is constant, the variance of the initial performance observation record set Y is equal to the noise variance corresponding to the default configuration parameters xi of the tuning object 120 running. initial noise variance
Figure PCTCN2022116726-appb-000006
It is equal to the variance of the initial performance observation record set Y.
variance(Y)=variance(f(x i)+∈ i)   ∵f(x i)=c i       (3) variance(Y)=variance(f(x i )+∈ i ) ∵f(x i )=c i (3)
Figure PCTCN2022116726-appb-000007
Figure PCTCN2022116726-appb-000007
Figure PCTCN2022116726-appb-000008
Figure PCTCN2022116726-appb-000008
图5是本申请实施例提供的当m=1时噪声诊断模块内部处理的示例性流程图。在m=1时,调优对象120可以根据候选配置参数1运行。性能监测模块130根据预设的KPI指标对调优对象120进行监测,得到对应于候选配置参数1的KPI,并将对应于候选配置参数1的KPI发送至噪声诊断模块。噪声诊断模块140可以根据接收到的KPI执行如图5所示的流程。Fig. 5 is an exemplary flow chart of the internal processing of the noise diagnosis module provided by the embodiment of the present application 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 index, 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 may execute the process shown in FIG. 5 according to the received KPI.
510,噪声分布估计。510. Estimating the noise distribution.
可选的,510噪声分布估计可以包括两个步骤,判断初始性能观测记录集合是否符合近似高斯分布和计算初始性能观测记录集合的初始噪声方差
Figure PCTCN2022116726-appb-000009
Optionally, 510 noise distribution estimation may include two steps, judging whether the initial performance observation record set conforms to an approximate Gaussian distribution and calculating the initial noise variance of the initial performance observation record set
Figure PCTCN2022116726-appb-000009
判断初始性能观测记录集合是否符合近似高斯分布:对调优对象120重复运行得到的初始性能观测记录集合进行噪声分布估计并判断是否为近似高斯分布。本申请实施例使用的判断方法为直方图。示例性地,图6是本申请实施例提供的噪声分布估计的示例直方图。每次调优测试可以只有一个KPI,得到的直方图为该KPI对应的直方图。KPI可以设置为单个观测指标也可以设置为多个观测指标的组合。当设置为多个观测指标的组合时,这多个观测值需要有相同量纲。也就是说,一个KPI可以对应一个观测指标,也可以对应多个观测指标。Judging whether the initial performance observation record set conforms to an approximate Gaussian distribution: Estimate the noise distribution of the initial performance observation record set obtained by repeated operations of the tuning object 120 and determine whether it is an approximate Gaussian distribution. The judgment method used in the embodiment of the present application is a histogram. Exemplarily, FIG. 6 is an example histogram of noise distribution estimation provided by the embodiment of the present application. Each tuning test can have only one KPI, and the obtained histogram is the histogram corresponding to the KPI. KPI can be set as a single observation index or a combination of multiple observation indexes. When set as a combination of multiple observations, the multiple observations need to have the same dimension. That is to say, one KPI can correspond to one observation indicator, or can correspond to multiple observation indicators.
示例性地,当设置KPI为单个观测指标且为生产者吞吐量时,此时的KPI对应一个观测指标1,且观测指标1为生产者吞吐量。示意性的,图7为调优对象120运行得到的符合近似高斯分布的吞吐量直方图。Exemplarily, when the KPI is set as a single observation index and is the throughput of the producer, the KPI at this time corresponds to an observation index 1, and the observation index 1 is the throughput of the producer. Schematically, FIG. 7 is a throughput histogram conforming to an approximate Gaussian distribution obtained by running the tuning object 120 .
示例性地,当设置KPI指标为n个观测指标的组合时,则该KPI有n个对应的观测指 标。例如,当设置KPI指标为KPI=max-jobs+critical-jobs时,此时的KPI对应两个观测指标,观测指标1为最大工作数量,观测指标2为关键工作数量。示意性的,图8为调优对象120运行得到的非高斯分布的KPI直方图。Exemplarily, when the KPI indicator is set as a combination of n observation indicators, then the KPI has n corresponding observation indicators. For example, when the KPI index is set as KPI=max-jobs+critical-jobs, the KPI at this time corresponds to two observation indexes, observation index 1 is the maximum number of jobs, and observation index 2 is the number of critical jobs. Schematically, FIG. 8 is a KPI histogram of a non-Gaussian distribution obtained by running the tuning object 120 .
可选地,判断是否为近似高斯分布的方法还可以利用W检验、KS检验、P-P图、Q-Q图等,本申请对此不做限定。Optionally, the method for judging whether it is an approximate Gaussian distribution can also use W test, KS test, P-P diagram, Q-Q diagram, etc., which is not limited in this application.
若初始性能观测记录集合为非高斯分布,则确定变换参数。该变换参数能够将初始性能观测记录集合变换为符合近似高斯分布的初始性能观测记录集合2。若初始性能观测记录集合符合近似高斯分布则不需要确定该变换参数。If the initial performance observation record set is non-Gaussian distribution, the transformation parameters are determined. The transformation parameter can transform the initial performance observation record set into an initial performance observation record set 2 conforming to an approximate Gaussian distribution. If the initial performance observation record set conforms to an approximate Gaussian distribution, then the transformation parameter does not need to be determined.
可选地,该变换参数可以通过对该初始性能观测记录集合进行变换的方式确定。例如可以使用不同的参数对该初始性能观测记录集合进行变换,若根据某一参数变换后得到的性能观测记录集合符合近似高斯分布,那么可以确定该参数为该变换参数。非高斯分布到近似高斯分布的变换方法可以是以下任一种变换:beta变换、log变换、平方根变换、取<1的某数次幂变换、倒数变换、平方根反正旋变换、Box-Cox变换、逆变换采样、逆概率积分变换和Fisher变换等,具体使用哪种方式进行变换本申请不作限定。Optionally, the transformation parameter may be determined by transforming the initial performance observation record set. For example, different parameters may be used to transform the initial performance observation record set. If the performance observation record set transformed according to a certain parameter conforms to an approximate Gaussian distribution, then the parameter may be determined as the transformation parameter. The transformation method from non-Gaussian distribution to approximate Gaussian distribution can be any of the following transformations: beta transformation, log transformation, square root transformation, power transformation of a certain number <1, reciprocal transformation, square root anti-rotation transformation, Box-Cox transformation, Inverse transformation sampling, inverse probability integral transformation, Fisher transformation, etc., which method is used for transformation is not limited in this application.
可选的,判断初始性能观测记录集合是否符合近似高斯分布的步骤也可以放在520后进行。Optionally, the step of judging whether the initial performance observation record set conforms to an approximate Gaussian distribution may also be performed after 520 .
计算初始性能观测记录集合的初始噪声方差
Figure PCTCN2022116726-appb-000010
计算初始性能观测记录集合的初始噪声方差
Figure PCTCN2022116726-appb-000011
并用于后续的噪声诊断。
Computes the initial noise variance for the initial set of performance observation records
Figure PCTCN2022116726-appb-000010
Computes the initial noise variance for the initial set of performance observation records
Figure PCTCN2022116726-appb-000011
And used for subsequent noise diagnosis.
520,离群点检测。520. Outlier detection.
可选地,可以利用510噪声分布估计中得到的初始噪声方差
Figure PCTCN2022116726-appb-000012
根据用户设定的置信水平来构造初始性能观测记录集合的置信区间。然后对调优对象120的历史性能观测记录集合进行高斯拟合。所述历史性能观测记录集合包括调优对象120除根据本次候选配置参数运行得到的KPI以外历史运行得到的所有KPI。应理解,m=1时的历史性能观测记录集合与初始性能观测记录集合相同。
Optionally, the initial noise variance obtained in 510 noise distribution estimation can be used
Figure PCTCN2022116726-appb-000012
Constructs the confidence interval for the initial set of performance observation records according to the confidence level set by the user. Gaussian fitting is then performed on the set of historical performance observation records of the tuning object 120 . The set of historical performance observation records includes all KPIs obtained from the historical operation of the tuning object 120 except the KPI obtained according to the current candidate configuration parameter operation. It should be understood that the historical performance observation record set when m=1 is the same as the initial performance observation record set.
可选地,对历史性能观测记录集合进行高斯拟合的方法包括对函数点进行函数逼近、决策树方法、高斯曲线拟合等具有拟合功能的方法或者利用一些可以对数据进行拟合的软件的接口,本申请对此不作限定。Optionally, the method of performing Gaussian fitting on the set of historical performance observation records includes performing function approximation on function points, decision tree method, Gaussian curve fitting and other methods with fitting functions, or using some software that can be used to fit data interface, which is not limited in this application.
对历史性能观测记录集合进行高斯拟合后可以得到候选配置参数1的期望值,然后判断该期望值是否落在置信区间中,如果落在置信区间中则候选配置参数1对应的KPI不是异常噪声,如果落在置信区间外则候选配置参数1对应的KPI属于异常噪声,凭借这种方式筛选掉异常噪声。After performing Gaussian fitting on the historical performance observation record set, the expected value of candidate configuration parameter 1 can be obtained, and then judge whether the expected value falls within the confidence interval. If it falls within the confidence interval, the KPI corresponding to candidate configuration parameter 1 is not abnormal noise. If If it falls outside the confidence interval, the KPI corresponding to candidate configuration parameter 1 is abnormal noise, and abnormal noise is screened out in this way.
可选地,筛选掉异常噪声的方法还可以使用基于距离的离群点检测方法、基于统计的离群点检测方法、基于无监督的离群点检测方法、基于分类的群点检测方法、基于密度的离群点检测方法、基于信息熵的离群点检测方法等,本申请对此不做限定。Optionally, the method for 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 cluster detection method, a method based on The outlier detection method based on density, the outlier detection method based on information entropy, etc., are not limited in this application.
应理解,如果候选配置参数1对应的KPI判断为异常噪声,则调优服务模块110直接推荐下一组候选配置参数2。It should be understood that if the KPI corresponding to the candidate configuration parameter 1 is judged to be abnormal noise, the tuning service module 110 directly recommends the next group of candidate configuration parameters 2 .
上述技术方案能够在参数寻优的过程中处理噪声带来的影响,根据噪声的特点有针对性的处理,对异常噪声进行识别过滤,避免异常噪声对参数寻优过程的干扰,在一定程度上提高了寻找最优参数的效率。The above-mentioned technical solution can deal with the impact of noise in the process of parameter optimization, and carry out targeted processing according to the characteristics of noise, identify and filter abnormal noise, and avoid the interference of abnormal noise on the parameter optimization process, to a certain extent Improve the efficiency of finding the optimal parameters.
如果候选配置参数1对应的KPI判断为不是异常噪声,那么可以继续根据初始性能观测记录集合是否符合近似高斯分布来执行后续步骤。If the KPI corresponding to candidate configuration parameter 1 is judged not to be abnormal noise, then follow-up steps can be performed according to whether the initial performance observation record set conforms to an approximate Gaussian distribution.
例如,如果初始性能观测记录集合不符合近似高斯分布,那么可以执行步骤530和步骤540;如果初始性能观测记录集合符合近似高斯分布,那么可以直接执行步骤540。For example, if the initial performance observation record set does not conform to the approximate Gaussian distribution, then step 530 and step 540 may be performed; if the initial performance observation record set conforms to the approximate Gaussian distribution, then step 540 may be directly performed.
530,使用步骤510中确定的变换参数对候选配置参数1对应的KPI进行变换。530. Use the transformation parameters determined in step 510 to transform the KPI corresponding to the candidate configuration parameter 1.
上述技术方案能够在参数寻优的过程中处理噪声带来的影响,根据噪声的特点有针对性的处理,通过将非高斯分布的KPI转换为近似高斯分布的值,抑制非高斯分布噪声对参数寻优的影响,能够处理随时间变化的噪声,在一定程度上提高了寻找最优参数的效率。The above technical solution can deal with the impact of noise in the process of parameter optimization, and according to the characteristics of the noise, it can be processed in a targeted manner, by converting the KPI of non-Gaussian distribution into the value of approximate Gaussian distribution, and suppressing the impact of non-Gaussian distribution noise on the parameters. The impact of optimization, being able to deal with time-varying noise, improves the efficiency of finding optimal parameters to a certain extent.
540,计算m=1时的噪声方差。540. Calculate noise variance when m=1.
由公式(6)至(8)所示,在动态噪声估计的交互式调优过程中可对历史性能观测记录集合进行高斯拟合,对当前候选配置参数x i估计出期望值E(x i),此时将KPI值y i与期望值计算残差,将新的残差结果用于更新噪声方差
Figure PCTCN2022116726-appb-000013
其中,i为当前的迭代次数m,
Figure PCTCN2022116726-appb-000014
为公式(6)至(8)中任一个计算得出的上一次迭代的噪声方差。
As shown by formulas (6) to (8), in the interactive tuning process of dynamic noise estimation, Gaussian fitting can be performed on the historical performance observation record set, and the expected value E(xi ) can be estimated for the current candidate configuration parameters x i At this time, the KPI value y i and the expected value are used to calculate the residual, and the new residual result is used to update the noise variance
Figure PCTCN2022116726-appb-000013
Among them, i is the current iteration number m,
Figure PCTCN2022116726-appb-000014
The noise variance of the last iteration computed for any of equations (6) to (8).
计算期望值E(x i)的方法可以是GP高斯过程回归、线性回归、多项式回归、岭回归、最小绝对值收敛(least absolute shrinkage and selection operator,Lasso)回归等回归模型,或回归树模型,极限梯度提升(extreme gradient boosting,XGBoost),类别型特征梯度提升(categorical boosting,CatBoost),轻量级梯度提升机(light gradient boosting machine,LightGBM)等随机森林方法,本申请对此不作限定。 The method of calculating the expected value E( xi ) can be regression models such as GP Gaussian process regression, linear regression, polynomial regression, ridge regression, least absolute shrinkage and selection operator (Lasso) regression, or regression tree model, limit Random forest methods such as extreme gradient boosting (XGBoost), categorical boosting (CatBoost), and light gradient boosting machine (LightGBM) are not limited in this application.
公式(8)中的P为默认的或者是用户设定的惩罚系数,示例性地,该惩罚系数可以为大于0的整型也可以为浮点型等,本申请对此不作限定。P in formula (8) is a default or user-set penalty coefficient. Exemplarily, the penalty coefficient may be an integer greater than 0 or a floating point type, which is not limited in the present application.
应理解,公式(6)至(8)仅为更新噪声方差的公式的示例,本领域普通技术人员结合本文中所公开的实施例描述可以使用类似公式的变形或者不同公式来实现所描述的功能,但是这种实现不应认为超出本申请的范围。It should be understood that formulas (6) to (8) are only examples of formulas for updating noise variance, and those of ordinary skill in the art may use variations of similar formulas or different formulas to realize the described functions in combination with the descriptions of the embodiments disclosed herein , but such implementation should not be considered beyond the scope of this application.
Figure PCTCN2022116726-appb-000015
Figure PCTCN2022116726-appb-000015
Figure PCTCN2022116726-appb-000016
Figure PCTCN2022116726-appb-000016
Figure PCTCN2022116726-appb-000017
Figure PCTCN2022116726-appb-000017
当m=1时,i=1。示例性地,当使用公式(6)来更新噪声方差时,E(x 1)可以是使用GP高斯过程回归对初始性能观测记录集合进行高斯拟合计算得到的期望值。y 1是候选配置参数1对应的KPI,y 1-E(x 1)为候选配置参数1对应的KPI与期望值的残差。
Figure PCTCN2022116726-appb-000018
是初始噪声方差,
Figure PCTCN2022116726-appb-000019
为候选配置参数1对应的方差,也就是本次噪声诊断模块140输出的噪声方差。
When m=1, i=1. Exemplarily, when formula (6) is used to update the noise variance, E(x 1 ) may be an expected value calculated by using GP Gaussian process regression to perform Gaussian fitting on the initial performance observation record set. y 1 is the KPI corresponding to candidate configuration parameter 1, and y 1 -E(x 1 ) is the residual difference between the KPI corresponding to candidate configuration parameter 1 and the expected value.
Figure PCTCN2022116726-appb-000018
is the initial noise variance,
Figure PCTCN2022116726-appb-000019
is the variance corresponding to candidate configuration parameter 1, that is, the noise variance output by the noise diagnosis module 140 this time.
经过噪声诊断模块之后,将会输出KPI值y 1和噪声方差
Figure PCTCN2022116726-appb-000020
给调优服务模块110。调优服务模块110中的寻优算法可以通过KPI值y 1、和噪声方差
Figure PCTCN2022116726-appb-000021
在推荐下一组候选配置参数2时考虑噪声波动的幅度,合理的保留潜在最优解,减少噪声对寻找最优解的干扰,从而提升参数寻优性能。
After the noise diagnosis module, the KPI value y 1 and the noise variance will be output
Figure PCTCN2022116726-appb-000020
to the tuning service module 110. The optimization algorithm in the tuning service module 110 can pass the KPI value y 1 , and the noise variance
Figure PCTCN2022116726-appb-000021
When recommending the next set of candidate configuration parameters 2, consider the magnitude of noise fluctuations, reasonably retain the potential optimal solution, and reduce the interference of noise on finding the optimal solution, thereby improving the performance of parameter optimization.
如果在530中KPI值y 1经过了非高斯分布转为近似高斯分布的变换,噪声诊断模块 也会输出变换后的KPI值y 1给调优服务模块110。调优服务模块110中的寻优算法可以通过KPI值y 1、变换后的KPI值y 1和噪声方差
Figure PCTCN2022116726-appb-000022
在推荐下一组候选配置参数2时考虑噪声波动的幅度,合理的保留潜在最优解,减少噪声对寻找最优解的干扰,从而提升参数寻优性能。
If the KPI value y 1 has undergone transformation from a non-Gaussian distribution to an approximate Gaussian distribution in 530 , the noise diagnosis module will also output the transformed KPI value y 1 to the tuning service module 110 . The optimization algorithm in the tuning service module 110 can pass the KPI value y 1 , the transformed KPI value y 1 and the noise variance
Figure PCTCN2022116726-appb-000022
When recommending the next set of candidate configuration parameters 2, consider the magnitude of noise fluctuations, reasonably retain the potential optimal solution, and reduce the interference of noise on finding the optimal solution, thereby improving the performance of parameter optimization.
图9是本申请实施例提供的当m=2时噪声诊断模块内部处理的示例性流程图。在m=2时,调优对象120可以根据候选配置参数2运行。性能监测模块130根据预设的KPI指标对调优对象120进行监测,得到对应于候选配置参数2的KPI,并将对应于候选配置参数2的KPI发送至噪声诊断模块。噪声诊断模块140可以根据接收到的KPI执行如图9所示的流程。Fig. 9 is an exemplary flow chart of the internal processing of the noise diagnosis module provided by the embodiment of the present application when m=2. When m=2, the tuning object 120 may operate according to the candidate configuration parameter 2 . The performance monitoring module 130 monitors the tuning object 120 according to the preset KPI index, obtains the KPI corresponding to the candidate configuration parameter 2, and sends the KPI corresponding to the candidate configuration parameter 2 to the noise diagnosis module. The noise diagnosis module 140 may execute the process shown in FIG. 9 according to the received KPI.
710,离群点检测。710. Outlier detection.
应理解,m=2时的历史性能观测记录集合包括初始性能观测记录集合和候选配置参数1对应的KPI。如果候选配置参数1对应的KPI为异常噪声,则m=2时的历史性能观测记录集合仅包括初始性能观测记录集合,对历史性能观测记录集合进行高斯拟合,得到候选配置参数2的期望值,然后根据图5中520步骤构造的置信区间,判断该期望值是否落在置信区间中,如果落在置信区间中则候选配置参数2对应的KPI不是异常噪声,如果落在置信区间外则候选配置参数2对应的KPI属于异常噪声,凭借这种方式筛选掉异常噪声。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 candidate configuration parameter 1. If the KPI corresponding to candidate configuration parameter 1 is abnormal noise, then the historical performance observation record set when m=2 only includes the initial performance observation record set, and Gaussian fitting is performed on the historical performance observation record set to obtain the expected value of candidate configuration parameter 2, Then, according to the confidence interval constructed in 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 candidate configuration parameter 2 is not abnormal noise. If it falls outside the confidence interval, the candidate configuration parameter The KPI corresponding to 2 belongs to abnormal noise, and the abnormal noise is screened out in this way.
可选地,对历史性能观测记录集合进行高斯拟合的方法包括对函数点进行函数逼近、决策树方法、高斯曲线拟合等具有拟合功能的方法或者利用一些可以对数据进行拟合的软件的接口,本申请对此不作限定。Optionally, the method of performing Gaussian fitting on the set of historical performance observation records includes performing function approximation on function points, decision tree method, Gaussian curve fitting and other methods with fitting functions, or using some software that can be used to fit data interface, which is not limited in this application.
可选地,筛选掉异常噪声的方法还可以使用基于距离的离群点检测方法、基于统计的离群点检测方法、基于无监督的离群点检测方法、基于分类的群点检测方法、基于密度的离群点检测方法、基于信息熵的离群点检测方法等,本申请对此不做限定。Optionally, the method for 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 cluster detection method, a method based on The outlier detection method based on density, the outlier detection method based on information entropy, etc., are not limited in this application.
应理解,如果候选配置参数2对应的KPI判断为异常噪声,则调优服务模块110直接推荐下一组候选配置参数3。It should be understood that if the KPI corresponding to the candidate configuration parameter 2 is judged to be abnormal noise, the tuning service module 110 directly recommends the next group of candidate configuration parameters 3 .
上述技术方案能够在参数寻优的过程中处理噪声带来的影响,根据噪声的特点有针对性的处理,对异常噪声进行识别过滤,避免异常噪声对参数寻优过程的干扰,在一定程度上提高了寻找最优参数的效率。The above-mentioned technical solution can deal with the impact of noise in the process of parameter optimization, and carry out targeted processing according to the characteristics of noise, identify and filter abnormal noise, and avoid the interference of abnormal noise on the parameter optimization process, to a certain extent Improve the efficiency of finding the optimal parameters.
如果候选配置参数2对应的KPI判断为不是异常噪声,那么可以继续根据初始性能观测记录集合是否符合近似高斯分布来执行后续步骤。If the KPI corresponding to the candidate configuration parameter 2 is judged not to be abnormal noise, then follow-up steps can be performed according to whether the initial performance observation record set conforms to an approximate Gaussian distribution.
例如,如果初始性能观测记录集合不符合近似高斯分布,那么可以执行步骤720和步骤730;如果初始性能观测记录集合符合近似高斯分布,那么可以直接执行步骤730。For example, if the initial performance observation record set does not conform to the approximate Gaussian distribution, then step 720 and step 730 may be performed; if the initial performance observation record set conforms to the approximate Gaussian distribution, then step 730 may be directly performed.
720,使用步骤510中确定的变换参数对候选配置参数2对应的KPI进行变换。720. Use the transformation parameters determined in step 510 to transform the KPI corresponding to the candidate configuration parameter 2.
上述技术方案能够在参数寻优的过程中处理噪声带来的影响,根据噪声的特点有针对性的处理,通过将非高斯分布的KPI转换为近似高斯分布的值,抑制非高斯分布噪声对参数寻优的影响,能够处理随时间变化的噪声,在一定程度上提高了寻找最优参数的效率。The above technical solution can deal with the impact of noise in the process of parameter optimization, and according to the characteristics of the noise, it can be processed in a targeted manner, by converting the KPI of non-Gaussian distribution into the value of approximate Gaussian distribution, and suppressing the impact of non-Gaussian distribution noise on the parameters. The impact of optimization, being able to deal with time-varying noise, improves the efficiency of finding optimal parameters to a certain extent.
730,计算m=2时的噪声方差。730. Calculate noise variance when m=2.
当m=2时,i=2。示例性地,当使用公式(6)来更新噪声方差时,E(x 2)可以是使用GP高斯过程回归对m=2时的历史性能观测记录集合进行高斯拟合计算得到的期望值。y 2是候选配置参数2对应的KPI,y 2-E(x 2)为候选配置参数2对应KPI与期望值的残差。
Figure PCTCN2022116726-appb-000023
为候选配置参数1对应的噪声方差,
Figure PCTCN2022116726-appb-000024
为候选配置参数2对应的方差,也就是本次输出的噪声方差。
When m=2, i=2. Exemplarily, when formula (6) is used to update the noise variance, E(x 2 ) may be an expected value calculated by using GP Gaussian process regression to perform Gaussian fitting on the set of historical performance observation records when m=2. y 2 is the KPI corresponding to the candidate configuration parameter 2, and y 2 -E(x 2 ) is the residual difference between the KPI corresponding to the candidate configuration parameter 2 and the expected value.
Figure PCTCN2022116726-appb-000023
is the noise variance corresponding to candidate configuration parameter 1,
Figure PCTCN2022116726-appb-000024
The variance corresponding to candidate configuration parameter 2, that is, the noise variance of this output.
可选的,计算期望值E(x 2)的方法还可以是线性回归、多项式回归、岭回归、Lasso回归等回归模型,或回归树模型,XGBoost,CatBoost,LightGBM等随机森林方法,本申请对此不作限定。 Optionally, the method for calculating the expected value E(x 2 ) can also be regression models such as linear regression, polynomial regression, ridge regression, and Lasso regression, or regression tree models, random forest methods such as XGBoost, CatBoost, and LightGBM. Not limited.
经过噪声诊断模块之后,将会输出KPI值y 2和噪声方差
Figure PCTCN2022116726-appb-000025
给调优服务模块110。调优服务模块110中的寻优算法可以通过KPI值y 2、和噪声方差
Figure PCTCN2022116726-appb-000026
在推荐下一组候选配置参数3时考虑噪声波动的幅度,合理的保留潜在最优解,减少噪声对寻找最优解的干扰,从而提升参数寻优性能。
After the noise diagnosis module, the KPI value y 2 and the noise variance will be output
Figure PCTCN2022116726-appb-000025
to the tuning service module 110. The optimization algorithm in the tuning service module 110 can pass the KPI value y 2 , and the noise variance
Figure PCTCN2022116726-appb-000026
When recommending the next set of candidate configuration parameters 3, the amplitude of noise fluctuations is considered, and the potential optimal solution is reasonably reserved to reduce the interference of noise on finding the optimal solution, thereby improving the performance of parameter optimization.
如果在720中KPI值y 2经过了非高斯分布转为近似高斯分布的变换,噪声诊断模块也会输出变换后的KPI值y 2给调优服务模块110。调优服务模块110中的寻优算法可以通过KPI值y 2、变换后的KPI值y 2和噪声方差
Figure PCTCN2022116726-appb-000027
在推荐下一组候选配置参数3时考虑噪声波动的幅度,合理的保留潜在最优解,减少噪声对寻找最优解的干扰,从而提升参数寻优性能。
If the KPI value y 2 has been transformed from a non-Gaussian distribution to an approximate Gaussian distribution in 720 , the noise diagnosis module will also output the transformed KPI value y 2 to the tuning service module 110 . The optimization algorithm in the tuning service module 110 can pass the KPI value y 2 , the transformed KPI value y 2 and the noise variance
Figure PCTCN2022116726-appb-000027
When recommending the next set of candidate configuration parameters 3, the amplitude of noise fluctuations is considered, and the potential optimal solution is reasonably reserved to reduce the interference of noise on finding the optimal solution, thereby improving the performance of parameter optimization.
图10是本申请实施例提供的当m=30时噪声诊断模块内部处理的示例性流程图。在m=30时,调优对象120可以根据候选配置参数30运行。性能监测模块130根据预设的KPI指标对调优对象120进行监测,得到对应于候选配置参数30的KPI,并将对应于候选配置参数30的KPI发送至噪声诊断模块。噪声诊断模块140可以根据接收到的KPI执行如图10所示的流程。Fig. 10 is an exemplary flow chart of the internal processing of the noise diagnosis module provided by the embodiment of the present application when m=30. When m=30, the tuning object 120 can operate according to the candidate configuration parameters 30 . The performance monitoring module 130 monitors the tuning object 120 according to the preset KPI index, obtains the KPI corresponding to the candidate configuration parameter 30, and sends the KPI corresponding to the candidate configuration parameter 30 to the noise diagnosis module. The noise diagnosis module 140 may execute the process shown in FIG. 10 according to the received KPI.
810,离群点检测。810. Outlier detection.
应理解,m=30时的历史性能观测记录集合包括初始性能观测记录集合和候选配置参数1至候选配置参数29对应的去除异常噪声后的KPI。对历史性能观测记录集合进行高斯拟合,得到候选配置参数30的期望值,然后根据图5中520步骤构造的置信区间,判断该期望值是否落在置信区间中,如果落在置信区间中则候选配置参数30对应的KPI不是异常噪声,如果落在置信区间外则候选配置参数30对应的KPI属于异常噪声,凭借这种方式筛选掉异常噪声。It should be understood that the historical performance observation record set when m=30 includes the initial performance observation record set and KPIs corresponding to candidate configuration parameters 1 to 29 after removing abnormal noise. Perform Gaussian fitting on the set of historical performance observation records to obtain the expected value of the candidate configuration parameter 30, and then judge whether the expected value falls within the confidence interval based on the confidence interval constructed in step 520 in Figure 5, and if it falls within the confidence interval, then the candidate configuration The KPI corresponding to the parameter 30 is not abnormal noise. If it falls outside the confidence interval, the KPI corresponding to the candidate configuration parameter 30 is abnormal noise. The abnormal noise is screened out in this way.
可选地,对历史性能观测记录集合进行高斯拟合的方法包括对函数点进行函数逼近、决策树方法、高斯曲线拟合等具有拟合功能的方法或者利用一些可以对数据进行拟合的软件的接口,本申请对此不作限定。Optionally, the method of performing Gaussian fitting on the set of historical performance observation records includes performing function approximation on function points, decision tree method, Gaussian curve fitting and other methods with fitting functions, or using some software that can be used to fit data interface, which is not limited in this application.
可选地,筛选掉异常噪声的方法还可以使用基于距离的离群点检测方法、基于统计的离群点检测方法、基于无监督的离群点检测方法、基于分类的群点检测方法、基于密度的离群点检测方法、基于信息熵的离群点检测方法等,本申请对此不做限定。Optionally, the method for 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 cluster detection method, a method based on The outlier detection method based on density, the outlier detection method based on information entropy, etc., are not limited in this application.
应理解,如果候选配置参数30对应的KPI判断为异常噪声,则调优服务模块110直接推荐下一组候选配置参数31。It should be understood that if the KPI corresponding to the candidate configuration parameters 30 is judged to be abnormal noise, the tuning service module 110 directly recommends the next group of candidate configuration parameters 31 .
上述技术方案能够在参数寻优的过程中处理噪声带来的影响,根据噪声的特点有针对性的处理,对异常噪声进行识别过滤,避免异常噪声对参数寻优过程的干扰,在一定程度上提高了寻找最优参数的效率。The above-mentioned technical solution can deal with the impact of noise in the process of parameter optimization, and carry out targeted processing according to the characteristics of noise, identify and filter abnormal noise, and avoid the interference of abnormal noise on the parameter optimization process, to a certain extent Improve the efficiency of finding the optimal parameters.
如果候选配置参数30对应的KPI判断为不是异常噪声,那么可以继续根据初始性能观测记录集合是否符合近似高斯分布来执行后续步骤。If the KPI corresponding to the candidate configuration parameter 30 is judged not to be abnormal noise, the subsequent steps may be performed according to whether the initial performance observation record set conforms to an approximate Gaussian distribution.
例如,如果初始性能观测记录集合不符合近似高斯分布,那么可以执行步骤820和步骤830;如果初始性能观测记录集合符合近似高斯分布,那么可以直接执行步骤830。For example, if the initial performance observation record set does not conform to the approximate Gaussian distribution, then step 820 and step 830 may be performed; if the initial performance observation record set conforms to the approximate Gaussian distribution, then step 830 may be directly performed.
820,使用步骤510中确定的变换参数对候选配置参数30对应的KPI进行变换。820. Use the transformation parameters determined in step 510 to transform the KPIs corresponding to the candidate configuration parameters 30.
上述技术方案能够在参数寻优的过程中处理噪声带来的影响,根据噪声的特点有针对性的处理,通过将非高斯分布的KPI转换为近似高斯分布的值,抑制非高斯分布噪声对参数寻优的影响,能够处理随时间变化的噪声,在一定程度上提高了寻找最优参数的效率。The above technical solution can deal with the impact of noise in the process of parameter optimization, and according to the characteristics of the noise, it can be processed in a targeted manner, by converting the KPI of non-Gaussian distribution into the value of approximate Gaussian distribution, and suppressing the impact of non-Gaussian distribution noise on the parameters. The impact of optimization, being able to deal with time-varying noise, improves the efficiency of finding optimal parameters to a certain extent.
830,计算m=30时的噪声方差。830. Calculate the noise variance when m=30.
当m=30时,i=30。示例性地,当使用公式(6)来更新噪声方差时,E(x 30)可以是使用GP高斯过程回归对m=30时的历史性能观测记录集合进行高斯拟合计算得到的期望值。y 30是候选配置参数30对应的KPI,y 30-E(x 30)为候选配置参数30对应KPI与期望值的残差。
Figure PCTCN2022116726-appb-000028
为候选配置参数29对应的噪声方差,
Figure PCTCN2022116726-appb-000029
为候选配置参数30对应的方差,也就是本次输出的噪声方差。
When m=30, i=30. Exemplarily, when formula (6) is used to update the noise variance, E(x 30 ) may be an expected value calculated by using GP Gaussian process regression to perform Gaussian fitting on the set of historical performance observation records when m=30. y 30 is the KPI corresponding to the candidate configuration parameter 30, and y 30 -E(x 30 ) is the residual difference between the KPI corresponding to the candidate configuration parameter 30 and the expected value.
Figure PCTCN2022116726-appb-000028
is the noise variance corresponding to the candidate configuration parameter 29,
Figure PCTCN2022116726-appb-000029
is the variance corresponding to the candidate configuration parameter 30, that is, the noise variance output this time.
可选的,计算期望值E(x 30)的方法还可以是线性回归、多项式回归、岭回归、Lasso回归等回归模型,或回归树模型,XGBoost,CatBoost,LightGBM等随机森林方法,本申请对此不作限定。 Optionally, the method for calculating the expected value E(x 30 ) can also be regression models such as linear regression, polynomial regression, ridge regression, and Lasso regression, or random forest methods such as regression tree models, XGBoost, CatBoost, and LightGBM. Not limited.
经过噪声诊断模块之后,将会输出KPI值y 30和噪声方差
Figure PCTCN2022116726-appb-000030
给调优服务模块110。调优服务模块110中的寻优算法可以通过KPI值y 30、和噪声方差
Figure PCTCN2022116726-appb-000031
在推荐下一组候选配置参数31时考虑噪声波动的幅度,合理的保留潜在最优解,减少噪声对寻找最优解的干扰,从而提升参数寻优性能。
After the noise diagnosis module, the KPI value y 30 and the noise variance will be output
Figure PCTCN2022116726-appb-000030
to the tuning service module 110. The optimization algorithm in the tuning service module 110 can pass the KPI value y 30 , and the noise variance
Figure PCTCN2022116726-appb-000031
When recommending the next set of candidate configuration parameters 31, consider the magnitude of noise fluctuations, reasonably retain the potential optimal solution, reduce the interference of noise on finding the optimal solution, and improve the performance of parameter optimization.
如果在820中KPI值y 30经过了非高斯分布转为近似高斯分布的变换,噪声诊断模块也会输出变换后的KPI值y 30给调优服务模块110。调优服务模块110中的寻优算法可以通过KPI值y 30、变换后的KPI值y 30和噪声方差
Figure PCTCN2022116726-appb-000032
在推荐下一组候选配置参数31时考虑噪声波动的幅度,合理的保留潜在最优解,减少噪声对寻找最优解的干扰,从而提升参数寻优性能。
If the KPI value y 30 has undergone transformation from a non-Gaussian distribution to an approximate Gaussian distribution in 820 , the noise diagnosis module will also output the transformed KPI value y 30 to the tuning service module 110 . The optimization algorithm in the tuning service module 110 can pass the KPI value y 30 , the transformed KPI value y 30 and the noise variance
Figure PCTCN2022116726-appb-000032
When recommending the next set of candidate configuration parameters 31, consider the magnitude of noise fluctuations, reasonably retain the potential optimal solution, reduce the interference of noise on finding the optimal solution, and improve the performance of parameter optimization.
图11是本申请实施例提供的当m=60时噪声诊断模块内部处理的示例性流程图。在m=60时,调优对象120可以根据候选配置参数60运行。性能监测模块130根据预设的KPI指标对调优对象120进行监测,得到对应于候选配置参数60的KPI,并将对应于候选配置参数60的KPI发送至噪声诊断模块。噪声诊断模块140可以根据接收到的KPI执行如图11所示的流程。Fig. 11 is an exemplary flow chart of the internal processing of the noise diagnosis module when m=60 provided by the embodiment of the present application. When m=60, the tuning object 120 can operate according to the candidate configuration parameter 60 . The performance monitoring module 130 monitors the tuning object 120 according to the preset KPI index, 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 may execute the process shown in FIG. 11 according to the received KPI.
910,离群点检测。910. Outlier detection.
应理解,m=60时的历史性能观测记录集合包括初始性能观测记录集合和候选配置参数1至候选配置参数59对应的去除异常噪声后的KPI。对历史性能观测记录集合进行高斯拟合,得到候选配置参数60的期望值,然后根据图5中520步骤构造的置信区间,判断该期望值是否落在置信区间中,如果落在置信区间中则候选配置参数60对应的KPI不是异常噪声,如果落在置信区间外则候选配置参数60对应的KPI属于异常噪声,凭借这种方式筛选掉异常噪声。It should be understood that the historical performance observation record set when m=60 includes the initial performance observation record set and KPIs corresponding to candidate configuration parameters 1 to 59 after removing abnormal noise. Perform Gaussian fitting on the set of historical performance observation records to obtain the expected value of the candidate configuration parameter 60, and then judge whether the expected value falls within the confidence interval according to the confidence interval constructed in step 520 in Figure 5, and if it falls within the confidence interval, then the candidate configuration The KPI corresponding to the parameter 60 is not abnormal noise. If it falls outside the confidence interval, the KPI corresponding to the candidate configuration parameter 60 is abnormal noise. The abnormal noise is screened out in this way.
可选地,对历史性能观测记录集合进行高斯拟合的方法包括对函数点进行函数逼近、决策树方法、高斯曲线拟合等具有拟合功能的方法或者利用一些可以对数据进行拟合的软件的接口,本申请对此不作限定。Optionally, the method of performing Gaussian fitting on the set of historical performance observation records includes performing function approximation on function points, decision tree method, Gaussian curve fitting and other methods with fitting functions, or using some software that can be used to fit data interface, which is not limited in this application.
可选地,筛选掉异常噪声的方法还可以使用基于距离的离群点检测方法、基于统计的离群点检测方法、基于无监督的离群点检测方法、基于分类的群点检测方法、基于密度的离群点检测方法、基于信息熵的离群点检测方法等,本申请对此不做限定。Optionally, the method for 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 cluster detection method, a method based on The outlier detection method based on density, the outlier detection method based on information entropy, etc., are not limited in this application.
应理解,m=60时已经满足了用户预设的迭代次数M。如果候选配置参数60对应的KPI判断为异常噪声,则将该异常噪声舍弃,调优服务模块110直接将调优记录存储模块150中的所有候选配置参数对应的KPI进行比较,选择KPI最优时对应的那组候选配置参数输出作为最优参数的选择。如果候选配置参数60对应的KPI判断不是异常噪声,则噪声诊断模块140将输出该KPI,调优服务模块110将该KPI保存至调优记录存储模块150中,然后将60轮中所有候选配置参数对应的非异常噪声的KPI进行比较,选择KPI最优时对应的那组候选配置参数输出作为最优参数的选择。It should be understood that when m=60, the number of iterations M preset by the user has already been met. If the KPI corresponding to the candidate configuration parameter 60 is judged to be abnormal noise, then the abnormal noise is discarded, and the tuning service module 110 directly compares the KPIs corresponding to all candidate configuration parameters in the tuning record storage module 150, and selects when the KPI is optimal The corresponding set of candidate configuration parameters is output as the selection of optimal parameters. If the KPI corresponding to the candidate configuration parameter 60 is judged not to be abnormal noise, the noise diagnosis module 140 will output the KPI, and the tuning service module 110 will save the KPI to the tuning record storage module 150, and then record all candidate configuration parameters in 60 rounds The corresponding non-abnormal noise KPIs are compared, and the corresponding set of candidate configuration parameters output when the KPI is optimal is selected as the optimal parameter selection.
以上描述了根据本申请实施例的参数寻优方法,下面分别结合图12和图13描述根据本申请实施例的装置和设备。The parameter optimization method according to the embodiment of the present application has been described above, and the apparatus and equipment according to the embodiment of the present application will be described below with reference to FIG. 12 and FIG. 13 respectively.
本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,所述程序执行时可包括如图2、5、9-11对应实施例中的参数寻优方法的部分或全部步骤。The embodiment of the present application also provides a computer storage medium, the computer storage medium stores program instructions, and when the program is executed, it may include the part of the parameter optimization method in the corresponding embodiments as shown in Fig. 2, 5, 9-11 or all steps.
图12为本申请实施例提供的一种计算机装置1000的结构示例图。该计算机装置1000包括获取模块1010和处理模块1020。FIG. 12 is a structural example diagram of a computer device 1000 provided in an embodiment of the present application. The computer device 1000 includes an acquisition module 1010 and a processing module 1020 .
其中,获取模块1010,用于获取候选配置参数、历史性能观测记录集合和噪声方差,执行图2方法中的220和280,图5方法中的540,图9方法中的730,图10方法中的830。Among them, the obtaining module 1010 is used to obtain candidate configuration parameters, historical performance observation records set and noise variance, and executes 220 and 280 in the method of FIG. 2, 540 in the method of FIG. 5, 730 in the method of FIG. 9, and 730 in the method of FIG. The 830.
处理模块1020,用于根据候选配置参数、历史性能观测记录集合和噪声方差选出最优KPI对应的候选配置参数,执行图2的方法、图5的方法、图9的方法、图10的方法、图11的方法中的部分或全部步骤。The processing module 1020 is used to select the candidate configuration parameters corresponding to the optimal KPI according to the candidate configuration parameters, the historical performance observation record set and the noise variance, and execute the method in FIG. 2 , the method in FIG. 5 , the method in FIG. 9 , and the method in FIG. 10 , some or all of the steps in the method in FIG. 11 .
图13为本申请实施例提供的另一种计算机装置1300的结构示例图。计算机装置1300包括处理器1302、通信接口1303和存储器1304。计算机装置1300的一种示例为芯片。计算机装置1300的另一种示例为计算设备。FIG. 13 is a structural example diagram of another computer device 1300 provided in the embodiment of the present application. The computer device 1300 includes a processor 1302 , a communication interface 1303 and a memory 1304 . One example of computer device 1300 is a chip. Another example of computer apparatus 1300 is a computing device.
上述本发明实施例揭示的方法可以应用于处理器1302中,或者由处理器1302实现。处理器1302可以是中央处理器(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。在实现过程中,上述方法的各步骤可以通过处理器1302中的硬件的集成逻辑电路或者软件形式的指令完成。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。The methods disclosed in the foregoing embodiments of the present invention may be applied to the processor 1302 or implemented by the processor 1302 . Processor 1302 can be a central processing unit (central processing unit, CPU), and can also be other general-purpose processors, digital signal processors (digital signal processors, DSP), application specific integrated circuits (application specific integrated circuits, ASICs), on-site Programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general purpose processor may be a microprocessor or any conventional processor or the like. In the implementation process, each step of the above method may be completed by an integrated logic circuit of hardware in the processor 1302 or instructions in the form of software. Various methods, steps and logic block diagrams disclosed in the embodiments of the present invention may be implemented or executed. A general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like. The steps of the methods disclosed in the embodiments of the present invention may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor.
存储器1304可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。 通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。Memory 1304 can be volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. Among them, the non-volatile memory can be read-only memory (read-only memory, ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically programmable Erases programmable read-only memory (electrically EPROM, EEPROM) or flash memory. Volatile memory can be random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, many forms of RAM are available such as static random access memory (static RAM, SRAM), dynamic random access memory (dynamic RAM, DRAM), synchronous dynamic random access memory (synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchronous connection dynamic random access memory (synchlink DRAM, SLDRAM ) and direct memory bus random access memory (direct rambus RAM, DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but not be limited to, these and any other suitable types of memory.
处理器1302、存储器1304和通信接口1303之间可以通过总线通信。存储器1304中存储有可执行代码,处理器1302读取存储器1304中的可执行代码以执行对应的方法。存储器1304中还可以包括操作系统等其他运行进程所需的软件模块。操作系统可以为LINUX TM,UNIX TM,WINDOWS TM等。 The processor 1302, the memory 1304, and the communication interface 1303 may communicate through a bus. Executable codes are stored in the memory 1304, and the processor 1302 reads the executable codes in the memory 1304 to execute a corresponding method. The memory 1304 may also include an operating system and other software modules required for running processes. The operating system can be LINUX TM , UNIX TM , WINDOWS TM and so on.
例如,存储器1304中的可执行代码用于实现图2所示的方法,处理器1302读取存储器1304中的该可执行代码以执行图2所示的方法。For example, the executable code in the memory 1304 is used to implement the method shown in FIG. 2 , and the processor 1302 reads the executable code in the memory 1304 to execute the method shown in FIG. 2 .
在本申请的一些实施例中,所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。图14示意性地示出根据这里展示的至少一些实施例而布置的示例计算机程序产品的概念性局部视图,所述示例计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。在一个实施例中,示例计算机程序产品1400是使用信号承载介质1401来提供的。所述信号承载介质1401可以包括一个或多个程序指令1402,其当被一个或多个处理器运行时可以提供以上针对图2所示的方法中描述的功能或者部分功能。因此,例如,参考图2中所示的实施例,410至450的一个或多个特征可以由与信号承载介质1401相关联的一个或多个指令来承担。In some embodiments of the present application, the disclosed methods may 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 of manufacture. Figure 14 schematically illustrates a conceptual partial view of an example computer program product comprising a computer program for executing a computer process on a computing device, arranged in accordance with at least some embodiments presented herein. In one embodiment, the example computer program product 1400 is provided using a signal bearing medium 1401 . The signal bearing medium 1401 may include one or more program instructions 1402, which may provide the functions or part of the functions described above with respect to the method shown in FIG. 2 when executed by one or more processors. Thus, for example, with reference to the embodiment shown in FIG. 2 , one or more features of 410 through 450 may be undertaken by one or more instructions associated with signal bearing medium 1401 .
在一些示例中,信号承载介质1401可以包含计算机可读介质1403,诸如但不限于,硬盘驱动器、紧密盘(CD)、数字视频光盘(DVD)、数字磁带、存储器、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等等。在一些实施方式中,信号承载介质1401可以包含计算机可记录介质1404,诸如但不限于,存储器、读/写(R/W)CD、R/W DVD、等等。在一些实施方式中,信号承载介质1401可以包含通信介质1405,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质1401可以由无线形式的通信介质1405(例如,遵守IEEE 802.11标准或者其它传输协议的无线通信介质)来传达。一个或多个程序指令1402可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,前述的计算设备可以被配置为,响应于通过计算机可读介质1403、计算机可记录介质1404、和/或通信介质1405中的一个或多个传达到计算设备的程序指令1402,提供各种操作、功能、或者动作。应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能实体。In some examples, signal bearing medium 1401 may comprise computer readable medium 1403 such as, but not limited to, a hard drive, compact disc (CD), digital video disc (DVD), digital tape, memory, read-only memory (read only memory) -only memory, ROM) or random access memory (random access memory, RAM) and so on. In some implementations, signal bearing media 1401 may comprise computer recordable media 1404 such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, and the like. In some implementations, signal bearing media 1401 may include communication media 1405 such as, but not limited to, digital and/or analog communication media (eg, fiber optic cables, waveguides, wired communication links, wireless communication links, etc.). Thus, for example, signal bearing medium 1401 may be conveyed by a wireless form of communication medium 1405 (eg, a wireless communication medium that complies with the IEEE 802.11 standard or other transmission protocol). One or more program instructions 1402 may be, for example, computer-executable instructions or logic-implemented instructions. In some examples, the aforementioned computing device may be configured to, in response to program instructions 1402 communicated to the computing device via one or more of computer-readable media 1403 , computer-recordable media 1404 , and/or communication media 1405 , Various operations, functions, or actions are provided. It should be understood that the arrangements described herein are for example purposes only. Accordingly, those skilled in the art will appreciate that other arrangements and other elements (e.g., machines, interfaces, functions, sequences, and groups of functions, etc.) can be used instead, and some elements may be omitted altogether depending on the desired result. . In addition, many of the described elements are functional entities that may be implemented as discrete or distributed components, or implemented in conjunction with other components in any suitable combination and location.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及 算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those of ordinary skill in the art can appreciate that the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed by hardware or software depends on the specific application and design constraints of the technical solution. Skilled artisans may use different methods to implement the described functions for each specific application, but such implementation should not be regarded as exceeding the scope of the present application.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that for the convenience and brevity of the description, the specific working process of the above-described system, device and unit can refer to the corresponding process in the foregoing method embodiment, which will not be repeated here.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods may be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented. In another point, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the functions described above are realized 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 solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disc and other media that can store program codes. .
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above is only a specific implementation of the application, but the scope of protection of the application is not limited thereto. Anyone familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the application. Should be covered within the protection scope of this application. Therefore, the protection scope of the present application should be determined by the protection scope of the claims.

Claims (19)

  1. 一种参数寻优方法,其特征在于,包括:A parameter optimization method, characterized in that, comprising:
    获取调优对象的第一候选配置参数;Obtain the first candidate configuration parameter of the tuning object;
    根据所述第一候选配置参数运行所述调优对象,得到第一关键绩效指标KPI,所述第一KPI是根据至少一个观测指标确定的;Running the tuning object according to the first candidate configuration parameter to obtain a first key performance indicator KPI, where the first KPI is determined according to at least one observation indicator;
    获取第一历史性能观测记录集合和所述第一历史性能观测记录集合的方差,第一历史性能观测记录集合包括根据历史候选配置参数运行所述调优对象得到的多个KPI,所述历史候选配置参数是在获取所述第一候选配置参数之前确定的候选配置参数;Acquiring a first set of historical performance observation records and the variance of the first set of historical performance observation records, the first set of historical performance observation records includes a plurality of KPIs obtained by running the tuning object according to historical candidate configuration parameters, the historical candidate The configuration parameter is a candidate configuration parameter determined before acquiring the first candidate configuration parameter;
    根据所述第一历史性能观测记录集合,确定第一期望值;determining a first expected value according to the first set of historical performance observation records;
    根据所述第一KPI、所述第一期望值、所述第一历史性能观测记录集合的方差,确定噪声方差;determining a noise variance according to the first KPI, the first expected value, and the variance of the first historical performance observation record set;
    根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第二候选配置参数。Determine a second candidate configuration parameter of the tuning object according to the first KPI, the noise variance, and the type and range of the candidate configuration parameter of the tuning object.
  2. 根据权利要求1所述的方法,其特征在于,在所述根据所述第一历史性能观测记录集合,确定第一期望值之前,所述方法还包括:The method according to claim 1, wherein, before determining the first expected value according to the first historical performance observation record set, the method further comprises:
    确定所述第一KPI不是异常性能观测值。It is determined that the first KPI is not an abnormal performance observation.
  3. 根据权利要求2所述的方法,其特征在于,所述方法还包括:The method according to claim 2, further comprising:
    根据所述第二候选配置参数运行所述调优对象,得到第二KPI;running the tuning object according to the second candidate configuration parameters to obtain a second KPI;
    确定所述第二KPI为所述异常性能观测值;determining the second KPI as the abnormal performance observation;
    根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第三候选配置参数。Determine a third candidate configuration parameter of the tuning object according to the first KPI, the noise variance, and the type and range of the candidate configuration parameter of the tuning object.
  4. 根据权利要求3所述的方法,其特征在于,所述确定所述第一KPI不是异常性能观测值,包括:The method according to claim 3, wherein the determining that the first KPI is not an abnormal performance observation value comprises:
    获取置信区间;get the confidence interval;
    确定所述第一期望值位于所述置信区间内;determining that the first expected value is within the confidence interval;
    所述确定所述第二KPI为所述异常性能观测值,包括:The determining that the second KPI is the abnormal performance observation value includes:
    根据第二历史性能观测记录集合,确定第二期望值,其中所述第二历史性能观测记录集合包括所述第一历史性能观测记录集合中的多个KPI和所述第一KPI;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 a plurality of KPIs in the first set of historical performance observation records and the first KPI;
    确定所述第二期望值位于所述置信区间外。It is determined that the second expected value lies outside the confidence interval.
  5. 根据权利要求4所述的方法,其特征在于,所述获取置信区间包括:The method according to claim 4, wherein said obtaining a confidence interval comprises:
    配置所述调优对象的第四候选配置参数,重复运行G次得到初始性能观测记录集合,G为大于1的正整数;Configure the fourth candidate configuration parameter of the tuning object, and repeat the operation G times to obtain the initial performance observation record set, where G is a positive integer greater than 1;
    根据所述初始性能观测记录集合得到所述置信区间。The confidence interval is obtained according to the initial performance observation record set.
  6. 根据权利要求5所述的方法,其特征在于,在所述根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第二候选配置参数之前,所述方法还包括:The method according to claim 5, characterized in that, according to the first KPI, the noise variance, the type and range of the candidate configuration parameters of the tuning object, determining the second of the tuning object Before the two candidate configuration parameters, the method also includes:
    确定所述初始性能观测记录集合是否符合近似高斯分布;determining whether the initial set of performance observation records conforms to an approximate Gaussian distribution;
    若所述初始性能观测记录集合不符合所述近似高斯分布,则确定变换参数,所述变换参数能够将所述初始性能观测记录集合转换为符合所述近似高斯分布的性能观测记录集合;If the initial performance observation record set does not conform to the approximate Gaussian distribution, then determine a transformation parameter, the transformation parameter can convert the initial performance observation record set into a performance observation record set conforming to the approximate Gaussian distribution;
    所述根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第二候选配置参数,包括:The determining the second candidate configuration parameter of the tuning object according to the first KPI, the noise variance, and the type and range of the candidate configuration parameter of the tuning object includes:
    若所述初始性能观测记录集合符合所述近似高斯分布,则根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第二候选配置参数;If the set of initial performance observation records conforms to the approximate Gaussian distribution, then determine the first KPI of the tuning object according to the first KPI, the noise variance, and the type and range of the candidate configuration parameters of the tuning object. Two candidate configuration parameters;
    若所述初始性能观测记录集合不符合所述近似高斯分布,则使用所述变换参数将所述第一KPI转换为第三KPI,根据所述第一KPI、所述第三KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第二候选配置参数。If the set of initial performance observation records does not conform to the approximate Gaussian distribution, then use the transformation parameters to convert the first KPI into a third KPI, according to the first KPI, the third KPI, the noise variance, the type and range of the candidate configuration parameters of the tuning object, and determine the second candidate configuration parameters of the tuning object.
  7. 根据权利要求5所述的方法,其特征在于,在所述根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第三候选配置参数之前,所述方法还包括:The method according to claim 5, characterized in that, according to the first KPI, the noise variance, the type and range of the candidate configuration parameters of the tuning object, determining the second of the tuning object Before the three candidate configuration parameters, the method also includes:
    确定所述初始性能观测记录集合是否符合近似高斯分布;determining whether the initial set of performance observation records conforms to an approximate Gaussian distribution;
    若所述初始性能观测记录集合不符合所述近似高斯分布,则确定变换参数,所述变换参数能够将所述初始性能观测记录集合转换为符合所述近似高斯分布的性能观测记录集合;If the initial performance observation record set does not conform to the approximate Gaussian distribution, then determine a transformation parameter, the transformation parameter can convert the initial performance observation record set into a performance observation record set conforming to the approximate Gaussian distribution;
    所述根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第三候选配置参数,包括:The determining the third candidate configuration parameter of the tuning object according to the first KPI, the noise variance, and the type and range of the candidate configuration parameter of the tuning object includes:
    若所述初始性能观测记录集合符合所述近似高斯分布,则根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第三候选配置参数;If the set of initial performance observation records conforms to the approximate Gaussian distribution, then determine the first KPI of the tuning object according to the first KPI, the noise variance, and the type and range of the candidate configuration parameters of the tuning object. Three candidate configuration parameters;
    若所述初始性能观测记录集合不符合所述近似高斯分布,则使用所述变换参数将所述第一KPI转换为第四KPI,根据所述第一KPI、所述第四KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第三候选配置参数。If the set of initial performance observation records does not conform to the approximate Gaussian distribution, then use the transformation parameters to convert the first KPI into a fourth KPI, according to the first KPI, the fourth KPI, the noise variance, the type and range of the candidate configuration parameters of the tuning object, and determine a third candidate configuration parameter of the tuning object.
  8. 根据权利要求1至7任一项所述的方法,其特征在于,所述根据所述第一KPI、所述第一期望值、所述第一历史性能观测记录集合的方差,确定噪声方差,包括:根据以下公式确定所述噪声方差:The method according to any one of claims 1 to 7, wherein the determining the noise variance according to the first KPI, the first expected value, and the variance of the first historical performance observation record set includes : Determine the noise variance according to the following formula:
    Figure PCTCN2022116726-appb-100001
    Figure PCTCN2022116726-appb-100001
    其中,i为所述调优对象的候选配置参数的序号,
    Figure PCTCN2022116726-appb-100002
    为所述第一历史性能观测记录集合的方差,E(x i)为所述第一历史性能观测记录集合的期望值,y i为所述第一KPI,
    Figure PCTCN2022116726-appb-100003
    为所述噪声方差。
    Wherein, i is the serial number of the candidate configuration parameter of the tuning object,
    Figure PCTCN2022116726-appb-100002
    is the variance of the first historical performance observation record set, E(xi ) is the expected value of the first historical performance observation record set, y i is the first KPI,
    Figure PCTCN2022116726-appb-100003
    is the noise variance.
  9. 一种计算机装置,其特征在于,所述装置包括获取模块和处理模块,A computer device, characterized in that the device includes an acquisition module and a processing module,
    所述获取模块,用于获取调优对象的第一候选配置参数;The obtaining module is used to obtain the first candidate configuration parameter of the tuning object;
    所述处理模块,用于根据所述第一候选配置参数运行所述调优对象,得到第一关键绩效指标KPI,所述第一KPI是根据至少一个观测指标确定的;The processing module is configured to run the tuning object according to the first candidate configuration parameter to obtain a first key performance indicator KPI, and the first KPI is determined according to at least one observation indicator;
    所述获取模块,还用于获取第一历史性能观测记录集合和所述第一历史性能观测记录集合的方差,第一历史性能观测记录集合包括根据历史候选配置参数运行所述调优对象得到的多个KPI,所述历史候选配置参数是在获取所述第一候选配置参数之前确定的候选配置参数;The acquiring module is further configured to acquire a first set of historical performance observation records and a variance of the first set of historical performance observation records, the first set of historical performance observation records includes running the tuning object according to historical candidate configuration parameters A plurality of KPIs, the historical candidate configuration parameters are candidate configuration parameters determined before acquiring the first candidate configuration parameters;
    所述处理模块,还用于根据所述第一历史性能观测记录集合,确定第一期望值;The processing module is further configured to determine a first expected value according to the first set of historical performance observation records;
    所述处理模块,还用于根据所述第一KPI、所述第一期望值、所述第一历史性能观测记录集合的方差,确定噪声方差;The processing module is further configured to determine a noise variance according to the first KPI, the first expected value, and the variance of the first historical performance observation record set;
    所述处理模块,还用于根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第二候选配置参数。The processing module is further configured to determine a second candidate configuration parameter of the tuning object according to the first KPI, the noise variance, and the type and range of the candidate configuration parameter of the tuning object.
  10. 根据权利要求9所述的装置,其特征在于,所述处理模块,The device according to claim 9, wherein the processing module,
    还用于确定所述第一KPI不是异常性能观测值。It is also used to determine that the first KPI is not an abnormal performance observation value.
  11. 根据权利要求10所述的装置,其特征在于,所述处理模块,The device according to claim 10, wherein the processing module,
    还用于根据所述第二候选配置参数运行所述调优对象,得到第二KPI;It is also used to run the tuning object according to the second candidate configuration parameter to obtain a second KPI;
    所述处理模块,还用于确定所述第二KPI为所述异常性能观测值;The processing module is further configured to determine that the second KPI is the abnormal performance observation value;
    所述处理模块,还用于根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第三候选配置参数。The processing module is further configured to determine a third candidate configuration parameter of the tuning object according to the first KPI, the noise variance, and the type and range of the candidate configuration parameter of the tuning object.
  12. 根据权利要求11所述的装置,其特征在于,所述处理模块具体用于:The device according to claim 11, wherein the processing module is specifically used for:
    获取置信区间;get the confidence interval;
    确定所述第一期望值位于所述置信区间内;determining that the first expected value is within the confidence interval;
    所述确定所述第二KPI为所述异常性能观测值,包括:The determining that the second KPI is the abnormal performance observation value includes:
    根据第二历史性能观测记录集合,确定第二期望值,其中所述第二历史性能观测记录集合包括所述第一历史性能观测记录集合中的多个KPI和所述第一KPI;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 a plurality of KPIs in the first set of historical performance observation records and the first KPI;
    确定所述第二期望值位于所述置信区间外。It is determined that the second expected value lies outside the confidence interval.
  13. 根据权利要求12所述的装置,其特征在于,所述处理模块具体用于:The device according to claim 12, wherein the processing module is specifically used for:
    配置所述调优对象的第四候选配置参数,重复运行G次得到初始性能观测记录集合,G为大于1的正整数;Configure the fourth candidate configuration parameter of the tuning object, and repeat the operation G times to obtain the initial performance observation record set, where G is a positive integer greater than 1;
    根据所述初始性能观测记录集合得到所述置信区间。The confidence interval is obtained according to the initial performance observation record set.
  14. 根据权利要求13所述的装置,其特征在于,所述处理模块具体用于:The device according to claim 13, wherein the processing module is specifically used for:
    确定所述初始性能观测记录集合是否符合近似高斯分布;determining whether the initial set of performance observation records conforms to an approximate Gaussian distribution;
    若所述初始性能观测记录集合不符合所述近似高斯分布,则确定变换参数,所述变换参数能够将所述初始性能观测记录集合转换为符合所述近似高斯分布的性能观测记录集合;If the initial performance observation record set does not conform to the approximate Gaussian distribution, then determine a transformation parameter, the transformation parameter can convert the initial performance observation record set into a performance observation record set conforming to the approximate Gaussian distribution;
    所述根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第二候选配置参数,包括:The determining the second candidate configuration parameter of the tuning object according to the first KPI, the noise variance, and the type and range of the candidate configuration parameter of the tuning object includes:
    若所述初始性能观测记录集合符合所述近似高斯分布,则根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第二候选配置参数;If the set of initial performance observation records conforms to the approximate Gaussian distribution, then determine the first KPI of the tuning object according to the first KPI, the noise variance, and the type and range of the candidate configuration parameters of the tuning object. Two candidate configuration parameters;
    若所述初始性能观测记录集合不符合所述近似高斯分布,则使用所述变换参数将所述第一KPI转换为第三KPI,根据所述第一KPI、所述第三KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第二候选配置参数。If the set of initial performance observation records does not conform to the approximate Gaussian distribution, then use the transformation parameters to convert the first KPI into a third KPI, according to the first KPI, the third KPI, the noise variance, the type and range of the candidate configuration parameters of the tuning object, and determine the second candidate configuration parameters of the tuning object.
  15. 根据权利要求13所述的装置,其特征在于,所述处理模块具体用于:The device according to claim 13, wherein the processing module is specifically used for:
    确定所述初始性能观测记录集合是否符合近似高斯分布;determining whether the initial set of performance observation records conforms to an approximate Gaussian distribution;
    若所述初始性能观测记录集合不符合所述近似高斯分布,则确定变换参数,所述变换参数能够将所述初始性能观测记录集合转换为符合所述近似高斯分布的性能观测记录集合;If the initial performance observation record set does not conform to the approximate Gaussian distribution, then determine a transformation parameter, the transformation parameter can convert the initial performance observation record set into a performance observation record set conforming to the approximate Gaussian distribution;
    所述根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第三候选配置参数,包括:The determining the third candidate configuration parameter of the tuning object according to the first KPI, the noise variance, and the type and range of the candidate configuration parameter of the tuning object includes:
    若所述初始性能观测记录集合符合所述近似高斯分布,则根据所述第一KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第三候选配置参数;If the set of initial performance observation records conforms to the approximate Gaussian distribution, then determine the first KPI of the tuning object according to the first KPI, the noise variance, and the type and range of the candidate configuration parameters of the tuning object. Three candidate configuration parameters;
    若所述初始性能观测记录集合不符合所述近似高斯分布,则使用所述变换参数将所述第一KPI转换为第四KPI,根据所述第一KPI、所述第四KPI、所述噪声方差、所述调优对象的候选配置参数的类型和范围,确定所述调优对象的第三候选配置参数。If the set of initial performance observation records does not conform to the approximate Gaussian distribution, then use the transformation parameters to convert the first KPI into a fourth KPI, according to the first KPI, the fourth KPI, the noise variance, the type and range of the candidate configuration parameters of the tuning object, and determine a third candidate configuration parameter of the tuning object.
  16. 根据权利要求9至15任一项所述的装置,其特征在于,所述处理模块具体用于:The device according to any one of claims 9 to 15, wherein the processing module is specifically used for:
    根据以下公式确定所述噪声方差:The noise variance is determined according to the following formula:
    Figure PCTCN2022116726-appb-100004
    Figure PCTCN2022116726-appb-100004
    其中,i为所述调优对象的候选配置参数的序号,
    Figure PCTCN2022116726-appb-100005
    为所述第一历史性能观测记录集合的方差,E(x i)为所述第一历史性能观测记录集合的期望值,y i为所述第一KPI,
    Figure PCTCN2022116726-appb-100006
    为所述噪声方差。
    Wherein, i is the serial number of the candidate configuration parameter of the tuning object,
    Figure PCTCN2022116726-appb-100005
    is the variance of the first historical performance observation record set, E(xi ) is the expected value of the first historical performance observation record set, y i is the first KPI,
    Figure PCTCN2022116726-appb-100006
    is the noise variance.
  17. 一种计算机设备,其特征在于,包括:处理器,所述处理器用于与存储器耦合,读取并执行所述存储器中的指令和/或程序代码,以执行如权利要求1-8中任一项所述的方法。A computer device, characterized in that it comprises: a processor, configured to be coupled to a memory, read and execute instructions and/or program codes in the memory, so as to execute any one of claims 1-8 method described in the item.
  18. 一种芯片系统,其特征在于,包括:逻辑电路,所述逻辑电路用于与输入/输出接口耦合,通过所述输入/输出接口传输数据,以执行如权利要求1-8中任一项所述的方法。A system on a chip, characterized in that it includes: a logic circuit, the logic circuit is used to couple with an input/output interface, and transmit data through the input/output interface, so as to perform the operation described in any one of claims 1-8. described method.
  19. 一种计算机可读介质,其特征在于,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如权利要求1-8中任一项所述的方法。A computer-readable medium, characterized in that the computer-readable medium stores program codes, and when the computer program codes run on a computer, the computer executes the method described in any one of claims 1-8. method.
PCT/CN2022/116726 2021-11-12 2022-09-02 Parameter optimization method and apparatus WO2023082792A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111341930.X 2021-11-12
CN202111341930.XA CN116126657A (en) 2021-11-12 2021-11-12 Parameter optimizing method and device

Publications (1)

Publication Number Publication Date
WO2023082792A1 true WO2023082792A1 (en) 2023-05-19

Family

ID=86301421

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/116726 WO2023082792A1 (en) 2021-11-12 2022-09-02 Parameter optimization method and apparatus

Country Status (2)

Country Link
CN (1) CN116126657A (en)
WO (1) WO2023082792A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110267218A1 (en) * 2010-04-28 2011-11-03 Src, Inc. System and Method for Reduction of Point of Origin Errors
CN106444375A (en) * 2016-09-20 2017-02-22 中国人民解放军海军航空工程学院 Method for calculating weighting coefficient of driver's optimal control model
CN110139325A (en) * 2018-02-09 2019-08-16 华为技术有限公司 A kind of network parameter tuning method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110267218A1 (en) * 2010-04-28 2011-11-03 Src, Inc. System and Method for Reduction of Point of Origin Errors
CN106444375A (en) * 2016-09-20 2017-02-22 中国人民解放军海军航空工程学院 Method for calculating weighting coefficient of driver's optimal control model
CN110139325A (en) * 2018-02-09 2019-08-16 华为技术有限公司 A kind of network parameter tuning method and device

Also Published As

Publication number Publication date
CN116126657A (en) 2023-05-16

Similar Documents

Publication Publication Date Title
US11586953B2 (en) Selection of machine learning algorithms
US11902316B2 (en) Real-time cybersecurity status system with event ticker
US10210189B2 (en) Root cause analysis of performance problems
US20210136098A1 (en) Root cause analysis in multivariate unsupervised anomaly detection
KR101964412B1 (en) Method for diagnosing anomaly log of mobile commmunication data processing system and system thereof
WO2019187358A1 (en) Evaluation device
JP6691094B2 (en) Learning device, detection system, learning method and learning program
CN112448947A (en) Network anomaly determination method, equipment and storage medium
JP2020053036A (en) System and method for analyzing interquartile range subjected to binning in malfunction detection of data series
US20160063379A1 (en) Anonymous Crowd Sourced Software Tuning
JP2019144970A (en) Analysis apparatus, analysis method, and analysis program
CN113705981B (en) Big data based anomaly monitoring method and device
US20230050889A1 (en) Method and system to generate knowledge graph and sub-graph clusters to perform root cause analysis
CN116451139B (en) Live broadcast data rapid analysis method based on artificial intelligence
CN111147300B (en) Network security alarm confidence evaluation method and device
CN109408556B (en) Abnormal user identification method and device based on big data, electronic equipment and medium
US20160330232A1 (en) Malicious authorized access prevention apparatus and method of use thereof
WO2018182829A1 (en) Automated meta-parameter search for invariant-based anomaly detectors in log analytics
US20220413481A1 (en) Geometric aging data reduction for machine learning applications
US20210250260A1 (en) Detection device and detection method
CN113886821A (en) Malicious process identification method and device based on twin network, electronic equipment and storage medium
WO2023082792A1 (en) Parameter optimization method and apparatus
US11288158B2 (en) Device identification device and device identification method
US20230035666A1 (en) Anomaly detection in storage systems
CN112437051B (en) Negative feedback training method and device for network risk detection model and computer equipment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22891597

Country of ref document: EP

Kind code of ref document: A1