7

私が使用していた短いスクリプトを置き換えるためのユーザースペースツール(できればPythonで-それを除けば、必要なことをまだ実行していない場合は簡単に変更できるもの)を見つけたいと思います。以下の2つのこと:

  • 100台未満のコンピューター(Fedora 13、それはそうなります)をポーリングして、負荷、使用可能なメモリー、および誰かがそれらを使用しているように見える場合
  • ジョブに適したホストを選択し、これらのジョブをsshで実行します。これらのジョブは、共有ファイルシステム(通常は画像処理スクリプトなど)のcpu、場合によってはメモリを大量に消費するタスクの読み取りと書き込みを行う任意のコマンドラインプログラムの実行です。

たとえば、現在のスクリプトを使用すると、Pythonプロンプトで実行できます

>>> import hosts
>>> hosts.run_commands(['users']*5)

またはコマンドラインから

% hosts.py "users" "users" "users" "users" "users"

コマンドをusers5回実行します(構成ファイルから少なくとも5台のコンピューターのCPU負荷と使用可能なメモリーを確認して、コマンドを実行できる5台のコンピューターを見つけた後)。実行したスクリプト以外にジョブサーバーはなく、これらのコマンドを実行するコンピューター上にワーカーデーモンやプロセスはありません。

さらに、ジョブを追跡したり、失敗したときにジョブを再実行したりできるようにしたいのですが、これらは実際には必要のない追加機能(実際のジョブスケジューラでは非常に標準的)です。

私はPython用の優れたsshライブラリを見つけました。classhPuSSHのようなもので、私が望む(非常に単純な)負荷分散機能がありません。私が欲しいものの反対側は、私が何かもっと軽いものが欲しいと明確にする前にクリスパマーレによって示唆されたように、コンドルまたはスラムです。それらは適切な方法で物事を行っているでしょうが、それらについて読むと、私がそれらを必要とするときにのみユーザースペースでそれらを回転させるように聞こえます。これは専用のクラスターではなく、これらのホストへのrootアクセス権がありません。

私は現在、他に何かが見つからない場合にコンピューターがどれほど忙しいかを知る必要があるときはいつでも、コンピューターの基本的なポーリングでclasshのラッパーを使用することを計画しています。

4

6 に答える 6

3

生地があり ますが、誰も言及していないのには驚きました。

于 2012-11-27T15:24:12.573 に答える
2

Slurmは、 PySlurmを使用してPythonでプログラムできる強力なジョブスケジューラです。

コンドルよりも展開が難しいかどうかはわかりません。また、それがあなたのすべてのニーズに合うかどうかはわかりませんが、念のために書き留めておきます。

于 2011-04-12T14:50:35.993 に答える
1

You could modify buildbot and twisted? This seems like a good way to go.

于 2011-04-12T14:30:36.577 に答える
1

funcを見てください。「Hello、world」レベルを超えて使用したことはありませんが、あなたにぴったりだと思います。

于 2011-12-22T14:01:21.497 に答える
1

私は少し遅れるかもしれません:私はここでpythonsagaを見るのをお勧めしたいと思います。

于 2014-03-19T11:10:45.470 に答える
0

この質問に遅れるかもしれませんが、最近同じ問題が発生し、サーバーのクラスター上で画像ファイルを処理するためのジョブスケジューリングとサーバー負荷分散を実行できるC /C+ライブラリを探しています。GUIからライブラリを呼び出し、ジョブのステータスを監視します。

slurmをインストールしてコマンドを試しましたが、ツールとして、そしておそらくライブラリとして利用するのはかなり難しいようです。他のオプションはジョブスケジューリングを提供するようですが、CPU使用率に基づく負荷分散は提供しません。何か提案をいただければ幸いです。

よろしくお願いします

于 2015-09-01T08:43:14.350 に答える