3

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

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

4

1 回答 1

3

壶的作者在这里。

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

目前无法指定某些任务(jug 称为作业)应该分配给它们的多个进程。过去,每当我有要在多个线程中运行的任务时,我都被迫采取最坏情况的方法并将所有进程分配给该jug execute进程。

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

于 2012-10-08T16:09:50.793 回答