スキャッターギャザーとは?
スキャッターギャザーとは、コーディネーターがワークロードを独立した部分に分割し、それらを多数のワーカーに並列で送り(スキャッター)、その後それらの応答を収集して結合する(ギャザー)分散コンピューティングのパターンです。CIでは並列テスト実行や分散ビルドを支え、サービスでは並列のファンアウトクエリを実現します。
なぜ重要なのか
スキャッターギャザーは、遅くて分割可能な作業を高速化する中心的な考え方です。すなわち、各部分を同時に実行し、その後で調整します。ギャザーのフェーズこそが正確性の要です。なぜなら、欠落したワーカー結果や失敗したワーカー結果は、黙って破棄されるのではなく、適切に処理されなければならないからです。
関連する概念
- ファンアウト/ファンインは、パイプラインの観点では同じ形態です
- テールレイテンシは、最も遅いワーカーによって決まります
- リトライは、個々のワーカーの障害に対処します
関連ガイド
What Is Fan-Out/Fan-In?Fan-out splits work into many parallel jobs; fan-in gathers their results into a single downstream step, a co…
What Is Retry with Backoff?Retry with backoff re-attempts a failed operation after progressively longer waits, often with jitter, to han…
What Is Test Parallelism?Test parallelism runs multiple tests at the same time, within a process or across machines, to reduce total t…