Nvidia 解决图形处理单元占用问题
快速阅读: 据《计算机周刊》称,英伟达开源其KAI调度器,助力AI工作负载在GPU和CPU间的高效分配。该工具支持多样化的AI任务,通过动态资源分配和公平性机制减少等待时间,提升集群效率,并与多种框架无缝集成,为AI发展提供新动力。
英伟达已将其**KAI调度器**(基于Kubernetes的GPU调度工具)作为开源软件发布,遵循**Apache 2.0许可证**。作为英伟达**Run:ai平台**的一部分,KAI调度器旨在管理人工智能工作负载在GPU和CPU上的分配。据英伟达介绍,KAI调度器能够灵活应对GPU需求的波动,减少计算访问的等待时间,同时提供资源保障或GPU分配。
KAI调度器的GitHub仓库提到,该工具支持整个AI生命周期,从小型交互任务到对资源需求极低的任务,再到大规模训练和推理任务,这些任务都可以在同一集群中完成。英伟达表示,这一特性能够确保在不同应用需要访问GPU时实现最优资源分配,同时保持资源的公平性。对于Kubernetes集群管理员来说,KAI调度器能够动态分配GPU资源给具体任务,并且可以与安装在Kubernetes集群上的其他调度器协同运行。
“你可能只需要一个GPU来进行交互式工作,例如数据探索,而随后可能需要多个GPU用于分布式训练或者执行多个实验。”英伟达软件系统副总裁**Ronen Dar**和数据科学家**Ekin Karabulut**在文中写道,“传统调度器很难适应这种变化。”他们补充道,KAI调度器会持续重新计算公平份额值,并实时调整配额和限制,自动匹配当前的工作负载需求。这种方法能够高效分配GPU资源,而无需管理员频繁手动干预。
此外,对于机器学习工程师而言,KAI调度器通过引入“群体调度”、GPU共享以及分层队列系统,使用户能够提交作业批次,从而显著减少等待时间。文中提到,作业将在资源可用时立即启动,并与优先级和公平性保持一致。
为了优化GPU和CPU资源的波动需求,英伟达采用了被称为“打包与整合”的技术。Ronen Dar和Ekin Karabulut表示,这种方法通过对抗资源碎片化来最大化计算资源利用率,并通过将小任务打包到部分使用的GPU和CPU上来实现这一目标。此外,它还能通过在节点之间重新分配任务来解决节点碎片化的问题。
KAI调度器还采用了一种名为“分散调度”的技术,将工作负载分散到不同的节点或GPU与CPU之间,以降低单个节点的负载,提高每个任务的资源可用性。英伟达表示,KAI调度器通过实施资源保障解决了共享集群中的资源浪费问题。“这种方法避免了资源的独占性,提升了整个集群的效率。”Ronen Dar和Ekin Karabulut补充道。
另外,KAI调度器具备内置的Pod分组功能,能够自动检测并与工具和框架(如Kubeflow、Ray、Argo和Training Operator)无缝连接,从而简化配置复杂度并加速开发流程。
通过这些创新技术,KAI调度器为GPU和CPU资源的高效利用提供了新的可能性,也为未来的AI发展奠定了坚实基础。
(以上内容均由Ai生成)