Skip to content
Latchkey

スキャッターギャザーとは?

スキャッターギャザーとは、コーディネーターがワークロードを独立した部分に分割し、それらを多数のワーカーに並列で送り(スキャッター)、その後それらの応答を収集して結合する(ギャザー)分散コンピューティングのパターンです。CIでは並列テスト実行や分散ビルドを支え、サービスでは並列のファンアウトクエリを実現します。

なぜ重要なのか

スキャッターギャザーは、遅くて分割可能な作業を高速化する中心的な考え方です。すなわち、各部分を同時に実行し、その後で調整します。ギャザーのフェーズこそが正確性の要です。なぜなら、欠落したワーカー結果や失敗したワーカー結果は、黙って破棄されるのではなく、適切に処理されなければならないからです。

関連する概念

  • ファンアウト/ファンインは、パイプラインの観点では同じ形態です
  • テールレイテンシは、最も遅いワーカーによって決まります
  • リトライは、個々のワーカーの障害に対処します

関連ガイド