情報系のべんきょう

情報系のノートを作ります.ビギナー向けでは無いです.

性能評価

MIPS(Million Instructions Per Second)

単位時間あたりの処理可能な命令の数(単位は 100万であることに注意)

定義より,MIPS値の逆数(正確にはMIPS \times 100万の逆数)をとると 1命令あたりの実行にかかる時間を算出できます.

例えば 2.5MIPSであるCPUを持つ計算機は,

 2.5 \times 100万 = 250万

なので, 1秒間に 250万命令を実行可能.

そして逆数をとることにより

 \dfrac{1}{2.5 \times 10⁶} = 4 \times 10^{-7}

なので, 1命令あたり 4 \times 10^{-7}秒かかります.

ベンチマークテスト

 \large ベンチマークテスト

性能評価用の特別なプログラムを実行させることで,システムのハードウェアやソフトウェアの性能を評価すること.

代表的なものを紹介します.

1. \large ギブソンミックス

科学技術計算用のベンチマークで,不動小数点演算をさせるらしい.

今はほとんど使われていないとかなんとか.

2. \large コマーシャルミックス

商業分野の事務処理用で使われるベンチマーク

3. \large SPECベンチマーク

SPEC(The Standard Performance Evaluation Corporation)が提供しているベンチマーク

整数演算の性能評価をするSPECintと,不動小数点演算の性能評価をするSPECfpとがあります.

4. \large TPCベンチマーク

TPC(Transaction processing Performance Council:トランザクション処理性能評議会)が開発したベンチマーク

トランザクション処理システムに求められるような性能も評価可能.

保守

 \large キャパシティプランニング

新規システムの開発や,既存システムの改良などの際に行われる作業.

システムに対するユーザの要求を把握し,将来的にシステムに求められるであろうリソースを推定した後,経済性や拡張性を考慮したシステム構成を計画,構築,保守をすること.

システムの構成要素であるリソースの測定を行うことを \large モニタリングともいう.

最後に

この分野の問題は,問題をよく読んで計算をすれば難しくはない印象があります.

ただし,ぱっと見ではかなり複雑で初見だと解けなさそうな気しかしません.

大事なのは \large 問題を熟読すること

計算問題は別の記事で書きます.

参考:アイテックIT人材教育研究部(2020) 「応用情報・高度共通 午前試験対策書」

MTBFとMTTR

MTBFMTTR

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

システムが故障から復旧してから,次に故障するまでにかかる平均の時間

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

システムが故障したとき,復旧にかかる時間


例えば,MTBF 6MTTR 2の時は下図のようになります.

ここで,青色はシステムが正常に稼働した時間,赤色はシステムが正常に稼働していない時間(以下,異常時間)を表します.

f:id:chankilu23:20201121235501p:plain

図からは明らかですが,

 \rm{MTBF}=\dfrac{\mathbf{正常稼働時間}}{\mathbf{故障回数}} \rm{MTTR} = \dfrac{\mathbf{異常時間}}{\mathbf{故障回数}}

が成り立ちます.

簡単な変形により,正常稼働時間や異常時間をMTBFMTTRから算出も可能.

英語表記はまぎらわしいため,何の略なのか覚える方がよさげ.


稼働率(アベイラビリティ)

全運転時間に対する,正常稼働時間の割合のこと.

平均を考える時には,上図のようにMTBFMTTRが周期的に繰り返されるので, 1周期分のみを考えればよいです.

 1周期分の全運転時間:MTBF+MTTR

 1周期分の正常稼働時間:MTBF

なので,稼働率

 \mathbf{稼働率} = \dfrac{\rm{MTBF}}{\rm{MTBF+MTTR} }

で求まります.


直列系,並列系

次に,稼働率が求まったとして,稼働率 AのシステムXとYを組み合わせたときの全体のシステムの稼働率を計算していきます.

まずは直列系システム.

f:id:chankilu23:20201121200434j:plain

これはとても簡単で,システムXもYも稼働すると考えて,確率をかけ算すればOK!

(稼働率)  = (Xが正常かつYが正常)

 = A²


次に並列システム.

f:id:chankilu23:20201121200513j:plain

こっちはちょいとややこしい.

私は2通りの求め方を知っているので今回はその2つを紹介します.

前提で知っていなければいけないのは,Xが正常か異常か,そしてYが正常か異常かで合計 4パターンの状態があるということです.

(i) 気合で計算する

システムX,Yのいずれかが稼働していれば全体も稼働するので,片っ端から足します.

(稼働率)  = (Xは正常かつYは正常) + (Xは正常かつYは異常) + (Xは異常かつYは正常)

 = A² + A(1-A) + (1-A)A

 = 2A - A²

計算が多いと嫌ですね()


(ii) 余事象の考え

システムX,Yの両方が異常である時以外は稼働する,と考えます.

つまり,全体の確率 1からシステムX,Yが両方異常である確率を引きます.

(稼働率)  = 1 - (Xが異常かつYが異常)

 = 1-(1-A)(1-A)

 = 2A-A²

実際の計算では, 1-(1-A)(1-A)の式が使い勝手が良さそう.

最後に

APでは直列系と並列系が混ざったいわゆる複合系システムというものが出題されるようですがそれは今回は触れません.

そのうち問題演習の記事を書くかも(?)

参考:アイテックIT人材教育研究部(2020)「2021応用情報・高度共通 午前試験対策書」