## Summary for Tweet #SRE論文紹介[Nguyen+, SLAML2011]:昨日のFChainの前身となる論文。本論文では、障害発生時の故障箇所を特定する際に、バックプレッシャー効果のようなアプリケーショントポロジーに沿って異常が伝搬しないケースに対応するために、異常の伝搬を考慮した手法PALを提案している。 FChain同様に、PALは、各システムメトリクスの異常の変化開始時刻を特定し、コンポーネント内の全メトリクスの開始時刻のうち、最も早い時刻をそのコンポーネントの変化開始時刻とする。コンポーネント同士の変化開始時刻の順にソートし、異常の伝搬経路を特定する。 変化点検知として、FChainの正常データのオンライン学習による予測誤差に基づく方法ではなく、CUSUMで検知した複数の変化点から最も変化度合いが大きい臨界変化点を抽出する方法である。変化点以前以後の時系列のそれぞれの平均の正規化された差分を比較し計算される分離レベルが外れ値であり、かつ外れ値の中でもSLO違反時刻に最も近いものを臨界変化点とする。 実験の結果、ベースラインよりもPALは最良の結果となっているが、CPU Hogなど異常伝搬時間が1-2秒の異常ケースでは、コンポーネント間で変化開始時刻に差がなく、精度が低くなることがある。 [Nguyen+, SLAM2011]: PAL: Propagation-aware Anomaly Localization for Cloud Hosted Distributed Applications paper: https://www.sigops.org/s/conferences/sosp/2011/workshops/slaml/01-nguyen.pdf ## Memo - [[2013__ICDCS__FChain - Toward Black-box Online Fault Localization for Cloud Systems|FChain]]の著者らによるFChainの前身となる論文。2023/04時点で被引用数が65件。 - 障害発生時の故障箇所を特定する際に、既存手法では全体を一つのブラックボックスとして扱うか、個々のコンポーネントを個別検索する。しかし、前者は故障箇所を特定できず、後者は、相互作用の結果、部品間でメトリクスの異常が伝搬することで誤報が発生する。アプリケーショントポロジーを考慮するだけでは、バックプレッシャー効果が発生する場合に、図2でC6->C7->C5が正解となるところをC7->C6->C5と誤認識してしまう。 そこで、バックプレッシャーも含めた異常の伝搬を考慮する PALを提案する。 - ![[Pasted image 20230501103136.png|400]] - PALは、各システムメトリクスの異常の変化開始時刻を特定し、コンポーネント内の全メトリクスの開始時刻のうち、最も早い時刻をそのコンポーネントの変化開始時刻とする。コンポーネント同士の変化開始時刻の順にソートし、異常の伝搬経路を特定する。 - 異常の開始時刻特定:5-length[[移動平均]]フィルタによる平滑化(図3)を行い、[[累積和法|CUSUM]]を[[ブートストラップ]]分析し、より多くの変化点を発見する。次に、複数の変化点から最も変化度合いが大きい臨界変化点(critical change point)を検出する。式(1)は変化点以前の時系列の平均と変化点以降の時系列の平均の正規化された差分を比較し、分離レベルを計算し、分離レベルが外れ値であり、かつ、[SLO]違反時刻に最も近いものを臨海変化点とする。臨界変化点は開始時刻ではないことがあるため、臨界変化点の接線の傾きとその前の変化点の傾きを比較し、差分が30%以下などの同程度であれば、臨海変化点をその前の変化点に置換する。 - ![[Pasted image 20230501104657.png|300]] - ![[Pasted image 20230501104844.png|300]] - ![[Pasted image 20230501104720.png|300]] - 異常が外部要因であるケースは、全コンポーネントは短時間で同じ上方または下方の傾向になんらかの変化がみられるはずなので、これによって外部か内部要因かを決定する。 - 実験では、サンプリング間隔1秒で、変更点が故障した部品の変更点に非常に近い(例えば、1秒または2秒の差がある)部品がある場合、PALは誤検出する。 - FChainとの差異は、1)動的に取得可能な依存関係を用いた伝搬経路のフィルタリングがないこと、2)オンライン学習による予測誤差ベースの変化点検出ではなく、CUSUMを用いているため、正常なワークロードの範囲での変化を異常の変化点として選択してしまうことである。 - 感想:[[2013__ICDCS__FChain - Toward Black-box Online Fault Localization for Cloud Systems|FChain]]には、臨界変化点の特定手法は記載されていなかったが、たしかに変化点が複数あるときにどれを最も重要な変化点とするか悩むことがあったため、このような抽出法があることがわかったことは収穫だった。 ## Abstract クラウド上で動作する分散型アプリケーションは、リソースの割り当て不足、予期せぬ作業負荷の増加、ソフトウェアのバグなど、様々な理由で性能異常を起こしやすいものである。しかし、このようなアプリケーションは複数の相互作用するコンポーネントで構成されていることが多く、あるコンポーネントに異常が発生すると、その依存コンポーネントも同様に異常な挙動を示すことがあります。多数の分散アプリケーションコンポーネントの中から故障のあるコンポーネントを特定することは困難である。本論文では、異常の伝播パターンを利用することで、分散アプリケーションの故障の原因となるコンポーネントをピンポイントで特定できる伝播考慮型異常局在化システム(PAL)を紹介する。PALは、異なるアプリケーションコンポーネントにおける異常症状の発生を正確に捉えるために、堅牢な臨界変化点発見アルゴリズムを提供する。そして、すべてのクリティカルチェンジポイントを時系列に並べることで、伝播パターンを導出する。PALは完全にアプリケーションに依存せず、システムレベルのメトリクスにのみ依存する非侵入型である。我々は、Xenプラットフォーム上にPALを実装し、RUBiSオンラインオークションベンチマークアプリケーションとIBM System Sデータストリーミング処理アプリケーションを用いて、一般的なソフトウェアのバグを含む本番クラウドコンピューティングインフラ上でテストしました。実験結果は、PALが分散型アプリケーションの故障のあるコンポーネントを高精度かつ低オーバーヘッドで特定できることを示しています。 [[2011__SLAML__PAL - Propagation-aware Anomaly Localization for Cloud Hosted Distributed Applications__translation]]