分析百度开放云分布式计算平台对大数据的处理
发布时间:2023-03-23 13:49:48 所属栏目:经验 来源:
导读:百度开放云总经理刘旸看来,当下的全球正迎来了由科技突破导致全行业升级的时代,在这场商业剧变中,背后是三个重要的「重新定义」:
第一,云计算重新定义了「IT」。它改变了企业所需要的 IT 资源的拥有与供给的
第一,云计算重新定义了「IT」。它改变了企业所需要的 IT 资源的拥有与供给的
百度开放云总经理刘旸看来,当下的全球正迎来了由科技突破导致全行业升级的时代,在这场商业剧变中,背后是三个重要的「重新定义」: 第一,云计算重新定义了「IT」。它改变了企业所需要的 IT 资源的拥有与供给的方式,基于互联网级的资源管理平台,彻底改变了传统企业的 IT 模式,为新的商业创新提供了可能; 第二,大数据重定义了「资产」,相较于以往的重资产,企业在经营中不断生成的数据,将成为企业未来继续生存并保持竞争力的砝码; 第三,人工智能重定义了「效率」,通过语音、图像、视频、自然语言识别和智能处理等技术,让传统的计算机具备更为强大的能力,大幅提高运行效率。 基于以上三个重新定义,百度开放云的重新堆栈也分为三层:云计算层、大数据应用层、和人工智能层。 处理大数据无非以下四个步骤: 收集:原始数据种类多样,格式、位置、存储、时效性等迥异。多媒体数据收集从大量异构多媒体数据源中广泛地收集数据并自动地转换成相应的格式从而可以方便处理。 存储:收集好的数据需要根据成本、格式、查询、业务逻辑等需求,存放在合适的存储中,方便进一步的分析。 变形:原始数据需要变形与增强之后才适合分析,比如网页日志中把IP地址替换成省市、传感器数据的纠错、用户行为统计等。 分析:通过整理好的数据分析what happened、why it happened、what is happening和what will happen,帮助企业决策。 其实,如果涉及到“大数据”,不得不提百度最大的业务——搜索。百度搜索已经收录全世界超过一万亿的网页,每天响应中国网民大约几十亿次的请求。除此之外,百度还有另外20多个用户过亿的产品线,而且各个产品底层的大规模数据处理,都需要使用百度团队维护的大数据处理平台。 首先介绍主要的离线计算模型——MapReduce,百度从2007年开始引进Hadoop 0.15.1,随后快速发展,2011年百度的MR单集群规模达到5000台,到2013年已经多达1.3万台,这也是截止到目前为止全世界最大的单集群。Hadoop全集群规模为10万量级, 作业量达到了百万量级,日均CPU利用率超过80%,远超业界同行,百度开放云(http://cloud.baidu.com)底层依赖的大规模集群调度、资源隔离等技术能力世界领先。除了在规模方面不断扩大,百度一直在Hadoop性能分析方面进行了大量的优化。2013年的测试结果显示,百度内部MR实现相比于开源Hadoop性能提升30%。典型优化,例如Hadoop中的Shuffle,百度将其做成一个统一的shuffle服务,不再占用Map或Reduce槽位。比如对关键热点函数采用SSE向量化等。 百度继续对计算引擎做了大幅优化, Native C++实现的DAG引擎正式上线。下图是一个 4轮MR Job实现的典型业务流示例,DAG引擎上线后,可以优化成一个DAG作业,可以避免3次Reduce写多副本引入的磁盘IO及网络IO,还可以规避2次Map读HDFS的IO以及处理耗费。 百度对Shuffle进行重大重构,初期实习生同学完成的Demo以BaiduSort名义参与了2014年Sort BenchMark大数据排序国际大赛,并获得冠军(2015年百度没再参加,国内其他公司以同样技术通过更大规模集群刷新记录)。2015年,新Shuffle技术完成全面上线。Hadoop默认Shuffle实现为基于磁盘Pull模式,计算过程显式分成Map、Shuffle、Reduce过程;Baidu研发的新Shuffle采用内存流式Push模式,Map端完成部分记录处理后直接从内存中将计算结果推送给下游。 前面重点介绍了百度开放云BMR服务中涉及到的规模、性能方面优化思路和效果,接下来跟大家一起分享一下,百度遇到的整体架构方面挑战以及优化思路。 最主要的两个离线计算平台,左边是以MapReduce模型为主的批量计算平台BMR,右边是MPI /BSP模型为主的大规模机器学习平台BML。从最下面可以看到,MapReduce和MPI模型底层硬件就有较大差异。Hadoop分布式文件系统多副本以及强大的故障处理机制,使得Raid卡完全没有必要,采用多块超大容量SATA硬盘非常适合。 BMR Hadoop由大量SATA硬盘的服务器构成,存储系统为HDFS,资源调度层面百度有自研的调度器ARK(与社区Yarn比较类似)。而BML大规模机器学习平台上,支持的业务样本超过数百亿计量级,特征规模也远超百亿。百度在运行机器学习时,需要先启动MapReduce,然后再将数据从HDFS分发到各个MPI节点,这种传输的方式对服务器的网络带宽的吞吐量要求很高。 系统部同事持续改进内网带宽的同时,BML平台层面也在思考应该如何解决跨MR和MPI俩大集群间的日益严重的网络带宽问题。 基于以上考虑,百度正式将MPI底层硬件替换为替换成高配置存储型服务器,硬盘同构,文件系统都采用HDFS,BML算法输入和输出均通过HDFS,不再是本地文件系统。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐