文章插图
如上图所示,我们调度了15W个 Pod,计算性能可以达到5k ops, 为了防止调度速度过快,对 ETCD 和整个集群造成压力,我们限制了binding速度为1500 ops 。
3.5 资源画像
单机资源隔离是针对已经调度到节点上的任务进行隔离,如果检测到离线任务对在线产生一定的影响后,会很快响应对离线任务进行压制和驱逐的操作 。这样会影响离线任务的稳定性 。针对这种场景,如果在调度时可以预测到节点上未来一段时间的在线使用量,可以针对性的调度离线任务 。
对比实时计算的资源模型,假设离线作业的运行时间为1小时,如果资源模型使用实时的资源视图,如果在线作业会在半个小时候用量升高,那么当离线作业运行半个小时之后,资源被在线压制,运行质量受影响 。
我们预测了未来1小时窗口内的在线资源用量,调度适当的离线任务上去,即可确保任意离线作业运行过程中资源不受任何压制,从而达到提升运行质量的目的 。

文章插图
如何提供更稳定的超发资源,则取决于我们资源预测的准确度是什么样的 。
不仅离线调度需要资源画像,在线调度也需要资源画像,通过资源画像可以有效的避免热点产生 。

文章插图
- 对于在线调度来说,调度的主要目标是提升服务的可用性,在调度时使用资源画像来预测未来一个周期内的用量,可以避免热点问题(某一纬度的资源用量过高),并且在重调度时也可以规避热点问题 。
- 对于离线调度来说,调度的主要目标是提升集群的吞吐,降低作业的排队时间和执行时间,所以资源画像可以提升离线作业的稳定性,避免驱逐重新调度和资源压制导致执行时间过长 。
4.未来展望
百度目前混部规模数十万台,它的混部集群 CPU 利用率比在线利用率提升 40%—80%,累计节省近10万台服务器 。
未来百度混部的主要目标是继续扩大混部的规模,更大规模地节约资源成本,可以支持更多的负载类型,不局限于在离线混部,要做到无差别混部 。
- 在单机隔离方面,支持更多的业务进入混布,在检测冲突和资源隔离方面做的更好 。
- 调度方面做更有计划的调度,资源画像更加精细化,调度时可以更精准的预测热点概率,优化调度能力,减少热点率 。
并在以下方向投入更多的力量:
- 内核可编程技术:
利用 eBPF 热加载/卸载的特性,可以用户态下发隔离策略,快速的解决高敏的资源质量问题
- 异构:更好的支持GPU等异构资源混部,提高异构资源效能与弹性,大幅降低GPU成本 。
- 容器虚机融合:解决高密机型共享内核混部的瓶颈 。
- 多云混部:结合公有云进行极致的弹性,例如结合弹性竞价实例,基于用户对价格的敏感度设置,自动纳入或者摘除竞价实例,用于离线业务运行或混部,实现多云弹性混部 。
关于百度容器引擎 CCE百度容器引擎产品 CCE 提供 Docker 容器生命周期管理、大规模容器集群运维管理、业务应用一键式发布运行等功能,无缝衔接百度智能云其他产品 。弹性、高可用的云端Kubernetes 容器运行平台,助力系统架构微服务化、DevOps运维、AI应用深度学习容器化等场景 。目前百度 CCE 已支持在离线混部,并完成了大规模业务落地 。
推荐阅读
- 鸿蒙APP开发:如何实现“百度地图”的显示?需要3项认真操作才行
- 深入理解glibc malloc:malloc 与 free() 原理图解
- 百度地图第二代车道级导航上线:北斗 + 5G 覆盖全国高快速路段
- 百度网站优化为什么要做关键词布局?
- 图解希尔排序,超详细非常好理解
- 深入理解 C 语言的 hello world
- JAVA并发之ReentrantLock原理解析
- 百度老网站如何让SEO排名更高效,排名更高
- 如何理解c/c++和php语言的区别
- 如何理解中台?
