Bulk synchronous parallel (BSP) Model 整体同步并行计算模型

来源:互联网 发布:淘宝海外集运怎么收费 编辑:程序博客网 时间:2024/06/05 14:40

        整体同步并行计算模型计算机主要由如下三部分组成:

  1. 能够处理内存事务的组件,比如处理器
  2. 在组件之间进行消息路由的网络
  3. 能够实现所有组件之间或者组件子集之间的同步的硬件设施
  • BSP的概念由Valiant(1990)提出的,“块”同步模型,是一种异步MIMD-DM模型,支持消息传递系统,块内异步并行,块间显式同步,该模型基于一个master协调,所有的worker同步(lock-step)执行, 数据从输入的队列中读取, 该模型的架构如图所示:

另外,BSP并行计算模型可以用 p/s/g/i 4个参数进行描述:
·    P为处理器的数目(带有存储器)
·    s为处理器的计算速度
·    g为每秒本地计算操作的数目/通信网络每秒传送的字节数,称之为选路器吞吐率,视为带宽因子 (time steps/packet)=1/bandwidth
·    i为全局的同步时间开销,称之为全局同步之间的时间间隔 (Barrier synchronization time)
那么假设有p台处理器同时传送h个字节信息,则g•h就是通信的开销。同步和通信的开销都规格化为处理器的指定条数。

BSP计算模型不仅是一种体系结构模型,也是设计并行程序的一种方法。BSP程序设计准则是 bulk同步 (bulk synchrony),其独特之处在于超步(superstep)概念的引入。一 个BSP程序同时具有水平和垂直两个方面的结构。从垂直上看,一个BSP程序由一系列串行的超步(superstep)组成,如图所示:

hama bsp

这种结构类似于一个串行程序结构。从水平上看, 在一个超步中, 所有的进程并行执行局部计算。一个超步可分为三个阶段 ,如图所示:
bsp
1 )本地计算阶段, 每个处理器只对存储本地内存中的数据进行本地计算。  
2 )全局通信阶段, 对任何非本地数据进行操作。  
3 )栅栏同步阶段, 等待所有通信行为的结束。 

BSP模型相对于其他两种模型而言, 具有如下两个方面的优点:  
•MPI 和 PVM两种并行计算模型,依赖于接收和发送 的操作对。这样通信方式容易导致上层应用程序产生死锁,而BSP并行计算库是一个程序划分为超步(superstep),使得死锁不再发生。  
•BSP模型由于其本身的特点, 使得对于程序的正确性和时间的复杂性预测成为可能。

http://www.javabloger.com/article/apache-hadoop-hama-bsp.html





0 0
原创粉丝点击