---
# System prepended metadata

title: Ch7 評估參數
tags: [計算機組織]

---

# Ch7 評估參數
###### tags:`計算機組織`

## 量測 I/O 系統

### dependability
- 一個系統所能提供服務的品質
- 由 reliability 和 availability 決定

### Reliability
- 條件機率
- mean time to failures(MTTF)
- 增加 MTTF 可以同時增加 reliability 和 availability

### availability
- availability 是某一個時間點使用系統，這個系統是好的機率
- mean time to failures(MTTF)
- mean time to repair(MTTR): 系統是壞的時間，要多久才會修復
- 系統的整體時間 = MTTF + MTTR = mean time between failure (MTBF)兩次壞掉的時間
- availability = $\frac{MTTF}{MTTF+MTTR}$

### MTBF
- 指的是「平均故障間隔時間」，代表一個設備從一次失效到下一次失效之間的期望時間（expected time）。
- 單位通常是小時，越大表示越可靠。

### 如何改善
> 整體來說就是要增加 quality of the components，或是設計系統可以容忍failure
> 對於 availability 增加 MTTF 和減少 MTTR 是一樣的效果

- Fault avoidance :
    - 在建構系統時，避免 fault 發生。
    - 像是設計一種系統，重要的 component 是由三個 output 決定最終 output
    - 當有一個 output 死掉了，不會影響最終 output。
- Fault tolerance
    - 有備份元件，用 switch 到好的 component
- Fault forecasting
    - 預測錯誤的產生，在錯誤發生前處理

### 計算
- MTBF(array) = MTBF(one disk) / No. of disk in array  
    - 只要陣列中的任意一顆硬碟故障，整個陣列就可能失效
    - 假設每顆硬碟故障發生的都是獨立的
- Annual Failure Rate (AFR) = No. of disk / MTTF
- raid 5 有非常低的 MTTR

## 為什麼 n 個 disk in disk array 會讓 $\frac{MTBF}{N}$ ? 

這是一個關於「系統可靠度」與「統計期望值」的問題，核心觀念是：**一組有多個元件的系統，其失敗的期望時間（MTBF）會比單一元件低，因為只要任一元件失敗，整個系統就會出問題。**

### Step 1：故障時間的分布（Exponential Distribution）

實際上，電子設備的壽命常以「指數分布」(Exponential distribution) 模型表示。
這是一種常見的模型，其特性如下：

* 對一個設備，其故障的「平均等待時間」是 MTBF，記作 $T$。
* 指數分布的「記憶性」表示過去多久不影響未來壞掉的機率。

指數分布的失敗率是常數，我們記作：

$$
\lambda = \frac{1}{T}
$$
這時候，單一磁碟在時間 $t$ 內存活的機率是：

$$
\begin{aligned}
P(T_i > t) &= 1 - \int^{t}_{-\infty}\lambda e^{-\lambda t}dt\\ 
&= 1 - (1 -e^{-\lambda t})\\
&= e^{-\lambda t}
\end{aligned}
$$

### Step 2：有 n 個磁碟的系統的失敗機率
結論是以下要證明這個式子的正確性 : 
$$
\lambda_{\text{system}} = n \cdot \lambda = \frac{n}{T}
$$

整個系統的壽命 = 所有磁碟中最早壞掉的那顆磁碟的壽命：

$$
T_{\text{system}} = \min(T_1, T_2, \dots, T_n)
$$

整個系統能在至少多長的時間都不會壞的機率 : 
$$\begin{aligned}
P(T_{\text{system}} > t) &= P(\min(T_1, \dots, T_n) > t) \\
&= P(T_1 > t \ \text{and} \ T_2 > t \ \dots \ T_n > t)\\
&= P(T_1 > t) \cdot P(T_2 > t) \cdots P(T_n > t) = (e^{-\lambda t})^n = e^{-n\lambda t}
\end{aligned}
$$

$$\begin{aligned}
&\because T_{\text{system}}~\sim \text{Exponential}(n\lambda)\\
&\therefore E(T_{\text{system}}) = n\lambda
\end{aligned}
$$


### Step 3：將系統的失敗率轉換回 MTBF

由於 MTBF 就是失敗率的倒數，我們就得到：

$$
\text{MTBF}_{\text{system}} = \frac{1}{\lambda_{\text{system}}} = \frac{1}{n/T} = \frac{T}{n}
$$


