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层了。
分享到:
相关推荐
- 个人成长:文档中提到了Todd Lipcon作为Hadoop早期用户,后来加入了Cloudera,并在ASF中成为了Apache Kudu(正在孵化中)的贡献者。 - 贡献者与项目维护者:随着对Hadoop贡献的增多,个人可以成为Apache项目的...
Todd总结的Mysql/MariaDB 基本语句,语法,让你三分钟快速入门sql语法,学习mysql的可以在安装完按照文档中的命令练习,很快就能掌握基本的mysql语句。
特别是在这本书中,作者Todd Veldhuizen将重点放在了模板编程上,这是C++中一个极其强大的特性,它能在编译时就确定代码的行为,从而避免了运行时的性能损耗。 书中首先提到了C++编译器的选择和配置问题。不同的...
ccnp学习者可以参考学习 注意本书不是cisco press出版的
**在线TDD工具 Todd** 测试驱动开发(Test-Driven Development, TDD)是一种软件开发方法,它强调在编写实际代码之前先编写测试用例。TDD 的核心理念是通过编写失败的测试用例来定义需求,然后编写最小的代码使测试...
WinToHDD Enterprise 企业破解版是一款实用的 Windows 系统硬盘安装工具,有点类似于NT6 HDD Installer,它能不依靠光驱和U盘,让你直接通过本机硬盘来新装、重装和克隆 Windows 系统,支持Win XP、Win Vista、Win7...
**JSP(JavaServer Pages)**是Java平台上用于构建动态Web应用程序的一种技术。...JSP从入门到精通的过程涵盖了从基础概念到高级特性的全面学习。 ### 基础知识 ...动态元素在服务器上执行,然后将结果插入到静态内容中...
Todd Lammle CCNA 640-802 7th edition
4. Todd瘫痪: - 癫痫局灶性运动性发作后,患者可能出现暂时性的肢体无力,可持续数分钟至数天。 5. Lhermitte征、Horner征和Beevor征: - Lhermitte征提示后索病变,患者颈部屈曲时感到脊柱下方的电击样刺痛。 ...
根据给定文件信息,我们可以看到这是一本关于CCNA学习指南的书籍,该指南是由Lammle Todd撰写,并且是第七版。这本书涵盖了多个网络基础和Cisco设备操作的知识点,接下来将详细介绍这些知识内容。 首先,我们从...
微软常用运行库合集 2019.04.24,来自微软官方网站,且为最新数字签名版本。这些运行库是采用 Microsoft Visual Studio 20XX 编写的软件必须使用的公用 DLL 运行库,相当于程序的字典文件。本集合包含下列组件: ...
【Todd-Coxeter算法】 Todd-Coxeter算法是由数学家Todd和Coxeter在1936年提出的,主要用于解决有限群的陪集枚举问题。这个算法在群论中扮演着重要的角色,特别是在理解群的结构和计算群的指数(即子群在群中的陪集...
托德todd是具有VI键绑定的交互式控制台TODO-list管理器。 它遵循和的精神,提供了一个简约的界面,可在待办事项列表上查看。 文件格式符合 。 这意味着您可以完全控制数据,可以选择将其存储在本地或云中(例如...
CCNA Cisco Certified Network Associate Study Guide Lammle Todd 7th Ed
《Go语言编程基础: Todd Mcleod入门课程详解》 Go语言,又称Golang,是Google在2009年推出的开源编程语言,由Robert Griesemer、Rob Pike及Ken Thompson三位大神设计。它旨在提供一种简洁、高效且具有现代特性的...
yt1s.com - LabVIEW at Formulation Dr Adam Todd_360p
【标题】"toddcox-visualize"是一个专门针对C++编程语言的开源项目,旨在实现Coxeter群的Todd-Coxeter算法的一种新(基础)版本,它在效率上优于传统的GAP(Groups, Algorithms, Programming)系统。Coxeter群是一种...
微软常用运行库合集 2019.04.24,来自微软官方网站,且为最新数字签名版本。这些运行库是采用 Microsoft Visual Studio 20XX 编写的软件必须使用的公用 DLL 运行库,相当于程序的字典文件。本集合包含下列组件: ...
Todd Withers在报告中深入剖析了全球服务外包市场的规模、趋势以及中国在此领域的现状。 1. 全球外包服务市场规模与趋势:预计到2010年,信息系统(IS)与业务流程(BP)的外包服务市场将达到2800亿美元。然而,市场...