[go: up one dir, main page]

JP2011258058A - Performance prediction apparatus, computer program and performance prediction method - Google Patents

Performance prediction apparatus, computer program and performance prediction method Download PDF

Info

Publication number
JP2011258058A
JP2011258058A JP2010133015A JP2010133015A JP2011258058A JP 2011258058 A JP2011258058 A JP 2011258058A JP 2010133015 A JP2010133015 A JP 2010133015A JP 2010133015 A JP2010133015 A JP 2010133015A JP 2011258058 A JP2011258058 A JP 2011258058A
Authority
JP
Japan
Prior art keywords
computer system
execution time
execution
time
program
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.)
Pending
Application number
JP2010133015A
Other languages
Japanese (ja)
Inventor
Yutaka Kawaguchi
豊 川口
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2010133015A priority Critical patent/JP2011258058A/en
Publication of JP2011258058A publication Critical patent/JP2011258058A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】ある計算機システムでアプリケーションプログラムを実行できない場合でも、その計算機システムでアプリケーションプログラムを実行するのにかかる時間を正確に予測する。
【解決手段】ログ解析部114(実行ログ取得部)は、計算機システム101においてアプリケーション102を実行したアプリケーションログ107(実行ログ)を取得する。ログ解析部114(総実行時間算出部、第二実行時間算出部)は、実行ログを解析して、アプリケーション102を実行するのにかかった時間や特定の処理にかかった時間を算出する。新規システム性能見積部118(総実行時間予測部)は、計算機システム101においてアプリケーション102を実行するのにかかった時間のうち、特定の処理にかかった時間を、計算機システム102において特定の処理にかかる時間で置き換える。
【選択図】図1
Even when an application program cannot be executed on a certain computer system, the time required to execute the application program on the computer system is accurately predicted.
A log analysis unit 114 (execution log acquisition unit) acquires an application log 107 (execution log) obtained by executing an application 102 in a computer system 101. The log analysis unit 114 (total execution time calculation unit, second execution time calculation unit) analyzes the execution log and calculates the time taken to execute the application 102 or the time taken for a specific process. The new system performance estimation unit 118 (total execution time prediction unit) takes the time required for specific processing out of the time required to execute the application 102 in the computer system 101 for the specific processing in the computer system 102. Replace with time.
[Selection] Figure 1

Description

この発明は、開発中の計算機システムなどで、既存のアプリケーションプログラムを実行するのにかかる時間を予測する性能予測装置に関する。   The present invention relates to a performance prediction apparatus that predicts the time required to execute an existing application program in a computer system under development.

計算機システムの性能を測定する技術として、ベンチマークテストがある。ベンチマークテストは、一般的ないくつかの処理を計算機システムに実行させて、処理にかかった時間を測定することにより、計算機システムの一般的な性能を測定する。
組み込みシステムなど、実行するアプリケーションプログラムが限られる計算機システムでは、一般的な性能よりも、そのアプリケーションプログラムを実行した場合の性能が重要である。そのアプリケーションプログラムを実行した場合の性能を測定する最も簡単な方法は、実際に計算機システムでそのアプリケーションプログラムを実行してみることである。
A benchmark test is a technique for measuring the performance of a computer system. The benchmark test measures the general performance of a computer system by causing the computer system to execute some general processes and measuring the time taken for the processes.
In a computer system in which an application program to be executed is limited, such as an embedded system, performance when the application program is executed is more important than general performance. The simplest method for measuring the performance when the application program is executed is to actually execute the application program on a computer system.

特開平8−286940号公報JP-A-8-286940 特開平10−78892号公報Japanese Patent Laid-Open No. 10-78892 特開2000−122898号公報JP 2000-122898 A 特開2004−264914号公報JP 2004-264914 A

EEMBC「AutoBenchTM1.1 software benchmark data book」http://www.eembc.org/techlit/datasheets/autobench_db.pdfEEMBC “AutoBench ™ 1.1 software benchmark data book” http: // www. embc. org / techlit / datasheets / autobench_db. pdf

計算機システムが開発中である場合など、実際に計算機システムでアプリケーションプログラムを実行することができない場合がある。また、2つの計算機システムで、ベンチマークテストなどにより測定した一般的な性能の比率が、そのまま、そのアプリケーションプログラムを実行した場合の性能の比率にもあてはまるとは限らない。
この発明は、例えば、上記のような課題を解決するためになされたものであり、ある計算機システムでアプリケーションプログラムを実行できない場合であっても、その計算機システムでアプリケーションプログラムを実行するのにかかる時間を正確に予測することを目的とする。
In some cases, such as when the computer system is under development, the application program cannot actually be executed on the computer system. In addition, a general performance ratio measured by a benchmark test or the like between two computer systems does not always apply to a performance ratio when the application program is executed as it is.
The present invention has been made to solve the above-described problems, for example, and even when an application program cannot be executed on a certain computer system, the time taken to execute the application program on the computer system. The purpose is to accurately predict.

この発明にかかる性能予測装置は、
データを処理する処理装置と、第一実行時間取得部と、実行ログ取得部と、総実行時間算出部と、第二実行時間算出部と、総実行時間予測部とを有し、
上記第一実行時間取得部は、上記処理装置を用いて、第一の計算機システムにおいて特定の機能を実現する第一特定プログラムについて、上記第一特定プログラムを実行するのにかかる時間を取得し、
上記実行ログ取得部は、上記処理装置を用いて、上記第一の計算機システム及び第二の計算機システムにおいて実行可能なアプリケーションプログラムについて、上記第二の計算機システムにおいて上記アプリケーションプログラムを実行した実行ログを取得し、
上記総実行時間算出部は、上記処理装置を用いて、上記実行ログ取得部が取得した実行ログを解析して、上記アプリケーションプログラムを実行するのにかかった時間を算出し、
上記第二実行時間算出部は、上記処理装置を用いて、上記実行ログ取得部が取得した実行ログを解析して、上記第一の計算機システムにおいて上記第一特定プログラムが実現する特定の機能を上記第二の計算機システムにおいて実現する第二特定プログラムについて、上記アプリケーションプログラムが上記第二特定プログラムを呼び出したとき、上記第二特定プログラムを実行するのにかかった時間を算出し、
上記総実行時間予測部は、上記処理装置を用いて、上記総実行時間算出部が算出した時間のうち、上記第二実行時間算出部が算出した時間を上記第一実行時間取得部が取得した時間で置き換えることにより、上記第一の計算機システムにおいて上記アプリケーションプログラムを実行するのにかかる時間を予測することを特徴とする。
The performance prediction apparatus according to the present invention is:
A processing device that processes data, a first execution time acquisition unit, an execution log acquisition unit, a total execution time calculation unit, a second execution time calculation unit, and a total execution time prediction unit;
The first execution time acquisition unit acquires the time required to execute the first specific program for the first specific program that realizes a specific function in the first computer system, using the processing device,
The execution log acquisition unit uses the processing device to obtain an execution log for executing the application program in the second computer system for an application program executable in the first computer system and the second computer system. Acquired,
The total execution time calculation unit uses the processing device to analyze the execution log acquired by the execution log acquisition unit and calculate the time taken to execute the application program,
The second execution time calculation unit analyzes the execution log acquired by the execution log acquisition unit using the processing device, and performs the specific function realized by the first specific program in the first computer system. For the second specific program realized in the second computer system, when the application program calls the second specific program, it calculates the time taken to execute the second specific program,
The first execution time acquisition unit acquires the time calculated by the second execution time calculation unit among the times calculated by the total execution time calculation unit, using the processing device. By replacing with time, the time required to execute the application program in the first computer system is predicted.

この発明にかかる性能予測装置によれば、現時点では第一の計算機システムでアプリケーションプログラムを実行できない場合であっても、第一の計算機システムでアプリケーションプログラムを実行するのにかかる時間を正確に予測できる。   According to the performance prediction device of the present invention, even when the application program cannot be executed on the first computer system at the present time, the time required to execute the application program on the first computer system can be accurately predicted. .

実施の形態1における性能見積もりシステムのシステム構成図。1 is a system configuration diagram of a performance estimation system according to Embodiment 1. FIG. 実施の形態1における新規システム性能見積もり処理の全体フロー図。FIG. 3 is an overall flowchart of new system performance estimation processing in the first embodiment. 実施の形態1におけるアプリケーションログ107の一例を示す図。FIG. 6 is a diagram showing an example of an application log 107 according to the first embodiment. 実施の形態1におけるログ解析ステップ204のフロー図。FIG. 7 is a flowchart of log analysis step 204 in the first embodiment. 実施の形態1におけるイベント切り替えのマッチング処理ステップ404の詳細フロー図。FIG. 6 is a detailed flowchart of event switching matching processing step 404 according to the first embodiment. 実施の形態1における排他制御のマッチング処理ステップ406の詳細フロー図。FIG. 6 is a detailed flowchart of exclusive control matching processing step 406 according to the first embodiment. 実施の形態1におけるSemaphore/Mutexのマッチング処理ステップ409の詳細フロー図。FIG. 4 is a detailed flowchart of Semaphore / Mutex matching processing step 409 according to the first embodiment. 実施の形態1における新規システム性能見積もり処理の詳細フロー図。FIG. 3 is a detailed flowchart of new system performance estimation processing in the first embodiment. 実施の形態3における性能予測システム800の全体構成の一例を示すシステム構成図。FIG. 10 is a system configuration diagram illustrating an example of an overall configuration of a performance prediction system 800 according to a third embodiment. 実施の形態3における計算機システム810,820のハードウェア構成の一例を示すハードウェア構成図。FIG. 11 is a hardware configuration diagram illustrating an example of a hardware configuration of computer systems 810 and 820 according to the third embodiment. 実施の形態3における計算機システム810が実行するプログラムの構成の一例を示す図。The figure which shows an example of the structure of the program which the computer system 810 in Embodiment 3 performs. 実施の形態3における計算機システム820が実行するプログラムの構成の一例を示す図。FIG. 14 is a diagram illustrating an example of a configuration of a program executed by a computer system 820 in the third embodiment. 実施の形態3における性能予測装置100の外観の一例を示す斜視図。FIG. 10 is a perspective view illustrating an example of an appearance of a performance prediction apparatus 100 according to a third embodiment. 実施の形態3における性能予測装置100のハードウェア資源の一例を示す図。FIG. 10 is a diagram illustrating an example of hardware resources of the performance prediction apparatus 100 according to the third embodiment. 実施の形態3における性能予測装置100の機能ブロックの構成の一例を示すブロック構成図。FIG. 10 is a block configuration diagram illustrating an example of a functional block configuration of a performance prediction apparatus 100 according to a third embodiment. 実施の形態3における性能予測処理S610の流れの一例を示すフローチャート図。FIG. 10 is a flowchart showing an example of a flow of performance prediction processing S610 in the third embodiment.

組込み計算機システムにおいて、既存計算機システムからオペレーティングシステム(以下「OS」と呼ぶ。)やハードウェア(以下「HW」と呼ぶ。)を変更し、新規計算機システムに移行する場合、開発前に性能見積もりを行う必要がある。
計算機システムの性能見積もり方式として、組込み機器の分野によって複数のベンチマークの組み合わせを変更し、見積もり対象の組み込み機器分野の性能見積もりを行う方式がある。
また、評価システムに対し構成を自動認識し適切な評価対象プログラムを抽出し、評価対象プログラムを実行し評価を行う方式がある。
このような計算機システムの性能見積方式では、アプリケーションの特徴に併せたシステムの性能を見積もることができない。
In an embedded computer system, when an operating system (hereinafter referred to as “OS”) or hardware (hereinafter referred to as “HW”) is changed from an existing computer system and migrated to a new computer system, a performance estimate is required before development. There is a need to do.
As a performance estimation method for a computer system, there is a method for changing the combination of a plurality of benchmarks depending on the field of embedded devices and estimating the performance of the target embedded device field.
There is also a method of automatically recognizing the configuration of the evaluation system, extracting an appropriate evaluation target program, executing the evaluation target program, and performing evaluation.
In such a computer system performance estimation method, it is not possible to estimate the system performance in accordance with the characteristics of the application.

以下に説明する性能予測装置は、新規・既存計算機上でOS基本処理やファイルアクセスといった基本性能を測定し、既存計算機システム上にてアプリケーションログを取得し、そのログを実測値使用部と性能比使用部にわけ、実測値使用部には新規計算機上で測定した基本性能を使用し、性能比使用部にはベンチマークによって計測した新規計算機と既存計算機の性能比を使用し、新規計算機システムの性能見積もりを行う。
性能予測装置は、新規計算機システムでアプリケーションを動かすことなく、アプリケーションの特徴に合わせた新規システムの性能を見積もることができるので、開発前に詳細な新規システムの性能見積もりを行うことができる。
The performance prediction device described below measures basic performance such as OS basic processing and file access on a new / existing computer, acquires an application log on the existing computer system, and uses the actual value using unit and the performance ratio. Using the basic performance measured on the new computer for the measured value used part, and using the performance ratio of the new computer and the existing computer measured by the benchmark for the performance ratio used part, the performance of the new computer system Make an estimate.
Since the performance prediction apparatus can estimate the performance of the new system according to the characteristics of the application without moving the application on the new computer system, the performance prediction of the new system can be performed in detail before development.

実施の形態1.
実施の形態1について、図1〜図8を用いて説明する。
Embodiment 1 FIG.
The first embodiment will be described with reference to FIGS.

図1は、この実施の形態における性能見積もりシステムのシステム構成図である。   FIG. 1 is a system configuration diagram of a performance estimation system according to this embodiment.

既存の計算機システム101(第二の計算機システム)は、性能見積対象である既存アプリケーション102(アプリケーションプログラム)と、オペレーティングシステムの差異を吸収するソフトウェア層であるミドルウェア103と、ログ取得部104と、既存計算機システム上のオペレーティングシステム105と、既存計算機システム上のハードウェア106とからなる。
ログ取得部104(実行ログ取得部)は、ミドルウェアAPIとそのミドルウェアAPI開始直後と終了直前のタイムスタンプとミドルウェアの引数を取得し、ミドルウェアがどのスレッドで実行されているかを表すスレッドIDを取得し、またミドルウェア内でコールされるシステムコールとそのシステムコールの開始直前と終了直後のタイムスタンプとシステムコールの引数を取得する。
アプリケーションログ107(実行ログ)は、既存計算機システム上で性能見積対象であるアプリケーションを実行した際にログ取得部104で取得できるアプリケーションログである。
The existing computer system 101 (second computer system) includes an existing application 102 (application program) that is a performance estimation target, middleware 103 that is a software layer that absorbs differences between operating systems, a log acquisition unit 104, an existing It comprises an operating system 105 on a computer system and hardware 106 on an existing computer system.
The log acquisition unit 104 (execution log acquisition unit) acquires a middleware API, a time stamp immediately before and after the middleware API starts, and an argument of the middleware, and acquires a thread ID indicating in which thread the middleware is executed. Also, the system call called in the middleware, the time stamp immediately before and after the start of the system call, and the argument of the system call are obtained.
The application log 107 (execution log) is an application log that can be acquired by the log acquisition unit 104 when an application that is a performance estimation target is executed on an existing computer system.

新規あるいは既存の計算機システム108(第一の計算機システム)は、OS基本処理及びファイルアクセスなどの基本性能を取得する基本性能取得部109(第一実行時間取得部)と、新規・既存計算機上のオペレーティングシステム111と、新規・既存計算機上のハードウェア112とからなる。
計算機システム108における新規・既存オペレーティングシステム111、新規・既存ハードウェア112の構成は、例えば評価ボードのように基本性能を取得できるような最小限な構成でよい。
基本性能結果113は、新規・既存計算機上で取得した基本性能結果である。
A new or existing computer system 108 (first computer system) includes a basic performance acquisition unit 109 (first execution time acquisition unit) that acquires basic performance such as OS basic processing and file access, and a new / existing computer. It comprises an operating system 111 and hardware 112 on new and existing computers.
The configuration of the new / existing operating system 111 and the new / existing hardware 112 in the computer system 108 may be a minimum configuration that can acquire basic performance such as an evaluation board.
The basic performance result 113 is a basic performance result acquired on a new / existing computer.

ログ解析部114(総実行時間算出部・第二実行時間算出部)は、ログ取得部104で得たアプリケーションログ107を解析し、ログ解析結果115を得る。
ログ解析結果115は、新規・既存計算機で測定した基本性能結果113を使用する実測値使用部116と、ベンチマークによって計測した新規計算機と既存計算機の性能比を使用する性能比使用部117とからなる。
The log analysis unit 114 (total execution time calculation unit / second execution time calculation unit) analyzes the application log 107 obtained by the log acquisition unit 104 and obtains a log analysis result 115.
The log analysis result 115 includes an actual value use unit 116 that uses the basic performance result 113 measured by the new / existing computer, and a performance ratio use unit 117 that uses the performance ratio of the new computer and the existing computer measured by the benchmark. .

新規システム性能見積部118(総実行時間予測部)は、ログ解析部114で得たログ解析結果115を使用して、実測値使用部116には新規計算機で得た基本性能を使用し、性能比使用部117には既存システムの結果に新規・既存計算機の性能比を加味した結果を使用し、新規システム性能見積結果119を得る。   The new system performance estimation unit 118 (total execution time prediction unit) uses the log analysis result 115 obtained by the log analysis unit 114, and uses the basic performance obtained by the new computer for the actual measurement value use unit 116. The ratio use unit 117 obtains a new system performance estimation result 119 by using the result of adding the performance ratio of the new / existing computer to the result of the existing system.

図2は、この実施の形態における新規システム性能見積もり処理の全体フロー図である。
新規システムの実測値使用部をOS基本性能とし、OSにWindows(登録商標)CEを使用した際のフローを動作例として説明する。
FIG. 2 is an overall flowchart of the new system performance estimation process in this embodiment.
The flow when using the measured value use unit of the new system as the OS basic performance and using Windows (registered trademark) CE as the OS will be described as an operation example.

ステップ201で、基本性能取得部109は、既存・新規システム上にてOS基本性能を測定、ベンチマークを実行する。
ステップ202で、新規システム性能見積部118は、ベンチマーク実行結果より既存・新規性能比を算出する。
ステップ203で、ログ取得部104は、既存アプリケーションのログを取得する。
ステップ204で、ログ解析部114は、ステップ203で得た既存アプリケーションのログ解析を行い、ログ解析結果205を出力する。
ステップ206で、新規システム性能見積部118は、ログ解析結果205を基に新規システムの性能見積を行い、新規システム性能見積結果207を出力する。
In step 201, the basic performance acquisition unit 109 measures the OS basic performance on the existing / new system and executes a benchmark.
In step 202, the new system performance estimation unit 118 calculates the existing / new performance ratio from the benchmark execution result.
In step 203, the log acquisition unit 104 acquires a log of an existing application.
In step 204, the log analysis unit 114 performs log analysis of the existing application obtained in step 203 and outputs a log analysis result 205.
In step 206, the new system performance estimation unit 118 performs performance estimation of the new system based on the log analysis result 205 and outputs a new system performance estimation result 207.

図3は、この実施の形態におけるアプリケーションログ107の一例を示す図である。
ID301は、ログが出力されたスレッドのIDである。
関数名302は、ミドルウェアAPIとシステムコールの名前であり、ミドルウェアAPIの場合、Mw_×××のようにシステムコールと区別がつく。
引数303は、ミドルウェアAPIあるいはシステムコールの引数である。
タイムスタンプ304は、ログ出力時のタイムスタンプである。
FIG. 3 is a diagram showing an example of the application log 107 in this embodiment.
ID 301 is the ID of the thread that output the log.
The function name 302 is the name of the middleware API and the system call. In the case of the middleware API, the function name 302 can be distinguished from the system call such as Mw_xxx.
An argument 303 is an argument of middleware API or system call.
The time stamp 304 is a time stamp at the time of log output.

ログを出力する場所は、ミドルウェア関数内である。ログを取得するタイミングは、ミドルウェアAPI開始直後と終了直前、システムコールの開始直前と終了直後とする。   The log output location is in the middleware function. Logs are acquired immediately after the middleware API starts and immediately before the end, and immediately before and after the start of the system call.

図4は、この実施の形態におけるログ解析ステップ204のフロー図である。
ステップ401で、ログ解析部114は、OS基本処理の解析をするか判断する。OS基本処理の解析でないと判断した場合、ステップ402で、ログ解析部114は、その他の解析処理を行う。
ステップ401でOS基本処理の解析をすると判断し、ステップ403でログにイベント切り替え命令がある場合、ステップ404で、ログ解析部114は、イベント切り替えのマッチング処理を行う。
ステップ405でログに排他制御命令がある場合、ステップ406で、ログ解析部114は、排他制御のマッチング処理を行う。
ステップ407でログにSemaphore命令がある場合やステップ408でログにMutex命令がある場合、ステップ409で、ログ解析部114は、Semaphore/Mutexのマッチング処理を行う。
ステップ403、ステップ405、ステップ407、ステップ408すべてに該当しない場合、ステップ410で、ログ解析部114は、OS基本処理で計測した箇所でないことをチェックする。
FIG. 4 is a flowchart of the log analysis step 204 in this embodiment.
In step 401, the log analysis unit 114 determines whether to analyze the OS basic process. If it is determined that the analysis is not an OS basic process analysis, in step 402, the log analysis unit 114 performs other analysis processes.
If it is determined in step 401 that OS basic processing is to be analyzed, and if there is an event switching command in the log in step 403, the log analysis unit 114 performs event switching matching processing in step 404.
If there is an exclusive control command in the log in step 405, in step 406, the log analysis unit 114 performs exclusive control matching processing.
If there is a Semaphore instruction in the log in Step 407 or if there is a Mutex instruction in the log in Step 408, the log analysis unit 114 performs Semaphore / Mutex matching processing in Step 409.
If none of Step 403, Step 405, Step 407, and Step 408 is applicable, in Step 410, the log analysis unit 114 checks that it is not a location measured by the OS basic process.

図5は、この実施の形態におけるイベント切り替えのマッチング処理ステップ404の詳細フロー図である。
ステップ501で、実行待ちが解除(SetEvent)されたスレッドが直後に実行待ち(WaitForSingleObject)の終わりのログを出している場合、ステップ502で、ログ解析部114は、SetEvent:StartとWaitForSingleObject:Endをイベント切り替え処理処理としてチェックする。
これは、WaitforSingleObject命令で待ち状態に入ったスレッドが、SetEventによって待ち状態が解除されてからスレッドが切り替わるまでの時間である。
FIG. 5 is a detailed flowchart of the event switching matching processing step 404 in this embodiment.
In step 501, if the thread whose execution wait has been released (SetEvent) is immediately after the end of execution wait (WaitForSingleObject), the log analysis unit 114 sets SetEvent: Start and WaitForSingleObject: End. Check as event switching processing.
This is the time from when a thread that has entered the wait state with the WaitForSingleObject instruction is released from the wait state with SetEvent until the thread is switched.

ステップ501で、違うログがでていた場合、ログ解析部114は、イベント切り替えが起こらなかったと判断する。ステップ503で、ログ解析部114は、OS基本性能測定で計測した箇所でないことをチェックする。   If a different log appears in step 501, the log analysis unit 114 determines that event switching has not occurred. In step 503, the log analysis unit 114 checks that it is not a location measured by OS basic performance measurement.

図6は、この実施の形態における排他制御のマッチング処理ステップ406の詳細フロー図である。
「排他制御の資源確保ブロック後のスレッドプライオリティ反転なし」は、ログだけでOS基本処理部を抽出することができないため、OS基本処理以外の部分と分離する作業が必要である。
FIG. 6 is a detailed flowchart of the exclusive control matching process step 406 in this embodiment.
“No thread priority reversal after exclusive control resource reservation block” cannot extract the OS basic processing unit only by the log, and therefore requires a work to separate from the part other than the OS basic processing.

ステップ601で資源解放前に同一資源を確保しようとし、ステップ602で資源確保(EnterCriticalSection)スレッドが資源開放待ちスレッドよりもプライオリティが低い場合、ステップ603で、ログ解析部114は、資源確保していたスレッドが資源開放を行ってから(LeaveCriticalSection:Start)、資源開放待ちのスレッドが資源を確保し終えるまで(EnterCriticalSection:End)をOS基本性能測定で計測した箇所としてチェックする。   If the same resource is attempted to be secured before releasing the resource in step 601, and the resource securing (Enter Critical Section) thread has a lower priority than the resource release waiting thread in step 602, the log analysis unit 114 has secured the resource in step 603. After the thread releases the resource (Leave Critical Section: Start), the thread waiting for the resource release finishes securing the resource (Enter Critical Section: End) as the location measured by the OS basic performance measurement.

ステップ602で資源確保(EnterCriticalSection)スレッドが資源開放待ちスレッドよりもプライオリティが高い場合、ステップ604で、ログ解析部114は、資源開放待ちのスレッドが資源確保しようとしてから(EnterCriticalSection:Start)、直後のログをOS基本性能測定で計測した箇所としてチェックを行う。
しかし、ステップ604該当部分は、ログだけではOS基本性能測定で計測した箇所を抽出することができないため、OS基本処理以外の部分と分離する作業が必要である。
If the priority of the resource securing (Enter Critical Section) thread is higher than that of the resource release waiting thread in Step 602, in Step 604, the log analysis unit 114 tries to secure the resource (Enter Critical Section: Start) immediately after the thread is waiting for the resource release. The log is checked as a location measured by OS basic performance measurement.
However, since the portion measured by the OS basic performance measurement cannot be extracted from the portion corresponding to Step 604 only by the log, it is necessary to separate the portion from the portion other than the OS basic processing.

ステップ605で、ログ解析部114は、OS基本性能測定で計測した箇所とそれ以外の部分を分離する。
ステップ606で、ログ解析部114は、ステップ604該当における計測時間をタイムスタンプにより計算する。
ステップ607で、ログ解析部114は、ステップ606で取得した時間からステップ604で該当するOS基本処理時間を差し引き、ステップ606で取得した時間からOS基本処理以外の時間を算出する。
ステップ608で、ログ解析部114は、ステップ607で算出した時間をOS基本性能測定で計測した箇所でないことをチェックし、OS基本性能測定で計測した箇所とその他の箇所で分けることができる。
In step 605, the log analysis unit 114 separates the part measured by the OS basic performance measurement from the other part.
In step 606, the log analysis unit 114 calculates the measurement time corresponding to step 604 from the time stamp.
In step 607, the log analysis unit 114 subtracts the corresponding OS basic processing time in step 604 from the time acquired in step 606, and calculates a time other than the OS basic processing from the time acquired in step 606.
In step 608, the log analysis unit 114 checks that the time calculated in step 607 is not the location measured by the OS basic performance measurement, and can divide it into the location measured by the OS basic performance measurement and other locations.

ステップ601で、資源解放前に同一資源を確保しようとしていない場合、ステップ609で、ログ解析部114は、測定した排他制御のOS基本処理が起こらなかったと判断してOS基本性能測定で計測した箇所でないことをチェックする。   If it is determined in step 601 that the same resource is not secured before releasing the resource, in step 609, the log analysis unit 114 determines that the measured OS basic processing of exclusive control has not occurred, and the location measured by OS basic performance measurement Check that it is not.

図7は、この実施の形態におけるSemaphore/Mutexのマッチング処理ステップ409の詳細フロー図である。
「Semaphore」あるいは「Mutex」は、ログだけでOS基本処理部を抽出することができないため、OS基本処理以外の部分と分離する作業が必要である。
FIG. 7 is a detailed flowchart of Semaphore / Mutex matching processing step 409 in this embodiment.
In “Semaphore” or “Mutex”, the OS basic processing unit cannot be extracted only by the log, and therefore, it is necessary to separate it from parts other than the OS basic processing.

ステップ701で、セマフォの開放(ReleaseSemaphore)を行おうとした場合、ステップ702で、ログ解析部114は、セマフォの開放を行おう(ReleaseSemaphore:Start)としてから、直後のログをOS基本性能測定で計測した箇所としてチェックを行う。
ステップ701で、セマフォの開放ではない場合、ミューテックスの開放(ReleaseMutex)を行おうとしているので、ステップ703で、ログ解析部114は、ミューテックスの開放を(ReleaseMutex:Start)としてから、直後のログをOS基本性能測定で計測した箇所としてチェックを行う。
しかし、ステップ702、ステップ703該当部分は、ログだけではOS基本性能測定で計測した箇所を抽出することができないため、OS基本処理以外の部分と分離する作業が必要である。
In step 701, when the semaphore is to be released (ReleaseSemaphore), in step 702, the log analysis unit 114 attempts to release the semaphore (ReleaseSemaphore: Start) and then measures the immediately following log by OS basic performance measurement. Check as done.
If the semaphore is not released in step 701, the mutex is released (ReleaseMutex). Therefore, in step 703, the log analysis unit 114 sets the mutex to be released (ReleaseMutex: Start), and then logs the next log. Check as a location measured by OS basic performance measurement.
However, the portions corresponding to step 702 and step 703 cannot be extracted from the portion measured by the OS basic performance measurement only by the log, and therefore, the work separated from the portions other than the OS basic processing is necessary.

ステップ704で、ログ解析部114は、OS基本性能測定で計測した箇所とそれ以外の部分を分離する。
ステップ705で、ログ解析部114は、ステップ702、ステップ703該当における計測時間をタイムスタンプにより計算する。
ステップ706で、ログ解析部114は、ステップ705で取得した時間からステップ702、ステップ703で該当するOS基本処理時間を差し引き、ステップ705で取得した時間からOS基本処理以外の時間を算出する。
ステップ707で、ログ解析部114は、ステップ706で算出した時間をOS基本性能測定で計測した箇所でないことをチェックし、OS基本性能測定で計測した箇所とその他の箇所で分けることができる。
In step 704, the log analysis unit 114 separates the part measured by the OS basic performance measurement from the other part.
In step 705, the log analysis unit 114 calculates the measurement time corresponding to step 702 and step 703 from the time stamp.
In step 706, the log analysis unit 114 subtracts the corresponding OS basic processing time in steps 702 and 703 from the time acquired in step 705, and calculates a time other than the OS basic processing from the time acquired in step 705.
In step 707, the log analysis unit 114 checks that the time calculated in step 706 is not the location measured by the OS basic performance measurement, and can divide it into the location measured by the OS basic performance measurement and other locations.

図8は、この実施の形態における新規システム性能見積もり処理の詳細フロー図である。
ログ解析結果205をもとに、ステップ801で基本性能測定で計測した処理部の場合、ステップ802で、新規システム性能見積部118は、マッチングした箇所を新規システム上で計測した対応基本処理性能値に置き換える。
ステップ801で基本性能測定で計測した処理部でない場合、ステップ803で、新規システム性能見積部118は、基本性能測定で計測した処理部でない計測時間に新規・既存性能比を加味し置き換える。
FIG. 8 is a detailed flowchart of the new system performance estimation process in this embodiment.
In the case of the processing unit measured by the basic performance measurement in step 801 based on the log analysis result 205, in step 802, the new system performance estimation unit 118 corresponds to the corresponding basic processing performance value measured on the new system. Replace with
If it is not the processing unit measured in the basic performance measurement in step 801, in step 803, the new system performance estimation unit 118 replaces the measurement time that is not the processing unit measured in the basic performance measurement with the new / existing performance ratio.

以上のように、新規既存計算機上で基本性能を実測し、新規・既存計算機の性能比を計算し、既存アプリケーションのログを取得し、そのログを解析し実測値使用部と性能比使用部に分け新規システムの性能見積もりをおこなうようにしているので、既存アプリケーションを新規システム上で動かすことなく既存アプリケーションの特徴にあった新規システムの性能見積もりを行うことができる。   As described above, measure the basic performance on the new existing computer, calculate the performance ratio of the new / existing computer, acquire the log of the existing application, analyze the log, and use the measured value use part and the performance ratio use part Since the performance estimation of the divided new system is performed, it is possible to estimate the performance of the new system according to the characteristics of the existing application without moving the existing application on the new system.

以上説明した性能見積もり方式は、OSやHWが異なる計算機システム上で既存アプリケーションを動作させたときの、アプリケーション処理性能を、動作ログを元に算出する。   The performance estimation method described above calculates the application processing performance when an existing application is operated on a computer system with a different OS or HW based on the operation log.

この性能見積もり方式は、OS基本性能を測定した結果を動作ログで測定した実行時間と組み合わせることでアプリケーションの処理性能を算出する。   In this performance estimation method, the processing performance of an application is calculated by combining the result of measuring the OS basic performance with the execution time measured by the operation log.

実施の形態2.
実施の形態1では、新規システム上で計測したOS基本性能を実測値として使用するようにしたものであるが、OS基本性能の代わりにファイルアクセス性能やグラフィック性能を新規システム上で計測し実測値としてもよい。
Embodiment 2. FIG.
In the first embodiment, the OS basic performance measured on the new system is used as the actual measurement value, but instead of the OS basic performance, the file access performance and graphic performance are measured on the new system and the actual measurement value is obtained. It is good.

実施の形態3.
実施の形態3について、図9〜図16を用いて説明する。
なお、実施の形態1〜実施の形態2と共通する部分については、同一の符号を付し、説明を省略する。
Embodiment 3 FIG.
A third embodiment will be described with reference to FIGS.
In addition, about the part which is common in Embodiment 1- Embodiment 2, the same code | symbol is attached | subjected and description is abbreviate | omitted.

図9は、この実施の形態における性能予測システム800の全体構成の一例を示すシステム構成図である。
性能予測システム800は、性能予測装置100、2つの計算機システム810,820を有する。性能予測システム800は、アプリケーションプログラム830を計算機システム810が実行した結果に基づいて、アプリケーションプログラム830を計算機システム820が実行した場合の結果を予測し、計算機システム820の性能を評価する。
FIG. 9 is a system configuration diagram showing an example of the overall configuration of the performance prediction system 800 in this embodiment.
The performance prediction system 800 includes a performance prediction apparatus 100 and two computer systems 810 and 820. The performance prediction system 800 predicts the result when the computer system 820 executes the application program 830 based on the result of the execution of the application program 830 by the computer system 810, and evaluates the performance of the computer system 820.

計算機システム810(第二の計算機システム)は、既に稼働しているシステムであり、アプリケーションプログラム830を含む様々なプログラムを実行することができる。   The computer system 810 (second computer system) is an already operating system and can execute various programs including the application program 830.

これに対し、計算機システム820(第一の計算機システム)は、開発中のシステムであり、未完成である。アプリケーションプログラム830は、計算機システム820でも実行可能なプログラムであるが、計算機システム820が未完成であるため、現時点では、計算機システム820がアプリケーションプログラム830を実行することはできない。しかし、計算機システム820は、基本的なプログラムなど、いくつかのプログラムを実行することはできる。
例えば、計算機システム820は、組み込みシステムであり、制御対象となる装置に組み込まれて動作するシステムである。しかし、計算機システム820は、開発中のため、まだ、制御対象装置に組み込まれていない。アプリケーションプログラム830は、制御対象装置を制御するプログラムであるため、制御対象装置に組み込まれていない状態の計算機システム820では、実行することができない。
On the other hand, the computer system 820 (first computer system) is a system under development and is incomplete. The application program 830 is a program that can be executed by the computer system 820. However, since the computer system 820 is incomplete, the computer system 820 cannot execute the application program 830 at this time. However, the computer system 820 can execute several programs such as a basic program.
For example, the computer system 820 is an embedded system, and is a system that operates by being incorporated in a device to be controlled. However, since the computer system 820 is under development, it is not yet incorporated into the control target device. Since the application program 830 is a program that controls the control target device, it cannot be executed by the computer system 820 that is not incorporated in the control target device.

このような状況において、性能予測装置100は、計算機システム820がアプリケーションプログラム830を実行するのにかかる時間を予測する。性能予測システム800の利用者は、性能予測装置100が予測した結果に基づいて、予測される計算機システム820の性能を評価し、必要があれば、計算機システム820の構成を変更するなどの対処をする。これにより、所望の性能を持つ計算機システム820を開発することができる。   In such a situation, the performance prediction apparatus 100 predicts the time required for the computer system 820 to execute the application program 830. The user of the performance prediction system 800 evaluates the performance of the predicted computer system 820 based on the result predicted by the performance prediction device 100, and takes measures such as changing the configuration of the computer system 820 if necessary. To do. Thereby, a computer system 820 having desired performance can be developed.

図10は、この実施の形態における計算機システム810,820のハードウェア構成の一例を示すハードウェア構成図である。
計算機システム810は、例えば、処理装置811と、入力装置812と、出力装置813と、記憶装置814とを有する。計算機システム820も同様である。
FIG. 10 is a hardware configuration diagram showing an example of the hardware configuration of the computer systems 810 and 820 in this embodiment.
The computer system 810 includes, for example, a processing device 811, an input device 812, an output device 813, and a storage device 814. The same applies to the computer system 820.

処理装置811は、記憶装置814が記憶したプログラムを実行することにより、記憶装置814が記憶したデータを処理し、計算機システム810全体を制御する。
記憶装置814は、処理装置811が実行するプログラムや処理装置811が処理するデータを記憶する。
入力装置812は、計算機システム810の外部から情報を入力し、処理装置811が処理できるデータに変換する。入力装置812が変換したデータは、処理装置811が直接処理をしてもよいし、記憶装置814が一時的に記憶してもよい。
出力装置813は、処理装置811が処理したデータや記憶装置814が記憶したデータを変換して、計算機システム810の外部に出力する。
The processing device 811 processes the data stored in the storage device 814 by executing the program stored in the storage device 814, and controls the computer system 810 as a whole.
The storage device 814 stores a program executed by the processing device 811 and data processed by the processing device 811.
The input device 812 inputs information from outside the computer system 810 and converts it into data that can be processed by the processing device 811. The data converted by the input device 812 may be processed directly by the processing device 811 or temporarily stored by the storage device 814.
The output device 813 converts the data processed by the processing device 811 and the data stored in the storage device 814 and outputs the converted data to the outside of the computer system 810.

図11は、この実施の形態における計算機システム810が実行するプログラムの構成の一例を示す図である。
計算機システム810は、オペレーティングシステム815、ミドルウェア816、ベンチマークプログラム817、ログ生成プログラム818、アプリケーションプログラム830などのプログラムを実行する。これらのプログラムは、記憶装置814が記憶し、処理装置811が実行する。
FIG. 11 is a diagram showing an example of the configuration of a program executed by the computer system 810 in this embodiment.
The computer system 810 executes programs such as an operating system 815, middleware 816, a benchmark program 817, a log generation program 818, and an application program 830. These programs are stored in the storage device 814 and executed by the processing device 811.

オペレーティングシステム815は、計算機システム810のハードウェア資源を管理し、オペレーティングシステム815上で動作するアプリケーションプログラム830などのプログラムに、ハードウェア資源を割り当てる。また、オペレーティングシステム815は、アプリケーションプログラム830などのプログラムに対して、システムコールを提供する。アプリケーションプログラム830などのプログラムがシステムコールを呼び出すことにより、入出力処理などオペレーティングシステム815が有する様々な機能が提供される。
オペレーティングシステム815がアプリケーションプログラム830などのプログラムに提供する機能には、例えば、ファイルアクセス機能がある。ファイルアクセス機能は、記憶装置814などが記憶したファイルに対して、オープン、クローズ、読み出し、書き込みなどの操作をする機能である。
また、オペレーティングシステム815がアプリケーションプログラム830などのプログラムに提供する機能には、例えば、イベント切替機能、排他制御機能、同期制御機能などがある。イベント切替機能は、入出力処理の完了などのイベントを待って待機しているスレッドがあり、そのスレッドが待っていたイベントが発生した場合に、実行中のスレッドの優先度と待機中のスレッドの優先度とを比較して、待機中のスレッドの優先度のほうが高ければ、実行中のスレッドを待機状態に切り替え、待機中のスレッドの実行を再開する機能である。排他制御機能は、複数のスレッドが一つのデータを更新することによる不整合の発生を防ぐため、あるスレッドがデータを更新しているときに、他のスレッドがそのデータを更新しようした場合に、データの更新が終わるまで他のスレッドを待機させる機能である。同期制御機能は、複数のスレッドを協調動作させるため、あるスレッドが更新したデータを利用する他のスレッドを、データの更新が終わるまで待機させる機能である。
The operating system 815 manages hardware resources of the computer system 810 and allocates hardware resources to programs such as an application program 830 that operates on the operating system 815. The operating system 815 provides system calls to programs such as the application program 830. When a program such as the application program 830 calls a system call, various functions of the operating system 815 such as input / output processing are provided.
Examples of functions provided by the operating system 815 to programs such as the application program 830 include a file access function. The file access function is a function for performing operations such as opening, closing, reading, and writing on a file stored in the storage device 814 or the like.
The functions provided by the operating system 815 to programs such as the application program 830 include, for example, an event switching function, an exclusive control function, and a synchronization control function. In the event switching function, there is a thread waiting for an event such as completion of I / O processing, and when the event that the thread is waiting for occurs, the priority of the executing thread and the waiting thread If the priority of the waiting thread is higher than that of the waiting thread, this function switches the executing thread to the waiting state and resumes the waiting thread. In order to prevent inconsistency due to multiple threads updating one data, the exclusive control function, when one thread is updating data, when another thread tries to update the data, This function waits for another thread until the data update is completed. The synchronization control function is a function of waiting for another thread that uses data updated by a certain thread to complete the update of data in order to cause a plurality of threads to cooperate.

ミドルウェア816は、オペレーティングシステム815の機能を拡張して、汎用的な機能をアプリケーションプログラム830などのプログラムに提供するプログラムである。ミドルウェア816がアプリケーションプログラム830などのプログラムに提供する機能には、例えば、データベース管理機能など、より高度な処理を実現するための機能や、拡張ファイルアクセス機能、グラフィック機能、ネットワーク機能など、オペレーティングシステム815の機能を補完する機能などがある。   The middleware 816 is a program that extends the functions of the operating system 815 and provides general-purpose functions to programs such as the application program 830. The functions provided by the middleware 816 to programs such as the application program 830 include, for example, an operating system 815 such as a function for realizing more advanced processing such as a database management function, an extended file access function, a graphic function, and a network function. There is a function that complements the function.

アプリケーションプログラム830は、所定の処理をするプログラムである。アプリケーションプログラム830は、オペレーティングシステム815やミドルウェア816が提供する機能を呼び出して利用する。   The application program 830 is a program that performs predetermined processing. The application program 830 calls and uses functions provided by the operating system 815 and the middleware 816.

ベンチマークプログラム817は、計算機システム810の性能を測定するプログラムである。ベンチマークプログラム817は、所定の計算を実行するのにかかった時間を測定し、処理装置811の処理速度を測定する。また、ベンチマークプログラム817は、オペレーティングシステム815やミドルウェア816が提供する機能を呼び出して、処理にかかった時間を測定し、オペレーティングシステム815やミドルウェア816の処理速度を測定する。   The benchmark program 817 is a program for measuring the performance of the computer system 810. The benchmark program 817 measures the time taken to execute a predetermined calculation, and measures the processing speed of the processing device 811. In addition, the benchmark program 817 calls a function provided by the operating system 815 and the middleware 816, measures the time taken for processing, and measures the processing speed of the operating system 815 and middleware 816.

ログ生成プログラム818は、オペレーティングシステム815やミドルウェア816が提供する機能の呼出しや、呼び出された機能の処理の終了などのイベントの発生を記録するプログラムである。ログ生成プログラム818は、イベントの発生時刻、内容などを記録した実行ログを生成する。   The log generation program 818 is a program that records the occurrence of an event such as a call of a function provided by the operating system 815 or the middleware 816, or an end of processing of the called function. The log generation program 818 generates an execution log in which event occurrence times and contents are recorded.

図12は、この実施の形態における計算機システム820が実行するプログラムの構成の一例を示す図である。
計算機システム820は、オペレーティングシステム825、ミドルウェア826、ベンチマークプログラム827などのプログラムを実行する。これらのプログラムは、記憶装置814が記憶し、処理装置811が実行する。
オペレーティングシステム825は、オペレーティングシステム815と同様なので、詳しい説明は省略する。なお、オペレーティングシステム825は、オペレーティングシステム815と同じOSであってもよいし、異なるOSであってもよい。
ミドルウェア826は、ミドルウェア816と同様なので、詳しい説明は省略する。なお、ミドルウェア826は、ミドルウェア816と同じミドルウェアであってもよいし、同等の機能を提供する異なるミドルウェアであってもよい。
ベンチマークプログラム827は、ベンチマークプログラム817と同様なので、詳しい説明は省略する。ベンチマークプログラム827は、ベンチマークプログラム817による測定結果と対比できるよう、ベンチマークプログラム817が測定する項目と同じ項目について、計算機システム820の性能を測定する。
FIG. 12 is a diagram showing an example of the configuration of a program executed by the computer system 820 in this embodiment.
The computer system 820 executes programs such as an operating system 825, middleware 826, and a benchmark program 827. These programs are stored in the storage device 814 and executed by the processing device 811.
Since the operating system 825 is the same as the operating system 815, detailed description thereof is omitted. Note that the operating system 825 may be the same OS as the operating system 815 or a different OS.
Since the middleware 826 is the same as the middleware 816, detailed description is omitted. The middleware 826 may be the same middleware as the middleware 816, or may be different middleware that provides an equivalent function.
Since the benchmark program 827 is the same as the benchmark program 817, detailed description is omitted. The benchmark program 827 measures the performance of the computer system 820 for the same items as the items measured by the benchmark program 817 so that the measurement results obtained by the benchmark program 817 can be compared.

アプリケーションプログラム830は、コンパイルし直すなどの細かな修正が必要になる場合はあるものの、原則として、計算機システム820でも実行することができる。ただし、上述したように、現時点では、計算機システム820がアプリケーションプログラム830を実行することはできないものとする。   The application program 830 can be executed by the computer system 820 as a general rule, although fine correction such as recompilation may be necessary. However, as described above, it is assumed that the computer system 820 cannot execute the application program 830 at the present time.

図13は、この実施の形態における性能予測装置100の外観の一例を示す斜視図である。
性能予測装置100は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク942(LAN)、ゲートウェイ941を介してインターネット940に接続されている。
FIG. 13 is a perspective view showing an example of the appearance of the performance prediction apparatus 100 according to this embodiment.
The performance prediction device 100 includes a system unit 910, a display device 901 having a CRT (Cathode / Ray / Tube) or LCD (liquid crystal) display screen, a keyboard 902 (Key / Board: K / B), a mouse 903, an FDD 904 (Flexible). (Disk / Drive), compact disk device 905 (CDD), printer device 906, scanner device 907, and other hardware resources, which are connected by a cable or a signal line.
The system unit 910 is a computer, and is connected to the facsimile machine 932 and the telephone 931 via a cable, and is connected to the Internet 940 via a local area network 942 (LAN) and a gateway 941.

図14は、この実施の形態における性能予測装置100のハードウェア資源の一例を示す図である。
性能予測装置100は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信装置915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。通信装置915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信装置915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
FIG. 14 is a diagram illustrating an example of hardware resources of the performance prediction apparatus 100 according to this embodiment.
The performance prediction apparatus 100 includes a CPU 911 (also referred to as a central processing unit, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, and a processor) that executes a program. The CPU 911 is connected to the ROM 913, the RAM 914, the communication device 915, the display device 901, the keyboard 902, the mouse 903, the FDD 904, the CDD 905, the printer device 906, the scanner device 907, and the magnetic disk device 920 via the bus 912, and the hardware. Control the device. Instead of the magnetic disk device 920, a storage device such as an optical disk device or a memory card read / write device may be used.
The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of a storage device or a storage unit. A communication device 915, a keyboard 902, a scanner device 907, an FDD 904, and the like are examples of an input unit and an input device.
Further, the communication device 915, the display device 901, the printer device 906, and the like are examples of an output unit and an output device.

通信装置915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信装置915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
The communication device 915 is connected to a facsimile machine 932, a telephone 931, a LAN 942, and the like. The communication device 915 is not limited to the LAN 942, and may be connected to the Internet 940, a WAN (wide area network) such as ISDN, or the like. When connected to a WAN such as the Internet 940 or ISDN, the gateway 941 is unnecessary.
The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924. The programs in the program group 923 are executed by the CPU 911, the operating system 921, and the window system 922.

上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、フローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
The program group 923 stores programs that execute functions described as “˜units” in the description of the embodiments described below. The program is read and executed by the CPU 911.
In the file group 924, information, data, signal values, variable values, and parameters described as “determination results”, “calculation results”, and “processing results” are stored in “files” and “˜databases”. "Is stored as each item. The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, output, printing, and display. Information, data, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during the CPU operations of extraction, search, reference, comparison, operation, calculation, processing, output, printing, and display. Is remembered.
The arrows in the flowchart mainly indicate input / output of data and signals. The data and signal values are the RAM 914 memory, FDD 904 flexible disk, CDD 905 compact disk, magnetic disk device 920 magnetic disk, other optical disks, mini-disks, etc. It is recorded on a recording medium such as a disk or DVD (Digital Versatile Disk). Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.

また、「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。   Further, what is described as “˜part” may be “˜circuit”, “˜device”, “˜device”, and “˜step”, “˜procedure”, “˜processing” May be. That is, what is described as “˜unit” may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented only by software, or only by hardware such as elements, devices, substrates, and wirings, by a combination of software and hardware, or by a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “to part” described below. Alternatively, the procedure or method of “to part” described below is executed by a computer.

図15は、この実施の形態における性能予測装置100の機能ブロックの構成の一例を示すブロック構成図である。
性能予測装置100は、第一性能取得部121と、第二性能取得部122と、実行ログ取得部123と、第一実行時間取得部131と、実行時間比取得部132と、総実行時間算出部141と、第二実行時間算出部142と、総実行時間予測部150とを有する。
FIG. 15 is a block configuration diagram showing an example of a functional block configuration of the performance prediction apparatus 100 according to this embodiment.
The performance prediction apparatus 100 includes a first performance acquisition unit 121, a second performance acquisition unit 122, an execution log acquisition unit 123, a first execution time acquisition unit 131, an execution time ratio acquisition unit 132, and a total execution time calculation. Unit 141, second execution time calculation unit 142, and total execution time prediction unit 150.

第一性能取得部121は、CPU911を用いて、計算機システム820の性能を表わす性能測定データを取得する。第一性能取得部121は、磁気ディスク装置920を用いて、取得した性能測定データを記憶する。
第一性能取得部121が取得する性能測定データは、計算機システム820がベンチマークプログラム827を実行することにより生成されたデータである。性能測定データは、ベンチマーク試験により測定された計算機システム820の性能を表わす。性能測定データには、例えば、次のようなデータが含まれる。
The first performance acquisition unit 121 uses the CPU 911 to acquire performance measurement data representing the performance of the computer system 820. The first performance acquisition unit 121 uses the magnetic disk device 920 to store the acquired performance measurement data.
The performance measurement data acquired by the first performance acquisition unit 121 is data generated by the computer system 820 executing the benchmark program 827. The performance measurement data represents the performance of the computer system 820 measured by the benchmark test. The performance measurement data includes, for example, the following data.

・処理装置性能データ
処理装置性能データは、計算機システム820の処理装置811の性能を表わす。処理装置性能データは、例えば、所定の計算をする試験プログラムを計算機システム820が実行するのにかかった時間を表わすデータである。
Processing device performance data The processing device performance data represents the performance of the processing device 811 of the computer system 820. The processing device performance data is data representing, for example, the time taken for the computer system 820 to execute a test program for performing a predetermined calculation.

・ファイルアクセス性能データ
ファイルアクセス性能データは、オペレーティングシステム825やミドルウェア826がファイルとして管理する計算機システム820の記憶装置814が記憶したデータに対するアクセスの性能を表わす。ファイルアクセス性能データは、例えば、ファイルの読み出しや書き込みを実行する試験プログラムを計算機システム820が実行するのにかかった時間を表わすデータである。
File Access Performance Data The file access performance data represents the performance of access to data stored in the storage device 814 of the computer system 820 managed as a file by the operating system 825 and the middleware 826. The file access performance data is data representing the time taken for the computer system 820 to execute a test program for reading and writing a file, for example.

・イベント切替性能データ
イベント切替性能データは、オペレーティングシステム825が提供するイベント切替機能の性能を表わすデータである。イベント切替性能データは、例えば、イベント切替を多発させる試験プログラムを計算機システム820が実行するのにかかった時間を表わすデータである。
Event switching performance data The event switching performance data is data representing the performance of the event switching function provided by the operating system 825. The event switching performance data is data representing the time taken for the computer system 820 to execute a test program that frequently causes event switching, for example.

・排他制御性能データ
排他制御性能データは、オペレーティングシステム825が提供する排他制御機能の性能を表わすデータである。排他制御性能データは、例えば、排他制御を多発させる試験プログラムを計算機システム820が実行するのにかかった時間を表わすデータである。
Exclusive control performance data Exclusive control performance data is data representing the performance of the exclusive control function provided by the operating system 825. The exclusive control performance data is, for example, data representing the time taken for the computer system 820 to execute a test program that frequently causes exclusive control.

・同期制御性能データ
同期制御性能データは、オペレーティングシステム825が提供する同期制御機能の性能を表わすデータである。同期制御性能データは、例えば、同期制御を多発させる試験プログラムを計算機システム820が実行するのにかかった時間を表わすデータである。
Synchronous control performance data The synchronous control performance data is data representing the performance of the synchronous control function provided by the operating system 825. The synchronous control performance data is, for example, data representing the time taken for the computer system 820 to execute a test program that frequently causes synchronous control.

・グラフィック性能データ
グラフィック性能データは、計算機システム820の出力装置813の一つとして、画像を表示する表示装置がある場合に、オペレーティングシステム825やミドルウェア826が表示装置に所定の図形を表示する性能を表わすデータである。グラフィック性能データは、例えば、所定の図形を描画する試験プログラムを計算機システム820が実行するのにかかった時間を表わすデータである。
Graphic performance data The graphic performance data indicates the performance of the operating system 825 and middleware 826 displaying a predetermined graphic on the display device when there is a display device that displays an image as one of the output devices 813 of the computer system 820. It is data to represent. The graphic performance data is, for example, data representing the time taken for the computer system 820 to execute a test program for drawing a predetermined graphic.

このように、性能測定データは、計算機システム820の様々な性能を測定した結果を表わすデータが含まれる。   As described above, the performance measurement data includes data representing the results of measuring various performances of the computer system 820.

第二性能取得部122は、CPU911を用いて、計算機システム810の性能を表わす性能測定データを取得する。第二性能取得部122は、磁気ディスク装置920を用いて、取得した性能測定データを記憶する。
第二性能取得部122が取得する性能測定データは、計算機システム810がベンチマークプログラム817を実行することにより生成されたデータである。なお、第二性能取得部122が取得する計算機システム810の性能測定データの内容は、第一性能取得部121が取得する計算機システム820の性能測定データと同様なので、詳しい説明は省略する。
The second performance acquisition unit 122 uses the CPU 911 to acquire performance measurement data representing the performance of the computer system 810. The second performance acquisition unit 122 uses the magnetic disk device 920 to store the acquired performance measurement data.
The performance measurement data acquired by the second performance acquisition unit 122 is data generated when the computer system 810 executes the benchmark program 817. The contents of the performance measurement data of the computer system 810 acquired by the second performance acquisition unit 122 are the same as the performance measurement data of the computer system 820 acquired by the first performance acquisition unit 121, and thus detailed description thereof is omitted.

第一実行時間取得部131は、CPU911を用いて、第一性能取得部121が記憶した性能測定データに基づいて、計算機システム820において、特定の処理を実行するのにかかる時間を算出する。第一実行時間取得部131は、磁気ディスク装置920を用いて、算出した時間を表わすデータを記憶する。第一実行時間取得部131が記憶するデータを「第一実行時間データ」と呼ぶ。
特定の処理とは、例えば、イベント切替処理、排他制御処理、同期制御処理、ファイルアクセス処理、グラフィック処理などである。これらの処理は、計算機システム820がオペレーティングシステム825やミドルウェア826などのプログラムを実行することにより実現される。これらの処理にかかる時間は、処理装置811の性能などに基づいて単純に計算できるものではなく、オペレーティングシステム825での実装や、計算機システム820のハードウェアの性能など様々な要素が絡んでくる。
そこで、第一実行時間取得部131は、実測値に基づいて、これらの処理にかかる時間を算出する。例えば、第一実行時間取得部131は、CPU911を用いて、性能測定データに含まれるファイルアクセス性能データに基づいて、ファイルアクセス処理にかかる時間を算出する。同様に、第一実行時間取得部131は、CPU911を用いて、性能測定データに含まれるイベント切替性能データ、排他制御性能データ、同期制御性能データ、グラフィック性能データなどに基づいて、それぞれ、イベント切替処理、排他制御処理、同期制御処理、グラフィック処理などにかかる時間を算出する。
The first execution time acquisition unit 131 uses the CPU 911 to calculate the time required to execute a specific process in the computer system 820 based on the performance measurement data stored by the first performance acquisition unit 121. The first execution time acquisition unit 131 uses the magnetic disk device 920 to store data representing the calculated time. The data stored in the first execution time acquisition unit 131 is referred to as “first execution time data”.
The specific processing includes, for example, event switching processing, exclusive control processing, synchronization control processing, file access processing, graphic processing, and the like. These processes are realized by the computer system 820 executing programs such as the operating system 825 and the middleware 826. The time required for these processes cannot be simply calculated based on the performance of the processing device 811 or the like, and various factors such as implementation in the operating system 825 and hardware performance of the computer system 820 are involved.
Therefore, the first execution time acquisition unit 131 calculates the time required for these processes based on the actual measurement values. For example, the first execution time acquisition unit 131 uses the CPU 911 to calculate the time required for file access processing based on the file access performance data included in the performance measurement data. Similarly, the first execution time acquisition unit 131 uses the CPU 911 to perform event switching based on event switching performance data, exclusive control performance data, synchronous control performance data, graphic performance data, and the like included in the performance measurement data, respectively. Time required for processing, exclusive control processing, synchronous control processing, graphic processing, and the like is calculated.

実行時間比取得部132は、CPU911を用いて、第一性能取得部121が記憶した性能測定データと、第二性能取得部122が記憶した性能測定データとに基づいて、計算機システム820において一般的な処理を実行するのにかかる時間と、計算機システム810において同じ処理を実行するのにかかる時間との比率を算出する。実行時間比取得部132は、磁気ディスク装置920を用いて、算出した比率を表わすデータを記憶する。実行時間比取得部132が記憶するデータを「実行時間比データ」と呼ぶ。
一般的な処理とは、例えば、単純な計算処理などである。これらの処理は、計算機システム810,820がプログラムを実行することにより実現される。これらの処理にかかる時間は、主に処理装置811の性能などによって決まる。同じ処理を計算機システム810が実行した場合にかかる時間と、計算機システム820が実行した場合にかかる時間との間には、概ね比例関係があると考えられる。
Using the CPU 911, the execution time ratio acquisition unit 132 is generally used in the computer system 820 based on the performance measurement data stored by the first performance acquisition unit 121 and the performance measurement data stored by the second performance acquisition unit 122. The ratio of the time required to execute the same process to the time required to execute the same process in the computer system 810 is calculated. The execution time ratio acquisition unit 132 uses the magnetic disk device 920 to store data representing the calculated ratio. The data stored in the execution time ratio acquisition unit 132 is referred to as “execution time ratio data”.
The general process is, for example, a simple calculation process. These processes are realized by the computer systems 810 and 820 executing programs. The time required for these processes is mainly determined by the performance of the processing device 811 and the like. It can be considered that there is a generally proportional relationship between the time taken when the computer system 810 executes the same processing and the time taken when the computer system 820 executes.

実行ログ取得部123は、CPU911を用いて、計算機システム810におけるアプリケーションプログラム830の実行ログを取得する。実行ログ取得部123は、磁気ディスク装置920を用いて、取得した実行ログを記憶する。
実行ログ取得部123が取得する実行ログは、計算機システム810がアプリケーションプログラム830を実行しているときに、計算機システム810がログ生成プログラム818を実行することにより生成したものである。
The execution log acquisition unit 123 uses the CPU 911 to acquire an execution log of the application program 830 in the computer system 810. The execution log acquisition unit 123 uses the magnetic disk device 920 to store the acquired execution log.
The execution log acquired by the execution log acquisition unit 123 is generated by the computer system 810 executing the log generation program 818 while the computer system 810 is executing the application program 830.

総実行時間算出部141は、CPU911を用いて、実行ログ取得部123が記憶した実行ログに基づいて、計算機システム810がアプリケーションプログラム830を実行するのにかかった時間を算出する。総実行時間算出部141は、磁気ディスク装置920を用いて、算出した時間を表わすデータを記憶する。総実行時間算出部141が記憶するデータを「総実行時間データ」と呼ぶ。   The total execution time calculation unit 141 uses the CPU 911 to calculate the time taken for the computer system 810 to execute the application program 830 based on the execution log stored by the execution log acquisition unit 123. The total execution time calculation unit 141 uses the magnetic disk device 920 to store data representing the calculated time. The data stored in the total execution time calculation unit 141 is referred to as “total execution time data”.

第二実行時間算出部142は、CPU911を用いて、実行ログ取得部123が記憶した実行ログに基づいて、計算機システム810がアプリケーションプログラム830の実行中にオペレーティングシステム825やミドルウェア826の機能を呼び出すことにより、特定の処理を実行するのにかかった時間を算出する。第二実行時間算出部142は、磁気ディスク装置920を用いて、算出した時間を表わすデータを記憶する。第二実行時間算出部142が記憶するデータを「第二実行時間データ」と呼ぶ。
第二実行時間算出部142が実行時間を算出する特定の処理は、第一実行時間取得部131が十湖時間を算出した特定の処理と同じ処理である。
例えば、第二実行時間算出部142は、CPU911を用いて、実行ログのなかから、システムコールの呼出しやミドルウェア826の呼出しなど、特定の処理の開始を示すログを探して、特定の処理の開始時刻を取得する。第二実行時間算出部142は、CPU911を用いて、実行ログのなかから、呼び出されたシステムコールやミドルウェア826の処理の終了など、その特定の処理の終了を示すログを探して、その特定の処理の終了時刻を取得する。第二実行時間算出部142は、CPU911を用いて、取得した開始時刻から終了時刻までの経過時間を算出して、その特定の処理の実行にかかった時間を求める。
第二実行時間算出部142は、CPU911を用いて、計算機システム810がアプリケーションプログラム830の実行中に実行したすべての特定の処理について、それぞれの実行時間を算出する。同じ特定の処理を複数回実行した場合、第二実行時間算出部142は、各回の実行について、それぞれの実行時間を算出する。
The second execution time calculation unit 142 uses the CPU 911 to call functions of the operating system 825 and middleware 826 while the computer system 810 is executing the application program 830 based on the execution log stored by the execution log acquisition unit 123. Thus, the time taken to execute the specific process is calculated. The second execution time calculation unit 142 uses the magnetic disk device 920 to store data representing the calculated time. The data stored in the second execution time calculation unit 142 is referred to as “second execution time data”.
The specific process in which the second execution time calculation unit 142 calculates the execution time is the same process as the specific process in which the first execution time acquisition unit 131 calculates the ten lake times.
For example, the second execution time calculation unit 142 uses the CPU 911 to search the execution log for a log indicating the start of a specific process, such as a system call or middleware 826 call, and start the specific process. Get the time. The second execution time calculation unit 142 uses the CPU 911 to search the execution log for a log indicating the end of the specific process such as the called system call or the end of the process of the middleware 826, Get the end time of the process. Using the CPU 911, the second execution time calculation unit 142 calculates the elapsed time from the acquired start time to the end time, and obtains the time taken to execute the specific process.
The second execution time calculation unit 142 uses the CPU 911 to calculate each execution time for all specific processes executed by the computer system 810 during the execution of the application program 830. When the same specific process is executed a plurality of times, the second execution time calculation unit 142 calculates each execution time for each execution.

総実行時間予測部150は、CPU911を用いて、計算機システム820がアプリケーションプログラム830を実行するのにかかる時間を予測する。総実行時間予測部150は、CPU911を用いて、第一実行時間取得部131が記憶した第一実行時間データと、実行時間比取得部132が記憶した実行時間比データと、総実行時間算出部141が記憶した総実行時間データと、第二実行時間算出部142が記憶した第二実行時間データとに基づいて、予測時間を算出する。総実行時間予測部150は、磁気ディスク装置920を用いて、算出した予測時間を表わすデータを記憶する。総実行時間予測部150が記憶したデータを「総実行時間予測データ」と呼ぶ。総実行時間予測部150は、CPU911を用いて、記憶した総実行時間予測データを出力する。   The total execution time prediction unit 150 uses the CPU 911 to predict the time required for the computer system 820 to execute the application program 830. The total execution time prediction unit 150 uses the CPU 911 to store the first execution time data stored in the first execution time acquisition unit 131, the execution time ratio data stored in the execution time ratio acquisition unit 132, and the total execution time calculation unit. The estimated time is calculated based on the total execution time data stored in 141 and the second execution time data stored in the second execution time calculation unit 142. The total execution time prediction unit 150 uses the magnetic disk device 920 to store data representing the calculated prediction time. The data stored in the total execution time prediction unit 150 is referred to as “total execution time prediction data”. Using the CPU 911, the total execution time prediction unit 150 outputs the stored total execution time prediction data.

例えば、総実行時間予測部150は、CPU911を用いて、第二実行時間データが表わす実行時間を合計して、計算機システム810がアプリケーションプログラム830の実行中に実行した特定の処理の実行時間の総合計時間を算出する。総実行時間予測部150は、CPU911を用いて、算出した特定の処理の実行時間の総合計時間を、総実行時間データが表わす実行時間から差し引いた差を算出して、計算機システム810がアプリケーションプログラム830の実行中に実行した特定の処理以外の一般的な処理の実行時間の総合計時間を算出する。総実行時間予測部150は、CPU911を用いて、算出した一般的な処理の実行時間の総合計時間に、実行時間比データが表わす比率を乗じた積を算出して、計算機システム820がアプリケーションプログラム830の実行中に実行する一般的な処理の実行時間の総合計時間を予測する。
総実行時間予測部150は、CPU911を用いて、第二実行時間データが表わす特定の処理それぞれの実行時間を、第一実行時間データが表わす同じ特定の処理それぞれの実行時間で置き換える。総実行時間予測部150は、CPU911を用いて、置き換えた実行時間を合計して、計算機システム820がアプリケーションプログラム830の実行中に実行する特定の処理の実行時間の総合計時間を予測する。
総実行時間予測部150は、CPU911を用いて、予測した一般的な処理の実行時間の総合計時間と、予測した特定の処理の実行時間の総合計時間とを合計して、計算機システム820がアプリケーションプログラム830を実行するのにかかる時間を予測する。
For example, the total execution time prediction unit 150 uses the CPU 911 to total the execution times represented by the second execution time data, and totals the execution times of specific processes executed by the computer system 810 during the execution of the application program 830. Calculate the total time. The total execution time prediction unit 150 uses the CPU 911 to calculate a difference obtained by subtracting the total execution time of the calculated specific process execution time from the execution time represented by the total execution time data, and the computer system 810 executes the application program. A total time of execution times of general processes other than the specific process executed during the execution of 830 is calculated. The total execution time prediction unit 150 uses the CPU 911 to calculate a product obtained by multiplying the total time of the calculated execution time of the general processing by the ratio represented by the execution time ratio data, and the computer system 820 makes the application program The total execution time of the execution time of a general process executed during the execution of 830 is predicted.
Using the CPU 911, the total execution time prediction unit 150 replaces the execution time of each specific process represented by the second execution time data with the execution time of each of the same specific processes represented by the first execution time data. The total execution time prediction unit 150 uses the CPU 911 to add up the replaced execution times, and predicts the total execution time of the specific processing executed by the computer system 820 during the execution of the application program 830.
The total execution time prediction unit 150 uses the CPU 911 to add up the total time of the predicted execution time of the general process and the total time of the predicted execution time of the specific process. The time taken to execute the application program 830 is predicted.

図16は、この実施の形態における性能予測処理S610の流れの一例を示すフローチャート図である。
性能予測処理S610において、性能予測装置100は、アプリケーションプログラム830を計算機システム820が実行するのにかかる時間を予測する。性能予測処理S610は、第一性能取得工程S611と、第二性能取得工程S612と、特定処理選択工程S613と、第一実行時間算出工程S614と、一般第一実行時間算出工程S615と、一般第二実行時間算出工程S616と、実行時間比算出工程S617と、実行ログ取得工程S621と、初期化工程S622と、ログ選択工程S623と、処理種別分岐工程S624と、経過時間算出工程S625と、第二実行時間加算工程S626と、予測実行時間加算工程S627と、処理種別判定工程S628と、総実行時間算出工程S631と、一般実行時間算出工程S632と、一般実行時間予測工程S633と、予測実行時間算出工程S634とを有する。性能予測装置100は、第一性能取得工程S611から処理を開始する。
FIG. 16 is a flowchart showing an example of the flow of the performance prediction process S610 in this embodiment.
In the performance prediction process S610, the performance prediction apparatus 100 predicts the time required for the computer system 820 to execute the application program 830. The performance prediction process S610 includes a first performance acquisition process S611, a second performance acquisition process S612, a specific process selection process S613, a first execution time calculation process S614, a general first execution time calculation process S615, and a general first. Two execution time calculation step S616, execution time ratio calculation step S617, execution log acquisition step S621, initialization step S622, log selection step S623, process type branching step S624, elapsed time calculation step S625, Two execution time addition step S626, predicted execution time addition step S627, process type determination step S628, total execution time calculation step S631, general execution time calculation step S632, general execution time prediction step S633, and prediction execution time Calculation step S634. The performance prediction apparatus 100 starts processing from the first performance acquisition step S611.

第一性能取得工程S611において、第一性能取得部121は、CPU911を用いて、計算機システム810についての性能測定データを取得する。
第二性能取得工程S612において、第二性能取得部122は、CPU911を用いて、計算機システム820についての性能測定データを取得する。
In the first performance acquisition step S611, the first performance acquisition unit 121 uses the CPU 911 to acquire performance measurement data for the computer system 810.
In the second performance acquisition step S612, the second performance acquisition unit 122 uses the CPU 911 to acquire performance measurement data for the computer system 820.

特定処理選択工程S613において、第一実行時間取得部131は、CPU911を用いて、実行時間を算出すべき特定の処理のなかから、実行時間をまだ算出していない特定の処理を選択する。
すべての特定の処理について実行時間を算出済であり、実行時間をまだ算出していない特定の処理が存在しない場合、第一実行時間取得部131は、CPU911を用いて、一般第一実行時間算出工程S615へ処理を進める。
実行時間をまだ算出していない特定の処理が存在する場合、第一実行時間取得部131は、CPU911を用いて、実行時間をまだ算出していない特定の処理のなかから、特定の処理を1つ選択する。第一実行時間取得部131は、CPU911を用いて、第一実行時間算出工程S614へ処理を進める。
In the specific process selection step S613, the first execution time acquisition unit 131 uses the CPU 911 to select a specific process for which the execution time has not yet been calculated from among the specific processes for which the execution time is to be calculated.
When the execution time has been calculated for all the specific processes and there is no specific process for which the execution time has not yet been calculated, the first execution time acquisition unit 131 uses the CPU 911 to calculate the general first execution time. The process proceeds to step S615.
When there is a specific process for which the execution time has not yet been calculated, the first execution time acquisition unit 131 uses the CPU 911 to select one specific process from among the specific processes for which the execution time has not yet been calculated. Select one. Using the CPU 911, the first execution time acquisition unit 131 advances the process to the first execution time calculation step S614.

第一実行時間算出工程S614において、第一実行時間取得部131は、CPU911を用いて、第一性能取得工程S611で第一性能取得部121が取得した性能測定データに基づいて、特定処理選択工程S613で選択した特定の処理について、計算機システム820がその特定の処理を実行するのにかかる時間を算出する。
第一実行時間取得部131は、CPU911を用いて、特定処理選択工程S613に処理を戻し、次の特定の処理を選択する。
In the first execution time calculation step S614, the first execution time acquisition unit 131 uses the CPU 911 to specify the specific process selection step based on the performance measurement data acquired by the first performance acquisition unit 121 in the first performance acquisition step S611. For the specific process selected in S613, the time required for the computer system 820 to execute the specific process is calculated.
Using the CPU 911, the first execution time acquisition unit 131 returns the process to the specific process selection step S613 and selects the next specific process.

一般第一実行時間算出工程S615において、実行時間比取得部132は、CPU911を用いて、第一性能取得工程S611で第一性能取得部121が取得した性能測定データに基づいて、計算機システム820が一般的な処理をするのにかかる時間を算出する。
一般第二実行時間算出工程S616において、実行時間比取得部132は、CPU911を用いて、第二性能取得工程S612で第二性能取得部122が取得した性能測定データに基づいて、計算機システム810が一般的な処理をするのにかかる時間を算出する。
実行時間比算出工程S617において、実行時間比取得部132は、CPU911を用いて、一般第一実行時間算出工程S615で算出した時間を、一般第二実行時間算出工程S616で算出した時間で割った商を計算して、実行時間比を算出する。
In the general first execution time calculation step S615, the execution time ratio acquisition unit 132 uses the CPU 911, based on the performance measurement data acquired by the first performance acquisition unit 121 in the first performance acquisition step S611. The time required for general processing is calculated.
In the general second execution time calculation step S616, the execution time ratio acquisition unit 132 uses the CPU 911 to calculate the computer system 810 based on the performance measurement data acquired by the second performance acquisition unit 122 in the second performance acquisition step S612. The time required for general processing is calculated.
In the execution time ratio calculation step S617, the execution time ratio acquisition unit 132 uses the CPU 911 to divide the time calculated in the general first execution time calculation step S615 by the time calculated in the general second execution time calculation step S616. The quotient is calculated and the execution time ratio is calculated.

実行ログ取得工程S621において、実行ログ取得部123は、CPU911を用いて、計算機システム810がアプリケーションプログラム830を実行したときの実行ログを取得する。   In the execution log acquisition step S621, the execution log acquisition unit 123 uses the CPU 911 to acquire an execution log when the computer system 810 executes the application program 830.

初期化工程S622において、総実行時間算出部141は、CPU911を用いて、実行ログ取得工程S621で実行ログ取得部123が取得した実行ログを、最初から順に1行ずつ選択して、アプリケーションプログラム830の実行開始を表わすログを探す。総実行時間算出部141は、CPU911を用いて、アプリケーションプログラム830の実行開始を表わすログから、アプリケーションプログラム830の実行開始時刻を取得する。
第二実行時間算出部142は、RAM914を用いて、計算機システム810が実行した特定の処理の実行時間の総合計時間として、0を記憶する。第二実行時間算出部142は、RAM914を用いて、処理の種別として、「一般的な処理」を意味するデータを記憶する。
総実行時間予測部150は、RAM914を用いて、計算機システム820が実行する特定の処理の実行時間の総合計時間として、0を記憶する。
In the initialization step S622, the total execution time calculation unit 141 uses the CPU 911 to select the execution log acquired by the execution log acquisition unit 123 in the execution log acquisition step S621 line by line in order from the beginning, and then executes the application program 830. Look for a log indicating the start of execution. Using the CPU 911, the total execution time calculation unit 141 acquires the execution start time of the application program 830 from the log indicating the start of execution of the application program 830.
Using the RAM 914, the second execution time calculation unit 142 stores 0 as the total time of the execution time of the specific process executed by the computer system 810. The second execution time calculation unit 142 uses the RAM 914 to store data meaning “general processing” as the processing type.
The total execution time prediction unit 150 uses the RAM 914 to store 0 as the total time of the execution time of the specific process executed by the computer system 820.

ログ選択工程S623において、第二実行時間算出部142は、CPU911を用いて、実行ログ取得工程S621で実行ログ取得部123が取得した実行ログから、次の1行のログを選択する。   In the log selection step S623, the second execution time calculation unit 142 uses the CPU 911 to select the next one-line log from the execution log acquired by the execution log acquisition unit 123 in the execution log acquisition step S621.

処理種別分岐工程S624において、第二実行時間算出部142は、CPU911を用いて、記憶している処理の種別が「一般的な処理」か「特定の処理」かによって処理を分岐する。
処理の種別が「一般的な処理」の場合、第二実行時間算出部142は、CPU911を用いて、処理種別判定工程S628へ処理を進める。
処理の種別が「特定の処理」の場合、第二実行時間算出部142は、CPU911を用いて、経過時間算出工程S625へ処理を進める。
In the process type branching step S624, the second execution time calculating unit 142 uses the CPU 911 to branch the process depending on whether the stored process type is “general process” or “specific process”.
When the process type is “general process”, the second execution time calculation unit 142 uses the CPU 911 to advance the process to the process type determination step S628.
When the process type is “specific process”, the second execution time calculation unit 142 uses the CPU 911 to advance the process to the elapsed time calculation step S625.

経過時間算出工程S625において、第二実行時間算出部142は、CPU911を用いて、ログ選択工程S623で取得したログから、そのログが記録された時刻を取得する。第二実行時間算出部142は、CPU911を用いて、記憶している処理の開始時刻から、取得した時刻までの経過時間を算出する。
第二実行時間加算工程S626において、第二実行時間算出部142は、CPU911を用いて、記憶した計算機システム810の特定の処理の実行時間の総合計時間に、経過時間算出工程S625で算出した経過時間を加算する。第二実行時間算出部142は、RAM914を用いて、経過時間が加算された総合計時間を記憶する。
予測実行時間加算工程S627において、総実行時間予測部150は、CPU911を用いて、第二実行時間算出部142が記憶した処理の種別に基づいて、第一実行時間算出工程S614で第一実行時間取得部131が算出した実行時間のなかから、同じ特定の処理についての実行時間を取得する。総実行時間予測部150は、CPU911を用いて、記憶した計算機システム820の特定の処理の実行時間の総合計時間に、取得した実行時間を加算する。総実行時間予測部150は、RAM914を用いて、実行時間が加算された総合計時間を記憶する。
In the elapsed time calculation step S625, the second execution time calculation unit 142 uses the CPU 911 to acquire the time when the log is recorded from the log acquired in the log selection step S623. The second execution time calculation unit 142 uses the CPU 911 to calculate the elapsed time from the stored process start time to the acquired time.
In the second execution time adding step S626, the second execution time calculating unit 142 uses the CPU 911 to calculate the elapsed time calculated in the elapsed time calculating step S625 to the total execution time of the specific processing of the computer system 810 stored. Add time. Using the RAM 914, the second execution time calculation unit 142 stores the total time with the elapsed time added.
In the predicted execution time adding step S627, the total execution time predicting unit 150 uses the CPU 911, based on the type of processing stored in the second execution time calculating unit 142, in the first execution time calculating step S614. The execution time for the same specific process is acquired from the execution times calculated by the acquisition unit 131. Using the CPU 911, the total execution time prediction unit 150 adds the acquired execution time to the total execution time of the specific processing execution time of the stored computer system 820. Using the RAM 914, the total execution time prediction unit 150 stores the total time with the execution time added.

処理種別判定工程S628において、第二実行時間算出部142は、CPU911を用いて、ログ選択工程S623で選択したログに基づいて、そのログが記録された時刻に開始された処理の種別を判定する。
ログ選択工程S623で選択したログが、アプリケーションプログラム830の実行終了を表わすログである場合、第二実行時間算出部142は、CPU911を用いて、総実行時間算出工程S631へ処理を進める。
ログ選択工程S623で選択したログが、一般的な処理または特定の処理の開始を表わすログである場合、第二実行時間算出部142は、RAM914を用いて、判定した処理の種別を記憶する。第二実行時間算出部142は、CPU911を用いて、ログ選択工程S623に処理を戻し、次のログを選択する。
In the processing type determination step S628, the second execution time calculation unit 142 uses the CPU 911 to determine the type of processing started at the time when the log was recorded based on the log selected in the log selection step S623. .
When the log selected in the log selection step S623 is a log representing the end of execution of the application program 830, the second execution time calculation unit 142 uses the CPU 911 to advance the process to the total execution time calculation step S631.
When the log selected in the log selection step S623 is a log representing the start of a general process or a specific process, the second execution time calculation unit 142 uses the RAM 914 to store the determined process type. Using the CPU 911, the second execution time calculation unit 142 returns the process to the log selection step S623 and selects the next log.

総実行時間算出工程S631において、総実行時間予測部150は、CPU911を用いて、ログ選択工程S623で第二実行時間算出部142が選択したログから、アプリケーションプログラム830の実行終了時刻を取得する。総実行時間予測部150は、CPU911を用いて、初期化工程S622で記憶した実行開始時刻と、取得した実行終了時刻とに基づいて、アプリケーションプログラム830の総実行時間を算出する。
一般実行時間算出工程S632において、総実行時間予測部150は、CPU911を用いて、総実行時間算出工程S631で算出した総実行時間から、第二実行時間算出部142が記憶した特定の処理の実行時間の総合計時間を減算して、計算機システム810の一般的な処理の実行時間の総合計時間を算出する。
一般実行時間予測工程S633において、総実行時間予測部150は、CPU911を用いて、一般実行時間算出工程S632で算出した計算機システム810の一般的な処理の実行時間の総合計時間に、実行時間比算出工程S617で算出した実行時間比を乗算して、計算機システム820の一般的な処理の実行時間の総合計時間を算出する。
予測実行時間算出工程S634において、総実行時間予測部150は、CPU911を用いて、記憶した計算機システム820の特定の処理の実行時間の総合計時間と、一般実行時間予測工程S633で算出した計算機システム820の一般的な処理の実行時間の総合計時間とを加算して、計算機システム820がアプリケーションプログラム830を実行するのにかかる時間を算出する。
In the total execution time calculation step S631, the total execution time prediction unit 150 uses the CPU 911 to acquire the execution end time of the application program 830 from the log selected by the second execution time calculation unit 142 in the log selection step S623. Using the CPU 911, the total execution time prediction unit 150 calculates the total execution time of the application program 830 based on the execution start time stored in the initialization step S622 and the acquired execution end time.
In the general execution time calculating step S632, the total execution time predicting unit 150 uses the CPU 911 to execute a specific process stored in the second execution time calculating unit 142 from the total execution time calculated in the total execution time calculating step S631. The total time of the general processing of the computer system 810 is calculated by subtracting the total time of the time.
In the general execution time prediction step S633, the total execution time prediction unit 150 uses the CPU 911 to set the execution time ratio to the total execution time of the general processing of the computer system 810 calculated in the general execution time calculation step S632. By multiplying the execution time ratio calculated in the calculation step S617, the total time of the execution time of the general processing of the computer system 820 is calculated.
In the predicted execution time calculation step S634, the total execution time prediction unit 150 uses the CPU 911 to calculate the total execution time of the specific processing execution time of the stored computer system 820 and the computer system calculated in the general execution time prediction step S633. The total time of the execution time of the general process 820 is added to calculate the time required for the computer system 820 to execute the application program 830.

以上、各実施の形態で説明した構成は、一例であり、異なる実施の形態で説明した構成を組み合わせた構成としてもよい。また、主要でない部分の構成を既存の技術など他の構成と置き換えるなどの変形をした構成としてもよい。   As described above, the configuration described in each embodiment is an example, and the configuration described in different embodiments may be combined. Moreover, it is good also as a structure which changed, such as replacing the structure of the non-major part with other structures, such as the existing technique.

以上説明した性能予測装置(100)は、データを処理する処理装置(CPU911)と、第一実行時間取得部(131;新規システム性能見積部118)と、実行ログ取得部(123;ログ解析部114)と、総実行時間算出部(141;114)と、第二実行時間算出部(142;114)と、総実行時間予測部(150;118)とを有する。
上記第一実行時間取得部(131;118)は、上記処理装置(911)を用いて、第一の計算機システム(820;108)において特定の機能を実現する第一特定プログラム(オペレーティングシステム825,111;ミドルウェア826)について、上記第一特定プログラムを実行するのにかかる時間を取得する。
上記実行ログ取得部(123;114)は、上記処理装置(911)を用いて、上記第一の計算機システム(820;108)及び第二の計算機システム(810;101)において実行可能なアプリケーションプログラム(830;アプリケーション102)について、上記第二の計算機システム(810;101)において上記アプリケーションプログラム(830;102)を実行した実行ログ(アプリケーションログ107)を取得する。
上記総実行時間算出部(141;114)は、上記処理装置(911)を用いて、上記実行ログ取得部(123;114)が取得した実行ログ(107)を解析して、上記アプリケーションプログラムを実行するのにかかった時間を算出する。
上記第二実行時間算出部(142;114)は、上記処理装置(911)を用いて、上記実行ログ取得部(123;114)が取得した実行ログ(107)を解析して、上記第一の計算機システム(820;108)において上記第一特定プログラム(825,111;826)が実現する特定の機能を上記第二の計算機システム(810;101)において実現する第二特定プログラム(オペレーティングシステム815,105;816,103)について、上記アプリケーションプログラム(830;102)が上記第二特定プログラム(815,105;816,103)を呼び出したとき、上記第二特定プログラム(815,105;816,103)を実行するのにかかった時間を算出する。
上記総実行時間予測部(150;118)は、上記処理装置(911)を用いて、上記総実行時間算出部(141;114)が算出した時間のうち、上記第二実行時間算出部(142;114)が算出した時間を上記第一実行時間取得部(131;118)が取得した時間で置き換えることにより、上記第一の計算機システム(820;108)において上記アプリケーションプログラム(830)を実行するのにかかる時間を予測する。
The performance prediction device (100) described above includes a processing device (CPU 911) for processing data, a first execution time acquisition unit (131; new system performance estimation unit 118), and an execution log acquisition unit (123; log analysis unit). 114), a total execution time calculation unit (141; 114), a second execution time calculation unit (142; 114), and a total execution time prediction unit (150; 118).
The first execution time acquisition unit (131; 118) uses the processing device (911) to implement a first specific program (operating system 825, which realizes a specific function in the first computer system (820; 108). 111; middleware 826), the time taken to execute the first specific program is acquired.
The execution log acquisition unit (123; 114) is an application program that can be executed in the first computer system (820; 108) and the second computer system (810; 101) using the processing device (911). For (830; application 102), an execution log (application log 107) for executing the application program (830; 102) in the second computer system (810; 101) is acquired.
The total execution time calculation unit (141; 114) analyzes the execution log (107) acquired by the execution log acquisition unit (123; 114) using the processing device (911), and executes the application program. Calculate the time taken to execute.
The second execution time calculation unit (142; 114) uses the processing device (911) to analyze the execution log (107) acquired by the execution log acquisition unit (123; 114), and In the second computer system (810; 101), the second specific program (operating system 815) that realizes the specific function realized by the first specific program (825, 111; 826) in the computer system (820; 108) , 105; 816, 103) when the application program (830; 102) calls the second specific program (815, 105; 816, 103), the second specific program (815, 105; 816, 103). ) Is calculated.
The total execution time prediction unit (150; 118) uses the processing device (911) to calculate the second execution time calculation unit (142) out of the times calculated by the total execution time calculation unit (141; 114). 114), the application program (830) is executed in the first computer system (820; 108) by replacing the time calculated by the first execution time acquisition unit (131; 118). Predict how long it will take.

これにより、現時点では第一の計算機システムでアプリケーションプログラムを実行できない場合であっても、第一の計算機システムでアプリケーションプログラムを実行するのにかかる時間を正確に予測できる。   As a result, even when the application program cannot be executed by the first computer system at this time, the time required to execute the application program by the first computer system can be accurately predicted.

上記性能予測装置(100)は、実行時間比取得部(132;118)を有する。
上記実行時間比取得部(132;118)は、上記処理装置(911)を用いて、上記第一の計算機システム(820;108)及び上記第二の計算機システム(810;101)において実行可能な一般プログラム(ベンチマークプログラム817,827)について、上記第二の計算機システム(810;101)において上記一般プログラム(817,827)を実行するのにかかる時間に対する、上記第一の計算機システム(820;108)において上記一般プログラム(817,827)を実行するのにかかる時間の比を取得する。
上記総実行時間予測部(150;118)は、上記処理装置(911)を用いて、上記総実行時間算出部(141;114)が算出した時間のうち、上記第二実行時間算出部(142;114)が算出した時間を除く時間に、上記実行時間比取得部(132;118)が取得した比を乗じることにより、上記第一の計算機システム(820;108)において上記アプリケーションプログラムを実行するのにかかる時間を予測する。
The performance prediction apparatus (100) includes an execution time ratio acquisition unit (132; 118).
The execution time ratio acquisition unit (132; 118) can be executed in the first computer system (820; 108) and the second computer system (810; 101) using the processing device (911). For the general program (benchmark program 817, 827), the first computer system (820; 108) with respect to the time taken to execute the general program (817, 827) in the second computer system (810; 101). ) To obtain the ratio of the time taken to execute the general program (817, 827).
The total execution time prediction unit (150; 118) uses the processing device (911) to calculate the second execution time calculation unit (142) out of the times calculated by the total execution time calculation unit (141; 114). 114), the application program is executed in the first computer system (820; 108) by multiplying the time excluding the time calculated by 114) by the ratio acquired by the execution time ratio acquisition unit (132; 118). Predict how long it will take.

これにより、第一の計算機システムでアプリケーションプログラムを実行するのにかかる時間を更に正確に予測できる。   Thereby, it is possible to more accurately predict the time required to execute the application program in the first computer system.

上記第一特定プログラムは、上記第一の計算機システム(820;108)において動作するオペレーティングシステム(825;111)のシステムコールである。
上記第二特定プログラムは、上記第二の計算機システム(810;101)において動作するオペレーティングシステム(815;105)のシステムコールである。
The first specific program is a system call of the operating system (825; 111) that operates in the first computer system (820; 108).
The second specific program is a system call of the operating system (815; 105) operating in the second computer system (810; 101).

システムコールの処理にかかる時間は、様々な要因で決まるため、単純な比例関係で換算することはできない。システムコールの処理にかかる時間を、実際に測定した時間で置き換えるので、第一の計算機システムでアプリケーションプログラムを実行するのにかかる時間を正確に予測できる。   Since the time required for processing a system call is determined by various factors, it cannot be converted with a simple proportional relationship. Since the time taken to process the system call is replaced with the actually measured time, the time taken to execute the application program in the first computer system can be accurately predicted.

上記第一特定プログラム及び上記第二特定プログラムが実現する特定の機能は、イベント切替処理と、排他制御処理と、同期制御処理と、ファイルアクセス処理と、グラフィック処理とのうち少なくともいずれかである。   The specific function realized by the first specific program and the second specific program is at least one of event switching processing, exclusive control processing, synchronization control processing, file access processing, and graphic processing.

これらの処理にかかる時間も、様々な要因で決まるため、単純な比例関係で換算することはできない。これらの処理にかかる時間を、実際に測定した時間で置き換えるので、第一の計算機システムでアプリケーションプログラムを実行するのにかかる時間を正確に予測できる。   Since the time required for these processes is also determined by various factors, it cannot be converted with a simple proportional relationship. Since the time required for these processes is replaced with the actually measured time, the time required for executing the application program in the first computer system can be accurately predicted.

上記一般プログラムは、ベンチマークプログラム(817,827)である。
上記実行時間比取得部(132;118)は、上記第一の計算機システム(820;108)及び上記第二の計算機システム(810;101)において上記ベンチマークプログラム(817,827)を実行した結果に基づいて、上記処理装置(911)を用いて、上記比を算出する。
The general program is a benchmark program (817, 827).
The execution time ratio acquisition unit (132; 118) obtains the result of executing the benchmark program (817, 827) in the first computer system (820; 108) and the second computer system (810; 101). Based on the above, the ratio is calculated using the processing device (911).

ベンチマークプログラムによって測定した結果に基づいて、第一の計算機システムの第二の計算機システムに対する実行速度の比を算出するので、第一の計算機システムでアプリケーションプログラムを実行するのにかかる時間を正確に予測できる。   Based on the results measured by the benchmark program, the ratio of the execution speed of the first computer system to the second computer system is calculated, so the time required to execute the application program on the first computer system can be accurately predicted. it can.

以上説明した性能予測装置(100)は、コンピュータが実行することにより、コンピュータを性能予測装置をして機能させるコンピュータプログラムにより実現することができる。   The performance prediction apparatus (100) described above can be realized by a computer program that causes a computer to function as a performance prediction apparatus when executed by the computer.

100 性能予測装置、101,108 計算機システム、102 アプリケーション、103 ミドルウェア、104 ログ取得部、105,111 オペレーティングシステム、106,112 ハードウェア、107 アプリケーションログ、109 基本性能取得部、113 基本性能結果、114 ログ解析部、115,205 ログ解析結果、116 実測値使用部、117 性能比使用部、118 新規システム性能見積部、119,207 新規システム性能見積結果、121 第一性能取得部、122 第二性能取得部、123 実行ログ取得部、131 第一実行時間取得部、132 実行時間比取得部、141 総実行時間算出部、142 第二実行時間算出部、150 総実行時間予測部、301 ID、302 関数名、303 引数、304 タイムスタンプ、800 性能予測システム、810,820 計算機システム、811 処理装置、812 入力装置、813 出力装置、814 記憶装置、815,825 オペレーティングシステム、816,826 ミドルウェア、817,827 ベンチマークプログラム、818 ログ生成プログラム、830 アプリケーションプログラム、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信装置、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN。   100 performance prediction apparatus, 101, 108 computer system, 102 application, 103 middleware, 104 log acquisition unit, 105, 111 operating system, 106, 112 hardware, 107 application log, 109 basic performance acquisition unit, 113 basic performance result, 114 Log analysis unit, 115, 205 Log analysis result, 116 Actual value use unit, 117 Performance ratio use unit, 118 New system performance estimation unit, 119, 207 New system performance estimation result, 121 First performance acquisition unit, 122 Second performance Acquisition unit, 123 execution log acquisition unit, 131 first execution time acquisition unit, 132 execution time ratio acquisition unit, 141 total execution time calculation unit, 142 second execution time calculation unit, 150 total execution time prediction unit, 301 ID, 302 Function name, 303 arguments 304 time stamp, 800 performance prediction system, 810,820 computer system, 811 processing device, 812 input device, 813 output device, 814 storage device, 815,825 operating system, 816,826 middleware, 817,827 benchmark program, 818 Log generation program, 830 application program, 901 display device, 902 keyboard, 903 mouse, 904 FDD, 905 CDD, 906 printer device, 907 scanner device, 910 system unit, 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication Device, 920 magnetic disk device, 921 OS, 922 window system, 923 program group, 924 file group, 931 Telephone, 932 facsimile machine, 940 Internet, 941 gateway, 942 LAN.

Claims (7)

データを処理する処理装置と、第一実行時間取得部と、実行ログ取得部と、総実行時間算出部と、第二実行時間算出部と、総実行時間予測部とを有し、
上記第一実行時間取得部は、上記処理装置を用いて、第一の計算機システムにおいて特定の機能を実現する第一特定プログラムについて、上記第一特定プログラムを実行するのにかかる時間を取得し、
上記実行ログ取得部は、上記処理装置を用いて、上記第一の計算機システム及び第二の計算機システムにおいて実行可能なアプリケーションプログラムについて、上記第二の計算機システムにおいて上記アプリケーションプログラムを実行した実行ログを取得し、
上記総実行時間算出部は、上記処理装置を用いて、上記実行ログ取得部が取得した実行ログを解析して、上記アプリケーションプログラムを実行するのにかかった時間を算出し、
上記第二実行時間算出部は、上記処理装置を用いて、上記実行ログ取得部が取得した実行ログを解析して、上記第一の計算機システムにおいて上記第一特定プログラムが実現する特定の機能を上記第二の計算機システムにおいて実現する第二特定プログラムについて、上記アプリケーションプログラムが上記第二特定プログラムを呼び出したとき、上記第二特定プログラムを実行するのにかかった時間を算出し、
上記総実行時間予測部は、上記処理装置を用いて、上記総実行時間算出部が算出した時間のうち、上記第二実行時間算出部が算出した時間を上記第一実行時間取得部が取得した時間で置き換えることにより、上記第一の計算機システムにおいて上記アプリケーションプログラムを実行するのにかかる時間を予測することを特徴とする性能予測装置。
A processing device that processes data, a first execution time acquisition unit, an execution log acquisition unit, a total execution time calculation unit, a second execution time calculation unit, and a total execution time prediction unit;
The first execution time acquisition unit acquires the time required to execute the first specific program for the first specific program that realizes a specific function in the first computer system, using the processing device,
The execution log acquisition unit uses the processing device to obtain an execution log for executing the application program in the second computer system for an application program executable in the first computer system and the second computer system. Acquired,
The total execution time calculation unit uses the processing device to analyze the execution log acquired by the execution log acquisition unit and calculate the time taken to execute the application program,
The second execution time calculation unit analyzes the execution log acquired by the execution log acquisition unit using the processing device, and performs the specific function realized by the first specific program in the first computer system. For the second specific program realized in the second computer system, when the application program calls the second specific program, it calculates the time taken to execute the second specific program,
The first execution time acquisition unit acquires the time calculated by the second execution time calculation unit among the times calculated by the total execution time calculation unit, using the processing device. A performance prediction apparatus for predicting a time required to execute the application program in the first computer system by replacing with time.
上記性能予測装置は、実行時間比取得部を有し、
上記実行時間比取得部は、上記処理装置を用いて、上記第一の計算機システム及び上記第二の計算機システムにおいて実行可能な一般プログラムについて、上記第二の計算機システムにおいて上記一般プログラムを実行するのにかかる時間に対する、上記第一の計算機システムにおいて上記一般プログラムを実行するのにかかる時間の比を取得し、
上記総実行時間予測部は、上記処理装置を用いて、上記総実行時間算出部が算出した時間のうち、上記第二実行時間算出部が算出した時間を除く時間に、上記実行時間比取得部が取得した比を乗じることにより、上記第一の計算機システムにおいて上記アプリケーションプログラムを実行するのにかかる時間を予測することを特徴とする請求項1に記載の性能予測装置。
The performance prediction apparatus has an execution time ratio acquisition unit,
The execution time ratio acquisition unit executes the general program in the second computer system for the general program executable in the first computer system and the second computer system using the processing device. The ratio of the time taken to execute the general program in the first computer system to the time taken to
The total execution time prediction unit uses the processing device to calculate the execution time ratio acquisition unit at a time excluding the time calculated by the second execution time calculation unit from the time calculated by the total execution time calculation unit. 2. The performance prediction apparatus according to claim 1, wherein the time required to execute the application program in the first computer system is predicted by multiplying the acquired ratio.
上記第一特定プログラムは、上記第一の計算機システムにおいて動作するオペレーティングシステムのシステムコールであり、
上記第二特定プログラムは、上記第二の計算機システムにおいて動作するオペレーティングシステムのシステムコールであることを特徴とする請求項1または請求項2に記載の性能予測装置。
The first specific program is a system call of an operating system that operates in the first computer system.
3. The performance prediction apparatus according to claim 1, wherein the second specific program is an operating system call that operates in the second computer system.
上記第一特定プログラム及び上記第二特定プログラムが実現する特定の機能は、イベント切替処理と、排他制御処理と、同期制御処理と、ファイルアクセス処理と、グラフィック処理とのうち少なくともいずれかであることを特徴とする請求項1乃至請求項3のいずれかに記載の性能予測装置。   The specific function realized by the first specific program and the second specific program is at least one of an event switching process, an exclusive control process, a synchronization control process, a file access process, and a graphic process. The performance prediction apparatus according to any one of claims 1 to 3, wherein 上記一般プログラムは、ベンチマークプログラムであり、
上記実行時間比取得部は、上記第一の計算機システム及び上記第二の計算機システムにおいて上記ベンチマークプログラムを実行した結果に基づいて、上記処理装置を用いて、上記比を算出することを特徴とする請求項1乃至請求項4のいずれかに記載の性能予測装置。
The above general program is a benchmark program,
The execution time ratio acquisition unit calculates the ratio using the processing device based on a result of executing the benchmark program in the first computer system and the second computer system. The performance prediction apparatus according to any one of claims 1 to 4.
データを処理する処理装置を有するコンピュータが実行することにより、上記コンピュータが請求項1乃至請求項5のいずれかに記載の性能予測装置をして機能することを特徴とするコンピュータプログラム。   A computer program, wherein when executed by a computer having a processing device for processing data, the computer functions as the performance prediction device according to any one of claims 1 to 5. データを処理する処理装置と、第一実行時間取得部と、実行ログ取得部と、総実行時間算出部と、第二実行時間算出部と、総実行時間予測部とを有する性能予測装置が、アプリケーションプログラムの性能を予測する性能予測方法において、
上記第一実行時間取得部が、上記処理装置を用いて、第一の計算機システムにおいて特定の機能を実現する第一特定プログラムについて、上記第一特定プログラムを実行するのにかかる時間を取得し、
上記実行ログ取得部が、上記処理装置を用いて、上記第一の計算機システム及び第二の計算機システムにおいて実行可能なアプリケーションプログラムについて、上記第二の計算機システムにおいて上記アプリケーションプログラムを実行した実行ログを取得し、
上記総実行時間算出部が、上記処理装置を用いて、上記実行ログ取得部が取得した実行ログを解析して、上記アプリケーションプログラムを実行するのにかかった時間を算出し、
上記第二実行時間算出部が、上記処理装置を用いて、上記実行ログ取得部が取得した実行ログを解析して、上記第一の計算機システムにおいて上記第一特定プログラムが実現する特定の機能を上記第二の計算機システムにおいて実現する第二特定プログラムについて、上記アプリケーションプログラムが上記第二特定プログラムを呼び出したとき、上記第二特定プログラムを実行するのにかかった時間を算出し、
上記総実行時間予測部が、上記処理装置を用いて、上記総実行時間算出部が算出した時間のうち、上記第二実行時間算出部が算出した時間を上記第一実行時間取得部が取得した時間で置き換えることにより、上記第一の計算機システムにおいて上記アプリケーションプログラムを実行するのにかかる時間を予測することを特徴とする性能予測方法。
A performance prediction device having a processing device that processes data, a first execution time acquisition unit, an execution log acquisition unit, a total execution time calculation unit, a second execution time calculation unit, and a total execution time prediction unit, In a performance prediction method for predicting the performance of an application program,
The first execution time acquisition unit acquires the time taken to execute the first specific program for the first specific program that realizes a specific function in the first computer system, using the processing device,
For the application program executable by the first computer system and the second computer system using the processing device, the execution log acquisition unit executes an execution log obtained by executing the application program in the second computer system. Acquired,
The total execution time calculation unit uses the processing device to analyze the execution log acquired by the execution log acquisition unit and calculate the time taken to execute the application program,
The second execution time calculation unit analyzes the execution log acquired by the execution log acquisition unit using the processing device, and performs a specific function realized by the first specific program in the first computer system. For the second specific program realized in the second computer system, when the application program calls the second specific program, it calculates the time taken to execute the second specific program,
The first execution time acquisition unit acquires the time calculated by the second execution time calculation unit among the times calculated by the total execution time calculation unit using the processing device. A performance prediction method characterized by predicting the time required to execute the application program in the first computer system by replacing with time.
JP2010133015A 2010-06-10 2010-06-10 Performance prediction apparatus, computer program and performance prediction method Pending JP2011258058A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010133015A JP2011258058A (en) 2010-06-10 2010-06-10 Performance prediction apparatus, computer program and performance prediction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010133015A JP2011258058A (en) 2010-06-10 2010-06-10 Performance prediction apparatus, computer program and performance prediction method

Publications (1)

Publication Number Publication Date
JP2011258058A true JP2011258058A (en) 2011-12-22

Family

ID=45474150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010133015A Pending JP2011258058A (en) 2010-06-10 2010-06-10 Performance prediction apparatus, computer program and performance prediction method

Country Status (1)

Country Link
JP (1) JP2011258058A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014080598A1 (en) * 2012-11-20 2014-05-30 日本電気株式会社 Operation management device and operation management method
WO2018163387A1 (en) * 2017-03-09 2018-09-13 三菱電機株式会社 Analysis device, analysis method, and analysis program
JP2019513273A (en) * 2016-03-30 2019-05-23 株式会社ソニー・インタラクティブエンタテインメント Derivation of Application-Specific Operating Parameters for Backward Compatibility
CN109976608A (en) * 2019-03-15 2019-07-05 努比亚技术有限公司 A kind of application clocking method, equipment and computer readable storage medium

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10282272B2 (en) 2012-11-20 2019-05-07 Nec Corporation Operation management apparatus and operation management method
JP5954430B2 (en) * 2012-11-20 2016-07-20 日本電気株式会社 Operation management apparatus and operation management method
WO2014080598A1 (en) * 2012-11-20 2014-05-30 日本電気株式会社 Operation management device and operation management method
JP7212114B2 (en) 2016-03-30 2023-01-24 株式会社ソニー・インタラクティブエンタテインメント Real-time adjustment of application-specific operating parameters for backward compatibility
JP2019513273A (en) * 2016-03-30 2019-05-23 株式会社ソニー・インタラクティブエンタテインメント Derivation of Application-Specific Operating Parameters for Backward Compatibility
JP2020123374A (en) * 2016-03-30 2020-08-13 株式会社ソニー・インタラクティブエンタテインメント Deriving application-specific operating parameters for backwards compatibility
JP2021182428A (en) * 2016-03-30 2021-11-25 株式会社ソニー・インタラクティブエンタテインメント Real-time adjustment of application-specific operating parameters for backward compatibility
JP7021280B2 (en) 2016-03-30 2022-02-16 株式会社ソニー・インタラクティブエンタテインメント Derivation of application-specific operating parameters for backward compatibility
JP2022058878A (en) * 2016-03-30 2022-04-12 株式会社ソニー・インタラクティブエンタテインメント Derivation of application-specific operating parameters for backward compatibility
JP2023052349A (en) * 2016-03-30 2023-04-11 株式会社ソニー・インタラクティブエンタテインメント Real-time adjustment of application-specific operating parameters for backward compatibility
JP7301183B2 (en) 2016-03-30 2023-06-30 株式会社ソニー・インタラクティブエンタテインメント Derivation of application-specific operating parameters for backward compatibility
JP7485802B2 (en) 2016-03-30 2024-05-16 株式会社ソニー・インタラクティブエンタテインメント Real-time tuning of application-specific operating parameters for backward compatibility
JPWO2018163387A1 (en) * 2017-03-09 2019-03-14 三菱電機株式会社 Analysis apparatus, analysis method, and analysis program
WO2018163387A1 (en) * 2017-03-09 2018-09-13 三菱電機株式会社 Analysis device, analysis method, and analysis program
CN109976608A (en) * 2019-03-15 2019-07-05 努比亚技术有限公司 A kind of application clocking method, equipment and computer readable storage medium
CN109976608B (en) * 2019-03-15 2021-07-23 努比亚技术有限公司 Application timing method and device and computer readable storage medium

Similar Documents

Publication Publication Date Title
US10831498B2 (en) Managing an issue queue for fused instructions and paired instructions in a microprocessor
US8407459B2 (en) Information processing apparatus and boot completion notification program
US20120011505A1 (en) Computer system and recording medium
US10572301B2 (en) Extract CPU time facility
KR20140033169A (en) Virtual machine image analysis
JP5874811B2 (en) Information processing method, program, and information processing apparatus
US20120089724A1 (en) Diagnosis of application server performance problems via thread level pattern analysis
JP4905974B2 (en) Program profiling apparatus, program profiling method, and program
JP2011258058A (en) Performance prediction apparatus, computer program and performance prediction method
CN112817831A (en) Application performance monitoring method, device, computer system and readable storage medium
JP4879782B2 (en) Program profiling method and program
JP5803935B2 (en) Availability analysis apparatus and availability analysis method
JP2018508865A (en) Application event tracking
JP7449779B2 (en) Job management method and job management device
US20160217017A1 (en) Determining workflow completion state
US9529487B1 (en) Method of providing fast switching to web apps
US11042463B2 (en) Computer, bottleneck identification method, and non-transitory computer readable storage medium
US8752038B1 (en) Reducing boot time by providing quantitative performance cost data within a boot management user interface
JP2007279861A (en) Business process management apparatus, business process management method, and business process management program
WO2012056569A1 (en) Performance measurement method, performance measurement device, and performance measurement program
JP5197128B2 (en) Dependency Estimation Device, Dependency Estimation Program, and Recording Medium
CN114510179A (en) Method, device, equipment, medium and product for determining option selection state information
CN111026989A (en) Page loading time detection method and device and electronic equipment
JP6335329B2 (en) Program dependent part visualization device, method, and program
CN114648298B (en) Work order management method, device, equipment and storage medium

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20121207