pregel 论文提到:
a) Pregel 库将一个图划分为多个分区,每个分区由一组顶点和所有这些顶点的出边组成... master 确定该图将具有多少个分区,并将一个或多个分区分配给每个工作机器.
和
b) master 将用户输入的一部分分配给每个 worker。输入被视为一组记录,每个记录包含任意数量的顶点和边。输入的划分与图本身的划分正交,通常基于文件边界。
我在这里有两个问题:
1)在b)中,master如何将“用户输入的一部分分配给每个worker”与“为每个worker机器分配一个或多个分区”不同。它们有不同的功能吗?我认为我们必须弄清楚我们的分区,然后将一个或多个分区提供给工作机器,仅此而已。我错过了什么?
2)如果输入的划分完全基于文件边界,这是否意味着分区的顶点可以驻留在不同的机器上?(因为分区的两个顶点可能驻留在不同的文件上,因此由不同的工作机器处理)。