《2019年百度大规模在离线混部系统架构演进和实践.pdf》由会员分享,可在线阅读,更多相关《2019年百度大规模在离线混部系统架构演进和实践.pdf(22页珍藏版)》请在三个皮匠报告上搜索。
1、百度大规模在离线混部系统演进百度-基础架构部-资深研发工程师目录一、背景:为什么要做混部二、方案:混部架构和核心技术三、展望:收益和未来展望 公司从什么阶段开始关注成本规模化、平稳发展期 公司的成本构成研发、运营、服务器 提升资源利用率是降低服务器成本的重要手段!从成本说起.IDC规划:在线机房、离线机房分离规划 资源利用率的矛盾:1)离线利用率高,资源不足2)在线利用率低,峰值高但不够弹性 现状分析:1)在线天然利用率不足,只有离线、在线统一规划集群才能充分利用资源2)通过实施在离线混部:提升利用率、减少离线、在线服务器采购成本资源利用率现状目录一、背景:为什么要做混部二、方案:混部架构和核
2、心技术三、展望:收益和未来展望 定义1)机房统一规划2)业务混合运行 难点1)保证在线不受到影响2)保证离线运行良好3)挖潜更多的混部资源在离线混部思路百度混部演进历程2012年2014年2015年2017年2019年提出混部BVC/IDLE上线启动MatrixMatrix上线离线计算混部Normandy在离线混部(千寻)上线规模1万混部规模达5万台在线合池启动混部规模达10万台机器默认交付混部技术栈在线PaaS(Opera、Beehive)MR/Spark批量计算引擎MPI/Paddle机器学习框架Normandy-Scheduler离线调度Matrix*-Scheduler在线调度Matr
3、ix-ResourceManager在线服务离线作业搜索Feed凤巢网盘度秘无人车容器引擎实例管理资源模型资源隔离镜像机制Matrix-Ultron机器自动维修机器环境一致性资源化交付流转AFS文件系统地图 定位:百度的Borg1)2012年启动2)容器化基础设施3)混部隔离的基础设施 设计:1)容器引擎2)镜像管理3)实例管理4)资源调度5)隔离技术Matrix 定位:离线调度系统1)离线计算混部2)混部的离线资源调度3)Plugins on Matrix 设计:1)任务管理2)作业排队3)资源调度4)等等Normandy 混部原则:一套在线、离线在单机运行的规则规范。单机资源模型:优先级和
4、超发模型混部的理论基础requestusedtotal调度器物理机!STABLESTABLE优先级 STABLE NORMAL BESTEFFORT 单机:可否抢占 集群:是否有Quota超发 用户行为:request used 0 超发:total=total+sum(request used)约束:sum(STABLE)total混部的核心思路集群调度单机隔离响应及时,快速避让!响应慢,但是有规划的调度 基本思路:1)内核和用户态管控2)离线“大框”模型 CPU:大框绑核 内存:大框硬限 IO:隔离磁盘、计算框架优化 网络:QoS、Transkeeper 兜底策略:单机SLA隔离:保证在线
5、不受影响Watch-Dog在线服务离线作业离线框架S1TaskTaskTaskTaskTaskS2S3TaskS3S3TaskTask CPU:1)离线大框绑核:根据单机reclaim资源量;离线内共享;2)core-aware:快退避,慢启动,避免HT干扰;3)HT干扰规避:自动从迁移离线作业,避免和在线服务干扰;4)L3-cache:CAT隔离;5)CPI干扰抑制:检测、干扰源识别、避让;内存:1)离线大框嵌套:根据单机reclaim资源量;离线嵌套内存Cgroup;2)动态内存伸缩隔离:更加精细的管控策略 精细的单机避让1)可压缩资源优先压缩;2)不可压缩资源避让足量即可;调度器优化1)
6、used=Max(used in last T)2)建立学习反馈闭环避让:保证离线运行良好 避免本地磁盘IO:1)Shuffle由Pull变成Push2)通过FS(全内存)交换 减少重算:1)Map端节点挂掉重算2)做好Backup计算框架(MR/Spark)的优化 技术债:1)混部框架自动化入退场2)机器环境一致性:网卡多队列、内核参数等等3)资源化交付:资源订单至Quota交付,业务看不见机器支撑系统建设目录一、背景:为什么要做混部二、方案:混部架构和核心技术三、展望:收