地球问候,
dask能否取代资源管理系统(如SGE )作为调度程序?
我注意到dask可以使用SGE,但从长远来看,我真正想要的是用我可以从conda安装的东西替换SGE,看看dask文档,尝试一下似乎很有趣。SGE不再在较新的linux系统上轻松安装,因此如果dask可以在简单的anaconda安装之后使用,它可能会更好,特别是因为它运行在windows上。
然而,看一看文档,我仍然不清楚dask是否能做以下工作:
我查看了这个文档页面,它表明dask不适合我的需要:http://dask.pydata.org/en/doc-test-build/distributed-details.html
我在看底部,上面写的是达斯克不做的事。
我决定问这个问题,以防我看错了文档中的页面。
希望达斯克能帮上忙。
Jacob发布于 2018-04-09 17:58:29
是!
在某些情况下,Dask可以替换诸如Sun Grid Engine (SGE)或SLURM之类的资源管理系统。我能够用dask代替SGE来运行MIcro Simualtion工具(迷雾)。以下是一些见解。
限制:
优势:
简而言之,我敦促开发人员考虑删除dask文档中的注释,标题是:“dask.distributed不做什么”http://dask.pydata.org/en/doc-test-build/distributed-details.html
这一警告是误导的,达斯克确实需要你的想法包装使用它-它不适合多用户的专业用途。然而,它可以很容易地完成相当复杂的分布式计算,通常作为作业提交给资源管理系统--而且它有一些优点。我建议开发人员集中精力进行更好的比较,展示SGE/SLURM中的东西如何被转换为dask和pin点的差异。
简单地说,我需要做更多的测试来看看dask有多强的弹性,但是我的初步测试是非常令人满意的,我很乐意写出这个答案。不过,如果我在这里遗漏了什么,我很乐意继续讨论。
我希望几年前我就有了达斯克--那时我正在寻找这样的解决方案。
雅各布
发布于 2018-01-17 14:26:09
简短回答
不,除了在玩具的情况下
长答案
像SGE这样的作业调度程序通常跨集群运行许多程序。这些程序通常需要很多分钟才能运行,并且连接松散,可能是通过跨文件系统通过文件进行数据通信。
像Dask这样的任务调度程序通常在已经运行在集群上的程序之间运行许多功能。这些函数通常需要毫秒到秒的时间,并且经常通过网络快速地传递大量数据。
理论上,通过提交运行程序的函数(如os.popen),如果作业调度器已经在集群中广泛部署,任务调度程序就可以模仿作业调度程序。然而,这是相当罕见的。任务调度程序通常在短时间内部署,然后清理。作业调度器的使用时间要长得多(年数),并处理其他一些重要问题,如用户管理、配额等。
https://stackoverflow.com/questions/48290545
复制相似问题