core和worker是什么关系?
What is the relationship between cores and workers?
在 Apache Beam/Dataflow 中,我很好奇整个作业的核心数量与工作虚拟机数量之间的关系。
具体来说,工作什么时候会受益于“扩大规模”(许多工人每个工人的核心数量较低)或“扩大规模”(更少的工人但每个工人的核心数量更高)?这会影响并行度吗?
示例:8 个 64 个核心工人 vs 128 个 4 个核心工人?两种配置都会产生 512 个内核来完成这项工作。我不清楚我应该选择哪个,尤其是现在 shuffle 服务允许我们部署具有更小磁盘的工作人员。
谢谢
Dataflow 考虑的是内核数的并行性,而不是机器数,所以从它的角度来看,8 台 64 核机器或 128 台 4 核机器是相同的。为某些管道使用更大的机器可能会有一些好处,例如如果工作人员可以“共享”通用数据结构,如大型 ML 模型,则启动开销会略有减少,并且对于大型作业,默认情况下任何规模的机器都有 1000 台的限制,但对于大多数作业来说,这并不重要。
在 Apache Beam/Dataflow 中,我很好奇整个作业的核心数量与工作虚拟机数量之间的关系。
具体来说,工作什么时候会受益于“扩大规模”(许多工人每个工人的核心数量较低)或“扩大规模”(更少的工人但每个工人的核心数量更高)?这会影响并行度吗?
示例:8 个 64 个核心工人 vs 128 个 4 个核心工人?两种配置都会产生 512 个内核来完成这项工作。我不清楚我应该选择哪个,尤其是现在 shuffle 服务允许我们部署具有更小磁盘的工作人员。
谢谢
Dataflow 考虑的是内核数的并行性,而不是机器数,所以从它的角度来看,8 台 64 核机器或 128 台 4 核机器是相同的。为某些管道使用更大的机器可能会有一些好处,例如如果工作人员可以“共享”通用数据结构,如大型 ML 模型,则启动开销会略有减少,并且对于大型作业,默认情况下任何规模的机器都有 1000 台的限制,但对于大多数作业来说,这并不重要。