投稿日: Nov 9, 2021

本日、AWS Batch は AWS Batch のジョブキューのフェアシェアスケジューリングを導入し、1 つのキューで異なるワークロードを実行することが簡単になります。現在、カスタマーは先入れ先出し (FIFO) でジョブを実行するか、「フェアシェア」ポリシーを決定することができます。これは、リソースを平等に、または管理者が定義した重みと優先順位に基づいて分配できます。ジョブのフェアシェアスケジューリングにより、AWS Batch はワークロードが最初に表すどちらか以外の要素に基づいて、複数のユーザーとワークロードにおけるコンピューティングの割り当てを処理します。これにより、改善された処理効率とユーザーとワークロードの優先重位をより尊重することになります。

AWS Batch は、エンタープライズ、科学者、デベロッパーなど、どなたでも AWS でバッチジョブを効率的に実行できるクラウドネイティブなバッチスケジューラです。ジョブが数個であっても数十万個であっても、AWS Batch は、送信するジョブの量と具体的なリソース要件に基づいて、コンピューティングリソースの最適な量とタイプをプロビジョニングするように設計されています。AWS Batch では、ジョブを実行するために使用するバッチコンピューティングソフトウェアやサーバークラスターをインストールして管理する必要がないため、結果を分析し、問題を解決することに注力できるようになります。

今日まで、AWS Batch はキューに FIFO スケジューリングメカニズムを使用していました。FIFO では、ジョブがキューの先頭に達し、コンピューティングリソースが十分利用できるときにジョブがスケジュールされます。これは多くのカスタマーに役立ちますが、わずかなジョブの前に非常に多くの長時間実行しているジョブがある、というように 1 人のユーザーのワークロードがもう 1 人のジョブの後でトラップされる「不公平な」状況を生じることがあります。こうした場合、カスタマーは公平なコンピューティングの割り当てを短いジョブを持つユーザーに提供したいと思います。多くの異なるワークロードを持つ大きな組織においてはとりわけ、コンピューティングの公平性はユーザーに自身を付けさせるためには重要であり、ユーザーが業務を送信すると、これは優先順位を尊重しながら適時処理します。

AWS Batch はスケジューリング方法として FIFO に加えてフェアシェアスケジューリングをサポートし、カスタマーが 1 つのキューで多くの異なるユーザーとワークロードを持つことを許可し、AWS Batch は管理者により定義されたフェアシェアスケジューリングに従いコンピューティングリソースを割り当てます。デフォルト設定により、これは各ユーザー/ワークロードにおいて ほぼ同じです。AWS Batch はユーザーまたはワークロードを「シェア」に割り当て、ユーザーまたはワークロードがどれほどコンピューティングリソースを受け取るか定義します。コンピューターは、必要な場合高い優先度の特定のユーザーまたはワークロードに特別の重さを与えることができます。カスタマーは、ジョブを AWS Batch にただ送信するだけで、自動的に特定のシェアに従ってジョブをディスパッチし、カスタマーは 1 つの結合されたキューでワークロードをただ実行できるようになります。

詳細については、ブログの記事を参照してください。