BSP模型
http://www.uml.org.cn/yunjisuan/201212191.asp
Hama中最关键的就是BSP(Bulk Synchronous Parallel-“大型”同步模型)模型, 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)组成,如图所示:

这种结构类似于一个串行程序结构。从水平上看, 在一个超步中, 所有的进程并行执行局部计算。一个超步可分为三个阶段 ,如图所示:

1 )本地计算阶段, 每个处理器只对存储本地内存中的数据进行本地计算。
2 )全局通信阶段, 对任何非本地数据进行操作。
3 )栅栏同步阶段, 等待所有通信行为的结束。
BSP模型相对于其他两种模型而言, 具有如下两个方面的优点:
- MPI 和 PVM两种并行计算模型,依赖于接收和发送 的操作对。这样通信方式容易导致上层应用程序产生死锁,而BSP并行计算库是一个程序划分为超步(superstep),使得死锁不再发生。
- BSP模型由于其本身的特点, 使得对于程序的正确性和时间的复杂性预测成为可能。
1背景及简介编辑
- 一组具有局 部内存的分布式处理器;
- 全局数据通讯 网络 ;
- 支持所有处理单元间全局路障同步的机制。
2BSP模型编辑
BSP模型BSP模型图需要做以下解释:
BSP模型的更多相关文章
- 从BSP模型到Apache Hama
一.什么是BSP模型 概述 BSP(Bulk Synchronous Parallel,整体同步并行计算模型)是一种并行计算模型,由英国计算机科学家Viliant在上世纪80年代提出.Google发布 ...
- Hadoop技术里面有BSP模型、MPI模型
MPI模型,各种编程语言的库挺多. BSP模型,刚才知道.
- GraphX之Pregel(BSP模型-消息传递机制)学习
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreem ...
- GraphLab面向机器学习的并行框架『针对图数据处理模型』
最近在做文本处理知识的梳理,关注了CMU提出的GraphLab开源分布式计算系统 这是关于GraphLab的PPT:Distributed GraphLab『 http://cheng-qihang- ...
- PayPal高级工程总监:读完这100篇论文 就能成大数据高手(附论文下载)
100 open source Big Data architecture papers for data professionals. 读完这100篇论文 就能成大数据高手 作者 白宁超 2016年 ...
- Blog List
Blog List Spark Spark官方文档 - 中文翻译 Spark快速入门 - Spark 1.6.0 Spark SQL 官方文档-中文翻译 Spark SQL 之 Migration G ...
- 转债---Pregel: A System for Large-Scale Graph Processing(译)
转载:http://duanple.blog.163.com/blog/static/70971767201281610126277/ 作者:Grzegorz Malewicz, Matthew ...
- PayPal 高级工程总监:读完这 100 篇文献,就能成大数据高手
原文地址 开源(Open Source)对大数据影响,有二:一方面,在大数据技术变革之路上,开源在众人之力和众人之智推动下,摧枯拉朽,吐故纳新,扮演着非常重要的推动作用:另一方面,开源也给大数据技术构 ...
- Pregel: A System for Large-Scale Graph Processing(译)
[说明:Pregel这篇是发表在2010年的SIGMOD上,Pregel这个名称是为了纪念欧拉,在他提出的格尼斯堡七桥问题中,那些桥所在的河就叫Pregel.最初是为了解决PageRank计算问题,由 ...
随机推荐
- 【解决】Django项目废弃SQLite3拥抱MySQL
SQLite3数据库就一个文件,拷贝着随时带走,调试方便,超级轻量级,有它的好处. 不过,MySQL才是中小项目的主流,最近想把Django里程碑项目部署到SAE上,所以试着把原来的项目数据库替换成M ...
- algorithm@ O(3/2 n) time to findmaximum and minimum in a array
public static int[] max_min(int[] a){ //res[0] records the minimum value while res[1] records the ma ...
- 沈晓军 / LarvaFrame - 代码托管 - 开源中国社区
沈晓军 / LarvaFrame - 代码托管 - 开源中国社区 统计
- SQL2008-截取字段函数
ltrim() int转字符 Left('ABC',2)='AB' right('ABC',2)='BC' SUBSTRING('ABC',1,2)='AB' 和DELPHI中的COPY一样Sub ...
- hdoj 2031 进制转换
进制转换 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- session 重写进入redis测试
在实际业务中,当session存储过多 或者操作频繁,业务逐渐扩展的时候,文件存储已经无法满足session操作速度和需求,可以考虑用数据库或者nosql的redis来存储session,本文讲解如何 ...
- MSSQLSERVER数据库- 触发器
参考了别人写的文章,我删除掉一些废话,只看一些我想看的信息.整理了一下,记录在这里,方便以后查阅! 1.当触发INSERT触发器时,新的数据行就会被插入到触发器表和inserted表中. 2.当触发d ...
- power designer 水电费缴纳系统的设计
alter table POWER drop constraint FK_POWER_REFERENCE_USERS; drop table POWER cascade constraints; /* ...
- 【不积跬步,无以致千里】Linux下启动Oracle服务和监听程序
oracle数据库是重量级的,其管理非常复杂,将其在linux平台上的启动和关闭步骤整理一下. 安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash_p ...
- 【转】来自《轻松scrum之旅》的敏捷开发总结
敏捷开发的核心价值观是,软件开发最重要的是给用户提供有价值的.可以工作的软件.如何保证提供有价值的软件,是通过反馈机制来完成的.这一点,我们体会很深.自从采用敏捷开发以后,我们比以前更有意识地希望得到 ...