0

コンピューティング プール内のマシンに対するルート権限がなく、atd の負荷パラメーターをバッチに適応させることができないため、ジョブ スケジューリングを行う別の方法を探しています。マシンは複数のユーザーによって使用されるため、負荷を考慮できる必要があります。必要に応じて、プール内のすべてのマシンに対してこれを行う方法を探しています。つまり、実行する必要があるジョブを含む中央キューが 1 つあり、ジョブを (ssh 経由で) 配下のマシンに分散するスクリプトがあります。一定の負荷。何か案は?

4

1 に答える 1

0

まず、計算プールのシステム管理者に相談してください。企業全体のジョブ スケジューラは、最近のインフラストラクチャではかなり一般的なコンポーネントになっています。通常、これらのスケジューラはシステム負荷を考慮していません。

上記の方法で適切な解決策が得られない場合は、ジョブがマシンに与える負荷を慎重に検討する必要があります。ジョブが CPU にさらに負荷をかけ、大量のメモリを消費し、多くのネットワークまたはディスク IO アクティビティを生成している可能性があります。したがって、ジョブを開始するかどうかの決定は多くの測定に依存する可能性があり、そのうちのいくつかは通常のユーザーとしては実行できません (実行している OS の種類とセキュリティの厳しさによって少し異なります)。いずれにせよ、ジョブの開始時の負荷のみを考慮することができます。明らかに、すべてのユーザーがこれを行う場合、すぐに振り出しに戻ることになります...

システム管理者に、バッチが計算プール内のノードを破壊しないことを確認できる何らかのリソース制御 (Solaris のプロジェクトなど) があるかどうかを確認することをお勧めします。次に、リソースに対する OS の拒否要求に対処できるように、バッチ ジョブを記述します。

EDIT:分散型の性質について:ジョブをキューに入れ、すべてのノードのクライアントが同じキューを指すようにし、リソース制御のコンテキストでできるだけ多くを消費します...

于 2012-02-05T10:20:02.443 に答える