2012-02-05 6 views
0

計算プール内のマシンにroot権限がないため、atdのバッチの負荷パラメータを調整できないため、別の方法を探していますジョブスケジューリングを行う。マシンは複数のユーザーによって使用されるため、負荷を考慮に入れる必要があります。オプションで、私はそれをプールするすべてのマシンでこれを行う方法を探しています。実行される必要のあるジョブを持つ1つの中央キューと、特定の負荷の下にあるマシンにそれらを(sshを介して)配布するスクリプトがあります。何か案は?バッチジョブスケジューリングの代替(計算プール内)

答えて

0

最初に、コンピューティングプールのシステム管理者に相談してください。今日、エンタープライズ規模のジョブスケジューラは、インフラストラクチャではかなり一般的なコンポーネントになっています。通常、これらのスケジューラはシステムの負荷を考慮しません。

上記の方法では解決策が得られない場合は、ジョブがマシンに負担する負荷を慎重に考慮する必要があります。ジョブがCPUに負荷をかけたり、大量のメモリを消費したり、ディスクIOアクティビティ結果として、あなたの仕事が始まるべきかどうかの判断は、多くの測定に依存するかもしれませんが、あなたは通常のユーザーとして実行できません(実行しているOSの種類とセキュリティの程度によって異なります)。いずれにしても、ジョブの開始時の負荷だけを考慮に入れることができます。明らかに、すべてのユーザーがこれを行うならば、すぐに正方形の1に戻ります...

システム管理者にある種のリソースコントロールがあるかどうかを確認する方が良いかもしれません。 Solarisのプロジェクト)を使用して、バッチがコンピューティングプール内のノードを引き裂かないようにすることができます。次に、バッチジョブを、OSに対するリソース要求の減少に対応できるように記述します。

EDIT:分散性について:ジョブをキューイングし、すべてのノード上のクライアントを有するリソース制御のコンテキストで、彼らはできる限りを消費し、同じキューを指して...

+0

ありがとう!これがうまくいかない場合、代替手段がありますか? – MaVe