0

pregel 论文提到:

a) Pregel 库将一个图划分为多个分区,每个分区由一组顶点和所有这些顶点的出边组成... master 确定该图将具有多少个分区,并将一个或多个分区分配给每个工作机器.

b) master 将用户输入的一部分分配给每个 worker。输入被视为一组记录,每个记录包含任意数量的顶点和边。输入的划分与图本身的划分正交,通常基于文件边界

我在这里有两个问题:

1)在b)中,master如何将“用户输入的一部分分配给每个worker”与“为每个worker机器分配一个或多个分区”不同。它们有不同的功能吗?我认为我们必须弄清楚我们的分区,然后将一个或多个分区提供给工作机器,仅此而已。我错过了什么?

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

4

1 回答 1

1

问题一:

master 将用户输入分配给每个 worker 与将一个或多个分区分配给每个 worker 机器相同。

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

问题2:

不。分区内的所有顶点都在同一个工作人员内。如果一个顶点将被转移到另一台机器(因此另一个工人),它将改变到另一个分区。

于 2013-09-04T15:58:42.013 回答