web-dev-qa-db-ja.com

SGEにスロットの概念があるのはなぜですか?

SGE 5.3マニュアルによると、

スロット-そのキューで同時に実行できるジョブの数

私はこれらの概念に不慣れであり、1つずつ理解することから始めたいと思います。

たとえば、RAMが10Gで、スロットが10個あるため、スロットごとに1Gの場合、1G未満のジョブのみを実行できますか?また、ジョブに必要なのが0.5G程度の場合、そのスロットの残りの0.5Gを無駄にするでしょう?もしそうなら、リソースの最適化がない場合、グリッドの使用は何ですか?

また、2Gのジョブが複数のスロットで共有されている場合、これは並列ジョブまたは通常のジョブと呼ばれますか?

また、SGE v5.3とv6.0以降のキューとスロットの概念に違いはありますか?

2
GP92

CPUコア(ハイパースレッディングなどを除く)は、一度に1つのプロセスしか実行できません。デスクトップまたは通常のWebサーバーでは、プロセスを非常に高速に切り替えて、複数のプロセスが同時に実行されているように見せかけます。ただし、スイッチングにはコスト(スワッピング、キャッシュの無効化、コンテキストスイッチ)があるため、全体的なCPUパフォーマンスが低下します。これは、コアがほとんどの時間をIO(ユーザー入力/ネットワーク接続など)の待機に費やす場合は関係ありませんが、HPC/HTC(グリッドエンジンの主なユースケース)では、各プログラムはリソースを効率的に使用するように記述されているため、プログラムを切り替えるのではなく、プログラムを次々に実行するように調整するバッチシステムがある場合は、作業をより迅速に行うことができます。

このような状況では、グリッドエンジンは通常、オーバーコミットを防ぐためにスロットを使用してコアを表すように構成されます。

グリッドエンジンは、コア/スロットとは別にメモリを追跡するように構成できます。

2
William Hay