阿里巴巴万卡GPUPAI集群的资源效率优化
集群概览
- 应用场景:阿里巴巴核心业务(淘宝、搜推广、达摩院等)的AI训练和推理任务,涵盖CV、NLP、推荐等领域。
- 集群规模:万卡级别,包含P100至A100等多种GPU型号,资源配置从单卡16核到8卡192核。
- 平台:PAI平台基于KubeDL,提供AI作业控制器、增强调度器、GPU虚拟化和QoS管控。
数据分析
- 运行时长和调度延迟:运行时长从秒级到天级,短任务调度延迟占比高,整卡和高端卡任务等待时间更长。
- 资源需求:CPU/GPU/Mem资源申请存在长尾分布(2-8法则),GPU算力使用不均衡(90%业务GPU算力少于半卡)。
- 资源效率:8卡机器CPU利用率高于2卡机器,GPU利用率中位(P50)和长尾(P90)差距大,主存和显存水位不高。
关键洞察
- GPU共享:可节省50% GPU,业务峰值可节约2500+GPU。
- 作业运行时长预测:65%作业重复提交超过5次,基于元信息特征工程可形成标识符,回归树算法预测时长误差78%。
- 调度优化:SJF(最短作业优先)算法相比FIFO减少63%-77%的完成时间。
工程实践
- SLO差异化GPU混部:根据业务需求分级(Tier-0至Tier-2),保障不同级别作业的资源分配。
- GPU虚拟化和QoS保障:vGPU时分/空分复用,算力/显存隔离,QoSdaemon动态分配算力并按优先级保障。
- KubeDL高效混部调度:支持多级优先级队列、弹性训练、Spot实例等,适配Gang调度和自适应等待时间,Morphling自动推荐推理实例规格。
挑战和展望
- CPU瓶颈:CPU竞争影响作业效率,CTR模型训练80%时间消耗在CPU,GNNs和RL仿真也依赖CPU操作。
- 规格失配:机型汰换慢于业务演进,推理和训练资源需求迥异,机器混部复用不足。
- I/O问题:TB级别数据集导致长传网络开销,存储计算分离影响效率。