HPCタスクは成功するか失敗するかのどちらかですが、「後で試す」ことをスケジューラーに戻すにはどうすればよいですか。失敗を使用してタスクを再送信できますが、何かが壊れているために失敗したかどうかを判断する方法が必要です(あきらめます)。または、このタスクが別のタスクを待機しているため、すぐに再試行してください(エラーが発生するか、正常に完了するまで試行を続けてください)
HPC APIなどを使用してこれを実現する方法はありますか?ゼロ以外のものは失敗であり、ゼロは成功であると私が聞いたことから、それだけです。確かに、この「後で試す」動作を実現するための優れた方法があるはずです。
バックグラウンド
最初のタスクが他のタスクを実行しているときに、最初のタスクが十分なデータを処理して開始できるようになるまで待機するという点で、それらの間に複雑な相互依存関係がある単一のジョブで多数のHPCタスクを実行しようとしています(カスケード実行のようなものですが、簡単な順序ではないため、HPCで依存関係を定義することはできません)。
当初、私はこれらの複数のタスクを複数のコア間で共有して、メインタスクが関心のあるタスクを完了するのを待っている間にスリープできるようにしようとしていました。Windowsがプロセスをタイムシェアする方法と同様です。HPC(設計上!)ではコアごとに1つのタスクしか許可されないため、8コアのマシンを使用している場合は、一度に8つのタスクしか実行できないことが明らかになりました。
解決策は、バッチファイルなどを使用して複数のプロセスを生成することであるように見えますが、そのパスを進む前に、上記の質問が実行可能かどうかを知りたいと思います。