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

pythonjug(或其他),用于在具有异构任务的集群环境中执行令人尴尬的并行作业,python,parallel-processing,cluster-computing,Python,Parallel Processing,Cluster Computing,我通常有大量的依赖作业,希望在PBS集群环境中有效地运行它们。我一直在使用Ruffus,对此非常满意,但我也想尝试一下其他方法 在python中看起来很有趣的一个是jug。然而,JG似乎认为这些工作的需求是同质的。我有一些工作需要8GB内存,而其他工作只需要100MB;有些可以使用所有处理器,有些是单线程的。我的目标是能够快速组装一个管道,运行它,并根据依赖关系对其进行“更新”,合理地记录日志,这样我就可以看到哪些作业仍然需要运行。是否有人使用具有这些类型需求的JG或其他类似系统?这里是JG的作

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

在python中看起来很有趣的一个是jug。然而,JG似乎认为这些工作的需求是同质的。我有一些工作需要8GB内存,而其他工作只需要100MB;有些可以使用所有处理器,有些是单线程的。我的目标是能够快速组装一个管道,运行它,并根据依赖关系对其进行“更新”,合理地记录日志,这样我就可以看到哪些作业仍然需要运行。是否有人使用具有这些类型需求的JG或其他类似系统?

这里是JG的作者

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

目前没有办法指定某些任务(jug称之为作业)应该分配多个进程。过去,每当我有要在多个线程中运行的任务时,我就不得不采取最坏情况下的方法,将所有进程分配给
jug execute
进程

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