BSP和MPI有什么区别?
我知道Pregel's图形计算框架基于BSP。他们为什么不直接使用MPI或开发基于MPI的框架?
答案 0 :(得分:5)
Bulk Synchronous Parallel(BSP)是一个抽象的机器,就像PRAM一样。 BSP中的操作是“超级步骤”,它将通信和计算与所有进程中的屏障同步相结合。 BSP也有一个成本模型。
Message Passing Interface(MPI)是分布式内存并行应用程序中通信的标准API。这个API有很多实现,包括商业和开源。
支持 BSP模型通信some libraries,但没有BSP标准API。因此,当Pregel的创建者说他们正在使用BSP时,他们意味着他们使用异步通信来安排消息,然后是某种障碍。绝对可以使用远程内存访问(“单向通信”)函数在MPI-2中执行此操作,如MPI_Put()
。