JP5906844B2 - Computer parameter tuning program, method, and apparatus - Google Patents

Computer parameter tuning program, method, and apparatus Download PDF

Info

Publication number
JP5906844B2
JP5906844B2 JP2012058012A JP2012058012A JP5906844B2 JP 5906844 B2 JP5906844 B2 JP 5906844B2 JP 2012058012 A JP2012058012 A JP 2012058012A JP 2012058012 A JP2012058012 A JP 2012058012A JP 5906844 B2 JP5906844 B2 JP 5906844B2
Authority
JP
Japan
Prior art keywords
behavior
value
parameter
target machine
machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012058012A
Other languages
Japanese (ja)
Other versions
JP2013191108A (en
Inventor
謙吾 桑原
謙吾 桑原
智彦 田代
智彦 田代
正則 岩崎
正則 岩崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012058012A priority Critical patent/JP5906844B2/en
Publication of JP2013191108A publication Critical patent/JP2013191108A/en
Application granted granted Critical
Publication of JP5906844B2 publication Critical patent/JP5906844B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンピュータパラメータのチューニングのためのプログラム、方法、及び装置に関する。   The present invention relates to a program, method, and apparatus for tuning computer parameters.

アプリケーションプログラムを実行するコンピュータを使用して業務環境を最適化するためには、コンピュータの性能が十分に引き出せるように、コンピュータ内部のパラメータが適切に設定されていることが必要となる。   In order to optimize a business environment using a computer that executes an application program, it is necessary that parameters in the computer are appropriately set so that the performance of the computer can be sufficiently extracted.

コンピュータの性能を動的に分析する手法として、動的プログラム解析が知られている。動的プログラム解析では、アプリケーションプログラムの実行を通じて、コンピュータ(例えば、種々の関数に対するCPUの実行時間)に係る情報を収集する。この収集された情報を解析し、コンピュータの設定パラメータの調整(特にCPUに係るパラメータチューニング)を行い、アプリケーションプログラムに対してコンピュータの性能を最大限に引き出せるようにする。   Dynamic program analysis is known as a technique for dynamically analyzing computer performance. In the dynamic program analysis, information related to a computer (for example, CPU execution time for various functions) is collected through execution of an application program. The collected information is analyzed, and the setting parameters of the computer are adjusted (particularly, parameter tuning related to the CPU) so that the performance of the computer can be maximized for the application program.

コンピュータの実行情報を収集するツールとして、CPUプロファイラ(Profiler)が用いられる。CPUプロファイラとは、性能解析ツールの1つであり、アプリケーションプログラムの実行時の各種情報(各関数の実行時間等)を収集するものである。このプロファイラを利用することによって、各種関数の呼出しの頻度や、それらに係るCPUの実行時間等のコンピュータの実行情報を統計的に取得することができる。コンピュータの実行情報を解析することにより、コンピュータに含まれるCPU等の実行にかかる各種のパラメータのチューニングをどのように行えばよいかが分かる。このパラメータチューニングにより、各パラメータが最適化されれば、アプリケーションプログラムを実行するコンピュータの能力をより有効に活用することができる。本明細書では、コンピュータの実行情報を統計的に収集することをプロファイリングと呼ぶ。また、プロファイリングにより取得された情報をプロファイリングデータと呼ぶ。   A CPU profiler is used as a tool for collecting computer execution information. The CPU profiler is one of performance analysis tools, and collects various information (execution time of each function, etc.) at the time of executing an application program. By using this profiler, it is possible to statistically acquire computer execution information such as the frequency of calling various functions and the CPU execution time related to them. By analyzing the execution information of the computer, it is understood how to tune various parameters related to the execution of the CPU included in the computer. If each parameter is optimized by this parameter tuning, the computer's ability to execute the application program can be utilized more effectively. In this specification, statistically collecting computer execution information is called profiling. Information acquired by profiling is called profiling data.

なお、アプリケーションプログラムの動作環境は、動的に変化する。このため、この変化に対応して、各種パラメータ値の適切な値も変化することが知られている。したがって、例えば、アプリケーションプログラムの稼働中に、コンピュータのレスポンスが遅延するような状況(トラブル)が発生した場合には、この状況に対応してパラメータの再チューニング作業が必要となる場合がある。このパラメータの再チューニングにより、コンピュータのレスポンス遅延等を解消できる場合が多い。   Note that the operating environment of the application program changes dynamically. For this reason, it is known that appropriate values of various parameter values also change corresponding to this change. Therefore, for example, when a situation (trouble) in which the response of the computer is delayed occurs during operation of the application program, parameter retuning work may be required in response to this situation. In many cases, retuning of this parameter can eliminate the response delay of the computer.

この場合、レスポンス遅延等のトラブルが発生しているコンピュータ(ターゲットマシン)は、実際に業務運用に利用されている場合がほとんどである。したがって、現在利用中のターゲットマシンにおいて自由にパラメータを動かして試行錯誤を繰り返して、最適なパラメータを見つけることは現実的では無い。なぜなら、業務運用に対して思わぬトラブルを併発する可能性があるからである。したがって、業務運用に利用されているターゲットマシンのパラメータのチューニングを行うには、例えば、ターゲットマシンのコンピュータの環境を持つテストマシンを用いることが必要となる場合が多い。この場合、例えば、以下の手順が必要である。
(1)まず、アプリケーションプログラムを実行している稼働中のコンピュータ(ターゲットマシン)のプロファイリングを実施する。このプロファイリングの実施によって、その時点のパラメータにおけるプロファイリングデータが取得される。
(2)このプロファイリングデータを解析する。
(3)併せてターゲットマシンの環境の情報(パラメータ値、利用DB環境等)を取得する。
(4)テストマシンにおいて、ターゲットマシンの環境を構築する。
(5)テストマシンの環境において、パラメータ値を変更し、適切なパラメータの値を試行錯誤によって決定する。
(6)ターゲットマシンに、上記(5)で得られた適切なパラメータ値を設定する。
(7)ターゲットマシンで、トラブルが改善されたかを確認する。
In this case, the computer (target machine) in which a problem such as a response delay has occurred is mostly used for business operations. Therefore, it is not realistic to find the optimum parameter by moving the parameter freely on the target machine currently in use and repeating trial and error. This is because there is a possibility that unexpected troubles may occur simultaneously with business operations. Therefore, in order to tune parameters of a target machine used for business operations, for example, it is often necessary to use a test machine having a computer environment of the target machine. In this case, for example, the following procedure is necessary.
(1) First, profiling of a running computer (target machine) executing an application program is performed. By performing this profiling, profiling data for the parameters at that time is acquired.
(2) Analyze this profiling data.
(3) Acquire target environment information (parameter value, usage DB environment, etc.).
(4) Build the environment of the target machine in the test machine.
(5) The parameter value is changed in the environment of the test machine, and an appropriate parameter value is determined by trial and error.
(6) The appropriate parameter value obtained in (5) above is set in the target machine.
(7) Check if the trouble has been improved on the target machine.

上記(3)においては、アプリケーションプログラムやオペレーティングシステムの関数レベルの分析を行う必要がある。この解析は、高度の知識が要求される。すなわち、関数の特性(関数の役割や、関数がシステムに及ぼす影響度等)を理解する必要があり、トラブルの要因を認識することは非常に難しい。   In the above (3), it is necessary to analyze the function level of the application program and operating system. This analysis requires a high level of knowledge. That is, it is necessary to understand the characteristics of the function (the role of the function, the degree of influence of the function on the system, etc.), and it is very difficult to recognize the cause of the trouble.

また、ターゲットマシンを利用する主体は、パラメータのチューニングを実施する主体(例えばシステムベンダ)とは異なる顧客である場合が多い。このため、上記(4)において、顧客のセキュリティ等を考慮すると、顧客の使用しているターゲットマシンの環境の情報をシステムベンダが取得することが事実上困難な場合(あるいは限定される場合)が多い。加えて、環境に関する情報がある程度入手できても、その環境を構築することが事実上困難である場合も多い(全く同一のマシン環境をテストマシンに構築することは非常に困難である)。また、レスポンス遅延等のトラブルの再現を行うことも難しい場合が多い。   In many cases, the main body that uses the target machine is a different customer from the main body that performs parameter tuning (for example, a system vendor). For this reason, in (4) above, considering the security of the customer, it may be difficult (or limited) for the system vendor to obtain information on the environment of the target machine used by the customer. Many. In addition, even if some information about the environment is available, it is often difficult to construct the environment (it is very difficult to construct an exactly identical machine environment on a test machine). Also, it is often difficult to reproduce troubles such as response delays.

加えて、パラメータをどのように設定すれば、トラブルの解消や、改善がなされるのかを見つけることも、試行錯誤を繰り返す等の時間を要するため非常に難しい。   In addition, it is very difficult to find out how the parameters are set so that trouble can be solved or improved, because it takes time to repeat trial and error.

なお、以下の説明において、実際に利用されているパラメータチューニングの対象のコンピュータを「ターゲットマシン」と呼び、ターゲットマシンの環境を備えたコンピュータを「テストマシン」と呼ぶ。   In the following description, a computer that is actually used for parameter tuning is referred to as a “target machine”, and a computer that includes the environment of the target machine is referred to as a “test machine”.

なお、コンピュータに係るパラメータには種々のものが存在する。その一例として、sched_migration_costというパラメータがある。このパラメータは、マルチCPU又はマルチコアを前提としたパラメータである。タスクがスリープ状態からウェイクアップするとき、タスクスケジューラは、そのタスクの前回実行時に使用された同じCPU又はコアでタスクをウェイクアップさせようとする。その理由は、同じCPU又はコアであれば、CPUの使用しているキャッシュに、そのタスクが前回実行時に使用していたデータが残っている確率が高いからである。このようにタスクが前回使用したCPUで再度ウェイクアップできる状態を「キャッシュホット」と呼ぶ。パラメータsched_migration_costは、ウェイクアップしようとするタスクが「キャッシュホット」になるのを待つことができる時間の最大値(最長時間)を設定するパラメータである。パラメータsched_migration_costの値が大きければ大きいほど、タスクのCPU間移動によるキャッシュミスを抑えることができ、キャッシュヒット率が向上し、スループット性能の向上が期待できる。ただし、キャッシュホット判定の待ち時間が増加するため、レスポンスは低下する。逆に、sched_migration_costの値が小さければ小さいほど、タスクは積極的にアイドルCPUに移動するようになるため、レスポンスの向上が見込まれる。ただし、この場合キャッシュミスが多くなるためスループットは低下する。   There are various parameters relating to the computer. One example is a parameter called sched_migration_cost. This parameter is a parameter on the premise of multi-CPU or multi-core. When a task wakes up from a sleep state, the task scheduler attempts to wake up the task with the same CPU or core that was used during the previous execution of the task. This is because if the same CPU or core is used, there is a high probability that the data used by the task at the previous execution remains in the cache used by the CPU. A state in which the task can be woken up again by the CPU used last time is called “cache hot”. The parameter sched_migration_cost is a parameter for setting a maximum value (the longest time) that can be waited for a task to be waked up to become “cache hot”. As the value of the parameter sched_migration_cost is larger, cache misses due to migration of tasks between CPUs can be suppressed, the cache hit rate can be improved, and improvement in throughput performance can be expected. However, since the waiting time for the cache hot determination increases, the response decreases. Conversely, the smaller the value of sched_migration_cost, the more actively the task moves to the idle CPU, and therefore an improvement in response is expected. In this case, however, the number of cache misses increases, resulting in a decrease in throughput.

このsched_migration_costは、アプリケーションソフトウエアが動作しているターゲットマシンの実行待ちタスクの数や、その他の動作環境に応じて、適切な値に設定することが必要である。このため、環境変化に応じて、このようなパラメータ値を簡便に設定できる技術の確立が望まれている。また、アプリケーションプログラムなどに、パラメータ調整用のための命令を埋め込む等の煩雑な作業を必要としないパラメータ調整技術が望まれている。   This sched_migration_cost needs to be set to an appropriate value according to the number of tasks waiting for execution on the target machine on which the application software is operating and other operating environments. For this reason, establishment of the technique which can set such a parameter value simply according to environmental change is desired. In addition, a parameter adjustment technique that does not require complicated work such as embedding a command for parameter adjustment in an application program or the like is desired.

従来、アプリケーションとそのアプリケーションモデルを作成する技術が知られている。すなわち、アプリケーションモデル調整用のログ出力命令が埋め込まれたプログラムソースと、それに対応する性能シミュレーション用のソース、アプリケーションモデル調整用のパラメータ初期値があらかじめ含まれ、調整後のパラメータ値の履歴を蓄積できるようにしたソフトウェア部品を組み合わせて、アプリケーションおよびアプリケーションモデルを作成し、それらを実行することで得られるログを比較してアプリケーションの実測結果にあわせてアプリケーションモデルのパラメータを自動的に調整し、調整結果をアプリケーションモデルに反映させ、元となったソフトウェア部品の履歴に加え、必要があればパラメータ初期値を変更する技術が知られている(特許文献1)。   Conventionally, a technique for creating an application and its application model is known. That is, a program source in which a log output command for application model adjustment is embedded, a corresponding performance simulation source, and an initial parameter value for application model adjustment are included in advance, and a history of parameter values after adjustment can be accumulated. By combining these software components, creating an application and application model, comparing the logs obtained by executing them, automatically adjusting the parameters of the application model according to the actual measurement result of the application, and the adjustment result Is reflected in the application model, and in addition to the history of the original software component, there is known a technique for changing the parameter initial value if necessary (Patent Document 1).

また、コンピュータ・システムのプログラム動作履歴に基づいて性能評価により高く寄与する関数を自動的に選択する技術が知られている。すなわち、動作履歴を受け付け、受け付けた動作履歴に含まれる関数の呼び出し関係を用いて関数を木構造のノードに割り当て、実行時間又はメモリ使用量を定量的情報として扱い、関数に付随する定量的情報の合計が全体に付随する定量的情報と所定の比率との積を超える条件で関数を抽出する技術が知られている(特許文献2)。   There is also known a technique for automatically selecting a function that contributes more to performance evaluation based on a program operation history of a computer system. In other words, it accepts the operation history, assigns the function to the tree-structured node using the function call relationship included in the accepted operation history, treats the execution time or memory usage as quantitative information, and quantitative information associated with the function A technique is known in which a function is extracted under a condition in which the sum of the numbers exceeds the product of quantitative information associated with the whole and a predetermined ratio (Patent Document 2).

特開2002−215423号公報JP 2002-215423 A 特開2010−198133号公報JP 2010-198133 A

1つの側面では、本発明は、コンピュータパラメータのチューニングを簡便に行うことができるようにすることを目的とする。   In one aspect, an object of the present invention is to enable easy tuning of computer parameters.

一実施形態によれば、ターゲットマシン上で動作するソフトウェアを実装したテストマシンを用いて、前記ターゲットマシンの設定パラメータを決定するプログラムであって、 前記テストマシンの設定パラメータの値の変化に対する前記テストマシンの挙動を測定し、前記設定パラメータの前記変化と、測定された前記挙動とから、前記テストマシンの挙動モデルを生成し、前記設定パラメータの第1の値での前記ターゲットマシンの挙動と、前記設定パラメータの前記第1の値での前記挙動モデルの挙動とから、前記ターゲットマシンの挙動と前記挙動モデルの挙動との間の関係を特定し、前記挙動モデルと前記関係とから、前記ターゲットマシンのための前記設定パラメータの第2の値を算出する、処理をコンピュータに実行させるプログラムが提供される。   According to an embodiment, there is provided a program for determining a setting parameter of the target machine using a test machine in which software that operates on the target machine is mounted, the test against a change in a value of the setting parameter of the test machine Measuring a machine behavior, generating a test model of the test machine from the change in the configuration parameter and the measured behavior, and the behavior of the target machine at a first value of the configuration parameter; The relationship between the behavior of the target machine and the behavior model is identified from the behavior of the behavior model at the first value of the setting parameter, and the target is determined from the behavior model and the relationship. Calculating a second value of the setting parameter for the machine, causing the computer to execute a process; Gram is provided.

実施形態によれば、コンピュータパラメータのチューニングを簡便に行うことができるようにすることができる。   According to the embodiment, the computer parameters can be easily tuned.

本発明の一実施形態におけるパラメータチューニング装置の機能ブロック図である。It is a functional block diagram of the parameter tuning device in one embodiment of the present invention. 本発明の一実施形態における処理フローを示す図である。It is a figure which shows the processing flow in one Embodiment of this invention. 一実施形態におけるテストマシンのプロファイリングデータを示す図である。It is a figure which shows the profiling data of the test machine in one Embodiment. 一実施形態における関数に対する依存パラメータと関数時間予測係数を示す図である。It is a figure which shows the dependence parameter with respect to the function in one Embodiment, and a function time prediction coefficient. 一実施形態における環境補正係数を算出する処理を示す図である。It is a figure which shows the process which calculates the environmental correction coefficient in one Embodiment. 一実施形態におけるターゲットマシンのプロファイリングデータの予測値を示す図である。It is a figure which shows the predicted value of the profiling data of the target machine in one Embodiment. 一実施形態のハードウエア構成を示す図である。It is a figure which shows the hardware constitutions of one Embodiment.

以下、図面に基づいて本発明の実施の形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、本発明の実施形態におけるパラメータチューニング装置の機能ブロック図を示している。ターゲットマシン102は、アプリケーションプログラムが動作しており、そのアプリケーションプログラムのサービスを提供している物理マシン又は仮想マシンである。このターゲットマシン102は、特定のパラメータ値(現在パラメータ値104)で動作しているものとする。   FIG. 1 shows a functional block diagram of a parameter tuning apparatus according to an embodiment of the present invention. The target machine 102 is a physical machine or a virtual machine in which an application program is operating and provides a service of the application program. This target machine 102 is assumed to be operating with a specific parameter value (current parameter value 104).

テストマシン112は、ターゲットマシン102上で動作するアプリケーションが実装され、更に、オペレーティングシステム、ハードウエア構成、周辺装置、必要なデータベース等の動作環境は、理想的にはターゲットマシン102と同一のものである。なお、上述のように現実的には、動作環境は同一にすることが不可能な場合もある。このため、なるべく同一の環境を整備することが望ましい。パラメータチューニング装置150は、テストマシン112の挙動を基に、ターゲットマシン102のための適正パラメータ値を出力することを主たる目的とする装置である。このパラメータチューニング装置150は、コンピュータ上で動作するプログラムとして実現されてもよい。このプログラムは、テストマシン112上で動作してもよく、又は他のコンピュータ上で動作してもよい。また、パラメータチューニング装置は、ターゲットマシン102のアプリケーションプログラムの実行時間予測値186を出力してもよい。   The test machine 112 is installed with an application that runs on the target machine 102. Furthermore, the operating environment such as an operating system, hardware configuration, peripheral devices, and necessary databases is ideally the same as that of the target machine 102. is there. As described above, in reality, it may not be possible to make the operating environment the same. For this reason, it is desirable to maintain the same environment as much as possible. The parameter tuning device 150 is a device whose main purpose is to output an appropriate parameter value for the target machine 102 based on the behavior of the test machine 112. The parameter tuning device 150 may be realized as a program that runs on a computer. This program may run on the test machine 112 or may run on another computer. Further, the parameter tuning apparatus may output an estimated execution time value 186 of the application program of the target machine 102.

更に図1を用いて、パラメータチューニング装置150の機能構成を説明する。パラメータチューニング装置150は、挙動測定部162、挙動モデル生成部164、関係特定部172、パラメータ値算出部182を有することが望ましい。挙動測定部162は、テストマシン112に対して、各種のパラメータを変化させ(163)、その都度CPUプロファイリングを実行し、CPUの挙動114をプロファイリングデータとして取得してもよい。このCPUの挙動114(プロファイリングデータ)と、パラメータ値とは、挙動モデル生成部164に送られる。挙動モデル生成部164は、パラメータの変化に対するテストマシン112の挙動(CPUプロファイリングデータ)をモデル化する。このモデルの一例として関数時間予測係数166を生成してもよい。関数時間予測係数166の詳細は後述する。   Further, the functional configuration of the parameter tuning device 150 will be described with reference to FIG. The parameter tuning device 150 preferably includes a behavior measuring unit 162, a behavior model generating unit 164, a relationship specifying unit 172, and a parameter value calculating unit 182. The behavior measuring unit 162 may change various parameters for the test machine 112 (163), execute CPU profiling each time, and acquire the CPU behavior 114 as profiling data. The CPU behavior 114 (profiling data) and parameter values are sent to the behavior model generation unit 164. The behavior model generation unit 164 models the behavior (CPU profiling data) of the test machine 112 with respect to parameter changes. As an example of this model, the function time prediction coefficient 166 may be generated. Details of the function time prediction coefficient 166 will be described later.

なお、このモデルは、テストマシン112をモデル化したものである。しかしながら、テストマシン112は、ターゲットマシン102のアプリケーションソフトウエア及びその他の環境を極力一致させたマシンである。したがって、このモデルは、ターゲットマシン102の挙動をモデル化したものと捉えることもできる点に留意すべきである。   This model is a model of the test machine 112. However, the test machine 112 is a machine that matches the application software of the target machine 102 and other environments as much as possible. Therefore, it should be noted that this model can be regarded as a model of the behavior of the target machine 102.

そして、このモデルに対して、ターゲットマシン102の現在のパラメータ値104を適用した場合のモデルの挙動の推定値165が算出され、関係特定部172に送られる。関係特定部172では、ターゲットマシン102のCPUプロファイリングを実行し、ターゲットマシン102の挙動106すなわちターゲットマシン102のプロファイリングデータを取得する。関係特定部172は、モデルの挙動の推定値165と、ターゲットマシン102の挙動106すなわちターゲットマシン102のプロファイリングデータとから、両者の関係を特定する。この関係の一例として、環境補正係数174が算出される。なお、環境補正係数174の詳細は後述する。なお、ターゲットマシン102の環境は、常に変化している。このため、上述の関係特定部172の役割は、挙動モデル生成部164で生成されたモデルを現状のターゲットマシン102が置かれた環境に更に近づける役割を含むものと捉えることができる点に留意すべきである。   Then, an estimated value 165 of the model behavior when the current parameter value 104 of the target machine 102 is applied to this model is calculated and sent to the relationship identifying unit 172. The relationship identification unit 172 executes CPU profiling of the target machine 102 and acquires the behavior 106 of the target machine 102, that is, profiling data of the target machine 102. The relationship identifying unit 172 identifies the relationship between the model behavior estimation value 165 and the behavior 106 of the target machine 102, that is, the profiling data of the target machine 102. As an example of this relationship, an environmental correction coefficient 174 is calculated. Details of the environment correction coefficient 174 will be described later. Note that the environment of the target machine 102 is constantly changing. For this reason, it should be noted that the role of the relationship specifying unit 172 described above can be regarded as including the role of bringing the model generated by the behavior model generation unit 164 closer to the environment where the current target machine 102 is placed. Should.

関数時間予測係数166と環境補正係数174とは、パラメータ値算出部182に送られる。パラメータ値算出部182は、パラメータ最適化部184を有することが望ましい。パラメータ最適化部は、入力された関数時間予測係数166と環境補正係数174とその他の情報から、ターゲットマシン102のための適正パラメータ値183を算出し、ターゲットマシン102に提供する。また、パラメータ最適化部は、適正パラメータをターゲットマシン102に適用した場合のターゲットマシン102におけるアプリケーションプログラムの実行時間予測値を出力してもよい。適正パラメータ値183の算出の手法の詳細については、後述する。   The function time prediction coefficient 166 and the environment correction coefficient 174 are sent to the parameter value calculation unit 182. The parameter value calculation unit 182 preferably includes a parameter optimization unit 184. The parameter optimization unit calculates an appropriate parameter value 183 for the target machine 102 from the input function time prediction coefficient 166, the environment correction coefficient 174, and other information, and provides it to the target machine 102. Further, the parameter optimization unit may output an execution time predicted value of the application program in the target machine 102 when the appropriate parameter is applied to the target machine 102. Details of the method of calculating the appropriate parameter value 183 will be described later.

図2は、本発明の一実施形態における処理フローを示す図である。なお、本フローの前提として、テストマシン112には、ターゲットマシン102で動作するアプリケーションプログラムが実装されており、オペレーティングシステム、ハードウエア、周辺機器、利用されるデータベース等の環境が実装されているものとする。なお、既に述べたように、テストマシン112の環境は、ターゲットマシン102の環境と同一であることが望ましいが、異なる部分が存在してもよい。   FIG. 2 is a diagram showing a processing flow in one embodiment of the present invention. As a premise of this flow, an application program that operates on the target machine 102 is mounted on the test machine 112, and an environment such as an operating system, hardware, peripheral devices, and a database to be used is mounted. And As described above, the environment of the test machine 112 is preferably the same as the environment of the target machine 102, but there may be different parts.

ステップ202において、テストマシン112の設定パラメータの値を変化させて、テストマシン112のプロファイリングデータ(挙動)を測定し取得する。   In step 202, the value of the setting parameter of the test machine 112 is changed, and the profiling data (behavior) of the test machine 112 is measured and acquired.

ステップ204において、テストマシン112の挙動モデル(関数時間予測係数)が生成される。挙動モデルの一例としての関数時間予測係数については後述する。   In step 204, a behavior model (function time prediction coefficient) of the test machine 112 is generated. A function time prediction coefficient as an example of the behavior model will be described later.

ステップ206において、現在のパラメータの値におけるターゲットマシン102のプロファイリングデータ(挙動)が取得される。   In step 206, profiling data (behavior) of the target machine 102 at the current parameter values is obtained.

ステップ208において、ターゲットマシン102の現在の設定パラメータを用いて、テストマシン112の挙動モデルのプロファイリングデータが算出される。   In step 208, profiling data of the behavior model of the test machine 112 is calculated using the current setting parameters of the target machine 102.

ステップ210において、取得されたターゲットマシン102のプロファイリングデータと、算出されたテストマシン112の挙動モデルのプロファイリングデータ推定値との関係(環境補正係数)が算出される。上述のように、テストマシン112は、ターゲットマシン102のアプリケーションが実装されており、諸環境もターゲットマシン102に非常に近似したものであるため、テストマシン112の挙動モデルは、ターゲットマシン102をモデル化したものであるとも捉えられる。したがって、ターゲットマシン102の現時点における設定パラメータをモデルに適用して算出したプロファイリングデータ推定値は、ターゲットマシン102から取得したプロファイリングデータと近似したものになることが推測される。しかしながら、既に述べたように、ターゲットマシン102の挙動は、種々の要因により動的にある程度変化し得るものでもある。このため、本ステップ210においては、モデルを、より現状のターゲットマシン102の挙動に近づけるため、ターゲットマシン102の現時点における設定パラメータをモデルに適用して算出したプロファイリングデータ推定値と、ターゲットマシン102から取得したプロファイリングデータとの関係を求める。この関係の具体例として、環境補正係数を求めてもよい。なお、環境補正係数の詳細は後述する。 In step 210, the relationship (environment correction coefficient) between the acquired profiling data of the target machine 102 and the calculated profiling data estimation value of the behavior model of the test machine 112 is calculated. As described above, since the test machine 112 is mounted with the application of the target machine 102 and various environments are very similar to the target machine 102, the behavior model of the test machine 112 is the model of the target machine 102. It can be seen that it is a product. Therefore, it is estimated that the estimated profiling data calculated by applying the current setting parameter of the target machine 102 to the model approximates the profiling data acquired from the target machine 102. However, as already described, the behavior of the target machine 102 can be dynamically changed to some extent due to various factors. Therefore, in this step 210, in order to bring the model closer to the current behavior of the target machine 102, the estimated profiling data calculated by applying the current setting parameter of the target machine 102 to the model, and the target machine 102 Find the relationship with the acquired profiling data. As a specific example of this relationship, an environmental correction coefficient may be obtained. Details of the environment correction coefficient will be described later.

ステップ212において、テストマシン112の挙動モデル(関数時間予測係数)と、関係(環境補正係数)とを含む情報を用いて、ターゲットマシン102の適正パラメータを算出する。テストマシン112の挙動モデル(関数時間予測係数)と、関係(環境補正係数)とを含む情報によって、現時点におけるターゲットマシン102がモデル化されると理解してもよい。そして、これらの情報を用いることによって、パラメータを変更した場合の、ターゲットマシン102の挙動(プロファイリングデータ)をシミュレートすることができる。このシミュレーションによりターゲットマシン102の適正なパラメータを算出する。適正なパラメータの算出手法としては、プロファイリングデータによって取得された各関数の実行時間の合計値を最小とするようなパラメータを、最適化問題の解法を用いて決定してもよい。なお、パラメータの算出に関する詳細は後述する。   In step 212, an appropriate parameter of the target machine 102 is calculated using information including the behavior model (function time prediction coefficient) of the test machine 112 and the relationship (environment correction coefficient). It may be understood that the current target machine 102 is modeled by information including the behavior model (function time prediction coefficient) of the test machine 112 and the relationship (environment correction coefficient). By using these pieces of information, it is possible to simulate the behavior (profiling data) of the target machine 102 when the parameters are changed. An appropriate parameter of the target machine 102 is calculated by this simulation. As an appropriate parameter calculation method, a parameter that minimizes the total execution time of each function acquired by profiling data may be determined using a solution to an optimization problem. Details of the parameter calculation will be described later.

ステップ214において、得られた適正パラメータ値を用いて、ターゲットマシン102におけるアプリケーションプログラムの実行時間の予測を算出し出力してもよい。この予測を検討することによって、レスポンス遅延等のトラブルがどの程度改善するかを予測することができる。そして、得られた適正パラメータ値をターゲットマシン102に適用する。   In step 214, the obtained appropriate parameter value may be used to calculate and output a prediction of the execution time of the application program in the target machine 102. By examining this prediction, it is possible to predict how much trouble such as response delay will be improved. Then, the obtained appropriate parameter value is applied to the target machine 102.

なお、上述の実施形態では、テストマシン112の挙動モデルを生成したが、挙動モデルではなくテストマシン112そのものを利用してもよい。   In the above-described embodiment, the behavior model of the test machine 112 is generated, but the test machine 112 itself may be used instead of the behavior model.

図3(A)ないし(D)は、一実施形態におけるテストマシン112のプロファイリングデータを示す図である。より具体的には、図1における挙動測定部162が取得するテストマシン112のプロファイリングデータの内容を示している。また、図2におけるステップ202の処理の内容を示している。   FIGS. 3A to 3D are diagrams showing profiling data of the test machine 112 according to an embodiment. More specifically, the content of the profiling data of the test machine 112 acquired by the behavior measuring unit 162 in FIG. 1 is shown. In addition, the contents of the process of step 202 in FIG. 2 are shown.

図3(A)は、テストマシン112におけるパラメータA、B、及びCのそれぞれの値が10,15,及び0であるときの関数X,Y,Z,及びUのプロファイリングデータを表している。   FIG. 3A shows the profiling data of the functions X, Y, Z, and U when the values of the parameters A, B, and C in the test machine 112 are 10, 15, and 0, respectively.

プロファイリングデータは、それぞれの関数のCPU実行時間で表される。この場合、関数X、関数Y、関数Z、及び関数Uの実行時間が、それぞれ200ms,400ms,60ms,及び100msとしてプロファイリングデータが取得されたことを示している。図3(A)のパラメータ値は、デフォルト値であるとする。デフォルトのパラメータは、テストマシン112内の記憶部(図7のメモリ715)に記憶されていてもよい。   Profiling data is represented by the CPU execution time of each function. In this case, the profiling data is acquired with the execution times of the function X, the function Y, the function Z, and the function U being 200 ms, 400 ms, 60 ms, and 100 ms, respectively. The parameter values in FIG. 3A are assumed to be default values. The default parameters may be stored in a storage unit (memory 715 in FIG. 7) in the test machine 112.

以下、関数の実行時間を関数時間と呼ぶ。   Hereinafter, the function execution time is referred to as function time.

図3(B)は、テストマシン112において、パラメータAのみを10から0に変更したプロファイリングデータを示している。この場合、関数Zのみが60msから160msに変化していることが分かる。   FIG. 3B shows profiling data in which only the parameter A is changed from 10 to 0 in the test machine 112. In this case, it can be seen that only the function Z changes from 60 ms to 160 ms.

図3(C)は、パラメータBを15から30に変更したプロファイリングデータを示している。この場合、関数X及びYがそれぞれ、200msから320ms、400msから100msに変化していることが分かる。   FIG. 3C shows profiling data in which the parameter B is changed from 15 to 30. In this case, it can be seen that the functions X and Y change from 200 ms to 320 ms and from 400 ms to 100 ms, respectively.

図3(D)は、パラメータCのみを0から10に変更したプロファイリングデータを示している。この場合、関数X及びZがそれぞれ、200msから250ms、60msから30msに変化していることが分かる。   FIG. 3D shows profiling data in which only the parameter C is changed from 0 to 10. In this case, it can be seen that the functions X and Z change from 200 ms to 250 ms and from 60 ms to 30 ms, respectively.

図4は、一実施形態における関数に対する依存パラメータと関数時間予測係数を示している。すなわち図4は、図3に示された結果をまとめたものである。図4から、パラメータの値を入力として各関数に係るプロファイリングデータの推定値を出力とする線型モデルを生成することができる。図4において、関数時間予測係数とは、線型モデルの傾きである。プロファイリングデータを(t,t,t,tとし、パラメータ値を(A,B,C)とすれば、図4は、以下の式(1)によって表せる。なお、Tは行列の転置を意味する。 FIG. 4 shows dependent parameters and function time prediction coefficients for a function in one embodiment. That is, FIG. 4 summarizes the results shown in FIG. From FIG. 4, it is possible to generate a linear model that receives parameter values as inputs and outputs estimated values of profiling data related to each function. In FIG. 4, the function time prediction coefficient is the slope of the linear model. If the profiling data is (t X , t Y , t Z , t U ) T and the parameter values are (A, B, C) T , FIG. 4 can be expressed by the following equation (1). T means transposition of the matrix.

Figure 0005906844
と表すことができる。式(1)は、テストマシン112の線形モデルである。すなわちパラメータ値(A,B,C)に、具体的な値を代入することにより、線形モデルに基づくテストマシン112のプロファイリングデータ(t,t,t,tの推定値が取得できる。
Figure 0005906844
It can be expressed as. Equation (1) is a linear model of the test machine 112. That is, by substituting specific values for the parameter values (A, B, C) T , the estimated values of the profiling data (t X , t Y , t Z , t U ) T of the test machine 112 based on the linear model Can be obtained.

図3及び図4においては、2点間のサンプリングにより、線型モデルの各々の傾き(関数時間予測係数)を求めたが、複数のパラメータをテストマシン112に与え、複数のプロファイリングデータを取得し、最小二乗法等により傾き(関数時間予測係数)を求めてもよい。   3 and 4, the slope (function time prediction coefficient) of each linear model is obtained by sampling between two points, but a plurality of parameters are given to the test machine 112 to obtain a plurality of profiling data, The slope (function time prediction coefficient) may be obtained by the least square method or the like.

また、上述の例では、線型モデルを用いたが、二次関数、三次関数等の非線形モデルを用いて、テストマシン112をモデリングしてもよい。プロファイリングデータのベクトルをtとし、パラメータのベクトルをαとすれば、パラメータのベクトルαを入力としてプロファイリングデータのベクトルtを出力するテストマシン112のモデルf(*)は、下記の一般式(2)で表現できる。   In the above example, the linear model is used. However, the test machine 112 may be modeled using a nonlinear model such as a quadratic function or a cubic function. If the vector of profiling data is t and the parameter vector is α, the model f (*) of the test machine 112 that outputs the vector t of profiling data with the parameter vector α as an input is represented by the following general formula (2): Can be expressed as

Figure 0005906844
Figure 0005906844

図5は、一実施形態における環境補正係数を算出する処理を示している。この処理は、図1における関係特定部172の処理の具体例である。また、図2におけるステップ210の処理の具体例である。すなわち、ターゲットマシン102のプロファイリングデータと、算出されたテストマシン112の挙動モデルのプロファイリングデータ推定値との関係を環境補正係数として算出している。   FIG. 5 shows a process for calculating the environmental correction coefficient in one embodiment. This process is a specific example of the process of the relationship specifying unit 172 in FIG. Moreover, it is a specific example of the process of step 210 in FIG. That is, the relationship between the profiling data of the target machine 102 and the calculated profiling data estimated value of the behavior model of the test machine 112 is calculated as the environmental correction coefficient.

図5において、502は、ターゲットマシン102における現在のパラメータ値(A,B,C)=(10,20,10)におけるプロファイリングデータである。504は、ターゲットマシン102と同一の上記パラメータ値を用いた際のテストマシン112の挙動モデルのプロファイリングデータの推定値を示している。両プロファイリングデータは、環境の変化等の要因により、差が存在する場合が発生する。この差を吸収し、テストマシン112の挙動モデルをターゲットマシン102の挙動に近づけるために、環境補正係数506を導入してもよい。環境補正係数508の計算式は、環境補正係数の算出手法とその値を示している。すなわち、プロファイリングデータの対応する関数の値の比を算出している。テストマシン112の挙動モデルから得られたプロファイリングデータの推定値に環境補正係数を掛けることにより、ターゲットマシン102のプロファイリングデータの推定値を、より適切に算出することができる。 In FIG. 5, 502 is profiling data at the current parameter value (A, B, C) T = (10, 20, 10) T in the target machine 102. Reference numeral 504 denotes an estimated value of the profiling data of the behavior model of the test machine 112 when the same parameter value as that of the target machine 102 is used. There is a case where there is a difference between both profiling data due to factors such as environmental changes. In order to absorb this difference and bring the behavior model of the test machine 112 closer to the behavior of the target machine 102, an environment correction coefficient 506 may be introduced. The calculation formula of the environmental correction coefficient 508 indicates the calculation method and the value of the environmental correction coefficient. That is, the ratio of the values of the corresponding functions of the profiling data is calculated. By multiplying the estimated value of the profiling data obtained from the behavior model of the test machine 112 by the environmental correction coefficient, the estimated value of the profiling data of the target machine 102 can be calculated more appropriately.

式(1)と図5の環境補正係数508とを用いれば、パラメータ値から、ターゲットマシン102のプロファイリングデータの推定値(tX’,tY’,tZ’,tU’は、以下の式(3)によって表すことができる。 By using the equation (1) and the environment correction coefficient 508 in FIG. 5, the estimated values (t X ′ , t Y ′ , t Z ′ , t U ′ ) T of the profiling data of the target machine 102 are obtained from the parameter values. It can be represented by the following formula (3).

Figure 0005906844
Figure 0005906844

また、環境補正係数のベクトルをRとすれば、ターゲットマシン102のプロファイリングデータのベクトルの予測値t’は、一般式(2)を用いて、以下の一般式(4)で表される。   Further, assuming that the environment correction coefficient vector is R, the predicted value t ′ of the profiling data vector of the target machine 102 is expressed by the following general formula (4) using the general formula (2).

Figure 0005906844
Figure 0005906844

図6は、一実施例におけるターゲットマシン102のプロファイリングデータの予測値を示している。具体的には、式(3)を用いて、パラメータ値P(A,B,C)を様々に変化させた場合のプロファイリングデータの合計値が示されている。例えば、ターゲットマシン102のレスポンス遅延のトラブルを改善するためには、プロファイリングデータの予測値の合計値が最小となるパラメータ値を求めることが有効であろう。図6においては、パラメータ値が、P(10,15,0)のときの合計値が1819であり、最小値になっている。したがって、パラメータ値(10,15,0)を、ターゲットマシン102のパラメータの適正値として選択してもよい。   FIG. 6 shows the predicted value of the profiling data of the target machine 102 in one embodiment. Specifically, the total value of the profiling data when the parameter value P (A, B, C) is changed variously using the expression (3) is shown. For example, in order to improve the response delay trouble of the target machine 102, it may be effective to obtain a parameter value that minimizes the total value of predicted values of profiling data. In FIG. 6, the total value when the parameter value is P (10,15,0) is 1819, which is the minimum value. Therefore, the parameter value (10, 15, 0) may be selected as an appropriate value for the parameter of the target machine 102.

なお、プロファイリングデータの合計の最小値を求めるための一般的な算出式は、式(4)を用いて以下の一般式(5)を満たすパラメータのベクトルα=α’を求めればよい。   It should be noted that as a general calculation formula for obtaining the minimum value of the total of profiling data, a parameter vector α = α ′ satisfying the following general formula (5) may be obtained using formula (4).

Figure 0005906844
そして、式(5)によって表される最小値が、ターゲットマシン102のアプリケーションプログラムの実行時間予測値としても利用することができる。
Figure 0005906844
Then, the minimum value represented by Expression (5) can be used as an execution time prediction value of the application program of the target machine 102.

なお、式(5)は、プロファイリングデータの合計値の最小値を求める式であるが、プロファイリングデータの各々に重みを掛けた合計値を最小とする評価関数を用いてもよい。また、特定の1以上のプロファイリングデータのみに着目して、その値を最小にするようパラメータを求めてもよい。   Expression (5) is an expression for obtaining the minimum value of the total value of the profiling data, but an evaluation function that minimizes the total value obtained by multiplying each of the profiling data may be used. Alternatively, focusing on only one or more specific profiling data, the parameter may be obtained so as to minimize the value.

なお、パラメータを求める手法としては、各パラメータのとり得る範囲(パラメータの制約条件)を予め定めておくことが望ましい。これによって、非現実的なパラメータ値が選択されてしまうことを避けることができる。   As a method for obtaining the parameters, it is desirable to predetermine the range that each parameter can take (parameter constraint conditions). Thereby, it is possible to avoid selecting an unrealistic parameter value.

そして、各パラメータを所定の増分で変化させ、変化した各パラメータの組合せを網羅的に式(5)に与え、合計値が最小値となるパラメータのベクトル値を探索してもよい。また、この網羅的な探索で見つかったパラメータ値から出発(あるいは、任意のパラメータ値から出発)して、線形計画法や非線形の最適化手法を用いて最小値をとり得るパラメータのベクトル値を探索してもよい。   Then, each parameter may be changed by a predetermined increment, and a combination of the changed parameters may be comprehensively given in Expression (5) to search for a vector value of a parameter having a minimum total value. Also, starting from the parameter values found in this exhaustive search (or starting from any parameter value), search for the vector value of the parameter that can take the minimum value using linear programming or nonlinear optimization techniques. May be.

なお、本実施形態におけるパラメータは、コンピュータ上の種々のパラメータを含み、CPUに対するパラメータに限られるものではない。   The parameters in the present embodiment include various parameters on the computer, and are not limited to parameters for the CPU.

図7は、一実施形態のハードウエア構成を示している。ターゲットマシン、テストマシン、及びパラメータチューニング装置は、CPU710、メモリ715、入力装置720、出力装置725、外部記憶装置730、可搬記録媒体駆動装置735、ネットワーク接続装置745が含まれる。そして、それぞれの機器は、バス750によって接続されている。また、可搬記録媒体駆動装置735は、可搬記録媒体740を読み書きすることができる。そして、ネットワーク接続装置745には、インターネット760及び/又は専用線761が接続されてもよい。   FIG. 7 shows a hardware configuration of one embodiment. The target machine, test machine, and parameter tuning apparatus include a CPU 710, a memory 715, an input device 720, an output device 725, an external storage device 730, a portable recording medium drive device 735, and a network connection device 745. Each device is connected by a bus 750. Further, the portable recording medium driving device 735 can read and write the portable recording medium 740. The network connection device 745 may be connected to the Internet 760 and / or a dedicated line 761.

なお、本実施形態のプログラムは、可搬記録媒体740に格納することができる。可搬記録媒体740とは、構造(structure)を有する1つ以上の非一時的(non-transitory)な、有形(tangible)な、記憶媒体を言う。例示として、可搬記録媒体740としては、磁気記録媒体、光ディスク、光磁気記録媒体、不揮発性メモリなどがある。磁気記録媒体には、HDD、フレキシブルディスク(FD)、磁気テープ(MT)などがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc-Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。また、光磁気記録媒体には、MO(Magneto-Optical disk)などがある。   Note that the program of this embodiment can be stored in the portable recording medium 740. The portable recording medium 740 refers to one or more non-transitory, tangible storage media having a structure. Illustrative examples of the portable recording medium 740 include a magnetic recording medium, an optical disk, a magneto-optical recording medium, and a nonvolatile memory. Magnetic recording media include HDDs, flexible disks (FD), magnetic tapes (MT) and the like. Optical disks include DVD (Digital Versatile Disc), DVD-RAM, CD-ROM (Compact Disc-Read Only Memory), CD-R (Recordable) / RW (ReWritable), and the like. Magneto-optical recording media include MO (Magneto-Optical disk).

なお、請求項に記載された方法やプログラムに係る発明は、矛盾のない限り処理の順番を入れ替えてもよく、あるいは、複数の処理を同時に実施してもよい。そして、これらの実施形態も、請求項に記載された発明の技術的範囲に包含されることは言うまでもない。   In the invention relating to the method and the program described in the claims, the order of the processes may be changed as long as there is no contradiction, or a plurality of processes may be performed simultaneously. It goes without saying that these embodiments are also included in the technical scope of the invention described in the claims.

上記実施形態に関し、以下の付記を開示する。
(付記1)
ターゲットマシン上で動作するソフトウェアを実装したテストマシンを用いて、前記ターゲットマシンの設定パラメータを決定するプログラムであって、
前記テストマシンの設定パラメータの値の変化に対する前記テストマシンの挙動を測定し、
前記設定パラメータの前記変化と、測定された前記挙動とから、前記テストマシンの挙動モデルを生成し、
前記設定パラメータの第1の値での前記ターゲットマシンの挙動と、前記設定パラメータの前記第1の値での前記挙動モデルの挙動とから、前記ターゲットマシンの挙動と前記挙動モデルの挙動との間の関係を特定し、
前記挙動モデルと前記関係とから、前記ターゲットマシンのための前記設定パラメータの第2の値を算出する、
処理をコンピュータに実行させるプログラム。
(付記2)
前記挙動モデルは、設定パラメータの値を入力とし、前記テストマシンの挙動の推定値を出力する、付記1記載のプログラム。
(付記3)
前記挙動は、前記ソフトウェアに含まれる1つ以上の関数の実行時間である、付記1又は2記載のプログラム。
(付記4)
前記設定パラメータは、ターゲットマシンのCPU又は前記テストマシンのCPUの動作環境を設定するパラメータである、付記1ないし3のうちいずれか1項記載のプログラム。
(付記5)
前記第2の値を算出する処理は、前記ターゲットマシン上でのソフトウェアを実行する時間の予測値を最小とするための、前記ターゲットマシンの前記設定パラメータの値を求める処理を含む、付記1ないし4のうちいずれか1項記載のプログラム。
(付記6)
ターゲットマシン上で動作するソフトウェアを実装したテストマシンを用いて、前記ターゲットマシンの設定パラメータを決定する方法であって、
前記テストマシンの設定パラメータの値の変化に対する前記テストマシンの挙動を測定し、
前記設定パラメータの前記変化と、測定された前記挙動とから、前記テストマシンの挙動モデルを生成し、
前記設定パラメータの第1の値での前記ターゲットマシンの挙動と、前記設定パラメータの前記第1の値での前記挙動モデルの挙動とから、前記ターゲットマシンの挙動と前記挙動モデルの挙動との間の関係を特定し、
前記挙動モデルと前記関係とから、前記ターゲットマシンのための前記設定パラメータの第2の値を算出する、
処理を有する方法。
(付記7)
前記挙動モデルは、設定パラメータの値を入力とし、前記テストマシンの挙動の推定値を出力する、付記6記載の方法。
(付記8)
前記挙動は、前記ソフトウェアに含まれる1つ以上の関数の実行時間である、付記6又は7記載の方法。
(付記9)
前記設定パラメータは、ターゲットマシンのCPU又は前記テストマシンのCPUの動作環境を設定するパラメータである、付記6ないし8のうちいずれか1項記載の方法。
(付記10)
前記第2の値を算出する処理は、前記ターゲットマシン上でのソフトウェアを実行する時間の予測値を最小とするための、前記ターゲットマシンの前記設定パラメータの値を求める処理を含む、付記6ないし9のうちいずれか1項記載の方法。
(付記11)
ターゲットマシン上で動作するソフトウェアを実装したテストマシンを用いて、前記ターゲットマシンの設定パラメータを決定する装置であって、
前記テストマシンの設定パラメータの値の変化に対する前記テストマシンの挙動を測定する挙動測定部と、
前記設定パラメータの前記変化と、測定された前記挙動とから、前記テストマシンの挙動モデルを生成する挙動モデル生成部と、
前記設定パラメータの第1の値での前記ターゲットマシンの挙動と、前記設定パラメータの前記第1の値での前記挙動モデルの挙動とから、前記ターゲットマシンの挙動と前記挙動モデルの挙動との間の関係を特定する関係特定部と、
前記挙動モデルと前記関係とから、前記ターゲットマシンのための前記設定パラメータの第2の値を算出するパラメータ値算出部、
を有する装置。
(付記12)
前記挙動モデルは、設定パラメータの値を入力とし、前記テストマシンの挙動の推定値を出力する、付記11記載の装置。
(付記13)
前記挙動は、前記ソフトウェアに含まれる1つ以上の関数の実行時間である、付記11又は12記載の装置。
(付記14)
前記設定パラメータは、ターゲットマシンのCPU又は前記テストマシンのCPUの動作環境を設定するパラメータである、付記11ないし13のうちいずれか1項記載の装置。
(付記15)
前記設定パラメータ値算出部は、前記ターゲットマシン上でのソフトウェアを実行する時間の予測値を最小とするための、前記ターゲットマシンの前記設定パラメータの値を求めるパラメータ最適化部を含む、付記11ないし14のうちいずれか1項記載の装置。
The following notes are disclosed regarding the above embodiment.
(Appendix 1)
A program for determining a setting parameter of the target machine using a test machine in which software that operates on the target machine is installed,
Measuring the behavior of the test machine with respect to a change in the value of a setting parameter of the test machine;
From the change in the setting parameter and the measured behavior, a behavior model of the test machine is generated,
Between the behavior of the target machine at the first value of the setting parameter and the behavior of the behavior model at the first value of the setting parameter, between the behavior of the target machine and the behavior model. Identify the relationship
Calculating a second value of the configuration parameter for the target machine from the behavior model and the relationship;
A program that causes a computer to execute processing.
(Appendix 2)
The program according to claim 1, wherein the behavior model receives a setting parameter value and outputs an estimated value of the behavior of the test machine.
(Appendix 3)
The program according to appendix 1 or 2, wherein the behavior is an execution time of one or more functions included in the software.
(Appendix 4)
The program according to any one of appendices 1 to 3, wherein the setting parameter is a parameter for setting an operating environment of a CPU of a target machine or a CPU of the test machine.
(Appendix 5)
The process of calculating the second value includes a process of obtaining a value of the setting parameter of the target machine for minimizing a predicted value of time for executing software on the target machine. 4. The program according to any one of four.
(Appendix 6)
A method for determining a setting parameter of the target machine using a test machine equipped with software that operates on the target machine,
Measuring the behavior of the test machine with respect to a change in the value of a setting parameter of the test machine;
From the change in the setting parameter and the measured behavior, a behavior model of the test machine is generated,
Between the behavior of the target machine at the first value of the setting parameter and the behavior of the behavior model at the first value of the setting parameter, between the behavior of the target machine and the behavior model. Identify the relationship
Calculating a second value of the configuration parameter for the target machine from the behavior model and the relationship;
A method having processing.
(Appendix 7)
The method according to claim 6, wherein the behavior model receives a setting parameter value and outputs an estimated value of the behavior of the test machine.
(Appendix 8)
The method according to claim 6 or 7, wherein the behavior is an execution time of one or more functions included in the software.
(Appendix 9)
The method according to any one of appendices 6 to 8, wherein the setting parameter is a parameter for setting an operating environment of a CPU of a target machine or a CPU of the test machine.
(Appendix 10)
The process of calculating the second value includes a process of obtaining a value of the setting parameter of the target machine for minimizing a predicted value of time for executing the software on the target machine. The method according to any one of 9.
(Appendix 11)
A device that determines a setting parameter of the target machine using a test machine in which software that operates on the target machine is mounted,
A behavior measuring unit for measuring the behavior of the test machine with respect to a change in a value of a setting parameter of the test machine;
A behavior model generating unit that generates a behavior model of the test machine from the change in the setting parameter and the measured behavior;
Between the behavior of the target machine at the first value of the setting parameter and the behavior of the behavior model at the first value of the setting parameter, between the behavior of the target machine and the behavior model. A relationship identifying unit that identifies the relationship between
A parameter value calculation unit for calculating a second value of the setting parameter for the target machine from the behavior model and the relationship;
Having a device.
(Appendix 12)
The apparatus according to claim 11, wherein the behavior model receives a set parameter value and outputs an estimated value of the behavior of the test machine.
(Appendix 13)
The apparatus according to claim 11 or 12, wherein the behavior is an execution time of one or more functions included in the software.
(Appendix 14)
The apparatus according to any one of appendices 11 to 13, wherein the setting parameter is a parameter for setting an operating environment of a CPU of a target machine or a CPU of the test machine.
(Appendix 15)
The setting parameter value calculation unit includes a parameter optimization unit that calculates a value of the setting parameter of the target machine for minimizing a predicted value of time for executing software on the target machine. 14. The apparatus according to any one of fourteen.

102 ターゲットマシン
112 テストマシン
150 パラメータチューニング装置
162 挙動測定部
164 挙動モデル生成部
172 関係特定部
182 パラメータ値算出部
102 target machine 112 test machine 150 parameter tuning device 162 behavior measuring unit 164 behavior model generating unit 172 relation specifying unit 182 parameter value calculating unit

Claims (7)

ターゲットマシン上で動作するソフトウェアを実装したテストマシンを用いて、前記ターゲットマシンの設定パラメータを決定するプログラムであって、
前記テストマシンの設定パラメータの値の変化に対する前記テストマシンの挙動を測定し、
前記設定パラメータの前記変化と、測定された前記挙動とから、前記テストマシンの挙動モデルを生成し、
前記設定パラメータの第1の値での前記ターゲットマシンの挙動と、前記設定パラメータの前記第1の値での前記挙動モデルによる挙動の推定値とから、前記ターゲットマシンの挙動と前記挙動モデルによる挙動の推定値との間の関係を特定し、
前記挙動モデルと前記関係とから、前記ターゲットマシンのための前記設定パラメータの第2の値を算出する、
処理をコンピュータに実行させるプログラム。
A program for determining a setting parameter of the target machine using a test machine in which software that operates on the target machine is installed,
Measuring the behavior of the test machine with respect to a change in the value of a setting parameter of the test machine;
From the change in the setting parameter and the measured behavior, a behavior model of the test machine is generated,
From the behavior of the target machine at the first value of the setting parameter and the estimated value of the behavior by the behavior model at the first value of the setting parameter, the behavior of the target machine and the behavior by the behavior model Identify the relationship between the estimate of
Calculating a second value of the configuration parameter for the target machine from the behavior model and the relationship;
A program that causes a computer to execute processing.
前記挙動モデルは、設定パラメータの値を入力とし、前記テストマシンの挙動の推定値を出力する、請求項1記載のプログラム。   The program according to claim 1, wherein the behavior model receives a setting parameter value and outputs an estimated value of the behavior of the test machine. 前記挙動は、前記ソフトウェアに含まれる1つ以上の関数の実行時間である、請求項1又は2記載のプログラム。   The program according to claim 1, wherein the behavior is an execution time of one or more functions included in the software. 前記設定パラメータは、ターゲットマシンのCPU又は前記テストマシンのCPUの動作環境を設定するパラメータである、請求項1ないし3のうちいずれか1項記載のプログラム。   The program according to any one of claims 1 to 3, wherein the setting parameter is a parameter for setting an operating environment of a CPU of a target machine or a CPU of the test machine. 前記第2の値を算出する処理は、前記ターゲットマシン上でのソフトウェアを実行する時間の予測値を最小とするための、前記ターゲットマシンの前記設定パラメータの値を求める処理を含む、請求項1ないし4のうちいずれか1項記載のプログラム。   The process of calculating the second value includes a process of obtaining a value of the setting parameter of the target machine for minimizing a predicted value of time for executing software on the target machine. 5. The program according to any one of 4 to 4. ターゲットマシン上で動作するソフトウェアを実装したテストマシンを用いて、前記ターゲットマシンの設定パラメータを決定する方法であって、
前記テストマシンの設定パラメータの値の変化に対する前記テストマシンの挙動を測定し、
前記設定パラメータの前記変化と、測定された前記挙動とから、前記テストマシンの挙動モデルを生成し、
前記設定パラメータの第1の値での前記ターゲットマシンの挙動と、前記設定パラメータの前記第1の値での前記挙動モデルによる挙動の推定値とから、前記ターゲットマシンの挙動と前記挙動モデルによる挙動の推定値との間の関係を特定し、
前記挙動モデルと前記関係とから、前記ターゲットマシンのための前記設定パラメータの第2の値を算出する、
処理を有する方法。
A method for determining a setting parameter of the target machine using a test machine equipped with software that operates on the target machine,
Measuring the behavior of the test machine with respect to a change in the value of a setting parameter of the test machine;
From the change in the setting parameter and the measured behavior, a behavior model of the test machine is generated,
From the behavior of the target machine at the first value of the setting parameter and the estimated value of the behavior by the behavior model at the first value of the setting parameter, the behavior of the target machine and the behavior by the behavior model Identify the relationship between the estimate of
Calculating a second value of the configuration parameter for the target machine from the behavior model and the relationship;
A method having processing.
ターゲットマシン上で動作するソフトウェアを実装したテストマシンを用いて、前記ターゲットマシンの設定パラメータを決定する装置であって、
前記テストマシンの設定パラメータの値の変化に対する前記テストマシンの挙動を測定する挙動測定部と、
前記設定パラメータの前記変化と、測定された前記挙動とから、前記テストマシンの挙動モデルを生成する挙動モデル生成部と、
前記設定パラメータの第1の値での前記ターゲットマシンの挙動と、前記設定パラメータの前記第1の値での前記挙動モデルによる挙動の推定値とから、前記ターゲットマシンの挙動と前記挙動モデルによる挙動の推定値との間の関係を特定する関係特定部と、
前記挙動モデルと前記関係とから、前記ターゲットマシンのための前記設定パラメータの第2の値を算出するパラメータ値算出部、
を有する装置。
A device that determines a setting parameter of the target machine using a test machine in which software that operates on the target machine is mounted,
A behavior measuring unit for measuring the behavior of the test machine with respect to a change in a value of a setting parameter of the test machine;
A behavior model generating unit that generates a behavior model of the test machine from the change in the setting parameter and the measured behavior;
From the behavior of the target machine at the first value of the setting parameter and the estimated value of the behavior by the behavior model at the first value of the setting parameter, the behavior of the target machine and the behavior by the behavior model A relationship identifying unit that identifies a relationship between the estimated value of
A parameter value calculation unit for calculating a second value of the setting parameter for the target machine from the behavior model and the relationship;
Having a device.
JP2012058012A 2012-03-14 2012-03-14 Computer parameter tuning program, method, and apparatus Active JP5906844B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012058012A JP5906844B2 (en) 2012-03-14 2012-03-14 Computer parameter tuning program, method, and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012058012A JP5906844B2 (en) 2012-03-14 2012-03-14 Computer parameter tuning program, method, and apparatus

Publications (2)

Publication Number Publication Date
JP2013191108A JP2013191108A (en) 2013-09-26
JP5906844B2 true JP5906844B2 (en) 2016-04-20

Family

ID=49391253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012058012A Active JP5906844B2 (en) 2012-03-14 2012-03-14 Computer parameter tuning program, method, and apparatus

Country Status (1)

Country Link
JP (1) JP5906844B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110488512B (en) * 2019-06-11 2021-12-24 惠科股份有限公司 Correction method and correction system of display panel measuring equipment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704687B2 (en) * 2001-01-31 2004-03-09 Hewlett-Packard Development Company, L.P. Historical results based method for automatically improving computer system performance
JP2006244422A (en) * 2005-03-07 2006-09-14 Nec Corp System parameter automatic tuning method using network
TWI428767B (en) * 2006-06-26 2014-03-01 Ibm Method, program and apparatus for optimizing configuration parameter set of system

Also Published As

Publication number Publication date
JP2013191108A (en) 2013-09-26

Similar Documents

Publication Publication Date Title
Wang et al. Performance prediction for apache spark platform
US20140359624A1 (en) Determining a completion time of a job in a distributed network environment
US9569179B1 (en) Modifying models based on profiling information
US20170140278A1 (en) Using machine learning to predict big data environment performance
CA3090095C (en) Methods and systems to determine and optimize reservoir simulator performance in a cloud computing environment
BR112015019167B1 (en) Method performed by a computer processor and system
US8756307B1 (en) Translating service level objectives to system metrics
Zhang et al. Optimizing cost and performance trade-offs for mapreduce job processing in the cloud
KR102161192B1 (en) Method and apparatus for data mining from core trace
US9542295B2 (en) Method to apply perturbation for resource bottleneck detection and capacity planning
US20160117199A1 (en) Computing system with thermal mechanism and method of operation thereof
Bei et al. MEST: A model-driven efficient searching approach for MapReduce self-tuning
Bobrek et al. Stochastic contention level simulation for single-chip heterogeneous multiprocessors
US20180314774A1 (en) System Performance Measurement of Stochastic Workloads
JP5906844B2 (en) Computer parameter tuning program, method, and apparatus
US7120567B2 (en) Method and apparatus for determining output uncertainty of computer system models
JP2012128771A (en) Information processing apparatus and program
JP2020522063A5 (en)
JP2005063208A (en) Software reliability growth model selection method, software reliability growth model selection apparatus, software reliability growth model selection program and program recording medium
US7505886B1 (en) Technique for programmatically obtaining experimental measurements for model construction
JP5765266B2 (en) Performance evaluation method, information processing apparatus, and program
TWI781767B (en) Prediction-based method for analyzing change impact on software components
JP5201068B2 (en) Risk determination program, risk determination device and method
Kraljic et al. Energy Efficient Frequency Scaling on GPUs in Heterogeneous HPC Systems
Hiser et al. Fast, accurate design space exploration of embedded systems memory configurations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150811

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150907

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160223

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160307

R150 Certificate of patent or registration of utility model

Ref document number: 5906844

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150