# テールレイテンシ耐性技術 ## 定義 テールレイテンシ耐性技術(tail-tolerant techniques)とは、大規模分散システムにおいてレイテンシ分布の末尾(テール)で生じる稀な高レイテンシ("ヒッチ")を、根本原因を排除するのではなく緩和・マスクすることで、予測しにくい部品から予測可能な全体を作り出すソフトウェア技術群である。フォールトトレラントコンピューティングが「故障のない動作の保証」を諦めて「故障を許容しつつ信頼できる全体を作る」方向へ発展したのと同じ論理を、レイテンシばらつきに適用したものだ。技術は大きく、数十ミリ秒スケールで働く within-request(リクエスト内・即応)適応と、数十秒〜数分スケールで働く cross-request(リクエスト横断・長期適応)に分かれる。within-request 技術にはヘッジリクエスト・タイドリクエスト・カナリアリクエストが、cross-request 技術にはマイクロパーティション・選択的レプリケーション・レイテンシ起因の保護観察が含まれる。(Source: [[@2013__CACM__The Tail at Scale]]) ## 横断的知見 - 単一ソース([[@2013__CACM__The Tail at Scale]])のみの取り込み時点のため、複数ソースを突き合わせた横断的知見はまだない。今後、[[分散システム障害]]・[[グレイ障害]]・[[レイテンシヒートマップ]]などの隣接 concept と突き合わせて蓄積する。 ## 未解決の問い - ヘッジリクエスト・タイドリクエストは「レイテンシばらつきの原因が複数のリクエストレプリカへ相関して同時に影響しない」ことを前提とする([[@2013__CACM__The Tail at Scale]] 本文 p.77)。ネットワークスイッチ障害やゾーン規模の輻輳のような相関障害が起きた場合、この前提はどこまで崩れ、テール耐性技術の効果はどの程度低下するか。[[グレイ障害]]・[[分散システム障害]]の知見と突き合わせて検証したい。 - 2013年の論文執筆時点よりネットワークの RTT やキャンセル伝播が高速化した現代のデータセンター(RDMA・高帯域分割ネットワーク等)では、ヘッジリクエストの遅延しきい値(論文当時は 10ms オーダー)はどう変化しているか。 - 本論文はキャッシュがテールレイテンシに「直接は効かない」と位置づけるが(ワーキングセット全体がキャッシュに収まる場合を除く)、キャッシュヒット率のばらつき自体が新たなテールレイテンシ要因になるケースは、どの程度体系的に扱われているか。 ## 関連 - ソース: [[@2013__CACM__The Tail at Scale]] - 概念: [[レイテンシ分析]] / [[フォールトトレランス]] / [[グレイ障害]] / [[分散システム障害]] - 関連 MOC: [[structures/SRE - MOC]](一方向参照) ## 出典 - [[@2013__CACM__The Tail at Scale]]