> [!abstract] 概要(abstract の日本語訳)
> 現代のデータセンターは数十万台のサーバーを擁し、高可用なクラウドコンピューティングサービスを実現するためにタスクを協調処理する。これらのサーバーは複数のハードディスク、メモリモジュール、ネットワークカード、プロセッサなどで構成されており、いずれも念入りに設計されているが障害を起こしうる。1 台のサーバーのライフタイム(業界では通常 3〜5 年)においてそのような障害が発生する確率は比較的小さいが、データセンターに収容された全マシンにわたるとある瞬間に障害しうるコンポーネント数は膨大になる。このような大規模においてはハードウェアコンポーネントの障害は例外ではなく規範である。ハードウェア障害はサービス停止によりエンドユーザーへの性能低下につながり、直接収益と長期的な評判の両面でビジネス上の損失をもたらす。障害の数やその背後にある原因を的確に把握することは、障害に対して備えを固めるだけでなく、エンジニアリングによってハードウェアコストを削減し、ひいては企業にとっての節約に直結することで、運用体験を改善する。本論文は、我々の知る限り、大規模データセンターにおけるサーバー障害とハードウェア修理を研究した最初の試みである。我々は障害特性の詳細な分析および障害予測因子に関する予備分析を提示する。本論文の結果がこの領域のさらなる研究を促進する動機づけになることを願っている。
## 論文情報
- **タイトル**: Characterizing Cloud Computing Hardware Reliability
- **著者**: Kashi Venkatesh Vishwanath、Nachiappan Nagappan([[Microsoft Research]])
- **掲載媒体**: ACM Symposium on Cloud Computing (SoCC'10)、2010 年 6 月 10-11 日、インディアナポリス、インディアナ州
- **PDF**: [Microsoft Research 公式](https://www.microsoft.com/en-us/research/wp-content/uploads/2010/06/socc088-vishwanath.pdf)
- **ACM 分類**: C.4 システム性能: 信頼性・可用性・保守性
## 概要
Microsoft のデータセンター(複数国・複数拠点)に収容された 100,000 台超のサーバーを対象に 14 か月間のハードウェア修理ログを分析した実証研究である。データセンター規模での全サーバー信頼性を定量化した初の論文として位置づけられており、個別コンポーネントの障害分析を超えてサーバーレベルの障害率・コスト・パターンを明らかにする。連続障害の統計モデル化と CHAID 分類木による障害予測因子の探索が 2 つの特筆すべき貢献である。
## 問題設定
- **対象**: Microsoft のクラウドコンピューティングインフラ(データセンター複数拠点)の 100,000 台超のサーバー
- **入力データ**: (1) サーバーインベントリ(シリアル番号・OS インストール日・データセンター・役割・50 以上のフィールド)、(2) ハードウェア修理トラブルチケット(障害記録日時・修理完了日時・修理内容)、(3) サーバー構成情報(HDD 数・メモリモジュール数など)
- **観測期間**: 14 か月
- **制約**: 障害発生時刻は直接観測できず、修理イベント(トラブルチケット発行)を障害の代理指標として使用。データは人手でサニタイズされており、実際の修理数の下限値を報告する
## 提案手法
本論文は手法提案ではなく観測研究(measurement study)であり、以下の分析アプローチを用いた。
- **記述統計**: サーバー齢分布(Figure 1)・HDD 数分布(Figure 2)・メモリモジュール数分布(Figure 3)・修理回数分布(Figure 4)を集計し、年間障害率(AFR)とコストを推算
- **年齢別 HDD 障害分析**: サーバー齢ごとに HDD 障害を経験したサーバーの割合を集計(Figure 5)
- **若いサーバーの縦断追跡**: データセット期間内に初めて稼働したサーバーのみを追跡して累積障害数を年齢(週)の関数として分析し、S 字曲線フィット(Figure 6)
- **CHAID 分類木**: 50 超の環境・設計・運用メトリクスを説明変数にカイ二乗自動相互作用検出法で障害の予測因子を探索(Figure 7)
- **修理済みサーバーの分析**: 障害経験サーバーのみを対象に「機械あたり修理数(RPM)」と HDD 数の関係を分析(Figure 9)
- **連続障害の統計モデル化**: 連続障害の発生間隔日数に 10 種の統計モデルをあてはめ適合度(R²)を比較(Figure 11、Table 1)
## 新規性
2010 年時点の既存研究との対比:
| 先行研究 | 対象 | 本研究との違い |
|---|---|---|
| Schroeder & Gibson (FAST'07) | ディスク交換ログ | コンポーネント単体。サーバーレベルの統合なし |
| Pinheiro et al. (FAST'07) | 大規模 HDD 人口 | コンポーネント単体。温度・利用率との相関 |
| Google (Schroeder, SIGMETRICS'09) | メモリモジュール | コンポーネント単体(DIMM 誤り) |
| Google (Jeffrey Dean 講演) | Google インフラ | 概要値のみ(HDD AFR 1-5%、サーバークラッシュ 2-4%) |
**本研究の固有の貢献**: (1) サーバー全体レベルでの修理率・AFR の定量化、(2) 連続障害の統計モデル化(インバース曲線)、(3) 大規模データセンターでの予測因子探索(CHAID 分類木)、(4) 障害経験済みサーバーが異なる信頼性パターンを示すことの実証。
## 実験設定
- **サーバー台数**: 100,000 台超(プライバシー保護のためスケールダウン係数を適用して 100 台単位で報告)
- **観測期間**: 14 か月
- **拠点**: 複数データセンター(複数国・複数大陸)
- CHAID 分類木で顕在化したデータセンター: Tukwila 5、Tukwila Data Center、Silicon Valley - 1、Singapore IDC、Dublin IDC・Columbia 1 Bldg 27・Tokyo–Kawaguchi・Bldg 43・Dublin IDC2・Tukwila 3・Blue Ridge・Tukwila 2・Bldg 11 の複合グループ(Figure 7)
- **評価指標**: AFR、修理コスト(推算)、R² 値(モデル適合度)
**Figure 7: CHAID 分類木 — 障害の予測因子**
![[_attachments/socc088-vishwanath/fig07-classification-tree.png]]
(Figure 7. 障害を予測する CHAID 分類木。最上位の予測因子は「データセンター名」であり、その下位に「メーカー名」が続く。サーバー齢・ラック位置・ワークロードはいずれも有意な予測因子として現れなかった。Source: Vishwanath & Nagappan, SoCC'10.)
## 実験結果
### 高レベルな障害特性
- **AFR 約 8%**: 100 台のサーバーのうち、14 か月間で 9 台が少なくとも 1 回の修理を経験。年率換算で約 8%。
- **コスト推算**: Google が報告した仮定値(技術者費用 $100 + ハードウェア費用 $200 = $300/修理)を適用すると、100,000 台のデータセンターでは年間 250 万ドル超の修理コスト。
- **修理分布(Figure 4)**: 修理を経験したサーバーの 50% 以上は正確に 1 回の修理のみ。「ひざ」は 3 回付近で、修理経験サーバーの 85% が 4 回未満の修理。
- **コンポーネント別修理**: HDD 78%、RAIDコントローラー 5%、メモリ 3%、その他 13%。
**Figure 1: サーバーの齢プロファイル**
![[_attachments/socc088-vishwanath/fig01-age-profile.png]]
(Figure 1. サーバーの齢プロファイル(データセット開始時点)。約 90% のマシンが 4 年未満であり、3 年での退役というポリシーと整合する。Source: Vishwanath & Nagappan, SoCC'10.)
### サーバー初回障害のコンポーネント内訳
「サービスレスモデル」(いずれかのコンポーネントが障害した瞬間にサーバーを「死亡」とみなすモデル)での初回障害分析:
- HDD: **70%**
- RAIDコントローラー: **6%**
- メモリ: **5%**
- その他: **18%**
### HDD 障害と齢の関係
**Figure 5: HDD 障害を経験したサーバーの齢分布**
![[_attachments/socc088-vishwanath/fig05-disk-failures-by-age.png]]
(Figure 5. サーバー齢別に HDD 障害を経験したサーバーの割合。齢 0(< 1 年)では約 6%、齢 1 で約 13%、齢 2 でピーク約 26%。注: このグラフから齢別の障害率を直接計算することはできない(サーバーの齢分布の偏りがあるため)。Source: Vishwanath & Nagappan, SoCC'10.)
若いサーバーの追跡(齢=週の関数としての累積障害数)はS字曲線(ロジスティック曲線)に適合し、R²=0.973。初期は指数的成長、その後飽和し定常化する。年間ディスク障害比率は平均 2.5%(集計結果の 2.7% と近似)。
コンポーネント別 AFR(上限値):
- HDD: **2.7%**
- RAIDコントローラー: **0.7%**
- メモリ(DIMM): **0.1%**(Googleが報告した修正不可能エラー率 1-4% と比べ大幅に低いが、DIMMs 交換閾値が異なるため直接比較は困難)
### 障害予測因子(CHAID 分類木)
50 超のメトリクスから有意な予測因子として選出されたのは **データセンター名** と **メーカー名** のみ。
**有意ではなかった因子**: サーバー齢・ラック内位置(温度/湿度勾配があるにもかかわらず)・ワークロード・OS バージョン・HDD 数・仮想メモリ・物理メモリ・最終 OS インストール日。
この結果は、信頼性が個々のサーバー属性よりも環境的・組織的要因(どのデータセンターか、どのメーカーのハードウェアか)によって大きく左右されることを示す。
### 修理済みサーバーの構造
障害を 1 回以上経験したサーバーのみを対象とした分析:
**Figure 9: HDD 数と機械あたり修理数の関係(修理済みサーバーのみ)**
![[_attachments/socc088-vishwanath/fig09-rpm-vs-disks-repaired.png]]
(Figure 9. 修理済みサーバーにおける HDD 数と機械あたり修理数(RPM)の関係。13 台・25 台の HDD を持つ外れ値を除くと、RPM と HDD 数は線形関係で高い適合度(R²>0.9)を示す。平均年齢(avgAge)は RPM とほぼ無相関。Source: Vishwanath & Nagappan, SoCC'10.)
- 13 台・25 台の HDD サーバーを除いた全クラスタで RPM と HDD 数の線形フィット R²>0.9
- **サーバー齢は RPM と無相関**: 障害を経験していない場合と同様に、齢は良い予測因子ではない
- HDD 数が多いほど修理数が多い直感的な結果だが、全サーバー(未修理含む)では同様の構造は現れない点が重要
### 連続障害のパターン
データセット期間(14 か月)中に 2 回以上障害を経験した 4 台のサーバーの 11 回の連続障害を分析:
- 連続障害の **20%** は前回障害から **1 日以内** に発生
- 連続障害の **50%** は前回障害から **2 週間以内** に発生
**Figure 11: 連続障害の発生間隔とインバース曲線の適合**
![[_attachments/socc088-vishwanath/fig11-successive-failures-inverse.png]]
(Figure 11. 連続障害の発生間隔日数の分布と各種統計モデルの適合。インバースモデルが最も良い適合度(R²=0.974)を示した。Source: Vishwanath & Nagappan, SoCC'10.)
10 種の統計モデルの R² 比較(Table 1):
| モデル | R² |
|---|---|
| インバース | **0.974** |
| コンパウンド | 0.822 |
| 成長 | 0.822 |
| 指数 | 0.822 |
| 対数 | 0.474 |
| 3 次 | 0.389 |
| 2 次 | 0.292 |
| S 字 | 0.309 |
| 累乗 | 0.771 |
| 線形 | 0.178 |
インバース関数 D = C₁ + C₂/N(D: 連続障害間の日数、N: 2 回目の修理の発生回数)は「逓減収益」の性質を持ち、2 回目以降の修理が重なるほど間隔が短くなるパターンを表現する。
## 考察
- **ハードウェア障害は特定条件下で集中する**: データセンター名とメーカー名が支配的な予測因子であることは、障害が設備の環境条件や特定の製造品質の問題を反映している可能性を示す。ただし本研究では因果関係ではなく統計的相関を報告するに留まる。
- **修理後のサーバーは「別の状態」に移行する**: 障害経験済みサーバーで RPM と HDD 数の強い線形相関が現れ(R²>0.9)、未修理サーバーでは同様の構造が現れない点は、最初の障害がサーバーの信頼性プロファイルを根本的に変化させる可能性を示唆する。
- **データ品質の限界**: 人手によるサニタイズで観測対象が縮小されており、実際の修理数の下限値を報告。RAID アレイ内のどの HDD が交換されたかの追跡情報がなく、コンポーネント障害率は上限値となる。
- **サービスレスモデルへの示唆**: 冗長コンポーネントを内蔵したコンテナ型データセンターモデルに対して、初回障害の 70% が HDD であることは、HDD 冗長性の設計を最優先すべきことを示す。
## 強み / 弱点・課題
**強み**:
- 当時 100,000 台超という前例のない大規模での実証研究
- 複数データソースの統合(インベントリ・修理チケット・構成情報)
- 統計モデル 10 種の体系的な比較
**弱点・課題**:
- 14 か月という限られた観測窓。サーバーのフルライフタイム(3〜5 年)を追えていない
- 修理が実際に障害を修正したかの確認手段がない(誤った部品交換の可能性)
- データセット期間前の修理履歴は不明(若いサーバーの縦断追跡で一部緩和)
- 連続障害のサンプル数が少ない(4 台のサーバー、11 回の連続イベント)
- 障害の根本原因解析は今後の課題と明示されている