todd的hadoop world的ppt笔记

标签: todd hadoop world | 发表时间:2011-12-14 09:15 | 作者:
出处:http://koven2049.iteye.com
todd的ppt是本次hadoop world大会上的亮点。之前知道他让hdfs随机读性能提升了2-3倍。具体他们做了哪些改进呢?这里详细记录一下原理。(都是ppt上翻译过来再加上理解的)


IO cache上的改进:
1 增加了预读,避免大量随机seek,对mapreduce这样的只读一次数据的应用很有效
2 去掉了write在OS层面的cache,因为对map reduce来说这是不必要的
3 脏页数据立即刷新。因为mapreduce会产生大量脏页,为避免OS进行脏页刷新时的block而做的改进
效果:
1 cpu利用率更加平滑 
2 磁盘利用率上升


mapreduce中sort的提升:
1 cache提升:使用指针的前4个字节进行比较,让cpu可以cache更多的内容
2 writableComparator.compareBytes让cpu的利用率不高,换用sun.misc.Unsafe中的类似方法

效果:
1TB排序的速度快了20-30%


mapreduce中调度的改进
1 tt的心跳3秒一次,改成了在小集群中0.3秒一次
2 tt的心跳一次只接收一台机器,改成了一次接收多台机器
3 对小job进行优化,对每个job结束阶段的心跳进行特殊处理,让小job提前分配

效果:
小job的最小延迟缩短一倍,每秒能调度的任务提高10倍


hdfs中cpu的改进:
原先消耗了30%-50%的cpu时间在checksum上
1 将每次对512字节做checksum改为了64k字节
2 crc32的校验算法改为了crc32c算法(该sse指令会快出10倍)

效果:
随机读的响应延迟下降一倍
随机读和顺序读的cpu消耗下降1-1.5倍


hdfs随机读
每次要新建连接,有过多的tcp握手
1 把socket缓存住,类似keepalive
2 重写了BlockReader,消除一些数据拷贝
3 消除了在FSDataset类上的锁争夺

效果:
随机读的吞吐量提长了2.5-3倍
hbase随机读的tps提升了33%


mapreduce2中shuffle的改进:
1 自动修改io.sort.record.percent的值
2 reducer在一个tcp连接上获取多个map的输出值
3 shuffle的server用netty来重写了

效果:shuffle有30%的吞吐量提升


小结:可以看到todd对hadoop的改造非常给力。这在最新的hadoop-0.23中己经放出,hbase的trunk版本己经准备改用hdfs-0.23做为hdfs层了。

已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [todd hadoop world] 推荐:

todd的hadoop world的ppt笔记

- - 蓝色时分
todd的ppt是本次hadoop world大会上的亮点. 之前知道他让hdfs随机读性能提升了2-3倍. (都是ppt上翻译过来再加上理解的). IO cache上的改进: 1 增加了预读,避免大量随机seek,对mapreduce这样的只读一次数据的应用很有效 2 去掉了write在OS层面的cache,因为对map reduce来说这是不必要的 3 脏页数据立即刷新.

Todd McLellan:拆机之美

- 888 - cnBeta全文版
Todd McLellan不知道是不是受到一些拆机视频和这方面专业网站的启发而创作出这样一组作品. 看着铺散开去的产品零件你是否还记得它原来的模样呢. 一个个产品这样直白的展现在眼前,细节全部暴露在灯光之下,也让人不得不更加佩服人类的创造力是如此惊人而伟大. 当然最要感谢的还是Todd McLellan能够为大家呈现出如此精美的作品,并且精彩还在继续,所以你一定要亲自到作者的官网上感受一番才是.

"Hello World!" 玩跨界

- cpy - 果壳网 guokr.com - 果壳网
DIYer:约瑟 制作时间:一星期 制作难度:★★★☆☆ GEEK指数:★★★☆☆. 我们家宝贝妮子大寿,自然我就要整一个独一无二滴东西,恩,于是我邪恶的计划诞生了~把废弃的赛扬CPU使用浓硝酸腐蚀法做成一个手机挂坠~. 初步打算是使用纸片画上自己喜欢的图像,然后剪裁后黏贴于CPU上,使用喷漆喷涂,然后解下纸片,生成一个镂空的地方.

Java和MongoDB之Hello World

- - BlogJava-首页技术区
新建Java Project,并把mongo-java-driver驱动加入到项目bulid path中,如果你使用的是maven增加依赖. 2.连接上MongoDB. //>2.10版本. 如果需要验证,需要输入用户名和密码. 3.MongoDB数据库 得到MongoDB中的数据库,如果数据库名不存在,MongoDB会自动创建.

IOS代码实现Hello World

- - CSDN博客推荐文章
前面写的IOS笔记一直都是用Xib文件实现的小Demo开发,但是问了好几个现在正从事IOS开发的朋友,在实际开发,并不是所有的项目都会用Xib来实现的,因为IOS以前的版本不能正常运行,因为还在学习阶段,也没有在真机上测试,所以没法验证. 但还是决定要用代码来实现Demo,也可以重新巩固一下先前学习的内容.

【Thrift二】Thrift版的Hello World

- - 开源软件 - ITeye博客
本篇,不考虑细节问题和为什么,先照葫芦画瓢写一个Thrift版本的Hello World,了解Thrift RPC服务开发的基本流程. 在Intellij中创建一个Maven模块,加入对Thrift的依赖,同时还要加上slf4j依赖,如果不加slf4j依赖,在后面启动Thrift Server时会报错.

HP 的 Todd Bradley 走出来,否认 webOS 部门即将关闭的传闻

- 云飞风起 - Engadget 中国版
日前英国卫报的报导指出,有传 HP 将会在短时间内将 webOS 部门关闭. 不过该公司的个人系统部门副执行官 Todd Bradley 则在一个 Bloomberg 的节目上直指这个传闻是「无中生有」,还盛赞这个 OS 是「无人不识」的. 他又提到 HP 正在研究如何「有效地使用这个杰出的平台」,他们将会在衡量所有数据后作出「正确的决定」.

World Wide Web诞生二十周年

- Jingzhi - Solidot
1991年8月6日,蒂姆•伯纳斯-李爵士当时是CERN的一名36岁的物理学家,他在万维网(World Wide Web)上发布了第一个网页,他当时并不知道,这一举动会比以往任何时代更迅速和更深入改变整个世界. 根据CERN的介绍:Info.cern.ch是世界上第一个网站和Web服务器的地址,运行在CERN的一台NeXT计算机上.

【旅行好软】世界时钟 – The World Clock

- linsen - 爱Apps - www.iapps.im
精选限时免费应用,由 AppPusher 为您送达. 无限精彩,尽在 爱Apps - www.iapps.im. 本站原创内容,转载时请务必注明出处,谢谢. 大小: 34.9 MB 系统: 3.2+. 感谢” iPPP, 泓, 渺渺兮予怀“在”爱分享“中留言分享. 虽说iOS也自带世界时钟功能,今天这款app在此基础上提供了更多的时令信息,小编认为支持当地日出日落的时间这个功能对于出国旅行的朋友来说应该特别有用,以下为官方描述:.

白色版 N9 在 Nokia World 上现身!

- 橙子 - Engadget 中国版
Nokia N9 是一部不会有后继机的 Meego 手机,可能这点已经吓退大家了,而且要买也不是一件容易的是,因为我们只能买水货. 不过如果在亮蓝、亮红和黑色版本之外再加上白色版本,那么大家又会不会心动呢. 我们就在 Nokia World 上发现这部突然现身的白色 N9. 或许现在大家的脑海都浮现出一个问题,就是:「N9 是用一些质感类近橡胶的物料制成,配上白色的话岂不是会很快变成一块黑色的橡皮擦.