【性能評価と稼働率】システムの性能評価の指標〜稼働率と求め方まで解説!

【性能評価と稼働率】システムの性能評価の指標〜稼働率と求め方まで解説!
ハテオ君

システムの性能を評価する指標や稼働率の求め方があまり理解できない。わかりやすく学べないかなぁ

今回はこの悩みを解決していきます。

本日の記事テーマ

システムの性能評価の指標〜稼働率と求め方まで徹底解説!

システムの性能を評価する指標にはいくつかの指標があり、その指標に基づいてシステムの性能を評価していきます。

またシステムには稼働率が存在します。稼働率を求める方法にはシステムの種類毎に変わってきます。

上記2点はIT試験でも問われる内容ですので、今回の記事で指標や求め方を身につけていきましょう!

本日の記事内容

  • システムの性能評価
  • 命令ミックス
  • システムの稼働率
  • 直列・並列システムの稼働率

記事の最後には、今回の内容に関しての確認問題も用意していますので、インプットとアウトプットとしても是非活用してみてください。

元中卒の私が誰でも理解できるように解説していきます。

それでは早速見ていきましょう!

黄島 成

システムの性能評価

システムの性能評価

コンピュータシステムAとコンピュータシステムBのどちらが高性能かを判断するために、次のような性能評価指標があります。

  • ベンチマークテスト
  • MIPS(Million Instructions Per Second)
  • FLOPS(Floating Operations Per Second)

順番に詳しく見ていきましょう。

ベンチマークテスト

ベンチマークは、コンピュータシステムの使用目的に合うプログラムを実行させ、そのプログラムの実行時間を相対比較することでシステムの性能を評価します。

ベンチマークには次のようにいくつか種類があります。

SPECint

正数演算の性能を測定するベンチマークテスト。

CPU・メモリシステム・コンパイラ」のコー ド生成の性能を評価するために使われます。

SPECfp

異なるコンピュータの浮動小数点数演算の性能を測定するベンチマーク

<TPCベンチマークテスト

オンライントランザクション処理(OLTP:OnLine Transaction Processing)システムを対象としたベンチマークテスト。

CPU性能だけでなく、磁気ディスク装置の入出力やDBMSの性能まで含めた評価が可能です。

MIPS(Million Instructions Per Second)

MIPSは、1秒間に実行される命令の回数を百万単位で表したものです。

一般的には設計法、構成部品で評価結果が異なります。

同一コンピュータメーカ、同一アーキテクチャのコンピュータシステム間のCPU性能比較に用いられます。

FLOPS(Floating Operations Per Second)

FLOPSは、1秒間に実行される浮動小数点演算の回数です。

主に科学技術計算の性能比較に用いられますが、超並列コンピュータの評価指標としても用いられます。

命令ミックス

命令ミックス

命令にはいくつか種類があり、それぞれ実行速度も異なります。

そこで、よく使われる命令をピックアップしてセットしたもの(命令ミックス)を用意し、それぞれの命令の実行速度と出現頻度から加重平均を求め、MIPS値で表せばより正確な指標にとなります。

命令ミックスには、科学計算で使われる「ギブソンミックス」と会計・事務などの商業部門で使われる「コマーシャルミックス」があります。

MIPS値の求め方

次のような命令ミックスを例に、コンピュータの処理性能をMIPS値で表してみましょう。

命令種別実行速度(マイクロ秒)出現頻度(%)
正数演算命令1.050
移動命令5.030
分岐命令5.020

まず、各命令の実行速度と出現頻度が異なるため、加重平均を使って平均命令実行時間を求めます。

1.0×0.5+5.0×0.3+5.0×0.2=3.0

となり、1命令当たりの平均実行命令時間は3.0 マイクロ秒です。これをMIPS値で表します。MIPSは、1秒間に実行される命令の回数を百万単位で表したものです。

MIPS値の求め方

たすき掛けで解くと、1秒間に実行される命令の回数は「333,333,33・・・」百万単位で表すと「0.3」となります。

つまり約「0.3MIPS」と求めることができますね。

システムの稼働率

システムの稼働率

コンピュータシステムの信頼性を示す指標の1つに稼働率というものがあります。

稼働率とは「システムが動作している確率」という意味です。

この稼働率は以下の指標で表すことが可能です。

稼働率の指標

  • 平均故障間隔
  • 平均修理時間

それでは順番に詳しく見ていきましょう。

平均故障間隔(MTBF:Mean Time Between Failures)

平均故障間隔(MTBF:Mean Time Between Failures)は、システムが故障してから、次に故障するまでの平均時間のことです。

平均故障間隔の値が大きいほど、信頼性が高いシステムと言えます。

平均修理時間(MTTR:Mean Time To Repair)

平均修理時間(MTTR:Mean Time To Repair)は、システムが故障して修理に要する平均時間を言います。

平均修理時間の値が小さいほど保守性が高いシステムと言えます。

平均修理時間(MTTR:Mean Time To Repair)図

平均故障間隔(MTBF)と平均修理時間(MTTR)の求め方

稼働率は、システムが正常に動作している時間の割合で、上記で説明した「MTBF」と「MTTR」を用いて表すことができます。

計算式は以下通りです。

システムの稼働率計算式図

例えば、ある装置の4ヶ月における各月の稼働時間と修理時間は次の通りで、各月の故障回数は1回ずつであったとしたとします。

このときのMTBFとMTTR、稼働率を求める場合は以下図の通りです。

システムの稼働率の求め方図②

つまり、上記のシステムの稼働率は95%となります。

直列・並列システムの稼働率

直列・並列システムの稼働率

システムは1つのシステムだけではなく、複数のシステムで構成されていることがあります。

そのため次は、複数の要素で構成されているシステムの稼働率との求め方について解説していきます。

  • 直列システムの稼働率
  • 並列システムの稼働率
  • バスタブ曲線

それでは順番に見ていきましょう。

直列システムの稼働率

直列システム図

システムAとBが直列で接続されている場合、一方のシステムが稼働しなくなるとシステム全体が稼働しなくなりますね。

システム全体が稼働するのは、システムAとBが両方とも稼働しているときになります。

直列システムの稼働率図

ここでシステムAの稼働率を「」システムBの稼働率を「」とすると、直列システムの稼働率は「a×b」で求めることができます。

並列システムの稼働率

並列システム図

システムAとBが並列で接続されている場合、システム全体として稼働している状態は、システムAとBの少なくとも1台が稼働しているときになります。

並列システムの稼働率図

ここで、システムAの稼働率を「」システムBの稼働率を「」とすると、並列システムの稼働率は「1-(1-a)(1-b)」で求めることができます。または「1―稼働率=故障率」である。

式の仕組み

並列システム式の仕組み図
  • ①:システムAが故障している確率
  • ②:システムBが故障している確率
  • ③:システムAとBの両方が故障している確率
  • ④:システムAとBの両方が故障している以外の確率 →システムAとBのどちらか1台が稼働している

バスタブ曲線

各装置の故障率と時間の関係をグラフにすると、一般的に図のような曲線を描きます。形が浴槽に似ているため「バスタブ曲線」と呼ばれています。

システムを故障なしに長い時間動かすためには、偶発故障期間に定期点検で部品を交換することによって、摩耗故障期間を抑える磁気を遅らせることが重要です。

バスタブ曲線図
  • ①初期故障期間・・・初期導入時には、設計や製造の誤りなどにより故障率が高くなる
  • ②偶発故障期間・・・初期故障の誤りを修正し、故障率がほぼ一定になる
  • ③摩耗故障期間・・・時間が経つにつれて、摩耗などにより故障率が高くなる

今回のまとめ&確認問題

【性能評価と稼働率】システムの性能評価の指標〜稼働率と求め方まで解説!まとめ

性能評価と稼働率については上記内容で以上となります。

それではまず今回の内容をまとめていきましょう。

まとめ

  • システムの性能評価は「ベンチマーク・MIPS・FLOPS」の3つ
  • 命令ミックスは、平均命令実行時間を求め、MIPS値はで表す
  • 稼働率は「平均故障間隔・平均修理時間」を用意いて求める
  • 直列システムの稼働率は、システムA,Bの稼働率を掛けて求める
  • 並列システムの稼働率は、システムA,Bの稼働率を「1-(1-a)(1-a)」求める

今回の確認問題「アウトプット用」

確認問題

システム確認問題④

「次へ」で問題スタート!

①解説

【問題①】

1件のトランザクションについて80万ステップの命令実行を必要とするシステム がある。プロセッサの性能が200MIPSで、プロセッサの使用率が80%のときのトランザクションの処理能力(件/秒)は幾らか。

:20 不正解×
:200 正解◯
:250 不正解×
:313 不正解×

【解説】

MIPSは、1秒間に実行される命令の回数を百万単位で表したものです。

問題では、プロセッサの使用率が80%なので処理できる命令件数は以下のように求めます。

200MIPS×0.8=160百万件

1秒間に160百万件(160,000,000回)の命令を処理できるプロセッサで、1件について80万ステップ(800,000ステップ)の命令実行が必要なトランザクションを処理するので、1秒当たりのトランザクション処理能力は以下通りです。

160,000,000÷800,000=200件/秒

つまり答えは「」となる。

②解説

【問題②】

MTBFが45時間でMTTRが5時間の装置がある。この装置を二つ直列に接続したシステムの稼働率は幾らか。

:0.81 正解◯
:0.90 不正解×
:0.95 不正解×
:0.99 不正解×

【解説】

稼働率の公式は以下通り

システムの稼働率図

上記の計算を使ってMTBFが45時間でMTTRが5時間の装置の稼働率を求めると以下のようになります。

45/(45+5)=0.9

この装置を二つ直列に接続したシステムの稼働率は2倍になるので以下のようになります。

0.9×0.9=0.81

つまり答えは「ア:0.81」となる。

③解説

【問題③】

2台の処理装置から成るシステムがある。少なくともいずれか一方が正常に動作すればよいときの稼働率と、2 台とも正常に動作しなければならないときの稼働率の差は幾らか。ここで、処理装置の稼働率はいずれも0.9とし、処理装置以外の要因は考慮しないものとする。

:0.09 不正解×
:0.10 不正解×
:0.18 正解◯
:0.19 不正解×

【解説】

稼働率をRとすると「少なくともいずれか一方が正常に動作すればよいときの稼働率」は並列接続として表せるため「1-(1-R)2」となる。

2台とも正常に動作しなければならないときの稼働率」は直接接続として表せるため、R2という公式を用いてシステム全体としての稼働率を計算できます。Rに0.9を代入してそれぞれの稼働率を求め、差を導きます。

計算式

  • [直接接続]
    0.9×0.9=0.81
  • [並列接続]
    1-(1-0.9)2=1-0.12=0.99
  • [2つの稼働率の差]
    0.99-0.81=0.18

つまり答えは「ウ:0.18」となる。

最後まで読んでいただきありがとうございました!

今回の内容が、役に立ったな!と思ったらシェア&ブクマ登録よろしくお願いします。

また、質問や問い合わせに関しては、コメント欄かお問い合わせフォームを活用ください。

それではまたお会いしましょう。

黄島 成

-システム
-