Python罐(或其他)可在具有异构任务的集群环境中进行令人尴尬的并行作业
作者:互联网
我通常有大量的依赖作业,并且想要在PBS群集环境中有效地运行它们.我一直在使用Ruffus,对此非常满意,但是我还想尝试其他方法.
在python中看起来很有趣的是水罐.但是,似乎水罐假定作业在要求上是相同的.我有些工作需要8GB RAM,而另一些工作只需要100MB.有些可以消耗所有处理器,有些则是单线程的.我的目标是能够快速组装管道,运行管道并根据依赖关系对其进行“更新”,并合理记录日志,以便我可以看到仍然需要运行哪些作业.是否有人使用水罐或其他类似系统来满足这些要求?
解决方法:
水罐的作者在这里.
水罐确实很好地处理了依赖性.如果更改任何输入或中间步骤,则运行水罐状态将告诉您计算状态.
当前无法指定某些任务(水罐称为作业)应分配有多个进程.过去,每当我有要在多个线程中运行的任务时,我就不得不采取最坏情况的方案并将所有进程分配给水罐执行进程.
当然,这意味着单线程任务将占用所有进程.由于大部分计算都在多线程任务中进行,因此可以接受.
标签:parallel-processing,cluster-computing,python 来源: https://codeday.me/bug/20191127/2075049.html