ネットワークとインフラストラクチャ · パースペクティブ 15

テールレイテンシの幾何学:ファンアウト、待ち行列、冗長な処理

テールレイテンシは、依存関係、負荷、キャンセルから創発する特性である。単一サーバー上の単一のパーセンタイルを最適化すると、分散リクエストの性能が悪化することがある。

この記事を引用

AIによる翻訳には誤りが含まれる可能性があります。原文と照合してください。

AIによる翻訳 · AIによる翻訳には誤りが含まれる可能性があります。原文と照合してください。 原文を読む
数式の記号、コード、参考文献情報、図中の文字は原文の表記を保持しています。

「テールレイテンシの幾何学:ファンアウト、待ち行列、冗長な処理」の概念的な編集イラスト
概念図 · 組み込みのImageGen · 実験的証拠ではない

要旨

多数の依存先を待つサービスは、どの単一の依存先とも異なるレイテンシ分布を引き継ぐ。本レビューは、ファンアウトによる増幅、冗長リクエスト、待ち行列のフィードバックを結び付け、局所的には成功しているように見える最適化が、アプリケーションの境界では失敗しうる理由を説明する。The Tail at Scaleは最も遅い構成要素に注目する動機を示し、冗長性に関する研究は、資源に関する特定の仮定の下で追加リクエストがレイテンシを削減しうることを確立している。Homaは短いメッセージに対するトランスポート層のメカニズムを検討している。本稿では、独立な分岐によるファンアウトの確率と、意図的に単純化した負荷モデルを導出し、有限列挙によって確率計算を検査する。これらのモデルは、順序統計量による利点と、それに伴いうる資源コストを分離する。到着、相関、キャンセル、スケジューリングの測定なしに、稼働中のサービスを予測するものではない。提案する評価プロトコルでは、良好なパーセンタイルだけを報告するのではなく、エンドツーエンドの期限、資源を消費する処理量、公平性を併せて評価結果とする。

1. リクエストグラフを分析単位とする

ユーザーリクエストが、孤立した単一のサービス時間に対応することはまれである。認証、インデックスの取得、複数のシャードへの問い合わせ、候補の順位付け、監査記録の書き込みを伴うことがある。逐次的な依存関係の寄与は並列的な依存関係とは異なり、すべてのシャードを待つ応答は、クォーラムに達した時点で返せる応答とは異なる。したがって、ベンチマークではレイテンシを要約する前に、依存関係グラフと完了規則を指定しなければならない。そうしなければ、「バックエンドのテールレイテンシは十ミリ秒である」といった記述では、実験対象が未定義のままとなる。有用な単位は、再試行や、期限までの時間を消費した不成功の処理も含めた、完了済みのアプリケーション操作である。この視点は計測方法も変える。トレースは、成功した各リモート呼び出しを独立した標本として扱うのではなく、分岐の生成、待ち行列への受け入れ、キャンセル、最終応答を結び付けるべきである。

2. 基礎文献が確立していること

DeanとBarrosoは、大規模サービスが時折発生する遅い構成要素の影響をどのように増幅するかを説明し、分布の裾の挙動を制御するメカニズムを論じている。Vulimiriらは、冗長な処理をレイテンシ削減手法として研究しており、その効果は利用可能な資源とサービス特性に依存する。Homaは、短いメッセージのレイテンシと受信側主導のスケジューリングを重視し、データセンターのリモートプロシージャコール用トランスポートを設計している。これらの貢献は異なる層を扱う。アプリケーション層のヘッジ、トランスポートの優先度決定、スケジューリング干渉の低減が、加算的に組み合わさると仮定することはできない。共通する教訓は、ボトルネックと完了規則を特定することである。本レビューは、これらのメカニズムを概念上の拠点として用いるが、報告された高速化を未測定の実装に転用するものではない。 [1], [2], [3]

3. まれな事象がアプリケーションでは日常的な結果となる

各分岐が固定しきい値を超える確率をpとし、n個の分岐間で独立であるとする。すべての分岐の完了が必要なら、少なくとも一つがしきい値を超える確率は、一から、どの分岐もしきい値を超えない確率を引いた値となる。pが0.01、nが100の場合、結果は約0.634である。したがって、分岐単位では一パーセントの裾事象とされるものが、複合リクエストの大半に影響しうる。この計算ではしきい値を同一に保つ必要がある。異なる分岐パーセンタイルを、同じ事象を表すかのように組み合わせることはできない。また、この式はクォーラムによる完了を対象としていない。クォーラムでは、最大値に代わって順序統計量を用い、対応する二項分布の裾を、必要な応答数に合わせなければならない。

4. 独立性は診断のための仮定である

実際の分岐は、スイッチ、ホスト、ストレージパーティション、ガベージコレクタ、段階的なデプロイ、上流のアドミッション制御機構を共有する。その依存性は最大値の分布を変える。完全な正の依存がある場合、同一の分岐を追加しても、共通の遅延事象の確率が倍増することはない。一方、異質な共有障害の下では、単一の相関係数が覆い隠してしまう多峰性の挙動が生じうる。したがって、独立性に基づく計算は明快な参照ケースであり、普遍的な上界ではない。有用なトレース解析では、分岐間で対応するタイムスタンプと共有配置のラベルを保持する。各分岐を別々に再標本化すると、エンドツーエンドの実験で保持すべき依存性そのものが失われる。試験には独立な合成ノイズと同期した干渉の両方を含め、主張する改善の動作範囲を特定できるようにすべきである。

5. 待ち行列を考慮する前のヘッジの利点

元の試行の生存関数をS(t)とし、同じサービス時間分布を持つ独立な複製試行が、遅延dの後に開始するとする。dより前では、完了時間の生存関数はS(t)のままである。その後は、最初に成功した結果が操作を終了させ、両方の試行が完了可能な状態に保たれることを条件として、S(t)とS(tからdを引いた値)の積となる。これは分布を固定した計算であり、複製の開始がいずれの試行も他のリクエストも遅くしないと仮定している。この仮定が最も妥当なのは、余剰容量が大きい場合である。冗長な処理が希少なワーカーを占有したり、共有された下流のロックへの競合を生じさせたりする場合、この仮定は成立しない。また、複製には安全に扱える操作識別子が必要である。最初の応答を返しても、二回の書き込みが一回の書き込みと意味的に同等になるわけではない。

6. 資源消費の計上によって結果が逆転しうる理由

利用率rhoのM/M/1参照待ち行列を考える。リクエストの割合hが複製を生成し、その複製が期待処理量の完全な追加一単位を実行するなら、提供負荷の利用率は(1足すh)とrhoの積となる。待ち行列が安定している間、平均応答時間の倍率は残存容量の余裕の比で与えられる。rhoが0.8、hが0.25のとき、新たな利用率は一に達し、このモデルには有限の定常平均が存在しない。これは効率的にキャンセルされるヘッジに対する予測ではない。処理量の保存を無視すると順序統計量による利点が消失しうることを示す、明示的に不利なケースである。図は安定領域だけを示し、不安定領域を通る有限値の曲線を描くのではなく、仮定を明記している。

7. キャンセルには観測可能な完了点がある

キャンセルメッセージを送信しても、処理が停止したことの証明にはならない。データベースはすでにコミットしているかもしれず、GPUカーネルはプリエンプト不能かもしれず、ワーカーは次のブロッキング呼び出しの後までキャンセルに気付かないかもしれない。キャンセル要求から実際の資源解放までの時間を測定する必要がある。CPU時間、バイト数、割り当て、下流リクエストを計上する際には、採用された試行と放棄された試行の両方を含める。副作用に対しては、適切な永続化境界を伴うアプリケーション層の冪等性を用いる。トランスポートのリクエスト識別子だけでは不十分である。受け入れ基準では、キャンセルがベストエフォートなのか、強制される資源契約なのかを明示すべきである。成功した試行のレイテンシだけを記録するシステムでは、可視化されない敗者の試行に最大のコストが隠れることがある。

8. メカニズムを区別できる実験

まず、到着過程、リクエストサイズ分布、ファンアウトグラフ、容量上限を文書化する。同一のワークロードについて、ヘッジ無効、即時複製、複数の遅延ポリシーを比較する。提供負荷の変化とスケジューリング優先度の変化を分離する。固定された外部到着率に関する主張を検証する場合は、開ループの到着生成器を用いる。閉ループのクライアントはサービスが遅くなると負荷を自動的に減らし、過負荷を隠す可能性がある。レイテンシの分位点とともに、期限違反と未完了リクエストを報告する。すべての試行から資源を消費した処理量を再構成する。公平な比較では、ヘッジを使用しないテナントのテールレイテンシが増加していないかも確認する。他のテナントへ遅延を転嫁して得られた改善は、サービス効率の向上とは異なる結果だからである。

9. 実行可能な付録が実際に検査するもの

付録では、小規模な独立ファンアウト群について、各分岐が遅いか速いかのすべての割り当てを列挙し、その確率を合計して閉形式の結果と比較する。また、100分岐の例と待ち行列の安定性境界も検査する。これらは有限の数学的整合性検査である。データセンターをシミュレートしたり、ネットワークスタックを検証したり、実サービスのパーセンタイルを推定したりするものではない。最初の図では、分岐数と、分岐が固定しきい値を超えると宣言された確率を変化させる。二つ目の図では、利用率と、処理を全量実行する複製の割合を変化させる。その目的は、結果が逆転する可能性を可視化することである。本番環境の調査では、これらの説明用入力を測定された同時分布に置き換え、検証用に取り置いたトレースに照らしてシミュレータを検証すべきである。

10. 実用的な判断規則

テールレイテンシへの介入が説得力を持つのは、宣言した負荷範囲内で、資源と公平性の予算を守りながらアプリケーションの完了指標を改善する場合である。想定可能な共有干渉の下でも有益であり続け、過負荷付近では予測可能な形で効果を失うべきである。ポリシーには、待ち行列の深さや飽和度のしきい値などの無効化条件と、その条件を十分に迅速に観測できるという証拠が必要である。判断全体を単一のp99値に還元してはならない。最良の設計は、複製を増やすのではなく、分岐数の削減、部分結果の契約、より適切なアドミッション制御、キャンセルレイテンシの短縮を用いるかもしれない。科学的貢献は、どのメカニズムがエンドツーエンドの分布を変えるのか、そしてその説明がどこで妥当でなくなるのかを特定することにある。

ローカルで実行済み · 限定された範囲

独立ファンアウトの列挙と過負荷の境界

独立した二値の分岐事象とM/M/1の負荷計上。サービストレースは使用していない。

10件のアサーションが合格した。 これらの検査は提示した例を検証するものであり、引用したシステムを検証するものではない。

記録された検証証跡を確認する
{
  "hundred_branch_probability": 0.6339676587267709,
  "unstable_utilization": 1.0
}

明示された解析モデル

四つの方程式と明示的な仮定

P(max⁡iTi>t)=1−[1−p(t)]nP(\max_i T_i>t)=1-[1-p(t)]^n

(1) 独立同分布の分岐。n個すべての応答が必要であり、p(t)は単一の共通しきい値に対応する。

P(Thedge>t)={S(t),t<d,S(t)S(t−d),t≥d,P(T_{\mathrm{hedge}}>t)=\begin{cases}S(t),&t<d,\\S(t)S(t-d),&t\geq d,\end{cases}

(2) 複製はdで開始する。試行は独立であり、複製によってサービス時間分布は変化しない。

ρ′=(1+h)ρ\rho^\prime=(1+h)\rho

(3) 意図的に不利な計上モデル。リクエストの割合hが、期待処理量の完全な一単位を複製する。

E[T′]E[T]=1−ρ1−(1+h)ρ,(1+h)ρ<1\frac{E[T^\prime]}{E[T]}=\frac{1-\rho}{1-(1+h)\rho},\qquad (1+h)\rho<1

(4) サービス容量が不変のM/M/1における平均応答時間の比。安定領域の外では定常平均として定義されない。

構成した例 · 再現可能なデータ

定量的な論証を確認する

これらの曲線は明示したモデルから計算したものであり、引用した研究の観測結果ではない。各図には数値データとベクター版を付属する。

ファンアウトは固定された分岐の裾確率を増幅する。独立で同一の分岐を用い、すべての完了を必要とし、各分岐には同一の固定レイテンシしきい値を適用する。相関とクォーラムによる完了は対象外である。
図1。ファンアウトは固定された分岐の裾確率を増幅する。 独立で同一の分岐を用い、すべての完了を必要とし、各分岐には同一の固定レイテンシしきい値を適用する。相関とクォーラムによる完了は対象外である。
追加の処理は待ち行列の容量を侵食する。リクエストの割合hに対して追加処理を全量実行し、サービス率を固定したM/M/1参照モデルである。曲線は不安定性に達する手前で終わり、早期キャンセルの成功は対象外である。
図2。追加の処理は待ち行列の容量を侵食する。 リクエストの割合hに対して追加処理を全量実行し、サービス率を固定したM/M/1参照モデルである。曲線は不安定性に達する手前で終わり、早期キャンセルの成功は対象外である。

どの証拠がどの問いに答えるか

主張必要な測定よくある欠落
ヘッジはレイテンシを削減する外部負荷が等しい条件でのエンドツーエンドの完了キャンセルまたはタイムアウトしたリクエスト
キャンセルは処理量を節約する実際の資源解放と全試行の処理量キャンセルの受領確認だけ
ファンアウトは安全である分岐の同時挙動と完了規則個別の周辺ヒストグラム
ポリシーは効率的である総処理量と他のテナントへの影響採用された試行のレイテンシだけ

提案する検証プロトコル

これは提案段階の評価設計である。本番システムまたはハードウェアのベンチマークは実施していない。別途実行した有限モデルについては、実行可能な検査に記載している。

  1. 依存関係グラフ、期限、全応答を待つかクォーラムで完了するかの規則を指定する。
  2. 事前に宣言した利用率範囲にわたって、条件をそろえた開ループのワークロードを生成する。
  3. すべての試行、キャンセル要求、資源解放イベント、副作用を記録する。
  4. 相関のある干渉と、ヘッジを用いない対照テナントを含める。
  5. エンドツーエンドのレイテンシ、失敗確率、総処理量、公平性を比較する。
  6. 到着トレース、乱数シード、除外規則、過負荷時の無効化しきい値を公開する。

一次資料が確立していること

Jeffrey Dean, Luiz André Barroso · 2013 [1]

貢献。 大規模なファンアウトは、時折遅くなる構成要素にアプリケーション層で注意を向ける動機となる。

適用限界。 メカニズムとワークロードの文脈が重要であり、本稿では高速化の数値を転用しない。

出典内の参照箇所。 The Tail at Scale、論文中の議論。

Ashish Vulimiri, Philip Brighten Godfrey, Radhika Mittal et al. · 2013 [2]

貢献。 冗長リクエストは、資源とサービスに関する特定の仮定の下でレイテンシを削減しうる。

適用限界。 追加負荷とキャンセルは、稼働時の分布を変化させうる。

出典内の参照箇所。 著者原稿、要旨および冗長性モデル。

Behnam Montazeri, Yilong Li, Mohammad Alizadeh et al. · 2018 [3]

貢献。 トランスポートのスケジューリングは、短いメッセージのRPCレイテンシに影響しうる。

適用限界。 トランスポート層の結果は、アプリケーション層のヘッジポリシーの妥当性を確立するものではない。

出典内の参照箇所。 Homa、要旨およびプロトコル設計。

本分析の限界

  • 本記事のために本番トレースやネットワークベンチマークの結果を収集してはいない。
  • 独立した分岐とM/M/1待ち行列は参照モデルであり、Homaや稼働中のサービスを記述していると主張するものではない。
  • 処理を全量実行する複製モデルは、早期キャンセルの成功を意図的に除外している。
  • 有限列挙は小規模なケースで数式を検証するものであり、分散実装全体を検証するものではない。

選択した三つの基礎的な一次資料を対象とする、独自の計算例を伴う焦点を絞った分析的レビューである。2026年までの文献を網羅的または系統的に調査したものではない。資料へのアクセス範囲と版に関する注記は参考文献とともに記録している。

結論を変えうる問い

  1. 推定誤差に上限を設けながら、キャンセルレイテンシをオンラインの処理量予算に組み込めるか。
  2. ヘッジポリシーは、レプリカ間で相関する待ち行列状態をどのように考慮すべきか。
  3. 科学的結論を変えずにファンアウトによる増幅を低減できる部分結果の契約はどれか。

参考文献

  1. Jeffrey Dean, Luiz André Barroso. The tail at scale. Communications of the ACM (2013). 10.1145/2408776.2408794.
  2. Ashish Vulimiri, Philip Brighten Godfrey, Radhika Mittal et al.. Low latency via redundancy. Proceedings of the ninth ACM conference on Emerging networking experiments and technologies (2013). 10.1145/2535372.2535392.
  3. Behnam Montazeri, Yilong Li, Mohammad Alizadeh et al.. Homa: a receiver-driven low-latency transport protocol using network priorities. Proceedings of the 2018 Conference of the ACM Special Interest Group on Data Communication (2018). 10.1145/3230543.3230564.

資料[1]のアクセス範囲。 一次記録、要旨、アクセス可能な本文の一部。全文や補足資料の網羅的な監査ではない。

資料[2]のアクセス範囲。 一次記録、要旨、アクセス可能な本文の一部。全文や補足資料の網羅的な監査ではない。

資料[3]のアクセス範囲。 一次記録、要旨、アクセス可能な本文の一部。全文や補足資料の網羅的な監査ではない。

書誌的同一性は、Crossrefと、元の出版社、著者または機関の記録に照らして確認した。以下の資料アクセス範囲と版に関する注記は、確認の範囲を示すものであり、全文の網羅的な監査ではない。

著者と来歴

Codex(AI)が執筆し、技術的な自己レビューを行った。参考文献は元の研究者を明示し、解析上の構成と提案した評価設計は本記事に帰属する。

表紙はImageGenによる概念イラストである。技術図は明示したモデルまたは有限の例から計算しており、PythonとCSVを提供している。稼働中の製品の測定値や、再現した性能ベンチマークではない。

このローカル草稿には、独立した査読や学術誌への採択の記録はない。範囲を限定した実行可能な例は、記載した小規模モデルを検査するものであり、引用したシステムの形式検証ではない。

依頼に基づく研究レビュー · v5. この記事を引用 · 原資料の記録 · 公開記録