快手混部生态发展与实践总结
1. 背景与挑战
- 快手业务快速发展对资源供给带来挑战,CPU和GPU业务均呈现高并发、波峰波谷明显的特征。
- CPU业务面临流量波峰波谷、SLO保障冗余、用户估计误差和突发增长需求等问题。
- GPU业务已广泛应用于搜广推、音视频、MMU、风控等场景,内部GPU在线服务和离线训练任务均完成云原生化迁移。
- 成本问题逐步凸显,核心优化目标为提升CPU和GPU资源利用率。
2. 利用提升最佳实践CPU混部篇
- 扩展资源类型:通过内核隔离技术提升资源利用率,包括磁盘空间/IO、Pid、内核隔离(调度优先级、超线程隔离、多调度队列)、网络隔离(在离线分盘、离线云盘、磁盘IO限速、单机TC限速、机房流量分级管控)。
- 内核隔离技术:
- CPU调度优先级:高优任务可抢占低优任务,保证高优和延迟敏感业务不受影响。
- CPU超线程隔离:高优任务独占物理核,减少对端低优任务的干扰。
- 内存资源抽取率提升:通过内核隔离技术提升内存资源利用率。
3. 利用率提升最佳实践GPU混部篇
- GPU虚拟化技术选型:
- 内核层劫持(Nvidia MPS):多进程共享上下文,吞吐指标更优,但缺乏故障强隔离。
- CUDA层劫持(vCUDA):硬件物理切分,适用A100、A30等卡型,但依赖CUDA库替换。
- 快手GPU虚拟化方案:采用内核态劫持技术,算力隔离基于时间片轮转调度,显存隔离通过内核态劫持显存接口控制配额。
- 性能压测数据:有效吞吐介于原生整卡与MPS抢占模式间,具备故障强隔离能力,但时间片轮转引入极端场景P99延迟放大。
- GPU混部技术:
- KGPU驱动-内核模块:虚拟设备透传,业务透明无感切换。
- GPU算力调度器:抢占调度、权重隔离。
- 核心功能:离在线混部、显存隔离、显存避让。
- 利用率提升效果:在线与离近线复用资源下GPU利用率显著提升,稳定性保障包括算力、显存、故障隔离能力,业务成本优化超50%,数千卡近线类算力稳态供给。
4. 未来规划及展望
- 面临利用率深水区,未来将聚焦全局资源效率提升。
- 服务画像/模型预测优化,增强内核隔离能力。
- 精细管控:干扰识别与避让,进一步提升资源利用率。