优步在 Kubernetes 上迈向 Ray 的旅程

主要观点:Uber 近期将机器学习工作负载迁移到 Kubernetes 上的 Ray 基础架构,旨在提升可扩展性、效率和开发者体验,此前其机器学习工作由 Michelangelo Deep Learning Jobs (MADLJ) 服务管理,存在资源管理手动、配置静态、容量规划不灵活等挑战,迁移后通过开发统一平台、实现弹性资源管理(如引入层次资源池、弹性共享等)、优化异构硬件使用(配置不同节点及 GPU 过滤插件等),实现了更高效灵活的基础设施,提高了资源利用率和可扩展性。

关键信息

  • 迁移前:由 MADLJ 服务用 Apache Spark 进行 ETL 流程,Ray 进行模型训练,存在资源管理手动、配置静态、容量规划不灵活等问题。
  • 迁移后:开发统一平台自动分配资源;引入层次资源池提高控制和可见性;实现弹性共享提高资源利用率;优化异构硬件配置及 Kubernetes 调度策略。

重要细节

  • 发布两部分系列文章深入探讨迁移过程中的动机、挑战和解决方案。
  • 弹性共享中借用资源可被原池回收,通过 max-min 公平原则避免资源争用。
  • 配置 GPU 节点和 CPU 节点,GPU 过滤插件确保 GPU 工作负载在 GPU 节点运行,Kubernetes 调度器采用不同策略分配非 GPU 和 GPU 工作负载以减少资源碎片。
阅读 8
0 条评论