background preloader

Blog

Facebook Twitter

酷壳 – CoolShell.cn. Hadoop Hama项目–BSP模型的实现 - J2EE企业应用 顾问/咨询 Java传教士 -H.E.'s Blog. 1、Hama概论 ·建立在Hadoop上的分布式并行计算模型。

Hadoop Hama项目–BSP模型的实现 - J2EE企业应用 顾问/咨询 Java传教士 -H.E.'s Blog

·基于 Map/Reduce 和 Bulk Synchronous 的实现框架。 ·运行环境需要关联 Zookeeper、HBase、HDFS 组件。 ·集群环境中的系统架构由 BSPMaster/GroomServer(Computation Engine)、Zookeeper(Distributed Locking)、HDFS/HBase(Storage Systems) 这3大块组成。 如图所示: ·Hama中有2个主要的模型: – 矩阵计算(Matrix package) – 面向图计算(Graph package) ·Hama项目起源于在2008年5月19日 ·Hama主要成员 Edward J. 2、Hama介绍 2008年5月Hama被视为Apache众多项目中一个被孵化的项目,目前(2010年12月)在Hama的项目网站上还没有正式的release版本,作为Hadoop项目中的一个子项目,BSP模型是Hama计算的核心,并且实现了分布式的计算框架,采用这个框架可以用于矩阵计算(matrix)和面向图计算(grah)、网络计算(network)。 我的废话: 1、如果要深入了解到 Hama中采用到的技术体系,需要去阅读一些BSP、MPI、Pregel等相关资料,可以有助于对Hama项目的了解。

3、关于BSP模型 Hama中最关键的就是BSP(Bulk Synchronous Parallel-“大型”同步模型)模型, BSP的概念由Valiant(1990)提出的,“块”同步模型,是一种异步MIMD-DM模型,支持消息传递系统,块内异步并行,块间显式同步,该模型基于一个master协调,所有的worker同步(lock-step)执行, 数据从输入的队列中读取, 该模型的架构如图所示: BSP计算模型不仅是一种体系结构模型,也是设计并行程序的一种方法。 这种结构类似于一个串行程序结构。 1 )本地计算阶段, 每个处理器只对存储本地内存中的数据进行本地计算。 BSP模型相对于其他两种模型而言, 具有如下两个方面的优点: •MPI 和 PVM两种并行计算模型,依赖于接收和发送 的操作对。 Public class BSPEaxmple { // 3.

感谢您的阅读。 –end– ML. One of my students recently asked me for advice on learning ML.

ML

Here’s what I wrote. It’s biased toward my own experience, but should generalize. My current favorite introduction is Kevin Murphy’s book (Machine Learning). You might also want to look at books by Chris Bishop (Pattern Recognition), Daphne Koller (Probabilistic Graphical Models), and David MacKay (Information Theory, Inference and Learning Algorithms). Anything you can learn about linear algebra and probability/statistics will be useful. Don’t expect to get anything the first time. There’s nothing like trying something yourself. Read a lot of papers. Pick a paper you like and “live inside it” for a week. Be patient and persistent. 简明 Vim 练级攻略. Vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。

简明 Vim 练级攻略

下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。 非常不错。 ——————————正文开始—————————— 你想以最快的速度学习人类史上最好的文本编辑器VIM吗? 你先得懂得如何在VIM幸存下来,然后一点一点地学习各种戏法。 Vim the Six Billion Dollar editor Better, Stronger, Faster. 学习 vim 并且其会成为你最后一个使用的文本编辑器。 我建议下面这四个步骤: Hama学习笔记(4)-消息的发送与存储 - oldcattleliu的日志 - 网易博客. Hama的文档目前还不详细,没有找到关于Hama如何发送消息的说明,只好自己动手做实验了。

Hama学习笔记(4)-消息的发送与存储 - oldcattleliu的日志 - 网易博客

按照BSP的模型,每一个超步应该是有明确的三个步骤的:计算->通信->同步 但是Hama当中,在节点进入同步状态之前,是否可以和其他结点即时地收发消息呢? 如果可以,无疑会使得bsp程序更加灵活,但是这样也会带来不必要的麻烦:如果bsp程序设计不当,各个节点之间随意通信可能会使得程序的性能非常糟糕。 为了搞清楚通信的情况,做了如下实验: 打开计算PI的example,在MyEstimator的bsp方法中调用peer.send之前设置断点,其实send方法的注释文档就已经告诉我们一些有用的信息了: * Send a data with a tag to another BSPSlave corresponding to hostname. * Messages sent by this method are not guaranteed to be received in a sent * order. 可见hama bsp并不严格地保证消息的接收和发送顺序一致。 在eclipse中开始debug(单击模式,此时hama用多线程来模拟多个节点的计算),发现调用send最终执行的是org.apache.hama.bsp.message.AbstractMessageManager.send()中的一段代码: Yun Notes - 关注互联网、分布式存储. 机器学习第一干货站. Algorithms, Machines and People Lab. Apache Spark源码走读之14. 技术改变生活,代码创造奇迹. 用源代码的方式学习mapreduce - lixiyuan的个人空间. 摘要 1:我先写一个单词计数的例子把知识点引出来。

用源代码的方式学习mapreduce - lixiyuan的个人空间

2:自定义数据类型。 3:自定义输出类型。 4:mapreduce运行的源代码的路线。 5:笔试面试的题目的应对的思路.