1、什么是BSP计算模型?
“大同步”模型
答:超步是一种并行计算模型
2、试述BSP模型中超步的3个组件及具体含义
答:局部计算:每个参与的处理器都有自身的计算任务,它们只读取存储在本地内存中的值,不同处理器的计算任务都是异步并且独立的。
通讯:处理器群相互交换数据,交换的形式是,由一方发起推送(Put)和获取(Get)操作
栅栏同步:当一个处理器遇到“路障”(或栅栏),会等其他所有处理器完成它们的计算步骤;每一次同步也是一个超步的完成和下一个超步的开始。
- 最短路径问题是图论中最有名的问题之一,其中s-t最短路径在现实生活中应用最广泛,比如寻找驾驶路线等。请给出Pregel计算过程。
•Pregel的计算过程是由一系列被称为“超步”
的迭代组成的
•在每个超步中,每个顶点上面都会并行执行
用户自定义的函数,该函数描述了一个顶点V
在一个超步S中需要执行的操作
•该函数可以读取前一个超步(S-1)中其他顶点
发送给顶点V的消息,执行相应计算后,修改
顶点V及其出射边的状态,然后沿着顶点V的
出射边发送消息给其他顶点,而且,一个消
息可能经过多条边的传递后被发送到任意已
知ID的目标顶点上去
•这些消息将会在下一个超步(S+1)中被目标顶
点接收,然后象上述过程一样开始下一个超
步(S+1)的迭代过程
•在Pregel计算过程中,一个算法什么时候可以结束,是由所有顶点的状态
决定的
•在第0个超步,所有顶点处于活跃状态,都会参与该超步的计算过程
•当一个顶点不需要继续执行进一步的计算时,就会把自己的状态设置为
“停机”,进入非活跃状态
•一旦一个顶点进入非活跃状态,后续超步中就不会再在该顶点上执行计算,
除非其他顶点给该顶点发送消息把它再次激活
•当一个处于非活跃状态的顶点收到来自其他顶点的消息时,Pregel计算框
架必须根据条件判断来决定是否将其显式唤醒进入活跃状态
•当图中所有的顶点都已经标识其自身达到“非活跃(inactive)”状态,并
且没有消息在传送的时候,算法就可以停止运行
BSP计算模型、Pregel计算流程