Python jug(或其他)用于具有异构任务的集群环境中令人尴尬的并行作业

时间:2012-10-05 16:58:03

标签: python parallel-processing cluster-computing

我有通常的大量依赖作业,并希望在PBS集群环境中有效地运行它们。我一直在使用Ruffus,我很高兴,但我也想尝试其他方法。

在python中看起来很有趣的是jug。然而,似乎水罐假定工作在他们的要求中是同质的。我有一些需要8GB RAM的工作,而其他工作只需要100MB;有些可以使用所有处理器,有些是单线程的。我的目标是能够快速组装管道,运行它并根据依赖关系“更新”,并合理地记录,以便我可以看到仍然需要运行哪些作业。是否有人使用水壶或其他类似系统满足这些类型的要求?

1 个答案:

答案 0 :(得分:3)

这里的水壶作者。

Jug确实很好地处理了依赖关系。如果您更改任何输入或中间步骤,运行jug status将告诉您计算的状态。

目前无法指定某些任务(jug调用作业)应该为其分配多个进程。过去,每当我有多个线程运行的任务时,我都被迫采取最坏情况场景方法并将所有进程分配到jug execute进程。

这意味着,当然,单线程任务将占用所有进程。由于大部分计算都在多线程任务中,因此可以接受。