我通常有大量的相关作业,并希望在PBS集群环境中有效地运行它们。我一直在使用Ruffus,我对它很满意,但我也想尝试一下其他方法。
在python中有一个看起来很有趣的东西是jug。然而,jug似乎假设这些作业在它们的需求中是同类的。我有一些作业需要8 8GB,而其他作业只需要100MB;有些作业可以使用所有处理器,有些作业是单线程的。我的目标是能够快速组装流水线,运行它并基于依赖关系“更新”它,并合理地记录日志,这样我就可以看到哪些作业仍然需要运行。是否有人使用jug或其他类似的系统来满足这些类型的需求?
发布于 2012-10-09 00:09:51
jug的作者在这里。
Jug确实很好地处理了依赖关系。如果您更改了任何输入或中间步骤,运行jug status将告诉您计算的状态。
目前还没有办法指定某些任务( jug称之为作业)应该分配多个进程给它们。过去,每当我有要在多线程中运行的任务时,我都不得不采取最坏情况的方法,并将所有进程分配给jug execute进程。
当然,这意味着单线程任务将占用所有进程。由于大部分计算是在多线程任务中进行的,因此它是可以接受的。
https://stackoverflow.com/questions/12750787
复制相似问题