核心和工人之间是什么关系?

时间:2021-07-01 14:40:57

标签: google-cloud-dataflow

在 Apache Beam / Dataflow 中,我很好奇整个作业中的内核数量与工作虚拟机数量之间的关系。

具体来说,什么时候可以从“扩大”(每个工人的核心数较低的许多工人)或“扩大”(每个工人的核心数较高的工人较少)中受益?这会影响并行性吗?

例如:8 个 64 个核心工人 vs 128 个 4 个核心工人?两种配置都会为作业生成 512 个内核。我不清楚我应该选择哪个,尤其是现在 shuffle 服务允许我们使用更小的磁盘来部署 worker。

谢谢

1 个答案:

答案 0 :(得分:1)

Dataflow 在核数上考虑并行性,而不是机器数,所以从它的角度来看,8 台 64 核机器或 128 台 4 核机器是相同的。对某些管道使用较大的机器可能有一些好处,例如如果工作人员可以“共享”公共数据结构,例如大型 ML 模型,启动开销略有减少,并且对于大型作业,默认情况下限制为 1000 台任意大小的机器,但对于大多数作业而言,这并不重要。