BSP 和 MPI 有什么区别?
我知道Pregel 的图计算框架是基于 BSP 的。为什么他们不直接使用 MPI 或者基于 MPI 开发框架?
BSP 和 MPI 有什么区别?
我知道Pregel 的图计算框架是基于 BSP 的。为什么他们不直接使用 MPI 或者基于 MPI 开发框架?
Bulk Synchronous Parallel (BSP) 是一种抽象机器,类似于 PRAM。BSP 中的动作是“超级步骤”,它将通信和计算与跨所有进程的屏障同步混合在一起。BSP 还有一个著名的成本模型。
消息传递接口(MPI) 是分布式内存并行应用程序中用于通信的标准 API 。这个 API 有很多实现,包括商业和开源的。
有一些库支持BSP模型通信,但没有 BSP 标准 API。因此,当 Pregel 的创建者说他们正在使用 BSP 时,他们的意思是他们正在使用异步通信来调度消息,然后是某种障碍。在 MPI-2 中使用远程内存访问(“单向通信”)功能(如MPI_Put()
.