信頼性 — MTBF・MTTR・稼働率・アムダールの法則

MTBF/MTTR/稼働率の計算と直列/並列の合成、アムダールの法則による並列化上限を整理。

信頼性指標は、システムの故障しにくさと復旧しやすさを数値で比較するための基礎です。IPAの応用情報技術者試験シラバスに沿って、MTBF・MTTR・稼働率と、性能向上の上限を扱うアムダールの法則を整理します。

鳴海 理央(普段) 鳴海 理央

MTBF は平均故障間隔、MTTR は平均修復時間。
稼働率 = MTBF / (MTBF + MTTR) で計算します。

砂原 ニコ(普段) 砂原 ニコ

並列とか直列だと、稼働率ってどう計算するの?

緒方 ナオミ 先生(笑顔) 緒方 ナオミ 先生

直列接続なら稼働率の積 (a×b)、並列接続なら『どちらも止まる確率』の補数 (1-(1-a)(1-b)) で求めるのよ。
AP科目Aの頻出分野だから、ここは押さえておいてね。

藤咲 まりあ(普段) 藤咲 まりあ

アムダールの法則 って何ですかぁ?

鳴海 理央(普段) 鳴海 理央

並列化で得られる速度向上の上限を示すものですね。
処理全体のうち並列化できる割合を p、その部分の高速化倍率を n とすると、Speed = 1 / ((1-p) + p/n) で表されます。
逐次部分1-pが残る限り、いくら並列化してもそこが頭打ちになるんです。

緒方 ナオミ 先生(普段) 緒方 ナオミ 先生

たとえば逐次部分が10%なら、いくら並列化しても最大10倍までしか速くならないのよ。
だから AI の分散学習でも『逐次部分をいかに減らすか』が大事になるの。

稼働率を計算するときの前提

MTBF(Mean Time Between Failures)は、修理して再使用するシステムの故障から次の故障までの平均時間です。MTTR(Mean Time To Repair)は平均修復時間で、同じ時間単位にそろえて A=MTBF/(MTBF+MTTR) と計算します。MTBFが900時間、MTTRが100時間ならA=900/1000=0.9です。「MTBFが長いほど良い」「MTTRが短いほど良い」を式と結び付けてください。

各装置の故障が独立で、直列システムは全装置の稼働を必要とする、と仮定します。稼働率0.99の装置2台を直列にすると0.99²=0.9801です。どちらか一方が動けばよい並列構成なら、両方が止まる確率0.01²を1から引き、1-0.0001=0.9999になります。直列は「全部動く」を掛け、並列は「全部止まる」の補数を取るのが見分け方です。

アムダールの法則の計算例

全処理の80%を4倍に高速化できる場合、p=0.8、n=4なので、速度向上率は1/(0.2+0.8/4)=1/0.4=2.5倍です。単純に「80%を4倍だから3.2倍」としてはいけません。残る20%の逐次部分も実行時間に含まれます。また、稼働率を高める冗長化と、処理速度を高める並列化は目的が異なるため、同じ「並列」という言葉だけで公式を選ばないでください。

出題範囲の確認先: IPA「試験要綱・シラバス」

確認クイズ

MTBF が 9,990 時間、MTTR が 10 時間のシステムの稼働率はいくらか。

  1. 0.999
  2. 0.99
  3. 0.9
  4. 0.9999
こたえを見る

正解: 1. 0.999

稼働率 = MTBF / (MTBF + MTTR) = 9990 / 10000 = 0.999 = 99.9%。年間に直すとダウンタイム約 8.76 時間に相当します。

確認クイズ

処理全体の80%を4倍に高速化できる。アムダールの法則による全体の速度向上率はいくらか。

  1. 1.6倍
  2. 2.5倍
  3. 3.2倍
  4. 4倍
こたえを見る

正解: 2. 2.5倍

1/((1-0.8)+0.8/4)=1/(0.2+0.2)=2.5倍です。高速化されない逐次部分20%を分母に残します。

緒方ナオミ先生、鳴海理央が科学館の体験展示を楽しむ様子

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。