实现了BSP模型的计算框架
1.Pregel Google的大规模图计算框架,首次提出了将BSP模型应用于图计算,具体请看Pregel——大规模图处理系统 ,不过至今未开源。 2.Apache Giraph ASF社区的Incubator项目,由Yahoo!贡献,是BSP的java实现,专注于迭代图计算(如pagerank,最短连接等),每一个job就是一个没有reducer过程的hadoop job。http://giraph.apache.org/ 3.Apache Hama 也是ASF社区的Incubator项目,与Giraph不同的是它是一个纯粹的BSP模型的java实现,并且不单单是用于图计算,意在提供一个通用的BSP模型的应用框架。http://hama.apache.org/ 4.GraphLab CMU的一个迭代图计算框架,C++实现的一个BSP模型应用框架,不过对BSP模型做了一定的修改,比如每一个超步之后并不设置全局同步点,计算可以完全异步进行,加快了任务的完成时间。http://graphlab.org/ 5.Spark 加州大学伯克利分校实现的一个专注于迭代计算的应用框架,用Scala语言写就,提出了RDD(弹性分布式数据集)的概念,每一步的计算数据都从上一步结果精简而来,大大降低了网络传输,同时保证了血统的纯正性(即出错只需返回上一步即可),增强了容错功能。Spark论文里也基于此框架实现了BSP模型(叫Bagel)。值得一提的是国内的豆瓣也基于该思想用Python实现了这样一个框架叫Dpark,并且已经开源。https://github.com/douban/dpark 6.Trinity 这是微软的一个图计算平台,C#开发的,它是为了提供一个专用的图计算应用平台,包括底层的存储到上层的应用,应该是可以实现BSP模型的,文章发在SIGMOD13上,可恨的是也不开源。主页http://research.microsoft.com/en-us/projects/trinity/ 以下几个也是一些BSP的实现,不过关注度不是很高,基本都是对Pregel的开源实现: 7.GoldenOrb 另一个BSP模型的java实现,是对Pregel的一个开源实现,应用在hadoop上。官网:http://www.goldenorbos.org/(要翻墙),源码:https://github.com/jzachr/goldenorb 8.Phoebus Erlang语言实现的BSP模型,也是对Pregel的一个开源实现。https://github.com/xslogic/phoebus 9.Rubicon Pregel的开源实现。https://launchpad.net/rubicon 10.Signal/Collect 也是一个Scala版的BSP模型实现。http://code.google.com/p/signal-collect/ 11.PEGASUS 在hadoop上实现的一个java版的BSP模型,发表在SIGKDD2011上。http://www.cs.cmu.edu/~pegasus/index.htm
参考链接: http://blog.sciencenet.cn/blog-425672-556241.html http://inothacker.blog.163.com/blog/static/135861902201091214945936/