基本情報技術者試験 令和元年度 秋季 午前 問16
よくある稼働率の計算問題。無理やり関係させて PC クラスタの話も。
--------------------------
令和元年度 秋期 午前 問16
2 台の処理装置から成るシステムがある。少なくともいずれか一方が正常に動作すればよいときの稼働率と、2 台とも正常に動作しなければならないときの稼働率の差は幾らか。ここで、処理装置の稼働率はいずれも 0.9 とし、処理装置以外の要因は考慮しないものとする。
ア 0.09
イ 0.10
ウ 0.18
エ 0.19
--------------------------
解説
ひとつ前の問題で RAID0 と RAID1 の稼働率を計算して書いたけど、こっちの問題で書けばよかった。
- "少なくともいずれか一方が正常に動作すればよいとき" ≒ RAID1 の状況
- "2 台とも正常に動作しなければならないとき“ ≒ RAID0 の状況
問題が聞いているのは両方の状況における稼働率の差なので、素直に各々の稼働率を計算するところからスタートする。
"少なくともいずれか一方が正常に動作すればよいとき"
処理装置 1 台の稼働率は 0.9 なので、故障率は 0.1 となる。
(少なくとも一方は正常の確率)
= 1 -(2 台とも壊れている確率 = 0.1 × 0.1 = 0.01)
= 0.99
となるので、稼働率は 0.99 であると分かる。
ちなみに全く工夫なしに以下のようにしても計算できる。
あまり意味はないけど、どうしても検算したいときには使えるかも。
(少なくとも一方は正常の確率)
=(2 台とも正常の確率)+(装置 A のみ正常の確率)+(装置 B のみ正常の確率)
=(0.9 × 0.9)+(0.9 × 0.1)+(0.1 × 0.9)
= 0.81 + 0.09 + 0.09
= 0.99
"2 台とも正常に動作しなければならないとき"
こちらは単純に計算できる。
(2 台とも正常の確率)
= 0.9 × 0.9
= 0.81
となるので、稼働率は 0.81 である。
0.99 と 0.81 の差が問題の聞いていることなので、正解は選択肢ウの 0.18 である。
稼働率 0.9 の機器 2 台を冗長化すれば稼働率は 0.99 になる。3 台で冗長化すれば稼働率は 0.999 にもなる。
安価な機器でも複数台で冗長化すれば、高信頼なシステムが作れる。ついでに、どれも壊れていない間は複数台分の性能を使うこともできる。
科学の数値シミュレーションに利用される PC クラスタシステム にもこの考え方が当てはまる。
性能も信頼性も高い特注のサーバーではなく、一般的なサーバーを数百台並べてシステムを構成する。
1 つのシミュレーションはシステムの一部(サーバー 10 台分とか)を確保して実行されるので、その時点で正常稼働しているサーバーが必要な台数だけあれば業務は進めることができる。
数百台もあると 2 日に 1 台くらいは壊れるので頻繁に復旧作業はしているが、利用者の業務(シミュレーション)には影響しない。
運悪くシミュレーション実行中のサーバーが故障すると影響してしまうけど、別のサーバーを確保して再実行すればいい。
業務に必要な物量を保てるなら、毎日何かが壊れる前提でも問題はない。
(運用する人たちは大変だけど)
前後の問題はこちら。