[论文解读] Design and Operation of Shared Machine Learning Clusters on Campus
TACC 是一个全栈云基础设施,通过四层工作流抽象(模式、编译器、调度和执行)实现大规模机器学习工作负载的高效、可扩展和可复现执行,支持动态集成系统优化,且代码修改极少。它通过原生支持分布式 DNN 训练、优化网络和专用硬件,简化了部署并加速了机器学习训练。
Amid the rapid advancements in large machine learning (ML) models, universities worldwide are investing substantial funds and efforts into GPU clusters. However, managing a shared GPU cluster poses a pyramid of challenges, from hardware configuration to resource allocation among users. This paper introduces SING, a full-stack solution designed to streamline the management of shared GPU clusters in academic institutions. Motivated by the pressing need for efficient resource sharing and the challenges posed by limited staffing, we present a comprehensive view of SING's architecture and design choices, which achieves operational efficiency (i.e., low maintenance cost and high resource utilization). We also share experience and insights from the real-world operations of SING, including analysis of its usage patterns and management of incidents and failures. This paper is part of our ongoing effort to improve the management of shared ML clusters. We open-source relevant resources to facilitate the development and operation of similar clusters for ML.
研究动机与目标
- 通过在单一基础设施中统一专用机器学习系统与通用云平台的优势,弥合两者之间的差距。
- 在共享校园集群中实现多样化机器学习工作负载的高效、动态和可复现执行。
- 简化前沿机器学习系统研究成果(如通信调度、硬件加速)在生产环境中的集成。
- 支持多租户、按需的任务提交,具备细粒度资源分配和跨平台可移植性。
- 通过轻量级命令行工具(tcloud)为机器学习研究人员提供类似无服务器的体验,支持任务提交、监控和调试。
提出的方法
- 将机器学习任务执行抽象为四层工作流:任务模式、编译器、调度和执行层,将优化技术与单体执行解耦。
- 定义一个自包含、统一的任务模式,封装计算、网络、服务质量、代码、依赖项和运行时配置,以确保可复现性。
- 使用编译器层解析任务描述,准备运行时环境,并基于静态特征(如语言、任务大小)生成优化的执行计划。
- 采用动态调度层,根据实时因素(如任务年龄、大小、预期持续时间、网络拓扑)选择最优运行时系统。
- 通过故障安全切换和运行时选择,支持异构后端(包括 RDMA 连接的 GPU、共享文件系统和智能网卡)。
- 透明地集成现有系统优化(如 BytePS、FlexFlow、Tiara),使用户无需或仅需极少代码更改即可使用。
实验结果
研究问题
- RQ1如何在异构机器学习工作负载上,通过全栈机器学习基础设施动态组合并应用多种系统优化(如通信调度、硬件加速)?
- RQ2何种抽象层设计能够实现新机器学习系统研究成果在生产集群中的无缝集成,且工程开销极小?
- RQ3共享校园机器学习集群如何支持按需、多租户的任务执行,实现细粒度资源分配和可复现性?
- RQ4何种机制能够实现在异构硬件和操作系统之间高效、可扩展且可移植的任务管理?
- RQ5云基础设施如何在不牺牲性能或灵活性的前提下,统一专用机器学习系统与通用云平台的目标?
主要发现
- TACC 的四层抽象支持在多样化机器学习工作负载上动态、可组合地应用系统优化,显著提升适应性和性能。
- tcloud 命令行工具提供类似无服务器的体验,具备跨平台兼容性,支持从任意具备 SSH 访问权限的系统提交任务和进行分布式调试。
- TACC 通过自包含的任务模式实现可复现的任务执行,封装所有执行参数,确保跨实例行为一致。
- 该基础设施使用户能够零改动或仅做极少代码修改,即可利用参数服务器调优、RDMA 和网络内计算等高级优化技术。
- TACC 的调度层可根据实时任务和系统特征(包括预期持续时间和网络拓扑)自适应地选择底层运行时系统。
- TACC 已成功将现有系统级优化(如来自 FlexFlow、BytePS 和 Tiara 的优化)整合为统一、可扩展的平台,显著降低了研究人员的部署门槛。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。