Information processing device, information processing method, and information processing program
Patent Information
- Application Number
- JP2023044125
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-03-20
- Publication Date
- 2026-09-09
- Estimated Expiration
- 2043-03-20
AI Technical Summary
【0009】 実施形態の一態様によれば、自動チューニングモデルを用いたチューニング結果を適切に本番環境に適用することを可能とすることができるという効果を奏する。
Smart Images

Figure 0007918129000001 
Figure 0007918129000002 
Figure 0007918129000003
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus, an information processing method, and an information processing program.
Background Art
[0002] In recent years, a technology for automating or labor-saving software tuning by applying machine learning technology to software tuning (Machine Learning for Systems) has been attracting attention.
[0003] For example, a non-patent document proposes a technology for creating an automatic tuning model, which is a machine learning model that targets a database management system, which is a type of software, uses metric data of the database management system as input data, and outputs database parameter values for maximizing the throughput of database processing and minimizing the response time of query processing as tuning values. Such an automatic tuning model can automate the performance tuning of the database management system.
[0004] Such automation and labor-saving technologies are in great demand for companies that operate and manage a large number of pieces of software, since they can reduce the labor involved in performance tuning and improve the utilization efficiency of computer resources.
Prior Art Literature
Non-Patent Literature
[0005]
Non-Patent Literature 1
[0006] However, as described in Non-Patent Document 1 above, since the database management system running in the production environment is directly and automatically tuned, there are issues such as the performance of the production environment degrading or the consumption of more computing resources if the parameter values output as tuning values by the automatic tuning model are not appropriate. This is true even if, for example, the tuning values output by the automatic tuning model are not parameter values.
[0007] This application has been made in view of the above, and aims to provide an information processing device, an information processing method, and an information processing program that enable the appropriate application of tuning results using an automated tuning model to the production environment. [Means for solving the problem]
[0008] The information processing device according to the present invention comprises a test execution unit, an automatic tuning inference unit, and a risk assessment unit. The test execution unit executes the software to be tuned in a test environment. The automatic tuning inference unit infers the tuning values of the software in the test environment using an automatic tuning model that takes the metric data of the test environment as input data while the software is being executed in the test environment by the test execution unit. The risk assessment unit evaluates the application risk, which is the risk when the application information, which is information based on the tuning values inferred by the automatic tuning inference unit, is applied to the production environment. [Effects of the Invention]
[0009] According to one embodiment, the effect is that the tuning results using an automated tuning model can be appropriately applied to the production environment. [Brief explanation of the drawing]
[0010] [Figure 1] Figure 1 shows an example of information processing according to the first embodiment. [Figure 2] Figure 2 shows an example of the configuration of an information processing system according to the first embodiment. [Figure 3] Figure 3 shows an example of the configuration of an information processing device according to the first embodiment. [Figure 4] Figure 4 shows an example of definition information included in an automatic tuning request received by the request receiving unit of the information processing device according to the first embodiment. [Figure 5] Figure 5 shows an example of an automatic tuning inference result output from the automatic tuning execution unit of the information processing device according to the first embodiment. [Figure 6] Figure 6 shows an example of the automatic tuning inference correction result output from the correction unit of the information processing device according to the first embodiment. [Figure 7] Figure 7 is a flowchart showing an example of information processing by the processing unit of the information processing device according to the first embodiment. [Figure 8] FIG. 8 is a flowchart illustrating an example of automatic tuning preparation processing performed by the processing unit of the information processing apparatus according to the first embodiment. [Figure 9] FIG. 9 is a flowchart illustrating an example of automatic tuning execution processing performed by the processing unit of the information processing apparatus according to the first embodiment. [Figure 10] FIG. 10 is a flowchart illustrating an example of risk evaluation processing performed by the processing unit of the information processing apparatus according to the first embodiment. [Figure 11] FIG. 11 is a flowchart illustrating an example of inference result correction processing performed by the processing unit of the information processing apparatus according to the first embodiment. [Figure 12] FIG. 12 is a flowchart illustrating an example of production environment application processing performed by the processing unit of the information processing apparatus according to the first embodiment. [Figure 13] FIG. 13 is a diagram illustrating an example of the configuration of the information processing system according to the second embodiment. [Figure 14] FIG. 14 is a diagram illustrating an example of the configuration of a production environment according to the second embodiment. [Figure 15] FIG. 15 is a diagram illustrating an example of the configuration of the information processing apparatus according to the second embodiment. [Figure 16] FIG. 16 is a diagram illustrating an example of an automatic tuning inference result output from the automatic tuning execution unit of the information processing apparatus according to the second embodiment. [Figure 17] FIG. 17 is a diagram illustrating an example of correction contents for an automatic tuning inference result performed by the correction unit of the information processing apparatus according to the second embodiment. [Figure 18] FIG. 18 is a flowchart illustrating an example of automatic tuning execution processing performed by the processing unit of the information processing apparatus according to the second embodiment. [Figure 19] FIG. 19 is a flowchart illustrating an example of risk evaluation processing performed by the processing unit of the information processing apparatus according to the second embodiment. [Figure 20] FIG. 20 is a flowchart illustrating an example of inference result correction processing performed by the processing unit of the information processing apparatus according to the second embodiment. [Figure 21]FIG. 21 is a flowchart illustrating an example of production environment application processing performed by the processing unit of the information processing apparatus according to the second embodiment. [Figure 22] FIG. 22 is a hardware configuration diagram illustrating an example of a computer that implements the functions of the information processing apparatus according to the embodiment. DESCRIPTION OF EMBODIMENTS
[0011] Hereinafter, modes for carrying out the information processing apparatus, information processing method, and information processing program according to the present application (hereinafter referred to as "embodiments") will be described in detail with reference to the drawings. Note that the information processing apparatus, information processing method, and information processing program according to the present application are not limited by these embodiments. In addition, each embodiment can be appropriately combined as long as the processing contents do not contradict each other. Furthermore, in the following embodiments, the same portions are denoted by the same reference numerals, and overlapping descriptions are omitted.
[0012] [1. First Embodiment] [1.1. Example of Information Processing] First, an example of information processing according to the first embodiment will be described with reference to FIG. 1. FIG. 1 is a diagram illustrating an example of information processing according to the first embodiment, which is executed by the information processing apparatus 1.
[0013] The information processing apparatus 1 illustrated in FIG. 1 incorporates an automatic tuning function into CI / CD (Continuous Integration / Continuous Delivery), and tunes parameter values of software used in the production environment 5 that is a target of automatic tuning. Hereinafter, software that is a target of automatic tuning may be referred to as automatically tuned target software.
[0014] Continuous integration automates the build and testing processes for software targeted for automated tuning. Continuous delivery automates the entire process, from testing to releasing the software to a state ready for deployment in the user environment.
[0015] As shown in Figure 1, the information processing device 1 receives an automatic tuning request transmitted from the user U's terminal device 2 (step S1). The automatic tuning request includes definition information related to automatic tuning.
[0016] The definition information includes, for example, automatic tuning risk assessment instruction information and automatic tuning correction instruction information. The automatic tuning risk assessment instruction information includes information on thresholds compared to performance values, and the automatic tuning correction instruction information includes information on correction values corresponding to the difference between test environment 4 and production environment 5.
[0017] The information processing device 1 performs tests on the software to be automatically tuned in the test environment 4 (step S2). The test environment 4 includes a test execution unit 50 of the information processing device 1 that executes the software to be automatically tuned, and a peripheral test environment 3 controlled by the software to be automatically tuned.
[0018] In step S2, the information processing device 1 builds the software to be automatically tuned and generates a binary file that can be executed on a physical or virtual machine. Then, the information processing device 1 executes the test in the test environment 4 according to the test scenario described in the test script. The process in step S2 includes processing within the test execution unit 50 (step S2-1) and control of the peripheral test environment 3 by the test execution unit 50 (step S2-2).
[0019] The test scenarios include, for example, execution commands that specify arguments in the binary file mentioned above, and execution commands that launch multiple instances of the aforementioned binary file to place a load on the software targeted for automatic tuning and the surrounding test environment 3.
[0020] The information processing device 1 acquires metric data from the test environment 4 while running tests on the software to be automatically tuned (step S3). The metric data from the test environment 4 includes, for example, CPU utilization, available memory, and I / O (Input / Output) statistics.
[0021] Next, the information processing device 1 performs an automatic tuning inference process (step S4) to infer tuning parameter values using the metrics data acquired in step S3 and the automatic tuning model. The tuning parameter values are examples of tuning values.
[0022] The tuning parameter values are the tuned parameter values inferred by automatic tuning, and include, for example, the tuning parameter values of the software being automatically tuned, and the tuning parameter values of the peripheral test environment 3 accessed by the software being automatically tuned.
[0023] In the automatic tuning inference process of step S3, the information processing device 1 inputs the metrics data acquired in step S3 into the automatic tuning model, and uses the parameter values output from the automatic tuning model as the inference results for the tuning parameter values.
[0024] Next, the information processing device 1 sets the tuning parameter values inferred in step S4 to the software to be automatically tuned and the peripheral test environment 3, and then re-executes the test of the software to be automatically tuned in the test environment 4 (step S5). The process in step S5 is similar to the process in step S2 and includes processing within the test execution unit 50 (step S5-1) and control of the peripheral test environment 3 by the test execution unit 50 (step S5-2).
[0025] The information processing device 1 acquires performance values such as throughput values and response time values of the test environment 4 during the re-execution of the test of the software to be automatically tuned (step S6). Then, based on the performance values acquired in step S6, the information processing device 1 evaluates the application risk, which is the risk of applying the application information, which is information based on tuning parameter values, to the production environment 5 (step S7).
[0026] For example, if the throughput value falls below the threshold mentioned above, the information processing device 1 determines that applying the automatic tuning parameters to the production environment 5 will achieve performance above the pre-specified level, and therefore there is no risk in applying them. On the other hand, if the throughput value is above the threshold mentioned above, the information processing device 1 determines that applying the automatic tuning parameters to the production environment 5 will result in performance below the pre-specified level.
[0027] Next, the information processing device 1 corrects the tuning parameter values inferred in step S4 based on correction values corresponding to the differences between the test environment 4 and the production environment 5 (for example, differences in machine specifications or data size) (step S8).
[0028] In step S8, if the definition information of the automatic tuning request received in step S1 includes the correction value information described above, the information processing device 1 corrects the tuning parameter value based on such correction value.
[0029] Furthermore, if the definition information for the automatic tuning request does not include the correction value information described above, the information processing device 1 calculates a correction value to correct the tuning parameter value based on the difference between the test environment 4 and the production environment 5 (for example, differences in machine specifications or data size). In this case, the information processing device 1 corrects the tuning parameter value using the calculated correction value.
[0030] Next, the information processing device 1 applies the information, including the tuning parameter values corrected in step S8, to the production environment 5 as applicable information (step S9). The application of the applicable information to the production environment 5 is performed by applying the tuning parameter values corrected in step S8 to the software targeted for automatic tuning and the peripheral test environment 3. In the following, these may be referred to as the tuning parameter correction values corrected by the correction values.
[0031] Applying tuning parameter correction values to software targeted for automatic tuning is done, for example, by including the tuning parameter correction values in the software's definition file or by including them in the software's arguments. The definition file and arguments are just examples of the application information.
[0032] In this way, the information processing device 1 executes tests on the software to be automatically tuned in the test environment 4, and during the execution of the tests in the test script, it uses an automatic tuning model that takes the metrics data of the test environment 4 as input data to infer the tuning parameter values, which are the tuned parameter values of the software to be automatically tuned in the test environment 4.
[0033] The information processing device 1 then evaluates the risk of applying the parameter values to the production environment 5, including the information based on the tuning parameter values. This allows the information processing device 1 to understand the risk before applying the information based on the tuning parameter values, which are the tuning values, to the production environment 5 as applicable information. As a result, the information processing device 1 can appropriately apply the applicable information, which is the information based on the tuning values output by the automatic tuning model, to the production environment 5.
[0034] Furthermore, the information processing device 1 corrects the tuning parameter values, which are tuning values, using correction values corresponding to the difference between the test environment 4 and the production environment 5. This allows the information processing device 1 to set appropriate tuning values for application to the production environment 5. As a result, the information processing device 1 can appropriately apply the information based on the tuning values output by the automatic tuning model to the production environment 5 as applicable information.
[0035] The configuration of the information processing system, including the information processing device 1 and terminal device 2 that perform such processing, will be described in detail below.
[0036] [1.2. Configuration of the Information Processing System] Figure 2 shows an example of the configuration of an information processing system according to the first embodiment. As shown in Figure 2, the information processing system 100 according to the first embodiment includes an information processing device 1, a terminal device 2, a peripheral test environment 3, a production environment 5, a source code management system 6, and a model management system 7.
[0037] Terminal device 2 is a client terminal used by user U, who requests automatic tuning of the production environment 5, including the software to be automatically tuned. Terminal device 2 may be, for example, a notebook PC (Personal Computer) or a desktop PC, but it may also be a smartphone or a tablet PC.
[0038] User U initiates the automatic tuning process on the information processing device 1 by sending an automatic tuning request containing definition information from terminal device 2 to information processing device 1 via network N.
[0039] The information processing device 1, terminal device 2, peripheral test environment 3, production environment 5, source code management system 6, and model management system 7 are connected to each other via network N, either by wired or wireless means, enabling communication between them. Note that the information processing system 100 shown in Figure 2 may include multiple instances of each of the information processing device 1, terminal device 2, peripheral test environment 3, production environment 5, source code management system 6, and model management system 7.
[0040] Network N includes, for example, WANs (Wide Area Networks) such as the Internet, and mobile communication networks such as LTE (Long Term Evolution), 4G (4th Generation), and 5G (5th Generation: 5th Generation Mobile Communication System).
[0041] Terminal device 2 can connect to network N via a mobile communication network or short-range wireless communication such as Bluetooth® or Wi-Fi (Local Area Network), and communicate with information processing device 1.
[0042] Peripheral test environment 3 consists of multiple peripheral test systems 91, 92, ..., 9 n This includes n, for example, an integer greater than or equal to 3. Below, peripheral test systems 91, 92, ..., 9 n When each of these is not shown individually, they may be referred to as peripheral test system 9. Peripheral test system 9 is, for example, a server device such as a database server or a mail server, but is not limited to such examples.
[0043] Production environment 5 includes production environment system 8. Production environment system 8 includes, for example, a main unit on which the OS running the software subject to automatic tuning is installed, and one or more peripheral devices. Peripheral devices are, for example, server devices such as database servers and mail servers, but are not limited to such examples.
[0044] The source code management system 6 holds and manages the source code of the software to be automatically tuned, as well as the source code of test scripts used to perform normal operation and load tests on the software to be automatically tuned.
[0045] The model management system 7 stores and manages information about the automated tuning model, which is a machine learning model used for automated tuning. The automated tuning model takes metric data as input and outputs inferred values for the parameters of the test environment 4.
[0046] The inferred parameter values for test environment 4 are, for example, the inferred parameter values for the software to be automatically tuned and the peripheral test system 9 of peripheral test environment 3. The automatic tuning model is, for example, a machine learning model such as a Gaussian process regression model or a neural network as described in the non-patent literature mentioned above, but is not limited to such examples.
[0047] [1.3. Configuration of Information Processing Device 1] Figure 3 shows an example of the configuration of the information processing device 1 according to the first embodiment. As shown in Figure 3, the information processing device 1 has a communication unit 10, a storage unit 11, and a processing unit 12.
[0048] [1.3.1. Communications Section 10] The communication unit 10 is implemented, for example, by a communication module or a NIC (Network Interface Card). The communication unit 10 is connected to the network N by wire or wireless connection and transmits and receives information with various other devices. For example, the communication unit 10 transmits and receives information with terminal devices 2, etc., via the network N.
[0049] [1.3.2. Storage section 11] The memory unit 11 is implemented by, for example, semiconductor memory elements such as RAM (Random Access Memory) and flash memory, or by storage devices such as hard disks and optical discs.
[0050] [1.3.3. Processing Unit 12] The processing unit 12 is a controller, and is realized by a processor such as a CPU (Central Processing Unit) or MPU (Micro Processing Unit) executing various programs (corresponding to an example of an information processing program) stored in the memory device inside the information processing device 1, using RAM or the like as a working area.
[0051] Furthermore, the processing unit 12 is a controller, and may be implemented by an integrated circuit such as an ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array), or GPGPU (General Purpose Graphic Processing Unit).
[0052] As shown in Figure 3, the processing unit 12 comprises an overall control unit 20 and an automatic tuning unit 21, and realizes or executes the information processing functions and operations described below. Note that the internal configuration of the processing unit 12 is not limited to the configuration shown in Figure 3, and other configurations are also acceptable as long as they perform the information processing described later.
[0053] [1.3.3.1. Overall Control Unit 20] The overall control unit 20 controls the entire information processing device 1. This overall control unit 20 includes a request receiving unit 30 that receives automatic tuning requests and a definition information extraction unit 31 that extracts definition information included in the automatic tuning requests received by the request receiving unit 30.
[0054] Figure 4 shows an example of definition information included in an automatic tuning request received by the request receiving unit 30 of the information processing device 1 according to the first embodiment. As shown in Figure 4, the definition information included in an automatic tuning request includes, for example, source code management system connection information, target software specification information, test script specification information, model management system connection information, peripheral test system connection information, production environment system connection information, automatic tuning risk assessment instruction information, and automatic tuning correction instruction information.
[0055] The source code management system connection information is information for connecting to the source code management system 6, and includes, for example, the IP (Internet Protocol) address, hostname, login username, and login password of the source code management system 6.
[0056] The target software specification information is information that specifies the software to be automatically tuned, and includes information such as the name and version number of the software to be automatically tuned.
[0057] Test script specification information specifies the test script to be used to test the software targeted for automatic tuning, and includes information such as the name and version number of the test script.
[0058] The model management system connection information is the information required to connect to the model management system 7, and includes, for example, the IP address, hostname, login username, and login password of the model management system 7.
[0059] The peripheral test system connection information is information for connecting to the peripheral test system 9, and includes, for example, the IP address, hostname, login username, and login password of the peripheral test system 9.
[0060] The production environment system connection information is the information needed to connect to production environment system 8, and includes, for example, the IP address, hostname, login username, and login password of production environment system 8.
[0061] The automatic tuning risk assessment instruction information includes information indicating risk assessment conditions, which are the conditions for confirming whether the results of automatic tuning will cause unintended performance degradation in the production environment 5. For example, the risk assessment instruction information includes threshold information indicating values such as throughput and response time that the software targeted for automatic tuning should achieve in the production environment 5.
[0062] The automatic tuning risk assessment instruction information shown in Figure 4 includes information indicating a risk assessment condition in which there is no risk if the throughput value (throughput_auto_tuning) during execution of the software to be automatically tuned using the tuning parameter values, which are parameter values inferred by automatic tuning, is equal to or greater than the threshold (throughput_default).
[0063] The automatic tuning correction instruction information includes correction values for tuning parameter values obtained through automatic tuning, and includes information on correction values corresponding to the difference between test environment 4 and production environment 5 (for example, differences such as machine specifications and data size).
[0064] The automatic tuning correction instruction information shown in Figure 5 includes information indicating a correction value of "2.0" for "parameter_01" and information indicating a correction value of "1.5" for "parameter_02". The correction value is a correction coefficient that is multiplied by the tuning parameter value obtained by automatic tuning, but is not limited to this example.
[0065] [1.3.3.2. Automatic Tuning Unit 21] The automatic tuning unit 21 performs automatic tuning processing on the production environment 5, which includes the software to be automatically tuned. The automatic tuning unit 21 comprises an automatic tuning preparation unit 40, an automatic tuning execution unit 41, a risk assessment unit 42, a correction unit 43, and a production application unit 44.
[0066] [1.3.3.2.1. Automatic Tuning Preparation Unit 40] The automatic tuning preparation unit 40 is the first processing module that the automatic tuning unit 21 executes when an automatic tuning request from user U is received by the request reception unit 30.
[0067] When an automatic tuning request from user U is received by the request reception unit 30, the automatic tuning preparation unit 40 analyzes the definition information included in the automatic tuning request that is necessary for the automatic tuning process.
[0068] The automatic tuning preparation unit 40 extracts various pieces of information, such as source code management system connection information, target software specification information, test script specification information, model management system connection information, peripheral test system connection information, production environment system connection information, automatic tuning risk assessment instruction information, and automatic tuning correction instruction information, from the definition information as analysis results of the definition information.
[0069] The automatic tuning preparation unit 40 acquires information necessary for automatic tuning and accesses necessary systems based on source code management system connection information, target software specification information, test script specification information, model management system connection information, peripheral test system connection information, production environment system connection information, etc., extracted from the definition information.
[0070] For example, the automatic tuning preparation unit 40 accesses the source code management system 6 based on the source code management system connection information and executes a download process to obtain code information, including the source code of the software to be automatically tuned as specified in the target software specification information, and the test scripts specified in the test script specification information, from the source code management system 6.
[0071] Furthermore, the automatic tuning preparation unit 40 accesses the model management system 7 based on the model management system connection information and performs a download process to obtain the automatic tuning model from the model management system 7.
[0072] The definition information may also include automatic tuning model specification information, which includes information specifying an automatic tuning model. In this case, the automatic tuning preparation unit 40 obtains the automatic tuning model specified in the automatic tuning model specification information from the model management system 7.
[0073] [1.3.3.2.2. Automatic Tuning Execution Unit 41] The automatic tuning execution unit 41 is a processing module that performs automatic tuning of the software to be automatically tuned using the code information, test scripts, and automatic tuning model information of the software to be automatically tuned acquired by the automatic tuning preparation unit 40.
[0074] The automatic tuning execution unit 41 uses the code information of the software to be automatically tuned, obtained by the automatic tuning preparation unit 40, and build commands included in the test script to perform a build of the software to be automatically tuned. This build generates a binary file that makes the software to be automatically tuned executable on a physical machine or virtual machine.
[0075] The automatic tuning execution unit 41 comprises a test execution unit 50, a metrics data acquisition unit 51, an automatic tuning inference unit 52, and a performance value acquisition unit 53. The test execution unit 50 uses the peripheral test system connection information extracted by the automatic tuning preparation unit 40 to log in to the peripheral test system 9 included in the test environment 4, and repeatedly executes tests in the test environment 4 according to the test scenario described in the test script. This iterative process is executed until all test scenarios have been completed.
[0076] The test scenarios include, for example, execution commands that specify arguments in the binary file mentioned above, and execution commands that launch the binary file mentioned above multiple times to place a load on the software targeted for automatic tuning and the peripheral test system 9. One or more of these execution commands are described in the test script, and the aforementioned repetitive process is executed until all the commands described in the test script have been executed.
[0077] The metrics data acquisition unit 51 acquires metrics data from the test execution unit 50 and each peripheral test system 9 included in the test environment 4 while the test execution unit 50 is executing tests using a test script. The metrics data from the test environment 4 includes, for example, CPU utilization, available memory, and I / O statistics.
[0078] When the test is completed by the automatic tuning execution unit 41, the automatic tuning inference unit 52 uses the metrics data acquired by the metrics data acquisition unit 51 and the automatic tuning model acquired by the automatic tuning preparation unit 40 to perform automatic tuning inference processing.
[0079] The automatic tuning inference process is a process that infers the tuning parameter values of the software to be automatically tuned, the tuning parameter values of the peripheral test system 9 that the software to be automatically tuned accesses, and so on. The tuning parameter values are the tuned parameter values inferred by the automatic tuning process.
[0080] The automatic tuning inference unit 52 inputs the metrics data acquired by the metrics data acquisition unit 51 into the automatic tuning model and infers the parameter values output from the automatic tuning model as tuning parameter values.
[0081] The test execution unit 50 sets the tuning parameter values inferred by the automatic tuning inference unit 52 to the software to be automatically tuned and the peripheral test system 9, and then executes the software to be automatically tuned in the test environment 4 using a test script.
[0082] The performance value acquisition unit 53 acquires performance values such as throughput values and response time values during the execution of the software targeted for automatic tuning by the test execution unit 50. For example, the performance value acquisition unit 53 acquires the throughput value of database processing from the peripheral test system 9, which performs database processing, as a performance value.
[0083] The automatic tuning execution unit 41 outputs an automatic tuning inference result that includes information including tuning parameter values inferred by the automatic tuning inference unit 52 and performance values obtained by the performance value acquisition unit 53.
[0084] Figure 5 shows an example of an automatic tuning inference result output from the automatic tuning execution unit 41 of the information processing device 1 according to the first embodiment. The automatic tuning inference result shown in Figure 5 includes "throughput_auto_tuning:tp1" and "response_time_auto_tuning:rp1" as information containing performance values acquired by the performance value acquisition unit 53.
[0085] "throughput_auto_tuning:tp1" indicates that "tp1" is the throughput value obtained when the software to be automatically tuned is executed after setting the tuning parameter values inferred by the automatic tuning inference unit 52 to the software to be automatically tuned or the peripheral test system 9. Although "tp1" is a numerical value, it is shown using letters and numbers for the sake of explanation.
[0086] "response_time_auto_tuning:rp1" indicates that "rp1" is the response time value obtained when the software to be automatically tuned is executed after setting the tuning parameter values inferred by the automatic tuning inference unit 52 to the software to be automatically tuned or the peripheral test system 9. Although "rp1" is a numerical value, it is shown using letters and numbers for the sake of explanation.
[0087] Furthermore, the automatic tuning inference results shown in Figure 5 include information such as "parameter_01:value_01", "parameter_02:value_02", etc., as information containing the tuning parameter values inferred by the automatic tuning inference unit 52.
[0088] "parameter_01:value_01" indicates that the parameter value for parameter "parameter_01" is "value_01," and "parameter_02:value_02" indicates that the parameter value for parameter "parameter_02" is "value_02." Although "value_01" and "value_02" are numerical values, they are shown as letters and numbers for the sake of explanation.
[0089] In the automatic tuning inference results shown in Figure 5, the information including tuning parameter values includes: information including tuning parameter values of the software to be automatically tuned, information including tuning parameter values of peripheral test system 91, information including tuning parameter values of peripheral test system 92, ..., peripheral test system 9 n This includes information such as tuning parameter values.
[0090] [1.3.3.2.3. Risk Assessment Section 42] The risk assessment unit 42 is a processing module that acquires the automatic tuning inference results output from the automatic tuning execution unit 41 and evaluates the application risk, which is the risk of applying the application information, which is information based on tuning parameter values, to the production environment 5, based on the performance values included in the acquired automatic tuning inference results.
[0091] The risk assessment unit 42 uses the risk assessment conditions indicated by the automatic tuning risk assessment instruction information included in the definition information extracted by the definition information extraction unit 31 to evaluate the risk of applying the application information, which is information based on tuning parameter values, to the production environment 5, based on the performance values included in the automatic tuning inference result.
[0092] For example, suppose the automatic tuning risk assessment instruction information is in the state shown in Figure 4. In the example shown in Figure 4, the risk assessment condition is that if the throughput value (throughput_auto_tuning) during execution of the software to be automatically tuned using the tuning parameter values inferred by automatic tuning is greater than or equal to the threshold (throughput_default), then there is no application risk related to the throughput value.
[0093] In this case, the risk assessment unit 42 compares the throughput value (throughput_auto_tuning) with the threshold (throughput_default). If the throughput value (throughput_auto_tuning) is greater than or equal to the threshold (throughput_default), the risk assessment unit 42 determines that there is no risk in applying the tuning parameter values to the production environment 5, as it is possible to achieve performance exceeding the pre-instructed level. Therefore, it sets the risk flag value, which indicates whether or not there is a risk of performance degradation due to automatic tuning, to OFF.
[0094] Furthermore, if the throughput value (throughput_auto_tuning) falls below the threshold (throughput_default), the risk assessment unit 42 determines that applying the tuning parameter values to the production environment 5 will result in performance below the pre-specified level, and sets the risk flag value to ON.
[0095] Furthermore, the risk assessment condition is that if the response time value (response_time_auto_tuning) during execution of the software to be automatically tuned using the tuning parameter values inferred by automatic tuning is less than the threshold (response_time_default), then there is no application risk related to the response time value.
[0096] In this case, the risk assessment unit 42 compares the response time value (response_time_auto_tuning) with the threshold (response_time_default). If the response time value (response_time_auto_tuning) is less than the threshold (response_time_default), the risk assessment unit 42 determines that there is no application risk because it is possible to achieve performance above the pre-instructed level even if the tuning parameter value is applied to the production environment 5, and sets the value of the risk flag, which indicates whether or not there is a risk of performance degradation due to automatic tuning, to OFF.
[0097] Furthermore, if the response time value (response_time_auto_tuning) is greater than or equal to the threshold (response_time_default), the risk assessment unit 42 determines that applying the tuning parameter value to the production environment 5 will result in performance below the pre-specified level, and sets the risk flag value to ON.
[0098] The risk assessment condition may also be that if the throughput value (throughput_auto_tuning) is equal to or greater than the threshold (throughput_default) and the response time value (response_time_auto_tuning) is less than the threshold (response_time_default), then there is no applicable risk related to the response time value.
[0099] In this case, the risk assessment unit 42 sets the risk flag value to OFF if the throughput value (throughput_auto_tuning) is equal to or greater than the threshold (throughput_default) and the response time value (response_time_auto_tuning) is less than the threshold (response_time_default).
[0100] Furthermore, the risk assessment unit 42 sets the risk flag value to ON if the throughput value (throughput_auto_tuning) is less than the threshold (throughput_default) or the response time value (response_time_auto_tuning) is greater than or equal to the threshold (response_time_default).
[0101] [1.3.3.2.4. Correction section 43] The correction unit 43 is a processing module that, when the risk assessment unit 42 determines that there are no applicable risks, corrects the tuning parameter values inferred by the automatic tuning inference unit 52 using a correction value corresponding to the difference between the test environment 4 and the production environment 5. The result of the risk assessment unit 42's determination of whether or not there are applicable risks is identified by whether or not the value of the risk flag is OFF.
[0102] The correction unit 43 corrects the tuning parameter values inferred by the automatic tuning inference unit 52 using the correction values indicated by the automatic tuning correction instruction information included in the definition information extracted by the definition information extraction unit 31.
[0103] Furthermore, if the definition information for the automatic tuning request does not include the correction value information described above, the correction unit 43 calculates a correction value to correct the tuning parameter value based on the difference between the test environment 4 and the production environment 5 (for example, differences in machine specifications or data size). In this case, the correction unit 43 corrects the tuning parameter value using the calculated correction value.
[0104] The correction unit 43 first determines whether the value of the risk flag is ON or OFF. If the value of the risk flag is OFF, the correction unit 43 executes the correction process, and if the value of the risk flag is ON, it does not execute the correction process.
[0105] The correction unit 43 acquires the automatic tuning inference results output from the automatic tuning execution unit 41 during the correction process. As described above, these automatic tuning inference results include information indicating the tuning parameter values inferred by the automatic tuning inference unit 52, and the correction unit 43 extracts the information indicating the tuning parameter values inferred by the automatic tuning inference unit 52 from the automatic tuning inference results.
[0106] Then, the correction unit 43 corrects the tuning parameter values inferred by the automatic tuning inference unit 52 using the correction values indicated by the automatic tuning correction instruction information included in the definition information extracted by the definition information extraction unit 31.
[0107] For example, if the correction unit 43 is a correction coefficient, it corrects the tuning parameter value by multiplying the tuning parameter value inferred by the automatic tuning inference unit 52 by the correction coefficient indicated by the automatic tuning correction instruction information.
[0108] For example, suppose the definition information included in the automatic tuning request is in the state shown in Figure 4, and the automatic tuning inference result is in the state shown in Figure 5. In this case, the correction unit 43 multiplies the tuning parameter value "value_01" for the parameter "parameter_01" by the correction coefficient "2.0" to obtain the value "value_01*2.0", which is used as the corrected tuning parameter value for the parameter "parameter_01".
[0109] Furthermore, the correction unit 43 multiplies the tuning parameter value "value_02" for the parameter "parameter_02" by a correction coefficient "1.5" to obtain the value "value_02*1.5", which is then used as the corrected tuning parameter value for the parameter "parameter_02".
[0110] The correction unit 43 outputs an automatic tuning inference correction result, which is information indicating the result of performing a correction process on the tuning parameter values inferred by the automatic tuning inference unit 52. The correction of tuning parameter values by the correction unit 43 is performed on the tuning parameter values corresponding to the parameters specified in the automatic tuning correction instruction information. Tuning parameter values that were not corrected by the correction unit 43 are included as they are in the automatic tuning inference correction result.
[0111] Figure 6 shows an example of an automatic tuning inference correction result output from the correction unit 43 of the information processing device 1 according to the first embodiment. The automatic tuning inference correction result shown in Figure 6 is an example where the definition information included in the automatic tuning request is in the state shown in Figure 6, and the automatic tuning inference result is in the state shown in Figure 7.
[0112] In the example shown in Figure 6, the tuning parameter value for parameter "parameter_02" is included as "value_01*2.0", and the tuning parameter value for parameter "parameter_02" is included as "value_02*1.5". Note that in the automatic tuning inference correction result shown in Figure 6, two tuning parameter values are corrected, but other tuning parameter values may also be corrected.
[0113] [1.3.3.2.5. Production Application Section 44] The production application unit 44 is a processing module that executes a production environment application process to apply the automatic tuning inference results to the production environment 5 when the risk assessment unit 42 determines that there is no application risk. The determination result of whether or not there is an application risk by the risk assessment unit 42 is determined by whether or not the value of the risk flag is OFF.
[0114] For example, the production application unit 44 executes the production environment application process by applying information including the tuning parameter values corrected by the correction unit 43 as application information, based on the tuning inference correction results output from the correction unit 43.
[0115] The application of the application information to the production environment 5 is performed, for example, by setting the tuning parameter values corrected by the correction unit 43 in the definition file of the software to be automatically tuned, and then applying the definition file containing the tuning parameter values corrected by the correction unit 43 to the production environment 5. The definition file in this case is an example of the application information.
[0116] In the production environment application process, the production application unit 44 first accesses the production environment system 8 based on the production environment system connection information contained in the definition information extracted by the definition information extraction unit 31.
[0117] The production application unit 44 then installs the binary file of the software to be automatically tuned, which was built by the automatic tuning execution unit 41 and obtained from the automatic tuning execution unit 41, into the production environment system 8.
[0118] If the risk assessment unit 42 determines that there is no application risk, the production application unit 44 executes a production environment application process to apply the application information based on the automatic tuning inference correction result to the production environment 5. The application of the application information to the production environment 5 is performed, for example, by writing the corrected parameter values in the definition file of the software to be automatically tuned, or by writing the corrected parameter values in the arguments of the software to be automatically tuned. The definition file and arguments in this case are examples of application information.
[0119] Furthermore, if the production environment system 8 includes a database system or mail system corresponding to the peripheral test system 9, the production application unit 44 accesses these database systems and mail systems. The production application unit 44 then applies the tuning parameter values included in the automatic tuning inference correction results to the database systems and mail systems. Such tuning parameter values are an example of application information.
[0120] The connection information for the database system and mail system in the production environment system 8 is included in the definition information included in the automatic tuning request, and the production application unit 44 accesses the database system and mail system based on the connection information included in the definition information. Note that the connection information for the database system and mail system may also be the information included in the production environment system connection information.
[0121] If the risk assessment unit 42 determines that there is an applicable risk, that is, if the risk flag value is ON, the production application unit 44 applies the default parameter values of the software to be automatically tuned to the production environment system 8 during the production environment application process.
[0122] [1.4. Processing Procedure] Next, the procedure for information processing by the processing unit 12 of the information processing device 1 according to the first embodiment will be described. Figure 7 is a flowchart showing an example of information processing by the processing unit 12 of the information processing device 1 according to the first embodiment.
[0123] As shown in Figure 7, the processing unit 12 of the information processing device 1 determines whether or not it has received an automatic tuning request from the terminal device 2 (step S10). If the processing unit 12 determines that it has received an automatic tuning request (step S10: Yes), it performs automatic tuning preparation processing (step S11). The processing in step S11 is the same as the processing in steps S20 to S25 shown in Figure 8, which will be described in detail later.
[0124] If the processing unit 12 completes the processing in step S11, it performs automatic tuning execution (step S12). The processing in step S12 is the same as the processing in steps S30 to S39 shown in Figure 9, which will be described in detail later.
[0125] If the processing unit 12 completes the processing in step S12, it performs a risk assessment process (step S13). The processing in step S13 is the same as the processing in steps S40 to S43 shown in Figure 10, which will be described in detail later.
[0126] If the processing unit 12 completes the processing in step S13, it performs an inference result correction process (step S14). The processing in step S14 is the same as the processing in steps S50 to S53 shown in Figure 11, which will be described in detail later.
[0127] If the processing unit 12 completes the processing in step S14, it performs the production environment application process (step S15). The processing in step S15 is the same as the processing in steps S60 to S64 shown in Figure 12, which will be described in detail later.
[0128] If the processing unit 12 has finished the processing in step S15, or if it has determined that it has not received an automatic tuning request (step S10: No), it determines whether or not it is time to terminate the operation (step S16). For example, if the information processing device 1 is powered off, or if the processing unit 12 determines that a termination operation has been performed by operating on an unillustrated control unit of the information processing device 1, it determines that it is time to terminate the operation.
[0129] If the processing unit 12 determines that it is not yet time to terminate the operation (step S16: No), it proceeds to step S10. If it determines that it is time to terminate the operation (step S16: Yes), it terminates the process shown in Figure 7.
[0130] Figure 8 is a flowchart showing an example of the automatic tuning preparation process performed by the processing unit 12 of the information processing device 1 according to the first embodiment. As shown in Figure 8, the processing unit 12 analyzes the definition information included in the automatic tuning request that is necessary for automatic tuning (step S20).
[0131] Next, the processing unit 12 accesses the source code management system 6 based on the source code management system connection information included in the definition information (step S21). Then, the processing unit 12 obtains the code information of the software to be automatically tuned, specified by the target software specification information included in the definition information, from the source code management system 6 (step S22). In addition, the processing unit 12 obtains the test script, specified by the test script specification information included in the definition information, from the source code management system 6 (step S23).
[0132] Furthermore, the processing unit 12 accesses the model management system 7 based on the model management system connection information included in the definition information (step S24). Then, the processing unit 12 obtains the automatically tuned model from the model management system 7 (step S25) and terminates the process shown in Figure 8.
[0133] Figure 9 is a flowchart showing an example of the automatic tuning execution process by the processing unit 12 of the information processing device 1 according to the first embodiment. As shown in Figure 9, the processing unit 12 executes the build of the software to be automatically tuned (step S30).
[0134] Next, the processing unit 12 determines whether there are any unexecuted tests among the multiple tests included in the test scenario described in the test script (step S31). If the processing unit 12 determines that there are unexecuted tests (step S31: Yes), it executes the unexecuted tests in the test environment 4 (step S32) and obtains metric data for the test environment 4 (step S33).
[0135] The processing unit 12 repeatedly executes the processes in steps S32 and S33 until it has finished executing all the commands described in the test script. Then, if the processing unit 12 determines that there are no unexecuted tests (step S31: No), it performs automatic tuning inference processing (step S34).
[0136] The automatic tuning inference process is a process that infers tuning parameter values for the software being automatically tuned, as well as tuning parameter values for the peripheral test system 9 accessed by the software being automatically tuned. The tuning parameter values are the tuned parameter values inferred by the automatic tuning process, and are examples of tuning values.
[0137] Next, the processing unit 12 sets the inferred tuning parameter values to the test environment 4 and starts re-executing the software to be automatically tuned according to the test script (step S35). Then, the processing unit 12 determines whether or not there are any unexecuted tests among the multiple tests included in the test scenario described in the test script (step S36).
[0138] If the processing unit 12 determines that there are any unexecuted tests (step S36: Yes), it executes the unexecuted tests in the test environment 4 (step S37) and obtains performance values for the test environment 4 (step S38). The performance values for the test environment 4 include the throughput value and response time value of the test environment 4 during the re-execution of the tests of the software to be automatically tuned. The processing unit 12 repeatedly executes steps S37 and S38 until all commands described in the test script have been executed.
[0139] If the processing unit 12 determines that there are no unperformed tests (step S36: No), it outputs information including the tuning parameter values inferred in step S34 and the performance values obtained in step S38 as the automatic tuning inference result (step S39), and terminates the process shown in Figure 9.
[0140] Figure 10 is a flowchart showing an example of risk assessment processing by the processing unit 12 of the information processing device 1 according to the first embodiment. As shown in Figure 10, the processing unit 12 acquires the automatic tuning inference results output in the automatic tuning execution process (step S40).
[0141] Next, the processing unit 12 determines whether the performance value satisfies the condition for no application risk (step S41). For example, if the performance value is the throughput value (throughput_auto_tuning), the condition for no application risk is that the throughput value (throughput_auto_tuning) is equal to or greater than the threshold (throughput_default).
[0142] Furthermore, if the performance value is the response time value (response_time_auto_tuning), the condition for no application risk is that the response time value (response_time_auto_tuning) is less than the threshold (response_time_default).
[0143] If the processing unit 12 determines that the performance value satisfies the condition of no applicable risk (step S41: Yes), it sets the value of the risk flag to OFF (step S42). If the processing unit 12 determines that the performance value does not satisfy the condition of no applicable risk (step S41: No), it sets the value of the risk flag to ON (step S43). When the processing unit 12 has finished the process in step S42 or the process in step S43, it terminates the process shown in Figure 10.
[0144] Figure 11 is a flowchart showing an example of the inference result correction process performed by the processing unit 12 of the information processing device 1 according to the first embodiment. As shown in Figure 11, the processing unit 12 determines whether the value of the risk flag is OFF or not (step S50).
[0145] If the processing unit 12 determines that the value of the risk flag is OFF (step S50: Yes), it obtains the automatic tuning inference result output by the automatic tuning execution process (step S51).
[0146] Next, the processing unit 12 corrects the tuning parameter values by multiplying the tuning parameter values included in the automatic tuning inference results by a correction coefficient (step S52). The correction coefficient is information included in the automatic tuning correction instruction information included in the definition information described above.
[0147] Next, the processing unit 12 outputs an automatic tuning inference correction result obtained by replacing the tuning parameter value inferred in step S34 with the tuning parameter value corrected in step S52 in the automatic tuning inference result (step S53).
[0148] When the processing in step S53 is completed, or when it is determined that the value of the risk flag is not OFF (step S50: No), the processing unit 12 terminates the process shown in Figure 11.
[0149] Figure 12 is a flowchart showing an example of the production environment application process performed by the processing unit 12 of the information processing device 1 according to the first embodiment. As shown in Figure 12, the processing unit 12 accesses the production environment system 8 based on the production environment system connection information included in the definition information (step S60).
[0150] Next, the processing unit 12 installs the software to be automatically tuned into the production environment system 8 (step S61). The processing unit 12 installs the software to be automatically tuned into the production environment system 8, for example, by installing the binary file of the software to be automatically tuned into the production environment system 8.
[0151] Next, the processing unit 12 determines whether the value of the risk flag is OFF or not (step S62). If the processing unit 12 determines that the value of the risk flag is OFF (step S62: Yes), it applies the application information, which is information based on the automatic tuning inference correction result, to the production environment 5 (step S63).
[0152] Applying the application information to the production environment 5 is done, for example, by including the corrected parameter values in the definition file of the software to be automatically tuned, or by including the corrected parameter values in the arguments of the software to be automatically tuned.
[0153] Furthermore, if the processing unit 12 determines that the risk flag value is not OFF (step S62: No), it applies the default parameter values to the production environment 5 (step S64). When the processing in step S63 or step S64 is completed, the processing unit 12 terminates the process shown in Figure 12.
[0154] [2. Second Embodiment] [2.1. Configuration of the Information Processing System] Figure 13 shows an example of the configuration of an information processing system according to the second embodiment. As shown in Figure 13, the information processing system 100A according to the second embodiment differs from the information processing system 1 in that it has an information processing system 1A and a production environment 5A instead of the information processing system 1 and the production environment 5.
[0155] Figure 14 shows an example of the configuration of the production environment 5A according to the second embodiment. As shown in Figure 14, the production environment 5A includes a production environment system 8A having a virtual machine 70 whose CPU core count, memory size, etc., are tuned by automatic tuning by the information processing device 1A. Note that the production environment system 8 of the production environment 5 according to the first embodiment may also have a configuration that includes a virtual machine.
[0156] Information processing system 100A differs from information processing system 100 according to the first embodiment in that the output of the automatic tuning model in information processing device 1A includes specifications such as the number of CPU cores and memory size of the virtual machine hosting the software to be automatically tuned, instead of parameter values for the software to be automatically tuned and the peripheral test system 9.
[0157] The information processing device 1A can reduce the effort required to select and tune the specifications of the virtual machine 70 in the production environment 5A by inferring the specifications of the virtual machine in the test environment 4 that meet the pre-specified performance requirements using an automated tuning model, and in addition, it can improve the efficiency of computing resource utilization in the virtual machine 70.
[0158] Information processing system 100A differs from information processing system 100 in that the definition information included in the automatic tuning request transmitted from terminal device 2 includes performance requirement specification information, and the information included in the automatic tuning risk assessment instruction information and the automatic tuning correction instruction information are different.
[0159] The performance requirement specification information includes information indicating the throughput values and response time values that the software to be automatically tuned should achieve in the production environment 5A. Such performance requirement specification information includes, for example, information indicating throughput values and response time values that user U provides as thresholds in advance.
[0160] The automatic tuning risk assessment instruction information includes information indicating risk assessment conditions for performance values similar to those in the information processing device 1 of the first embodiment (for example, the automatic tuning assessment instruction information shown in Figure 4), as well as information indicating risk assessment conditions, which are the conditions for confirming whether there is a risk in the virtual machine's specifications. For example, the risk assessment condition is a condition for confirming the risk that the number of CPU cores will be a large value and will consume a large amount of computing resources.
[0161] The automatic tuning correction instruction information includes information indicating a correction value corresponding to the difference between test environment 4 and production environment 5A. The correction value is a correction value that corrects the virtual machine specifications output by the automatic tuning model, which uses the metrics data of test environment 4, where the software to be automatically tuned is running, as input data in test environment 4.
[0162] The difference between test environment 4 and production environment 5A is, for example, the amount of data processed by the software targeted for automatic tuning and the corresponding number of calls. The automatic tuning correction instruction information includes, for example, information indicating a correction value corresponding to the difference between the amount of data processed and the corresponding number of calls by the software targeted for automatic tuning in test environment 4 and the amount of data processed and the number of calls by the software targeted for automatic tuning in production environment 5A.
[0163] For example, the correction value corresponding to the difference between test environment 4 and production environment 5A is a correction value that doubles the CPU resource value, which is one of the virtual machine specifications output by the automatic tuning model, when the number of software calls in production environment 5A is twice as many as in test environment 4.
[0164] [2.2. Configuration of Information Processing Device 1A] Figure 15 shows an example of the configuration of the information processing device 1A according to the second embodiment. The information processing device 1A shown in Figure 15 differs from the information processing device 1 in that it has a processing unit 12A instead of a processing unit 12. The processing unit 12A differs in that it has an automatic tuning unit 21A instead of an automatic tuning unit 21.
[0165] The automatic tuning unit 21A differs from the automatic tuning unit 21 in that it has an automatic tuning execution unit 41A, a risk assessment unit 42A, a correction unit 43A, and a production application unit 44A instead of the automatic tuning execution unit 41, a risk assessment unit 42, a correction unit 43, and a production application unit 44. The automatic tuning execution unit 41A also differs from the automatic tuning execution unit 41 in that it has an automatic tuning inference unit 52A instead of the automatic tuning inference unit 52.
[0166] When the test is completed by the automatic tuning execution unit 41, the automatic tuning inference unit 52A executes an automatic tuning inference process using the metrics data acquired by the metrics data acquisition unit 51 and the automatic tuning model acquired by the automatic tuning preparation unit 40. The automatic tuning inference process is a process that infers the number of CPU cores and memory size of the virtual machine running the software to be automatically tuned.
[0167] The automatic tuning model acquired by the automatic tuning preparation unit 40 is a machine learning model that takes the metrics data acquired by the metrics data acquisition unit 51 as input data and outputs the number of CPU cores (cpu_auto_tuning) and memory size (memory_auto_tuning) of the virtual machine in the test environment 4 as output data.
[0168] The automatic tuning model used in the automatic tuning inference unit 52A is a machine learning model such as a Gaussian process regression model or a neural network, similar to the automatic tuning model used in the automatic tuning inference unit 52, but is not limited to such examples.
[0169] The automatic tuning inference unit 52A inputs the metrics data acquired by the metrics data acquisition unit 51 into the automatic tuning model and infers the number of CPU cores (cpu_auto_tuning) and memory size (memory_auto_tuning) output from the automatic tuning model as the number of tuned CPU cores and the tuned memory size. In the following, information including the number of tuned CPU cores and the tuned memory size may be referred to as the tuning specification value. The tuning specification value is an example of a tuning value.
[0170] The test execution unit 50 creates a tuning virtual machine within the test execution unit 50, which is a virtual machine that matches the tuning specification values inferred by the automatic tuning inference unit 52A, and then executes the test using the tuning virtual machine. The performance value acquisition unit 53 then acquires performance values such as throughput values and response time values during the execution of the software targeted for automatic tuning by the test execution unit 50.
[0171] The automatic tuning execution unit 41A outputs an automatic tuning inference result that includes information including tuning specification values inferred by the automatic tuning inference unit 52A and performance values acquired by the performance value acquisition unit 53.
[0172] Figure 16 shows an example of an automatic tuning inference result output from the automatic tuning execution unit 41A of the information processing device 1A according to the second embodiment. The automatic tuning inference result shown in Figure 16 includes "throughput_auto_tuning:tp1" and "response_time_auto_tuning:rp1" as information containing performance values acquired by the performance value acquisition unit 53, similar to the automatic tuning inference result shown in Figure 16.
[0173] Furthermore, the automatic tuning inference results shown in Figure 16 include information such as "cpu_auto_tuning:2 cores" and "memory_auto_tuning:8GB" as tuning specification values inferred by the automatic tuning inference unit 52A (shown as virtual machine specifications in Figure 16).
[0174] "cpu_auto_tuning:2 cores" indicates that the virtual machine has 2 CPU cores, and "memory_auto_tuning:8GB" indicates that the virtual machine has 8GB (gigabytes) of memory.
[0175] The risk assessment unit 42A acquires the automatic tuning inference results output from the automatic tuning execution unit 41A. Then, based on the tuning specification values included in the automatic tuning inference results, the risk of applying the application information, which is information based on the tuning specification values included in the automatic tuning inference results, to the production environment 5A is evaluated by the risk of application.
[0176] The risk assessment unit 42A uses the risk assessment conditions indicated by the automatic tuning risk assessment instruction information included in the definition information extracted by the definition information extraction unit 31 to assess the risk of applying the application information, which is information based on tuning specification values, to the production environment 5A, based on the tuning specification values included in the automatic tuning inference result.
[0177] As mentioned above, the automatic tuning risk assessment instruction information includes information indicating the risk assessment conditions, which are the conditions for checking whether there are risks in the specifications of virtual machine 70.
[0178] For example, the risk assessment condition is a condition for checking the risk that the number of CPU cores will be large and consume a large amount of computing resources. For example, the condition is that if the number of CPU cores (cpu_auto_tuning) is below the threshold (cpu_threshold), there is no risk of application. The threshold (cpu_threshold) is the threshold beyond which a number of CPU cores will lead to a large consumption of computing resources.
[0179] In this case, the risk assessment unit 42A compares the number of CPU cores (cpu_auto_tuning) with the threshold (cpu_threshold). If the number of CPU cores (cpu_auto_tuning) is less than or equal to the threshold (cpu_threshold), it determines that there is no application risk because it is possible to achieve performance exceeding the pre-instructed level even if the spec parameter values are applied to the production environment 5A. Therefore, it sets the value of the risk flag, which indicates whether or not there is a risk of performance degradation due to automatic tuning, to OFF.
[0180] Furthermore, if the number of CPU cores (cpu_auto_tuning) exceeds the threshold (cpu_threshold), the risk assessment unit 42A determines that applying the tuning specifications to the production environment 5A would result in performance below the pre-specified level, and sets the risk flag value to ON.
[0181] Furthermore, the risk assessment conditions may also be conditions for confirming the risk that memory consumption will be large and that a large amount of computing resources will be consumed. For example, a condition that there is no risk of application if the memory size (memory_auto_tuning) is below a threshold (memory_threshold). The threshold (memory_threshold) is the threshold beyond which a memory size will lead to a large consumption of computing resources.
[0182] In this case, the risk assessment unit 42A compares the memory size (memory_auto_tuning) with the threshold (memory_threshold). If the memory size (memory_auto_tuning) is less than or equal to the threshold (memory_threshold), it determines that there is no application risk because it is possible to achieve performance exceeding the pre-instructed level even if the spec parameter values are applied to the production environment 5A. Therefore, it sets the value of the risk flag, which indicates whether or not there is a risk of performance degradation due to automatic tuning, to OFF.
[0183] Furthermore, if the memory size (memory_auto_tuning) exceeds the threshold (memory_threshold), the risk assessment unit 42A determines that applying the tuning specifications to the production environment 5A would result in performance below the pre-specified level, and sets the risk flag value to ON.
[0184] The risk assessment conditions may also be that the number of CPU cores (cpu_auto_tuning) is less than or equal to the threshold (cpu_threshold) and the memory size (memory_auto_tuning) is less than or equal to the threshold (memory_threshold).
[0185] In this case, the risk assessment unit 42A determines that if the number of CPU cores (cpu_auto_tuning) is below the threshold (cpu_threshold) and the memory size (memory_auto_tuning) is below the threshold (memory_threshold), then applying the spec parameter values to the production environment 5A will achieve performance exceeding that specified in advance, and therefore there is no risk of application. The unit then sets the value of the risk flag, which indicates whether or not there is a risk of performance degradation due to automatic tuning, to OFF.
[0186] Furthermore, if the number of CPU cores (cpu_auto_tuning) exceeds the threshold (cpu_threshold) or the memory size (memory_auto_tuning) exceeds the threshold (memory_threshold), the risk assessment unit 42A determines that applying the tuning specifications to the production environment 5A will result in performance below the pre-specified level, and sets the risk flag value to ON.
[0187] The correction unit 43A is a processing module that, when the risk assessment unit 42A determines that there is no applicable risk, corrects the tuning specification value inferred by the automatic tuning inference unit 52A using a correction value corresponding to the difference between the test environment 4 and the production environment 5A.
[0188] The correction unit 43A corrects the tuning specification value inferred by the automatic tuning inference unit 52A using the correction value indicated by the automatic tuning correction instruction information included in the definition information extracted by the definition information extraction unit 31.
[0189] The correction unit 43A first determines whether the value of the risk flag is ON or OFF. If the value of the risk flag is OFF, the correction unit 43A executes the correction process, and if the value of the risk flag is ON, it does not execute the correction process.
[0190] In the correction process, the correction unit 43A acquires the automatic tuning inference results output from the automatic tuning execution unit 41A. As described above, these automatic tuning inference results include information indicating the tuning specification values inferred by the automatic tuning inference unit 52A, and the correction unit 43A extracts the information indicating the tuning specification values inferred by the automatic tuning inference unit 52A from the automatic tuning inference results.
[0191] Then, the correction unit 43A corrects the tuning specification value inferred by the automatic tuning inference unit 52A using the correction value indicated by the automatic tuning correction instruction information included in the definition information extracted by the definition information extraction unit 31.
[0192] For example, the correction unit 43A corrects the tuning specification value by multiplying the tuning specification value inferred by the automatic tuning inference unit 52A by a correction coefficient using the correction value indicated by the automatic tuning correction instruction information.
[0193] Figure 17 shows an example of the correction content of the automatic tuning inference result by the correction unit 43A of the information processing device 1A according to the second embodiment. In the example shown in Figure 17, the automatic tuning correction instruction information included in the definition information of the automatic tuning request includes information indicating that the correction value of the number of CPU cores (cpu_auto_tuning) is "2.0" and information indicating that the correction value of the memory size (memory_auto_tuning) is "1.5".
[0194] Furthermore, the automatic tuning inference results shown in Figure 17 include information containing tuning specification values inferred by the automatic tuning inference unit 52A, such as "cpu_auto_tuning:2 cores" and "memory_auto_tuning:8GB".
[0195] In this case, the correction unit 43A multiplies the tuning specification value "2 coes" for the number of CPU cores (cpu_auto_tuning) by a correction coefficient "2.0" to obtain a value "4 cores", which is used as the corrected tuning specification value for the number of CPU cores (cpu_auto_tuning).
[0196] Furthermore, the correction unit 43A multiplies the tuning specification value "8GB" for the memory size (memory_auto_tuning) by a correction coefficient "1.5" to obtain a value of "12.0GB", which is used as the corrected tuning specification value for the memory size (memory_auto_tuning).
[0197] The correction unit 43A outputs an automatic tuning inference correction result that includes information indicating the result of performing a correction process on the tuning specification value inferred by the automatic tuning inference unit 52A.
[0198] In the example shown in Figure 17, the corrected tuning specification value for the number of CPU cores (cpu_auto_tuning) is included as "4 cores," and the corrected tuning specification value for the memory size (memory_auto_tuning) is included as "12.0GB." Thus, in the example shown in Figure 17, the correction unit 43A outputs an automatic tuning inference correction result that includes the specifications of a virtual machine hosting the software to be automatically tuned in the production environment system 8A, with the number of CPU cores set to 2 cores × 2.0 = 4 cores and the memory size set to 8GB × 1.5 = 12GB, as the corrected tuning specification value.
[0199] The production application unit 44A is a processing module that executes a production environment application process to apply the automatic tuning inference results to the production environment 5A when the risk assessment unit 42A determines that there is no application risk. The risk assessment unit 42A determines whether or not there is an application risk based on whether or not the value of the risk flag is OFF.
[0200] For example, if the risk flag value is OFF, the production application unit 44A executes the production environment application process by applying information including the tuning specification value corrected by the correction unit 43A as application information, based on the tuning inference correction result output from the correction unit 43A, to the production environment 5A.
[0201] The application of application information, which includes tuning specification values corrected by the correction unit 43A, to the production environment 5A is performed, for example, by creating a virtual machine 70 in the production environment system 8A that corresponds to the tuning specification values corrected by the correction unit 43A.
[0202] In the production environment application process, the production application unit 44A first accesses the production environment system 8A based on the production environment system connection information contained in the definition information extracted by the definition information extraction unit 31.
[0203] Then, the production application unit 44A creates a virtual machine 70 in the production environment system 8A that corresponds to the tuning specification values corrected by the correction unit 43A. For example, if the tuning inference correction result is as shown in Figure 17, the production application unit 44A creates a virtual machine 70 in the production environment system 8A with "4" CPU cores and a memory size of "12GB".
[0204] Next, the production application unit 44A installs the binary file of the software to be automatically tuned, which was built by the automatic tuning execution unit 41A and obtained from the automatic tuning execution unit 41A, into the virtual machine 70 of the production environment system 8A.
[0205] As a result, the information processing device 1A can automatically tune the specifications of the virtual machine 70 in a way that satisfies the performance values specified in the definition information of the automatic tuning request, while not consuming a large amount of computing resources in the production environment 5A.
[0206] [2.3. Processing Procedure] Next, the procedure for information processing by the processing unit 12A of the information processing device 1A according to the second embodiment will be described.
[0207] The information processing performed by the processing unit 12A of the information processing device 1A differs from the information processing performed by the processing unit 12 of the information processing device 1 in the following steps of the process shown in Figure 7: the automatic tuning execution process in step S12, the risk assessment process in step S13, the inference result correction process in step S14, and the production environment application process in step S15.
[0208] Figure 18 is a flowchart showing an example of the automatic tuning execution process by the processing unit 12A of the information processing device 1A according to the second embodiment. The processes in steps S70-S73 and S76-S79 shown in Figure 18 are the same as the processes in steps S30-S33 and S36-S39 shown in Figure 9, so their explanation is omitted.
[0209] In step S74, the processing unit 12A performs an automatic tuning inference process to infer tuning specification values for the virtual machine. Then, the processing unit 12A creates a virtual machine in the test environment 4 according to the tuning specification values inferred in step S74, and starts re-executing the software to be automatically tuned on the created virtual machine according to the test script (step S75).
[0210] Figure 19 is a flowchart showing an example of risk assessment processing by the processing unit 12A of the information processing device 1A according to the second embodiment. The processes in steps S80, S82, S83, and S84 shown in Figure 19 are the same as the processes in steps S40, S41, S42, and S43 shown in Figure 10, so their explanation is omitted.
[0211] In step S81, the processing unit 12A determines whether the tuning specification value satisfies the conditions for no application risk. The conditions for no application risk in the tuning specification value include at least one of the following: the number of CPU cores (cpu_auto_tuning) is less than or equal to the threshold (cpu_threshold), and the memory size (memory_auto_tuning) is less than or equal to the threshold (memory_threshold).
[0212] If the processing unit 12A determines that the tuning specification value satisfies the condition of no application risk (step S81: Yes), it proceeds to step S82. If it determines that the tuning specification value does not satisfy the condition of no application risk (step S81: No), it proceeds to step S83.
[0213] Figure 20 is a flowchart showing an example of the inference result correction process performed by the processing unit 12A of the information processing device 1A according to the second embodiment. The processes in steps S90, S91, and S93 shown in Figure 20 are the same as the processes in steps S50, S51, and S53 shown in Figure 11, so their explanation is omitted.
[0214] In step S92, the processing unit 12A corrects the tuning specification value by multiplying the tuning specification value included in the automatic tuning inference result by a correction coefficient. The correction coefficient is information included in the automatic tuning correction instruction information included in the definition information described above.
[0215] Figure 21 is a flowchart showing an example of the production environment application process performed by the processing unit 12A of the information processing device 1A according to the second embodiment. As shown in Figure 21, the processing unit 12A accesses the production environment system 8A based on the production environment system connection information included in the definition information (step S100).
[0216] Next, the processing unit 12A determines whether the value of the risk flag is OFF or not (step S101). If the processing unit 12A determines that the value of the risk flag is OFF (step S101: Yes), it obtains the automatic tuning inference correction result (step S102).
[0217] Then, based on the automatic tuning inference correction results, the processing unit 12A creates a virtual machine 70 with tuning specifications in the production environment system 8A (step S103). The virtual machine with tuning specifications is a virtual machine corresponding to the tuning specification values mentioned above. For example, if the tuning specification values are "cpu_auto_tuning: 4 cores" and "memory_auto_tuning: 12GB", then a virtual machine 70 with 4 CPU cores and 12GB of memory is created in the production environment system 8A.
[0218] Furthermore, if the processing unit 12A determines that the risk flag value is not OFF (step S101: No), it creates a virtual machine with default specifications in the production environment system 8A (step S104).
[0219] When the processing in step S103 or step S104 is completed, the processing unit 12A installs the software to be automatically tuned into the production environment system 8A (step S105) and terminates the processing shown in Figure 21. The processing unit 12A installs the software to be automatically tuned into the production environment system 8A, for example, by installing the binary file of the software to be automatically tuned into the production environment system 8A.
[0220] [3. Hardware Configuration] The information processing devices 1 and 1A according to the above-described embodiment are implemented by a computer 80 having a configuration such as that shown in Figure 22. Figure 22 is a hardware configuration diagram showing an example of a computer 80 that implements the functions of the information processing devices 1 and 1A according to the embodiment. The computer 80 has a CPU 81, RAM 82, ROM (Read Only Memory) 83, HDD (Hard Disk Drive) 84, communication interface (I / F) 85, input / output interface (I / F) 86, and media interface (I / F) 87.
[0221] The CPU 81 operates based on programs stored in the ROM 83 or HDD 84, and controls various parts of the system. The ROM 83 stores boot programs executed by the CPU 81 when the computer 80 starts up, as well as programs that depend on the computer 80's hardware.
[0222] HDD84 stores programs executed by CPU81 and data used by such programs. The communication interface85 receives data from other devices via network N (see Figure 2) and sends it to CPU81, and transmits the data generated by CPU81 to other devices via network N.
[0223] The CPU 81 controls output devices such as displays and printers, and input devices such as keyboards and mice, via the input / output interface 86. The CPU 81 acquires data from input devices via the input / output interface 86. The CPU 81 also outputs data it has generated to output devices via the input / output interface 86.
[0224] The media interface 87 reads a program or data stored in the recording medium 88 and provides it to the CPU 81 via the RAM 82. The CPU 81 loads the program from the recording medium 88 onto the RAM 82 via the media interface 87 and executes the loaded program. The recording medium 88 can be, for example, an optical recording medium such as a DVD (Digital Versatile Disc) or PD (Phase Change Rewritable Disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.
[0225] For example, when the computer 80 functions as an information processing device 1,1A according to the embodiment, the CPU 81 of the computer 80 realizes the functions of the processing units 12,12A by executing programs loaded on the RAM 82. The HDD 84 stores data from the storage unit 11. The CPU 81 of the computer 80 reads and executes these programs from the recording medium 88, but as another example, these programs may be obtained from other devices via the network N.
[0226] [4. Other] Furthermore, among the processes described in the above embodiments, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically by known methods. In addition, the processing procedures, specific names, and various data and parameters shown in the above document and drawings can be changed at will unless otherwise specified. For example, the various information shown in each figure is not limited to the information shown.
[0227] Furthermore, the components of each illustrated device are functionally conceptual and do not necessarily need to be physically configured as shown. In other words, the specific forms of distribution and integration of each device are not limited to those shown, and all or part of them can be functionally or physically distributed and integrated in any unit according to various loads and usage conditions.
[0228] For example, the information processing devices 1 and 1A described above may be implemented using multiple server computers, and the configuration can be flexibly changed, such as by calling external platforms via APIs or network computing depending on the function.
[0229] Furthermore, the embodiments and modifications described above can be combined as appropriate, provided that the processing content is not inconsistent.
[0230] [5. Effects] As described above, the information processing devices 1 and 1A according to the embodiment include a test execution unit 50, automatic tuning inference units 52 and 52A, and risk evaluation units 42 and 42A. The test execution unit 50 executes the software to be tuned in the test environment 4. The automatic tuning inference units 52 and 52A infer the tuning values of the software in the test environment 4 using an automatic tuning model that takes the metrics data of the test environment 4 as input data while the test execution unit 50 is executing the software in the test environment 4. The risk evaluation units 42 and 42A evaluate the application risk, which is the risk when the application information, which is information based on the tuning values inferred by the automatic tuning inference unit 52, is applied to the production environment 5 and 5A. As a result, the information processing devices 1 and 1A can grasp the risk before applying the information based on the tuning values as application information to the production environment 5 and 5A. Therefore, the information processing devices 1 and 1A can appropriately apply the application information, which is the tuning result using the automatic tuning model, to the production environment 5 and 5A.
[0231] Furthermore, the automatic tuning inference unit 52 infers the parameter values in the software test environment 4 as tuning values. This allows the information processing device 1 to understand the risks before applying the application information, which is information based on tuning parameter values, to the production environment 5. Therefore, the information processing device 1 can appropriately apply the application information, which is the tuning result using the automatic tuning model, to the production environment 5.
[0232] Furthermore, the test execution unit 50 executes the software in the test environment 4 using the parameter values inferred by the automatic tuning inference unit 52, and the risk evaluation unit 42 evaluates the application risk based on the performance values of the software in the test environment 4 executed based on the parameter values inferred by the automatic tuning inference unit 52. As a result, for example, the information processing device 1 can determine that there is no application risk if it can achieve performance above a predetermined level.
[0233] Furthermore, the performance value includes at least one of the throughput value and the response time value. This allows the information processing device 1 to determine, for example, that there is no risk of application if at least one of the throughput value and the response time value can achieve performance equal to or greater than that specified in advance.
[0234] Furthermore, the automatic tuning inference unit 52A infers the specification values of the virtual machine in the software test environment 4 as tuning values. This allows the information processing device 1A to understand the risks before applying the parameter values based on the tuning specification values to the production environment 5A. As a result, the information processing device 1A can appropriately apply the application information, which is the tuning result using the automatic tuning model, to the production environment 5A.
[0235] Furthermore, the specification values include at least one of the following: the number of CPU cores and the memory size. This allows, for example, information processing device 1A to be determined to have no application risk if at least one of the number of CPU cores and the memory size does not lead to excessive consumption of computing resources.
[0236] Furthermore, the test execution unit 50 executes the software in the test environment 4 using the specification values inferred by the automatic tuning inference unit 52A, and the risk evaluation unit 42A evaluates the application risk based on the comparison result between the specification values inferred by the automatic tuning inference unit 52A and a predetermined threshold. As a result, for example, the information processing device 1A can determine that there is no application risk if at least one of the number of CPU cores and the memory size does not lead to excessive consumption of computing resources.
[0237] Furthermore, the information processing devices 1 and 1A include correction units 43 and 43A that correct the tuning values inferred by the automatic tuning inference units 52 and 52A based on correction values corresponding to the difference between the test environment 4 and the production environments 5 and 5A. This allows the information processing devices 1 and 1A to make the tuning values inferred by the automatic tuning inference units 52 and 52A appropriately applicable to the production environments 5 and 5A.
[0238] Furthermore, the information processing devices 1,1A include a production application unit 44 that applies information based on the correction results from the correction unit 43 to the production environments 5,5A as applicable information. As a result, the information processing devices 1,1A can apply appropriate applicable information to the production environments 5,5A even when there is a difference between the test environment 4 and the production environment 5.
[0239] Furthermore, the production application units 44 and 44A set tuning values in the software definition file and apply the definition file with the tuning values set as application information to the production environments 5 and 5A. As a result, the information processing devices 1 and 1A can apply the appropriate application information to the production environment 5.
[0240] Although embodiments of the present application have been described in detail based on the drawings, these are illustrative examples, and the present invention can be implemented in various other forms, including those described in the disclosure section of the invention, based on the knowledge of those skilled in the art.
[0241] Furthermore, the terms "section, module, unit" mentioned above can be replaced with "means" or "circuit," etc. For example, the acquisition unit can be replaced with acquisition means or acquisition circuit. [Explanation of Symbols]
[0242] 1,1A Information Processing Device 2 Terminal devices 3. Peripheral Test Environment 4. Test Environment 5.5A Production Environment 6. Source Code Management Systems 7 Model Management Systems 8,8A Production Environment System 9,91,92,···,9 n Peripheral Test System 10 Communications Department 11 Storage section 12,12A Processing Unit 20 Overall Control Unit 21,21A Automatic Tuning Section 30 Request Reception Department 31 Definition information extraction part 40 Automatic Tuning Preparation Section 41,41A Automatic Tuning Execution Unit 42,42A Risk Assessment Department 43,43A Correction section 44,44A Production Application Section 50 Test Execution Unit 51 Metrics Data Acquisition Unit 52,52A Automatic Tuning Inference Unit 53 Performance Value Acquisition Unit 70 virtual machines 100,100A Information Processing System N Network
Claims
1. A test execution unit that runs the software to be tuned in a test environment, An automatic tuning inference unit that, while the software is being executed in the test environment by the test execution unit, uses an automatic tuning model that takes the metric data of the test environment as input data to infer the tuning values of the software in the test environment, The system includes a risk assessment unit that evaluates the application risk, which is the risk when the application information, which is information based on the tuning values inferred by the automatic tuning inference unit, is applied to the production environment. An information processing device characterized by the following:
2. The automatic tuning inference unit is The parameter values of the software in the test environment are inferred as the tuning values. The information processing apparatus according to feature 1.
3. The aforementioned test execution unit, The software is executed in the test environment using the parameter values inferred by the automatic tuning inference unit. The aforementioned risk assessment unit, The application risk is evaluated based on the performance values of the software in the test environment, which are executed based on the parameter values inferred by the automatic tuning inference unit. The information processing apparatus according to feature 2.
4. The aforementioned performance values are, Includes at least one of the throughput value and response time value The information processing apparatus according to claim 3.
5. The automatic tuning inference unit is The specifications of the virtual machine in the test environment of the software are inferred as the tuning values. The information processing apparatus according to feature 1.
6. The aforementioned specification values are, Includes at least one of the following: number of CPU cores and memory size The information processing apparatus according to feature 5.
7. The aforementioned test execution unit, The software is executed in the test environment using the specification values inferred by the automatic tuning inference unit. The aforementioned risk assessment unit, The application risk is evaluated based on the comparison result between the specification value inferred by the automatic tuning inference unit and a predetermined threshold. The information processing apparatus according to feature 5.
8. The system includes a correction unit that corrects the tuning value inferred by the automatic tuning inference unit based on a correction value corresponding to the difference between the test environment and the production environment. The information processing apparatus according to any one of claims 1 to 7.
9. The system includes a production application unit that applies information based on the correction results from the correction unit as application information to the production environment. The information processing apparatus according to feature 8.
10. The aforementioned production application unit is, The tuning value is set in the software's definition file, and the definition file containing the tuning value is applied to the production environment as application information. The information processing apparatus according to feature 9.
11. A method of information processing performed by a computer, The test execution process involves running the software to be tuned in a test environment, and An automatic tuning inference step is performed during the execution of the software in the test environment by the test execution step, using an automatic tuning model that takes the metric data of the test environment as input data to infer the tuning value of the software in the test environment. The process includes a risk assessment step that evaluates the application risk, which is the risk when the application information, which is information based on the tuning values inferred by the automatic tuning inference step, is applied to the production environment. An information processing method characterized by the following:
12. The test execution procedure involves running the software to be tuned in a test environment, and An automatic tuning inference procedure which, during the execution of the software in the test environment according to the test execution procedure, uses an automatic tuning model that takes the metric data of the test environment as input data to infer the tuning value of the software in the test environment, The computer is instructed to perform a risk assessment procedure, which evaluates the application risk, which is the risk when the application information, which is information based on the tuning values inferred by the automatic tuning inference procedure, is applied to the production environment. An information processing program characterized by the following features.
Citation Information
Patent Citations
Information processing apparatus
JP2010271863A
Setting device, setting system, setting method and setting program
JP2012043295A
System parameter settings assist system, data processing method for system parameter settings assist device, and program
WO2013018376A1