大规模图形处理器(GPU)集群被广泛用于加速深度学习负载,这些负载包括延迟敏感的在线负载和延迟不敏感的离线负载,其中在线负载为推理负载,离线负载包括训练负载和延迟不敏感的推理负载。现有集群管理系统通常使深度学习在线负载独占GPU资源,导致大量资源浪费和较高运维成本。共享技术可以减少资源浪费,但针对大规模GPU集群的资源共享面临如下挑战:(1)需要保障在线负载的延迟性能不受显著干扰;(2)需要保障集群的可靠性,避免共享导致的故障和错误;(3)需要提高离线负载的吞吐性能。
Figure 1 字节跳动某集群机房(来源:北晚新视觉)
Figure 2 GPU集群中在线负载的资源利用率普遍较低。
为了解决上述问题,本文提出了第一个针对大规模GPU集群的高效可靠空间共享系统MuxFlow,该系统已从2021年起部署于抖音集团的万卡异构集群。该系统统一纳管在线负载和离线负载。针对在线负载,采用现有服务管理器进行负载放置、请求分发。针对离线负载,则根据离在线负载信息进行负载调度和动态算力分配,以提高集群整体吞吐。对于混合执行的负载,提出在线性能保护机制、混合错误处理机制,以保障在线负载性能和共享安全。(1) 提出了负载-GPU两级保护机制,以保障多服务进程(MPS)共享时在线负载的延迟性能;(2) 提出了动态算力分配策略,以提高离线负载的吞吐性能;(3) 进行全面深入的集群错误分析,设计混合错误处理机制,以提高集群可靠性;(4) 本系统已于2021年起部署于抖音集团的万卡集群,显著提高GPU资源利用率。本文所提出的集群共享系统MuxFlow基于Kubernetes实现,并采用广泛使用的在离线负载进行了验证。与现有的独占式集群管理系统或时间共享集群管理系统相比,MuxFlow可以显著提升集群的资源利用率,将GPU利用率从26%提升至76%,将GPU计算单元利用率从16%提升到33%,并将GPU显存利用率从42%提升至48%。同时,MuxFlow可以显著提高集群服务容量,实现高达71%的GPU超卖率,据估算每年可节省上亿元人民币的云服务运行与维护成本。Figure 4 MuxFlow实际部署的GPU利用率论文将出版在SCIENCE CHINA Information Sciences 2024年第12期上。相关阅读
重磅!基于深度学习的软件工程:进展、挑战和机遇
大模型芯片与系统专题出版 | 特邀编辑:尹首一、唐漾、涂锋斌
北航李伯虎院士团队 | 工业大模型:体系架构、关键技术与典型应用