Pregel BSP:主人与工人分配和分配用户输入之间的区别

时间:2013-01-04 22:20:15

标签: graph parallel-processing

pregel论文提到:

  

a)Pregel库将图表划分为多个分区,每个分区都包含在内   一组顶点和所有顶点的传出边...   master确定图表将具有多少分区,并分配   每个工作机器的一个或多个分区

  

b)主人将一部分用户输入分配给每个工作人员。该   输入被视为一组记录,每个记录包含一个   任意数量的顶点和边。 投入的划分是   与图本身的分区正交,并且通常是   基于文件边界

我在这里有两个问题:

1)在b)中,主人如何为每个工人分配用户输入的部分"不同于"为每个工作机器分配一个或多个分区"。他们有不同的功能吗? 我认为我们必须找出我们的分区,然后将一个或多个分区提供给工作机器,这就是全部。我错过了什么?

2)如果输入的划分完全基于文件边界,那是否意味着分区的顶点可以驻留在不同的机器上? (因为分区的两个顶点可能驻留在不同的文件上,因此可以由不同的工作机器处理)。

1 个答案:

答案 0 :(得分:1)

问题1:

为每个工作人员分配用户输入的主服务器与为每个工作服务器分配一个或多个分区相同。

用户输入将是图表。该图将分为几个分区。这些分区将在工作人员之间分配。 worker是处理分区的地方。它们可能包含一个或多个分区。分区包含顶点。实体中的分区选择活动顶点并运行超级计算。

问题2:

没有。分区内的所有顶点都在同一个worker中。如果要将顶点转移到另一台机器(以及另一台工作人员),它将更改为另一个分区。