1.基礎概念 1.1 ディペンダブルなシステムとは Dependability Fault Avoidance 広い意味で,信頼性を表す用語 Fault Avoidance 障害の原因となるフォールト(故障)が発生しないようにするというアプローチ Fault Tolerance (耐故障性) フォールトが発生しても障害に至らないようにするというアプローチ
リレー,真空管 接点の故障 → 誤り検出符号による フォールトの検出と 再実行 熱による故障 → ヒータ電圧の低電圧化 (長寿命化)
1.2 用語 Failure, Fault, Error Fault (故障,フォールト) Error (誤り,エラー) 構成要素の異常.障害,誤りの原因. Error (誤り,エラー) システムの構成要素の異常状態.フォールトが顕在化したもの.障害の原因. Failure (障害) システムが期待されるサービス(Service)を提供しなくなること.
フォールト,誤り,障害,エラーレイテンシ System x = 0 → OK Service x x = 1 → Error Failure Fault (0縮退故障, Stuck-at-0 Fault) Fault Error Failure time Error Latency
故障モデル fault model フォールトのモデルのこと 故障のモデルが無いと,対策も立てられない 実際の故障を適切に表現していることが必要 例. 縮退故障 (ゲートレベル) 5章 クラッシュ故障(プロセスレベル) 3章
フォールトトレランスのレベル(ユーザの視点から) 静的マスク Static Masking 動的マスク Dynamic Masking ファイルセイフ Fail Safe
静的マスク(Static Masking)の例 Triple Modular Redundancy (TMR) Faultはユーザに透過的(transparent) Module Module Voting Element Input Output 多数決を採る Majority Module
動的マスク(Dynamic Masking)の例 単純な動的冗長系 Dynamic Redundancy 障害が一時的に顕在化 Module Module Module Module Module Module Spare Module Module Module … … … Reconfiguration
フェイルセイフ(fail safe) 障害が起きても安全な出力・状態に移行 安全 障害 危険
1.3 評価尺度 まえおき Random variable (確率変数) 1.3 評価尺度 まえおき Random variable (確率変数) 例.X (0 ≤ X ) : 障害までの時間を表す確率変数 Cumulative distributed function (CDF, 確率分布関数) F(t) = Pr[X ≤ t] Probability density function (pdf, 確率密度関数) f(t) = fF(t)/dx Expected Value, Mean (期待値,平均) E[X] = 0 t f(t)dt (ただし,X≥0の場合)
例.指数分布 Exponential Distribution CDF F(t) = 1 – e-lt pdf f(t) = le-lt Mean 1/l f(t) = 2e-2t F(t) = 1 – e-2t
信頼度 Reliability Reliability (信頼度) R(t) = Pr[X > t] = 1 – F(t) F(t)はXに関する確率分布関数 F(t) = 1 – e-2t R(t) = e-2t 時刻0 t X
Failure Rate(障害率) f(t)Dt f(t)Dt/R(t) Failure Rate l(t) = f(t)/R(t) [t, t+Dt]でfailureが起きる確率 f(t)Dt/R(t) tで正常な時, [t, t+Dt]でfailureが起きる確率 Failure Rate l(t) = f(t)/R(t) 時刻tまで無障害で[t, t +Dt]でfailureが起きる確率= l(t)Dt f(t) = 2e-2t R(t) = e-2t F(t) = 1 – e-2t [t, t+Dt]
Bathtub Curve Failure Rate Bathtub Curve l(t) = f(t)/R(t) 通常は一定と考えるのが自然 Failure Rateが定数lのとき,F(t)=1-e-lt (指数分布) l
信頼度 R(t) = e R(t) = e Failure Rate l(t)が与えられたとき Failure Rateが定数 lのとき -0t l(t)dt R(t) = e Failure Rateが定数 lのとき -lt R(t) = e
MTTF (Mean Time To Failure) E[X] = 0 t f(t)dt = 0 R(t)dt Xはシステム障害までの時間を表す確率変数 R(t) = e-ltの場合 (Xが指数分布の場合) Failure Rate = l MTTF = 1/l 時刻0 の期待値(expected value)
参考 Availability (可用度) ある時刻においてシステムが正常である確率 Instantaneous availability (瞬時アベイラビリティ) A(t) = Pr[時刻tでシステムが正常] Steady-State Availability (定常アベイラビリティ) A = limt→∞ A(t) 障害 修復 障害 修復 t Xi Xi+1 Xi+2 Ui Ui+1
MTTR (Mean Time To Repair)と 定常アベイラビリティ MTTR = E[Ui] Steady-State Availability (定常アベイラビリティ) A = MTTF / (MTTF + MTTR) t Xi Xi+1 Xi+2 Ui Ui+1