## Memo ### Summary on Tweet #SRE論文紹介 パブリッククラウドにおいて、他のテナントからの性能干渉により、テナント視点で根本原因特定が困難である問題に対して、クラウドプロバイダーがテナントに対して異常の診断情報を提供することを目的とした、根本原因VM・プロセスの特定手法が提案されている。提案法の概要は、SystemTapでリクエストトレースして得られた依存関係グラフとVMリソース依存グラフを合成したグラフを、サービス応答時間と根本原因VMのリソース使用メトリクスとのピアソン相関を考慮したランダムウォーク。サービス応答時間は直接観測するのではなく、リクエストトレースに含まれるVMレベルのサービス時間を合計して算出している。 [TON'18]: Root Cause Analysis of Anomalies of Multitier Services in Public Clouds, https://jessiehuiwang.github.io/files/2018TON_root.pdf ### 0. Metadata - 被引用数が2023/04次点で50件 ### 1. Contributions - パブリッククラウドにおいて、他のテナントからの性能干渉の外部要因と内部要因により、テナント視点で根本原因特定が困難である問題に対して、クラウドプロバイダーがテナントを手助けするために、根本原因VM・プロセスの特定手法を提案する。 - テナントの多層アーキテクチャがなす複雑な依存関係を捉えるアプリケーション非侵入型の手法と、アプリケーション層とアンダーレイインフラの両方の監視とランダムウォークに基づく2段階の特定アルゴリズムを設計する。 - 小規模な実世界実験と大規模なシミュレーション実験により、現在の手法と比較してMAP精度が15%〜71%向上していることが確認された。 ### 2. Standpoints - [[2013__ICDCS__FChain - Toward Black-box Online Fault Localization for Cloud Systems|FChain]]や[[2013__PER__Root Cause Detection in a Service-Oriented Architecture|MonitorRank]]はサービスのリソース使用を妨げる外因がないことを前提とする。[9]は異なるテナント間の干渉を考慮するが、インフラのリソース利用のみを使うため、サービスの異常時には異常がみられない可能性がある。さらに、異常伝播距離のみで伝搬確率を考慮しない。 - パフォーマンスの干渉はアンダーレイリソースの競合によって引き起こされ、異なるテナント間のリソース競合に関する情報を持つのはクラウドプロバイダのみ。しかし、クラウドプロバイダはアプリケーションコードを変更したり 、テナントのサービスコンポーネントの依存関係を知ることは難しく、モニタリングにより推測する必要がある。 - 図1のeBayを緩くモデル化したテストベッドシステムで、実験したところ、図2のようにvm8のCPU負荷増大により、2つのテナントのサービスレベル影響が現れていることを示している。 - ![[Pasted image 20230421105559.png|300]] - ![[Pasted image 20230421105613.png|300]] ### 3. Major Ideas - オンラインリクエストをトレースした構築されるリクエストのVM通信グラフ(VCG)と、VM間のリソース競合を捉えるためのコロケーション依存エッジとを合成したAPGを構築する。APGに対して、[[2013__PER__Root Cause Detection in a Service-Oriented Architecture|MonitorRank]]をベースにしたランダムウォークにより、訪問回数の多い=根本原因度合いが高いとみなして、VMのランキング化を行う。 ![[Pasted image 20230421105326.png|400]] - データ収集サブシステム - PreciseTracer (Precise, scalable, and online request tracing for multitier services of black boxes, 2011 TPDS)は、[[SystemTap]]を使用して、頂点がコンポーネントのアクティビティ、辺が2つのアクティビティ間の因果関係を表すDAGを出力する。アクティビティには4つのタイプBEGIN、END、SEND、RECEIVEがある。 - DAGに含まれるVMのホスト名から、2つのVM間に複数のエッジがあることと、エッジの方向を独自のルールベースで決定し、VCGを構築する。 - 根本原因特定サブシステム - 根本原因VMのメトリクスデータとサービス応答時間の間に相関があると仮定する。サービス応答時間は、リクエストrを処理するために各VMに費やされたサービス時間の合計とする。VMのリソース利用率は、GangliaとsFlowを用いる。 ### 4. Experimental design & Results - 実験環境:図9のようにOpenStackの環境を構築する。 ![[Pasted image 20230421111044.png|400]] - ベースライン - ランダム選択(RS) - 突然の変化(SC):現在と過去の時間窓のメトリクスを比較し、2つの時間窓の間に急激な変化がある場合、現在と過去の 時間窓の平均メトリクスの比率を計算を計算。 - 距離ベースランク(DBR)[9]:各成分cについて、ノードがcから到達可能な異常な成分の集合である伝搬グラフを形成する。伝搬グラフのランクは、ソースエンティティから他のすべての異常エンティティへの最小の総距離によって決定される。 - 実験結果 - 提案法がPR@KでもMAPでも1.0となっている。MAPの観点から、DBR法に対する改善度は38.9%である。 - ![[Pasted image 20230421111418.png|400]] - ![[Pasted image 20230421111434.png|400]] - CloudSimを用いたより大規模なシミュレーションでは、サービスのVM数を60-150に増加させる、クラウドのVM数3万から9万まで増加させる実験を行ったところ、サービスサイズ増加では提案法の精度は0.9未満まで低下し、クラウドサイズ増加でも同様である。 - 提案法の診断時間は30秒以内。 ### 5. Discussions & Limitations - 根本原因VMと応答時間の類似度と、ランダムウォークの訪問確率は、表4のような関係になる。ランダムウォークによりvm6を根本原因からはずせていることがわかる。 - ![[Pasted image 20230421112402.png|400]] ### 6. Thoughts - クラウドプロバイダ視点で、テナントに異常の診断情報を提供する目的を掲げる研究は少ないため、興味深い。PreciseTracerをテナントのVMで動作させなければならない制約があるが、テナント顧客にインストールしてもらえるのであれば問題ない。2023現在なら[[OpenTelemetry]]で顧客が取得したデータをクラウドプロバイダーにも送るような形になるのではないか。 - それほど高度なアルゴリズムを使用することなく、提案法は非常に高い精度をもつが、VM・プロセスレベルの原因特定であれば、リクエストトレースデータがあれば容易なのかもしれない。 - 同年に発表された[[2018__ICSOC__Microscope―Pinpoint Performance Issues with Causal Graphs in Micro-service Environments|Microscope]]で、コンテナとノード間の異常伝搬を捉える研究がなされているが、提案法はマイクロサービスレベルではなくVM・プロセスレベルの特定を行っているのが差異なのであろう。 - PreciseTracerの論文を知らなかった。 ## Abstract クラウドプラットフォーム上で稼働するあるテナントの多階層サービスの異常は、テナント自身のコンポーネントや他のテナントからの性能干渉が原因であることがあります。多階層サービスの性能が低下した場合、その根本原因を的確に突き止め、一刻も早くサービスを回復させる必要がある。本論文では,この問題を解決するためには,テナントよりもクラウド事業者の方が有利であり,テナントのサービスやアプリケーションに干渉しない解決策であるべきであると主張する.この2つの点を考慮し、クラウドプロバイダーがテナントの異常の根本原因を特定するのを支援するソリューションを提案します。このソリューションにより、クラウド事業者は、異常の根本原因が異常と同じテナント内にある場合でも、他のテナント内にある場合でも、異常の根本原因を突き止めることができる。特に、コンポーネントの依存関係を把握するために、非侵入的な方法を考案し、実現性を高めています。ローカライズの際には、アプリケーション層とアンダーレイインフラストラクチャの両方の測定データを利用し、2段階のローカライズアルゴリズムには、異常の伝播確率をモデル化するランダムウォーク手順も含まれる。これらの技術により、根本原因の特定精度を向上させることができる。小規模な実世界実験と大規模なシミュレーション実験では、さまざまなシナリオにおいて、現行の手法と比較して、平均平均精度が15%~71%向上することが示されました。 [[2018__TON__Root Cause Analysis of Anomalies of Multitier Services in Public Clouds__translation]]