服务器 频道

张建伟:百度大数据平台流式shuffle服务

  【IT168 现场报道】2016年10月27日-29日,2016中国系统架构师大会(SACC 2016)在北京万达索菲特大饭店盛大开幕。作为中国规模最大的架构师豪门盛会,本届大会以“架构创新之路”为主题,站在创新的风口上,与大家共同打造一场通过架构创新及各种IT新技术来带动企业转型增效,助力架构师们腾飞的技术盛会。

  大会云集了国内外顶尖专家,共同探讨云计算和大数据等技术背景下,如何通过架构创新及各种IT新技术来带动企业转型增效。本届大会共设置两个主场分享时段,24个技术交流专场时段;邀请来自互联网、电子商务、金融、电信、政府、行业协会等20多个领域,150多位技术专家及行业领袖来分享他们的经验;并将吸引4000多名系统运维、架构师、及各种企业的IT决策人士参会,为他们提供最具价值的交流平台。

  中国系统架构师大会来到了第二天,我们迎来了主题为“云和大数据下的架构实践及优化”的主场2,今天上午第三位演讲嘉宾是百度基础架构部分布式计算架构师张建伟,他演讲的题目是《百度大数据离线计算平台流式shuffle服务》。

张建伟:百度大数据平台流式shuffle服务
▲百度基础架构部分布式计算架构师 张建伟

  背景

  据张老师介绍,百度私有云架构最底层有百度自研的高精硬件,上层包括集群操作系统Matrix,Normandy统一资源调度。

张建伟:百度大数据平台流式shuffle服务

  百度大数据离线计算平台:

张建伟:百度大数据平台流式shuffle服务

  一般Shuffle模式:

张建伟:百度大数据平台流式shuffle服务

  Shuffle作为大数据离线计算平台中最重要的模块,其性能直接影响作业的运行时效性和平台资源消耗。为进一步提高平台计算效能,百度研发了新型的流式Shuffle服务,降低框架资源消耗,提升框架计算有效性,进一步强化平台计算能力。

张建伟:百度大数据平台流式shuffle服务

  百度大数据离线平台发展历程

  谈到平台发展历程时,张老师首先介绍主要的离线计算模型——MapReduce,百度从2007年开始引进Hadoop 0.15.1,随后快速发展,2011年百度的MR单集群规模达到5000台,到2013年已经多达1.3万台,这也是截止到目前为止全世界最大的单集群。Hadoop全集群规模为10万量级,作业量达到了百万量级,日均CPU利用率超过80%,远超业界同行,百度开放云底层依赖的大规模集群调度、资源隔离等技术能力世界领先。

  除了在规模方面不断扩大,百度一直在Hadoop性能分析方面进行了大量的优化。2013年的测试结果显示,百度内部MR实现相比于开源Hadoop性能提升30%。典型优化,例如Hadoop中的Shuffle,我们将其做成一个统一的shuffle服务,不再占用Map或Reduce槽位。比如对关键热点函数采用SSE向量化等。

  架构

张建伟:百度大数据平台流式shuffle服务

  流式Shuffle服务已成功应用于百度十万级规模的离线计算平台,收益显著。面向架构师、大数据应用者、大数据框架开发者等人群,张老师主要介绍了流式shuffle&内存push(map数据不落盘);Pipeline;Shuffle结果高度预聚合&多副本持久化;负载均衡与流控;去重与异常处理;多路输入多路输出(MIMO)。

  关键技术

  ShuffleMaster:

张建伟:百度大数据平台流式shuffle服务

  Writer:

张建伟:百度大数据平台流式shuffle服务

  Shuffler:

张建伟:百度大数据平台流式shuffle服务

  Reader:所有Map完成后,调度Reduce,直接读取DFS排好序的数据,去重&数据验证,多路归并排序。

  Map Pipeline:Map端Writer,要等Shuffler将数据持久化到DFS后,才能将发送的rpc buffer释放,所有发送的数据被Shuffler持久化后,Map才能安全退出。

张建伟:百度大数据平台流式shuffle服务

  收益与总结

  收益,流式shuffle:减少旧shuffle map merge、reduce pull时间消耗;内存Push:map端不落盘;Shuffler内存聚合:聚合度高,减少map端seek,减少reduce端merge路数,减少IO;Pipeline:大大提高中小作业map端运行速度;中间数据持久化:避免重算(对dag作业尤为重要)。

  流式Shuffle服务,push instead of pull;Shuffle过程交给能拿到更多全局信息、更专业的shuffler来做;Map、Shuffler、Reduce,每个都做自己最适合做且擅长做的事情;Shuffle与Reduce解耦,简化Reduce,也为解决分桶不均问题提供可能;Pipeline;无缝的流线,减少无谓的等待。

  问题:更多的网络io(万兆网卡,网络不是瓶颈);Shuffler资源共享,作业间可能互相影响(让Shuffler资源非瓶颈)。

  下一步计划

张建伟:百度大数据平台流式shuffle服务

张建伟:百度大数据平台流式shuffle服务

  ▲更多信息尽在IT168现场报道专题:http://www.it168.com/redian/sacc2016/

0
相关文章