写点什么

优步迁移到 Kubernetes 上的 Ray 的过程

作者:Craig Risi

  • 2025-05-15
    北京
  • 本文字数:1237 字

    阅读完需:约 4 分钟

大小:622.31K时长:03:32
优步迁移到Kubernetes上的Ray的过程

优步详细介绍了最近向在 Kubernetes 上运行基于Ray的机器学习负载的迁移过程。这一基础设施的标志性演变旨在增强可扩展性、效率和开发体验。该公司最近发布了由优步工程团队撰写的两篇文章,深入探讨了在这次迁移过程中遇到的动机、挑战和解决方案。

 

最初,优步的机器学习工作流由米开朗基罗深度学习作业(MADLJ)服务管理,该服务使用 Apache Spark 进行 ETL 流程,使用 Ray 进行模型训练。

 

优步之前的机器学习基础设施面临几个挑战,它们影响了可扩展性和效率。一个主要问题是资源管理不够自动化——机器学习工程师必须自己确定正确的计算资源,同时考虑到 GPU 的可用性和当前集群容量。这种人工流程经常导致次优选择和不必要的延迟。对资源和集群的静态配置设置让问题雪上加霜,这些设置被硬编码到了系统中。这种僵化导致了不均匀的负载分配和资源的低效利用,限制了平台的整体效率。

 

此外,系统无法灵活规划容量也是个问题。平台要么过度配置资源——结果浪费计算能力,要么配置不足,导致作业失败或延迟。这些限制加起来就搞出了一个既低效又难以扩展的环境,促使优步通过迁移到 Kubernetes 和 Ray 来寻求一个适应性更强和更加自动化的解决方案。

 

为了解决这些问题,优步将其机器学习负载迁移到 Kubernetes,目标是实现一个更具声明性和更加灵活的基础设施。这次迁移过程还开发了一个统一平台,让用户可以在不深入了解底层基础设施复杂性的情况下指定作业类型和资源需求。然后系统将根据当前集群负载和作业规范自动分配最优资源。


Kubernetes 中的弹性资源共享。

 

优步将其机器学习负载迁移到 Kubernetes 时,一个重点是通过弹性资源管理提高资源利用率。为了实现这一点,团队实施了一系列策略,使整个组织能够更灵活、更高效地使用计算资源。其中一项策略是引入层化资源池,根据团队或组织边界组织集群资源。这种结构使团队能够更精细地控制其分配的计算资源,并提高了对使用模式的可见性。

 

另一大改进是这些资源池之间的弹性共享。如果一个池有空闲资源,它们可以临时被另一个池借用,提高整体利用率,而无需永久重新分配容量。这些借用的资源是可抢占的,意味着它们可以在需要时被原始池收回。为了确保公平并避免资源争用,团队使用最大/最小公平原则强制执行资源配额。这意味着每个池都保留了资源的保证份额,同时仍能够根据当前需求动态访问额外容量。这些机制使优步能够更有效地扩展并应对机器学习负载的波动需求。


GPU Pod 的过滤器插件。

 

此外,优步实施了优化异构硬件使用的策略。集群配置了支持 GPU 和仅 CPU 的节点。不需要 GPU 的任务,如数据加载和预处理,被分配给 CPU 节点,而 GPU 节点只用于训练任务。

 

优步还开发了一个 GPU 过滤器插件,以确保只有 GPU 负载被安排在 GPU 节点上。Kubernetes 调度器也得到了增强,使用负载感知策略分发非 GPU Pod,并使用装箱策略分发 GPU 负载,以尽量减少资源碎片化。

 

通过这些变化,优步为其机器学习负载实现了一个更高效、更灵活的基础设施,使资源利用和可扩展性得到了更好的提升。

 

原文链接:Uber’s Journey to Ray on Kubernetes

2025-05-15 17:006544

评论

发布
暂无评论

音视频开发进阶课程|第一期:音频要素

ZEGO即构

RTC 音视频开发 音视频课程 音视频基础入门

观测云产品更新|优化观测云商业版注册流程;新增场景仪表板用户视图模版库;新增场景自定义查看器日志来源及筛选联动等

观测云

可观测性 可观测

墨菲安全受邀与腾讯安全共话软件供应链安全治理

墨菲安全

程序员 腾讯安全 墨菲安全 软件供应链

大数据培训在 Presto 中使用哈希改善动态集群缓存命中率

@零度

MySQL缓存策略分析

C++后台开发

MySQL 数据库 后端开发 Linux服务器开发 C++后台开发

跨平台应用开发进阶(七) :uni-app 自定义 showToast

No Silver Bullet

uni-app 5月月更 吐司弹窗 跨终端

森园区Web版大更新,多端同步互通,效果模版更新

ThingJS数字孪生引擎

业务逻辑的灵魂在哪里?

清林情报分析师

数据分析 数据建模 数据可视化 分析软件 分析思维

2022年广州市等保测评公司新排名看这里!

行云管家

网络安全 等保 等保测评 广州 等保测评公司

科创人·智慧芽技术副总裁屠昶旸:技术之路是挑战之路,不愿在大厂空耗岁月

科创人

AgentTesla病毒解析:利用钓鱼邮件窃取终端隐私数据

火绒安全

数据 终端安全 病毒 隐私安全

web前端培训学习中常见问题:竞态条件

@零度

前端开发

数据分析软件有哪些分类?

清林情报分析师

数据分析 数据可视化 知识图谱 分析软件 分析工具

【小知识】云管理平台与一般管理系统有什么区别?

行云管家

云计算 云管理平台 云管理

FlyFish|前端数据可视化开发避坑指南(一)

云智慧AIOps社区

JavaScript 前端 node,js 数据可视化工具

跨平台应用开发进阶(八) :uni-app 实现Android原生APP-云打包集成极光推送(JG-JPUSH)详细教程

No Silver Bullet

uni-app 极光推送 5月月更 云打包

技术人的推荐书单

Authing

身份云 科技书单

不会这3个ChartBuilder使用技巧,怎么开发优秀的数字孪生可视化项目?

ThingJS数字孪生引擎

谈谈10年编程经历

非凸科技

程序员 编程语言 招聘 工程师 代码

涛思数据与中天钢铁签署战略合作协议,加速钢铁行业的数字化发展

TDengine

数据库 tdengine

作为软件工程师,给年轻时的自己的建议(上)

禅道项目管理

程序员 工程师 职业成长

AI简报-Image Colorization调研

AIWeker

深度学习 5月月更 AI简报 Image Colorization

所谓测试报告

FunTester

当姿态估计算法遇上《本草纲目》,看“刘畊宏男孩”如何驱动虚拟人

阿里云CloudImagine

计算机视觉 虚拟人 人体姿态

Niobe开发板:基于OpenHarmony操作系统进行多线程(多任务)开发

拓维信息

OpenHarmony

如何在30分钟完成表格增删改查的前后端框架搭建

葡萄城技术团队

前端 前后端 系统搭建 表格系统

Authing 渠道合作伙伴火热招募中!

Authing

网络效应 Idaas 合作网络

Istio + SkyWalking + Spring Boot 实战 -Zadig 自测模式搞定开发者子环境

Zadig

DevOps 云原生 自动化测试 CI/CD

Tech Talk 活动预告丨云原生 DevOps 的 Kubernetes 技巧

亚马逊云科技 (Amazon Web Services)

云原生

解读分布式调度平台Airflow在华为云MRS中的实践

华为云开发者联盟

Python spark airflow 华为云MRS 大数据集群

郑重声明

Authing

身份云 Idaas

优步迁移到Kubernetes上的Ray的过程_后端_InfoQ精选文章