hadoop.hama 科学计算(待续)
来源:互联网 发布:javascript open 编辑:程序博客网 时间:2024/06/05 08:25
建立在Hadoop上的分布式并行计算模型。
·基于 Map/Reduce 和 Bulk Synchronous 的实现框架。
·运行环境需要关联 Zookeeper、HBase、HDFS 组件。
·Hama中有2个主要的模型:
– 矩阵计算(Matrix package)
– 面向图计算(Graph package)
作为Hadoop项目中的一个子项目,BSP模型是Hama计算的核心,并且实现了分布式的计算框架,采用这个框架可以用于矩阵计算(matrix)和面向图计算(grah)、网络计算(network)。需要去阅读一些BSP、MPI、Pregel等相关资料。
补充:
Pregel是一个用于分布式图计算的计算框架,主要用于图遍历(BFS)、最短路径(SSSP)、PageRank计算等等。共享内存的运行库有很多,但是对于google来说,一台机器早已经放不下需要计算的数据了,所以需要分布式的这样一个计算环境。没有Pregel之前,你可以选择用MapReduce来做,但是效率很低;你也可以用已有的并行图算法库Parallel BGL或者CGMgraph来做,但是这两者又没有容错。所以google就自己开发了这个新的计算框架。[1]
比如网页链接关系和社会关系图等,都需要大型的图算法。这些图都有相同的特点:规模超大,常常达到数十亿的顶点和上万亿的边。这么大的规模,给需要在其上进行高效计算的应用提出了巨大的难题。在这篇论文中,我们将提出一种适合处理这类问题的计算模式。将程序用一系列的迭代来描述,在每一次迭代中,每一个顶点都能接收来自上一次迭代的信息,并将这些信息传送给下一个顶点,并在此过程中修改其自身的状态信息,以该顶点为起点的出边的状态信息,或改变整个图的拓扑结构。这种面向顶点的方法足够的灵活,可以用来描述一系列的算法。这种计算模式被设计的足够高效,可扩展,和足够的容错,并在有上千台的计算节点的集群中得以实现。[2]
搜索了一圈,感觉对于科学计算有些难度,比如电力算法,貌似都不适用。
参考:
[1]Google图算法引擎Pregel介绍
http://www.tektalk.org/2010/12/03/google%E5%9B%BE%E7%AE%97%E6%B3%95%E5%BC%95%E6%93%8Epregel%E4%BB%8B%E7%BB%8D/
[2]Google针对大规模图算法的分布式实现的论文
http://blog.csdn.net/ae86_fc/article/details/5796640
[3]一种图分割算法在大规模电力系统计算中的应用
http://cdmd.cnki.com.cn/Article/CDMD-10248-1011298870.htm
[4]并行计算和mapreduce比较
http://xuyuanshuaaa.iteye.com/blog/1172511
[5]图计算框架概览
http://www.open-open.com/doc/view/3f5541aeece041c7a8331354df2b14a0
[6]Hadoop Hama项目–BSP模型的实现
http://www.javabloger.com/article/apache-hadoop-hama-bsp.html
[7]Hadoop 中的调度
http://www.ibm.com/developerworks/cn/opensource/os-hadoop-scheduling/index.html
[8]用 Hadoop 进行分布式并行编程
http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop1/index.html
http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop2/index.html
http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop3/
- hadoop.hama 科学计算(待续)
- 安装hadoop-hama
- Hadoop优化(待续)
- HAMA
- Python科学计算(一)
- 科学计算
- hama学习笔记(1)-配置和启动hama
- hama学习笔记(2)-在eclipse中编译hama源码、写hama job
- Hadoop 配置安装问题集(待续)
- NYOJ 128 前缀式计算(待续)
- 《计算科学导论》笔记(三)
- Python 科学计算基础 (整理)
- Python科学计算-----NumPy(一)
- 科学计算库Numpy --数组(ndarray)
- python 科学计算环境安装(xgboost)
- BSP-Apache.HAMA运行过程(框架)
- BSP-Apache HAMA-Graph运行(1)
- BSP-Apache HAMA-Graph运行(2)
- 网站设计之读懂色彩,倾听色彩的声音~
- 多线程学习系列 - 1 - Single Threaded Execution Pattern
- Oracle编码格式查看与修改
- 用c++写的简单的arp欺骗检测工具
- Android平台,如何调用javascript操作网页和js调用系统功能
- hadoop.hama 科学计算(待续)
- imp 和 exp的性能
- Xcode 中设置部分文件ARC支持
- CTreeCtrl点击鼠标处理?
- Android WebView加载HTML表单并通过javascript提交
- 浅析Python中的Python全局变量
- Android 数据库之Cursor
- 动态传入的逗号连接的字符串,分散成多条记录(Oracle 10g 使用REGEXP_SUBSTR 分拆字符串)
- linux之cut用法