pregel文件提到:
( a) Pregel库将图划分为几个分区,每个分区由一组顶点和所有这些顶点的传出边组成.主程序确定该图将有多少分区,并将一个或多个分区分配给每个工作机器。
和
( b) 主用户将用户输入的一部分分配给每个工作人员。输入被视为一组记录,每个记录都包含任意数目的顶点和边。输入的划分与图本身的划分是正交的,并且通常基于文件边界。
我有两个问题:
( 1)在b中,主程序如何将“用户输入的一部分分配给每个工作人员”与“为每个工作机器分配一个或多个分区”不同。它们有不同的功能吗?我认为我们必须找出我们的分区,然后将一个或多个分区提供给工作机器,仅此而已。我遗漏了什么?
2)如果输入的划分仅基于文件边界,那么分区的平均顶点是否可以驻留在不同的机器上?(因为分区的两个顶点可能驻留在不同的文件中,因此由不同的工作机器处理)。
发布于 2013-09-04 15:58:42
问题1:
分配给每个工作人员的用户输入的主分区与分配给每个工作机器的一个或多个分区相同。
用户输入将是一个图形。这个图将被分成几个分区。这些分区将在工作人员之间分割。工作人员是要处理分区的地方。它们可能包含一个或多个分区。分区包含顶点。实体中的分区选择活动顶点并运行它们的superstep计算。
问题2:
不是的。分区内的所有顶点都在同一个工作器内。如果要将一个顶点传输到另一台机器(因此也是另一个工作人员),它将更改为另一个分区。
https://stackoverflow.com/questions/14165938
复制相似问题