首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS步骤函数与用于编排的Luigi

AWS步骤函数与用于编排的Luigi
EN

Stack Overflow用户
提问于 2020-05-10 16:34:57
回答 1查看 955关注 0票数 2

我的团队为一个小规模的项目提供了单块服务,但为了重新架构和扩展,我们计划转向Amazon的云服务,并评估业务流程,是将Luigi作为容器任务运行,还是使用AWS Step函数?我对他们没有任何经验,尤其是路易吉。有人能指出他们在Luigi身上看到的任何问题吗?如果有的话,它怎么会比AWS更好呢?任何其他同样的建议。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-04 17:13:51

我不知道AWS是如何进行编排的,但如果您计划在任何时候将工作规模扩大到至少数千个,我建议您不要投资于Luigi。Luigi对于中小型(Ish)项目非常有用。它为定义作业和通过原子文件系统操作确保作业完成提供了一个极好的接口。然而,当涉及到Luigi时,问题在于运行作业的框架。Luigi需要不断地与工作人员沟通才能运行,在我自己的经验中,当我试图扩大规模时,网络带宽就被破坏了。

为了我的研究,我将使用运行SLURM的大学集群计算网格,在轻量级到中等的工作流中生成一个由10,000个任务组成的网络。我所有的任务都不会花那么长时间来完成,每个最多5分钟。我尝试了以下三种有效使用Luigi的方法。

  1. SciLuigi的slurm任务是从中心luigi工作人员向SLURM提交作业(不使用中央调度程序)。如果您的作业将被快速接受并运行,此方法将运行良好。但是,它在调度节点上使用了不合理的资源,因为每个工作人员都是一个新进程。此外,它破坏了您在系统中的任何优先级。一个更好的方法是首先分配许多工人,然后让他们继续工作。

  1. ,我尝试的第二个方法就是这样。我在我的主服务器上启动了Luigi中央调度程序(因为否则我无法像上面的工作流那样监视工作状态),并在SLURM集群上启动了所有配置都相同的工作人员,因此他们每个人都可以运行实验的任何部分。问题是,即使有500 my的互联网,超过50名工人的Luigi也会停止工作,我与服务器的互联网连接也会停止。因此,我开始在只有50名员工的情况下运行工作,这大大减慢了我的工作流程。此外,每个员工都必须向中央调度器(另一个巨大的痛点)注册每个作业,这只需要50名员工,
  2. 为了减少启动时间,我决定将根任务子树按它们的参数划分,并将每个子树提交给SLURM。因此,现在的启动时间相当短,但我失去了任何工人管理任何工作的能力,这仍然是相当重要的。而且,我仍然只能和50名工人一起工作。当我完成子树时,我做了最后一项工作来完成实验。

总之,Luigi对于中小型工作流是很好的,但是一旦您开始执行1,000+任务和工作人员,该框架很快就无法跟上。我希望我的经验能对这一框架提供一些见解。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61715338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档