百度架构师黄鑫 - 百度大数据离线计算平台发展历程
2020-02-27 923浏览
- 1.百度大数据离线计算平台发展历程 百度 黄鑫
- 2.目录 • 百度离线大数据平台发展历程 • 离线计算引擎DCE揭秘 • 统一分布式计算API-Bigflow
- 3.目录 • 百度离线大数据平台发展历程 • 离线计算引擎DCE揭秘 • 统一分布式计算API-Bigflow
- 4.百度私有云 产品生态 搜索 金融 糯米 AI 开放云 ADU 分布式计算 分布式存储 服 Batch RealTime Iterative Ojbect Table NFS 务 托 管 统一资源调度-Normandy 分布式文件系统-AFS 资源位移 队列/优先级 调度算法 StateCenter NameSpace MetaServer 研 发 效 集群操作系统-Matrix Container 仲裁器 State Management 率 相 关 工 集群/机器管理 Machine Management 环境 初始化 机器故障 自动化 机器 自动流转 具 高精硬件 FPGA GPU 整机柜 预 算 交 付 管 理 结 算
- 5.百度大数据计算平台 API层 Python C++ Java …… Simplified Unified API - Bigflow 计算引擎 TM DStream DCE (MR/DAG) MPI/ Spark/ ELF Flink 资源调度 资源管理 机器资源 Normandy Matrix IDC
- 6.百度大数据离线计算平台发展历程 百度MR单集群规模 统一计算表示层发布 5000台 Bigflow Hadoop DAG引擎 开源 上线 DCE高级特性 MIMO等 2004 2007.11 2013 2014 2015 2016.6 2006 2011 2014 2015.4 2016 Bigflow对接流式引 MapReduce论文 百度MR单集群 DCE 擎 发表 13000台 &内存流式Shuffle 上线 百度MR上线 SQL on DAG 上线 (基于Hadoop 0.15.1) 上线
- 7.百度大数据离线计算平台生态 YunRang Support 数百业务线,每日百万量级作业 Bigflow Wing/Hive HCE Streaming Java 统一分布式API SQL 直接使用 一键升级 自动运维 DCE/Abaci (MR/DAG) 解决用户需求 自动提示失败原因 十万量级规模 每日处理海量数据 Normandy Matrix IDC AFS/PETA
- 8.目录 • 百度离线大数据平台发展历程 • 离线计算引擎DCE揭秘 • 统一分布式计算引擎API
- 9.DCE引擎演化总览 内存流式 Shuffle HDFS rePartition HDFS Pipeline 执行层 MIMO DAG引擎 Broadcast
- 10.DAG引擎 HDFS HDFS 优化计算模型 避免MR作业间IO读写。
- 11.DCE-Shuffle架构 records Map Memory 不重不丢 异步Ack机制 内存Push 避免随机读 Memory Shuffler Map Memory blocks Memory Shuffler Map Memory 流式Shuffle降低延迟 Memory Shuffler 负载均 衡 Shuffle结果持久 化避免重算 通用Service 分布式(内存)文件系统 优势: 减少IO 减少随机读 避免重算
- 12.Map Pipeline Map Wait For Flush Map Wait For Flush Map Wait For Flush pipeline time Map Wait For Flush Map Wait For Flush Map Wait For Flush time 借鉴CPU流水线 资源使用更平稳 运行时间缩短
- 13.MIMO(Multi-Input MultiOutput) Normal Shuffle Map Shuffle Shuffle Shuffle rrr Reduce Reduce Reduce Broadcast Map Broadcast session 多种数据传输模式 多下游共用数据 Reduce Reduce Reduce
- 14.MIMO 数据传输方式可以任意定制 高效、通用的DAG引擎
- 15.Runtime rePartition Task Task Task Task Runtime rePartitiion Task Task Task 运行期间, 动态调整Parittiion规则
- 16.收益 收益 流式shuffle: 减少旧shuffle map merge、 reduce pull时间消耗 内存Push: map端不落盘 Shuffler内存聚合: 聚合度高,减少map端seek,减 少reduce端merge路数,减少IO Pipeline: 大大提高中小作业map端运行速 中间数据持久化: 避免重算(对dag作业尤为重要)
- 17.目录 • 百度离线大数据平台发展历程 • 离线计算引擎DCE揭秘 • 统一分布式计算引擎API-Bigflow
- 18.需求 • 学习成本: • 学习使用、学习优化 • 迁移成本: • 单机作业迁移分布式、流式与批量 迁移、新引擎迁移 • 维护成本: • 用户作业维护、引擎演化兼容维护 Hadoop Spark 一套逻辑,重写再重写 未来某种新的计算引擎 批量计算引擎 提升时效性 实时计算引擎 恢复故障数据、提升结果准确性 一套逻辑,同时需要维护两个系统上完全不同的代码
- 19.统一分布式计算API • 统一分布式计算API-Bigflow: – 统一流式和批处理计算模型 – 自动优化用户代码 API层 – 针对引擎特性,进一步优化执行 – 简单易学,高层抽象API 计算引擎 Python C++ Java …… Simplified Unified API - Bigflow TM DStream DCE (MR/DAG) MPI/ Spark/ ELF Flink
- 20.Bigflow特点 从点击衍生数据(<地区,用户>)对每个地区的用户求UV Bigflow示例: 全白盒 Spark示例: 黑盒 1. 提出了分布式可嵌套数据集(NDD)模型,相比于业界同类系统抽象程度更高。 2. 对接了多种计算引擎,包括批量引擎、迭代引擎、流式引擎,方便用户切换执行引擎。 3. 完成了许多优化策略,使得Bigflow可以高效运行。 4. 我们在线上大规模验证了Bigflow的可嵌套数据集模型确实可以起到统一多平台的目标
- 21.Bigflow效果 成功对接多种批量、迭代、流式引擎 比直接使用底层引擎接口性能平均高100%+ 用户代码平均减少60% 近百产品线 数百活跃用户 日处理数据量2.5P 凤巢某作业运行时间对比图 凤巢另一项目作业运行时间对比图 复合搜索某项目作业运行时间对比图
- 22.THANK YOU cloud.baidu.com