HPC任务要么成功要么失败,但是如何将“稍后再试”回到调度程序,确定我可以使用失败并重新提交任务但是我需要一种方法来确定我是否因为某些事情被破坏而失败(放弃)或稍后重试,因为此任务正在等待另一项任务(并继续尝试,直到我们错误或成功完成)
有没有办法使用HPC API或类似方法实现这一目标?从我所听到的,非零是失败,零是成功,就是这样,当然必须有一种很好的方法来实现这种“稍后尝试”的行为。
背景
我们正在尝试在单个作业中运行多个HPC任务,这些任务之间具有复杂的相互依赖性,因为第一个任务正在执行其他任务,并等待第一个任务处理足够的数据以便他们可以制作一个开始(一种级联执行,但不是任何简单的顺序,所以我们不能在HPC中定义依赖)。
最初,我试图让这些多个任务在多个核心之间共享,以便在等待主任务完成他们感兴趣的任务时可以睡觉。类似于Windows将分时处理的方式。现在很清楚HPC(按设计!)只允许one task per core所以如果你有一台八核机器,你一次只能运行八个任务。
解决方案似乎是使用批处理文件或类似方法来生成多个进程,但是在我走这条路之前,我想知道上述问题是否可行。
答案 0 :(得分:0)