我想在多节点分布式内存集群中并行调度和运行任务。
我有许多不同的任务,它们依赖于其他任务,但我也希望与不同的参数并行运行相同的任务。 例如,假设我有一个期望的最佳参数为10的任务,但是这可能会失败(由于特定任务中的某些复杂性 - 事先无法知道)。为了对冲失败的风险,我还希望使用下一个最佳参数运行相同的任务。为了继续对冲风险,我希望通过减少下一个最佳参数来运行更多任务。
基于最佳参数,任务之间存在隐含的层次结构。具有较小最优参数的所有任务都可以被认为是对冲到更好的值。
我的主要问题是: 因为我正在使用不同的参数并行运行相同的任务,并且基于参数的最优性的任务被优先考虑,只要该任务的任何实例成功完成,我想要杀死所有后续实例具有较低优先级(具有较差参数)的任务并将其从进程队列中删除。 换句话说,当我知道更好的参数任务已成功完成时,我想要终止对冲过程。
DAGuE是否允许这样做?即从队列中删除任务?如果没有,可以建议另一个C ++调度程序。