第一次写CSDN,格式还不太熟悉,但是总算是一个好的开始,这个学期要保本校的研,但是由于大一大二大三上都不太努力,所以会有些难度,这博客是个新的开始,所以努力吧,这个博客主要是关于giraph部分的
BSP模型
BSP模型全称
整体同步并行计算模型(Bulk Synchronous Parallel Computing Model,简称BSP模型)
对BSP模型的一些理解
1.Processors指的是并行计算进程,它对应到集群中的多个结点,每个结点可以有多个Processor;
2.LocalComputation就是单个Processor的计算,每个Processor都会切分一些结点作计算;
3.Communication指的是Processor之间的通讯。接触的图计算往往需要做些递归或是使用全局变量,
在BSP模型中,对图结点的访问分布到了不同的Processor中,并且往往哪怕是关系紧密具有局部聚类特点的结点也未必会分布到同个Processor或同一个集群结点上,所有需要 用到的数据都需要通过Processor之间的消息传递来实现同步;
4.BarrierSynchronization又叫障碍同步或栅栏同步。每一次同步也是一个超步的完成和下一个超步的开始;
5.Superstep超步,这是BSP的一次计算迭代,拿图的广度优先遍历来举例,从起始结点每往前步进一层对应一个超步。
6.程序该什么时候结束呢?这个其实是程序自己控制,一个作业可以选出一个Proceessor作为Master,每个Processor每完成一个Superstep都向Master反馈完成情况,Master在N个Superstep之后发现所有Processor都没有计算可做了,便通知所有Processor结束并退出任务
这是某度里的介绍,感觉云里雾里的,但是了解了大概,下面是对查到的资料的一些总结,感觉认识的更加清楚
BSP模型是一种异步MIMD-DM模型(DM: distributed memory,SM: shared memory),BSP模型支持消息传递系统,块内异步并行,块间显式同步,该模型基于一个master协调,所有的worker同步(lock-step)执行, 数据从输入的队列中读取,该模型的架构如图所示: