读书频道 > 网站 > 网页设计 > 深入理解Hadoop(原书第2版)
1.5.1 一个计算密集型的例子
15-11-29    下载编辑
收藏    我要投稿   

本文所属图书 > 深入理解Hadoop(原书第2版)

本书详细地讲述了Hadoop生态圈中最为重要的几个组件。不仅介绍了Hadoop涉及的分布式理论基础知识,还着重讲解Hadoop系统的工程实践应用。为了深入浅出地讲述Hadoop各个组件的运行机理,作者使用了贴切的实战用例立即去当当网订购

假设50个计算节点来处理200GB的数据,平均每个计算节点需要本地处理4GB的数据。每个节点读取这些数据要花费80秒(速率为每秒50MB)。无论我们的计算多快,这80秒是不能节省的。假设数据处理之后最终的结果数据集大小为200MB,每个计算节点平均产生4MB的计算结果。这些计算结果在带宽1Gbps(一个数据包大小为1M)的网络中传输并汇聚到一个节点以便展示结果。传输这些数据到目的节点需要花费3毫秒的时间(网络中传输1MB的数据需要250微秒,每个数据包的网络传输延时为500微秒,按照Jeff Dean博士之前发表的文章)。忽略计算耗时,整个数据计算流程耗时不低于40.003秒。

如果集群拥有4000个计算节点,平均每个计算节点需要本地读取处理500MB的数据,每个计算节点产生的结果数据量为0.1M。读取50MB的数据块不会少于1秒钟。这意味着,4000台计算节点的集群达到了数据处理速度的极限。换句话说,对于一些特定类型的数据处理问题,如果我们花4000个小时才能完成它,那么无论我们把集群节点数量增加多少,都不会把数据处理完成时间缩短到1小时内。4000台计算节点看起来很多了,但是这也是我们所能达到的速度上限了。在这个简单的例子中,我们做了很多使系统简化的假设。我们同样假设在程序逻辑中没有串行依赖(Serial dependencies),这样的假设往往是不成立的。一旦我们考虑了这些开销,系统的性能表现还可能会大幅下滑。

串行依赖(Serial dependencies)这个所有并行计算算法都存在的问题,严重限制了系统性能的提升。这样的限制已经为众人熟知,并表述为著名的Amdhal定律。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站