プログラムをクラスターで使用しようとしています。ここで、小さなジョブを作成し、bash スクリプトを使用して特定のノードに送信します。これらのジョブは大きなファイルをノードにコピーし、このファイルで他の 5 つのプログラムを実行し、最終的にジョブはファイルをコピーしてノード上で削除します。
ジョブを送信するこの bash スクリプトは、特定のディレクトリで空き HDD の量をチェックし、このノードで実行できるジョブの最大数を計算し、この数のジョブをこの特定のノードに送信します。この方法の欠点は、すべてのジョブが終了した後で、この bash スクリプトを複数回実行する必要があることです。
今、drmaa api を使用して python でこれを実行したいと考えています。しかし、このAPIでノードを制御できるかどうか疑問に思っています。drmaa API を使用して特定のノードに送信することはできますか?
または、qsub コマンドを実行し、qstat コマンドの出力を解析してノードあたりのジョブ数を取得するには、Popen で回避策を作成する必要がありますか?