赞
踩
上一篇已经讲到了DataFlow与执行图,细心的小伙伴应该会发现为什么有些算子生成执行图时是两个,有些是一个呢?如果你注意到了这些证明你是真的很闲!!!好了为了看得更加明显先上图:
上面所描述的的也就是并行度!!!
一个特定算子的 子任务(subtask)的个数被称之为其并行度(parallelism)。一般情况下,一个 stream 的并行度,可以认为就是其所有算子中最大的并行度。
JobGraph中展示了A算子并行度为4,C为2等等。而他在TaskManager详细执行如下图:
上面讲到了并行度one-to-one(A和B的关系),他们之间数据是一对一的,而而不像C和D的关系,那我们为什么不把他们组合在一起发送到同一台机器上去执行?这样不就避免了机器之间的通信开销吗?聪明!
为了更加清晰,先上图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。