16

slurm によって管理されるクラスターを使用して、yarn/hadoop ベンチマークを実行しています。これを行うために、slurm によって割り当てられたノードで Hadoop サーバーを起動し、それらでベンチマークを実行しています。これは本番環境の Hadoop クラスターを実行するための意図された方法ではありませんが、必要があることは理解しています。

これを行うために、srun などで実行されるスクリプトを作成することから始めましたsrun -N 4 setup.sh。このスクリプトは構成ファイルを書き込み、割り当てられたノードでサーバーを起動します。最も小さい番号のマシンがマスターとして機能します。これはすべて機能し、アプリケーションを実行できます。

ただし、サーバーを一度起動してから、最初にすべてを再起動/エンコードせずに複数のアプリケーションを起動したいので、salloc代わりに使用したいと思います。salloc -N 4これは、 を実行してから実行する単純なケースだと思っていましたsrun setup.sh。残念ながら、異なるサーバーが互いに通信できないため、これは機能しません。thenを使用する場合srunと使用する場合の動作環境の違いを説明してくれる人はいますか?sallocsrun

どうもありがとう

ダニエル

4

1 に答える 1

9

slurm-users メーリング リストから:

sbatch と salloc はリソースをジョブに割り当て、srun はそれらのリソース全体で並列タスクを起動します。ジョブ割り当て内で呼び出されると、srun は、割り当てられたリソースの一部またはすべてで並列タスクを起動します。その場合、srun はデフォルトで、それが実行される sbatch または salloc の適切なオプションを継承します。次に、(通常) srun にさまざまなオプションを指定して、デフォルトで受け取るものを上書きすることができます。ジョブ内での srun の各呼び出しは、ジョブ ステップと呼ばれます。

srun は、ジョブ割り当ての外でも呼び出すことができます。その場合、srun はリソースを要求し、それらのリソースが許可されると、それらのリソース全体で単一のジョブおよびジョブ ステップとしてタスクを起動します。

于 2014-10-27T07:24:18.057 に答える