Work Stealing - CI/CD用語集の定義
ワークスティーリングは、アイドル状態のrunnerが忙しいrunnerからタスクを引き取り、負荷を分散させます。
ワークスティーリングとは、アイドル状態のworkerが忙しいworkerから保留中のタスクを引き取り、一部を遊ばせて他がキューに並ぶのではなく、runnerを均等に負荷分散するスケジューリング手法です。
ワークスティーリングは動的な負荷分散の戦略です。あらかじめ固定した作業のスライスを割り当てるのではなく、各workerが空いたときに次に利用可能なタスクを引き取ります。
なぜ重要か
静的なテストシャーディングは、1つのシャードを他より大幅に遅くしてしまうことがあります。空いたrunnerが次のテストを引き取れる動的なキューは、このstragglers(落伍者)問題を軽減します。
関連ガイド
Job Queue - CI/CD Glossary DefinitionJob Queue: A job queue is the ordered list of CI jobs waiting for an available runner. When demand exceeds ru…
Runner Pool - CI/CD Glossary DefinitionRunner Pool: A runner pool is a group of interchangeable runners that share a job queue. Jobs are dispatched…
Fan-Out - CI/CD Glossary DefinitionFan-Out: Fan-out is splitting one CI job into many parallel jobs so independent work (test shards, matrix com…