ベンチマークテストと他の性能評価手法をどう見分けるか
基本情報技術者試験 平成29年度春期 午前 問13 / システム構成要素 › システムの評価指標
過去問にチャレンジ
ベンチマークテストの説明として,適切なものはどれか。
- ア
監視・計測用のプログラムによってシステムの稼働状態や資源の状況を測定し,システム構成や応答性能のデータを得る。
- イ
使用目的に合わせて選定した標準的なプログラムを実行させ,システムの処理性能を測定する。
- ウ
将来の予測を含めて評価する場合などに,モデルを作成して模擬的に実験するプログラムでシステムの性能を評価する。
- エ
プログラムを実際には実行せずに,机上でシステムの処理を解析して,個々の命令の出現回数や実行回数の予測値から処理時間を推定し,性能を評価する。
会話形式の解説
講師今回は、システムの性能評価の手法の中から、ベンチマークテストの説明を選ぶ問題です。どれも性能を調べる話なので似て見えますが、「何を使って」「どうやって」性能を得ているかに注目すると見分けられます。
受験者ベンチマークは「性能を測るテスト」というくらいの理解です。どの選択肢も性能を測っているように読めて、迷ってしまいました。
講師そこが引っかかりやすいところです。ベンチマークテストの要点は2つあります。1つは、決められた標準的なプログラムを使うこと。もう1つは、そのプログラムを実際に動かして測ることです。この2つがそろっているかを、各選択肢で確かめてみましょう。
受験者それなら、使用目的に合わせて選んだ標準的なプログラムを実行して処理性能を測る、という説明が両方満たしています。
講師そのとおりです。それがベンチマークテストの説明で、正解になります。では、監視・計測用のプログラムでシステムの稼働状態や資源の状況を測る、という説明はどうでしょうか。
受験者プログラムを使って実際に測っているので、これもベンチマークに近い気がしました。
講師実際に測っている点は同じですが、使っているのは監視用のプログラムで、動いているシステムの様子をそのまま観察しています。これはモニタリングという手法です。標準プログラムを動かして性能を比べるわけではないので、ベンチマークには当たりません。
受験者なるほど。「標準プログラムを動かす」のか「稼働中の状態を観察する」のかで分かれるのですね。モデルを作って模擬的に実験する説明は、シミュレーションでしょうか。
講師はい。将来の予測も含めて、モデルの上で模擬実験をして性能を評価するのがシミュレーションです。評価しているのはモデルなので、実際のシステムで標準プログラムを動かすベンチマークとは別の手法です。
受験者残りの、命令の出現回数や実行回数から机上で処理時間を見積もる説明は、プログラムを実行していないので、2つ目の要点に合いませんね。
講師そうです。実行せずに解析して見積もる方法で、命令ミックスなどの解析的な評価に当たります。計算で推定しているだけなので、実行して測るベンチマークではありません。
受験者整理すると、標準プログラムを実際に動かして測るのがベンチマーク、稼働中のシステムを観察するのがモニタリング、モデルで模擬実験するのがシミュレーション、実行せず机上で見積もるのが解析的な評価、ということですね。
講師よくまとまっています。補足すると、代表的なベンチマークには、プロセッサの性能を測るSPECや、トランザクション処理の性能を測るTPCがあります。また、結果は使ったプログラムの処理内容によって変わるので、実際の運用での性能と同じになるとは限りません。この点も覚えておくと、関連する問題で役に立ちます。
まとめ
ベンチマークテストは、使用目的に合わせて選んだ標準的なプログラムを実際に実行し、システムの処理性能を測る手法です。稼働中のシステムの状態や資源の使われ方を監視プログラムで計測するのはモニタリングで、ベンチマークではありません。モデルを作って模擬実験し、将来の性能を予測するのはシミュレーションです。プログラムを実行せずに命令の回数などから処理時間を見積もるのは、命令ミックスなどの解析的な評価です。「標準プログラムを使うか」「実際に動かして測るか」の2点で見分けると判断しやすくなります。
解答・解説
正解はイです
この問題のテーマ
システムの性能評価にはいくつかの手法があります。この問題では、その中からベンチマークテストの説明を選びます。
解き方の考え方
ベンチマークテストの要点は2つです。1つは、決められた標準的なプログラムを使うことです。もう1つは、そのプログラムを実際に動かして性能を測ることです。各選択肢について、何を使って、どのように性能を得ているかを確かめます。実際に動かしていない手法や、標準プログラムを使っていない手法は外せます。
選択肢ごとの解説
- ×ア 監視・計測用のプログラムによってシステムの稼働状態や資源の状況を測定し,システム構成や応答性能のデータを得る。アは、監視・計測用のプログラムで稼働中のシステムの状態や資源の使われ方を測る説明です。これはモニタリングと呼ばれる手法です。動いているシステムの様子をそのまま観察するもので、標準プログラムを動かして性能を比べるわけではありません。そのため、ベンチマークテストには当たりません。
- ○イ 使用目的に合わせて選定した標準的なプログラムを実行させ,システムの処理性能を測定する。イは、使う目的に合わせて標準的なプログラムを選び、実際に実行して処理性能を測ると説明しています。「標準プログラムを使う」「実際に動かして測る」という2つの要点がどちらも入っているので、ベンチマークテストの説明として正しいです。
- ×ウ 将来の予測を含めて評価する場合などに,モデルを作成して模擬的に実験するプログラムでシステムの性能を評価する。ウは、モデルを作って模擬的に実験し、将来の予測も含めて性能を評価する説明です。これはシミュレーションの説明です。評価の対象はモデル上の模擬実験なので、標準プログラムを実際のシステムで動かして測るベンチマークとは別の手法です。
- ×エ プログラムを実際には実行せずに,机上でシステムの処理を解析して,個々の命令の出現回数や実行回数の予測値から処理時間を推定し,性能を評価する。エは、プログラムを実行しないで、命令の出現回数や実行回数の予測値から処理時間を机上で見積もる説明です。プログラムを実際に動かして測っていないので、「実行して測定する」というベンチマークテストの要点に合いません。
補足
代表的なベンチマークには、プロセッサの性能を測るSPECや、トランザクション処理の性能を測るTPCがあります。ベンチマークの結果は、使ったプログラムの処理内容によって変わります。そのため、実際の運用での性能と同じになるとは限りません。
POINT
- ベンチマークテストでは、用途に合わせて選んだ標準プログラムを実際に動かし、処理性能を測ります。
- 稼働中のシステムの状態や資源の使われ方を計測する手法は、モニタリングといいます。
- モデルを作って模擬実験し、将来の性能を予測する手法は、シミュレーションといいます。
- プログラムを実行せずに、命令の回数などから処理時間を見積もる方法は、机上での評価であり、ベンチマークではありません。
