- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 视频嵌入链接 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
2.宋顾杨-通用分布式计算引擎RAY
宋顾杨-蚂蚁集团技术专家,Ray开源社区Committer。2015年加入蚂蚁集团,一直从事基础架构方面的工作。2017年以来主要参与和推动了Ray在蚂蚁从0到1再到万台服务器规模的落地。近两年活跃在Ray开源社区,作为Ray C++开发框架的发起人和Runtime Environments框架的主要开发者,积极推动Ray在分布式领域的突破与创新。
随着互联网数据的爆发式增长,越来越多的领域和应用场景需要构建分布式系统。Ray做为通用分布式计算引擎,并没有基于任何一种计算范式,而是从单机编程中简单的function和class等概念出发,提供一套简单易用的API,帮助开发者一站式解决构建分布式系统过程中面临的通信、存储、部署、资源调度、运行时环境、故障恢复等方面的问题。本次演讲将介绍Ray的核心能力,Ray在蚂蚁的应用案例以及Ray开源社区现状。
展开查看详情
1 .
2 .通用分布式计算引擎 RAY 宋顾杨(久龙) 蚂蚁集团
3 .About me 2020-今 Ray开源社区Committer ⚫ C++分布式框架 ⚫ Runtime Environments 2017-今 蚂蚁集团-新计算引擎团队 ⚫ 参与和推动了Ray在蚂蚁集团从0到1再到万台服务器规模的落地 2015-2016 蚂蚁集团-应用网络团队 ⚫ 7层网关,支付宝钱包网络自研协议
4 .Outline 1 分布式系统复杂性 2 Ray介绍 3 Ray在蚂蚁的应用 4 开源现状
5 .01 分布式系统 复杂性
6 .分布式系统发展 大数据 机器学习 推荐系统 搜索引擎 …… AI and Compute https://openai.com/blog/ai-and-compute/
7 .分布式系统通用问题 组件通信 数据存储 跨语言 部署 资源调度 故障恢复 运维与监控
8 .研发运维成本
9 .01 Ray介绍
10 .Ray是什么 ➢ 由加州大学伯克利分校RISELab发起并开源 ➢ 通用分布式计算引擎 ➢ 新一代计算基础设施
11 .通用分布式编程API Key idea:不绑定计算模式, 把单机编程中的基本概念分布式化 Function -> Task Class -> Actor
12 .通用分布式编程API:无状态计算单元 Task 单机(Function) 分布式(task) 把普通function变成 remote task 异步调用,远程执行 获取结果
13 . 通用分布式编程API:分布式object 1.Task heavy_compute. request Heavy_compute( remote(i) …) 6.Get object 4.fetch object 2.Save object 3. Notify Raylet Raylet Object store 5. Fetch Object store object Node 1 Node 2 分布式object store ObjectRef ➢ 多节点之间Object传输 ➢ 同节点内shared memory ➢ 自动垃圾回收 ➢ Object spilling
14 .通用分布式编程API:有状态计算单元 Actor 单机(Class) 分布式(Actor) 把普通Class变成Actor Class 创建远程Actor对象, 返回Actor Handle 远程调用Actor方法
15 .通用分布式编程API:多语言和跨语言 支持Python/Java/C++ 跨语言调用Task/Actor
16 .通用分布式编程API:调度&资源管理 指定资源需求 ➢ 用户只关心资源需求,不 同一节点 关心物理信息 ➢ 自定义调度策略:亲和性/ 反亲和性
17 . 无限次自动重启 通用分布式编程API:自动故障恢复 ➢ Ray的所有组件都具备 Fault Tolerance能力 ➢ 用户不用关心监控、重启 等底层细节,只需实现重 试或状态恢复的逻辑
18 .通用分布式编程API:运行时环境依赖 Job级别运行时环境 ➢ 通过代码灵活配置 Job/Actor/Task的环境依赖 ➢ 支持的依赖类型 ✓ working_dir Actor级别运行时环境 ✓ pip ✓ conda ✓ py_modules ✓ java_jars ✓ native_libraries ✓ Container ✓ 用户自定义插件
19 . Ray的架构 Worker Node Worker Node Driver Worker Driver Worker Object Store Object Store (Shared Memory) (Shared Memory) Raylet agent Raylet agent Head Node GCS Dashboard Backend Storage
20 .Ray应用的研发模式 ⚫ Ray client ⚫ Notebook ⚫ Autoscaling ⚫ Job client 本地研发 Ray集群 云资源 从本地研发到分布式集群运行的无缝切换!
21 .01 Ray在 蚂蚁的应用
22 .为什么用Ray ⚫ 通用Ray分布式编程API ⚫ 可以支持任何计算模式 统一分布式底盘 融合计算 计算模式A 计算模式B 计算模式C Ray
23 .融合计算——在线学习 Union Feature Training Serving & Filter Sampling Engineering 点击 Log 流 PS TF 曝光 Log 流 PS Labeling Join TF PS Evaluation 特征 Log 流 计算模式A 计算模式B 计算模式C Ray • 一个作业涵盖整个在线学习链路。 • Collocation调度 + Shared Memory提高数据传输效率。 • 一体化Checkpoint,联动Failover。 • 全链路数据流反压&动态扩缩容。 • Python + Java跨语言。
24 .蚂蚁集团新技术架构 支付宝首页 数字金融 金融核心 大安全 业务 (搜索推荐) (资金运筹) (链路决策) (全图风控) … 数据处理 AI计算 在线应用 科学计算 图计算 运筹优化 推理服务 计算框架 音视频计算 隐私计算 函数计算服务 在线学习 O P 超大集群统一 计算内存 多计算模式的 支持多种 架构低耦合 Ray内核 多维资源调度 一体化架构 融合计算 编程语言 无依赖 S 可观察性高 Sigma 超过40w core 的规模,同时支持:阿里集团、达摩院、菜鸟、网商、外部企业等。
25 .01 Ray开源社区 现状
26 .活跃度 https://github.com/ray-project/ray 17年开源至今 700+ 22k+ 14k+ 4.8K+ Contributor stars commits Slack user
27 .企业应用 www.anyscale.com/user-stories
28 .生态系统
29 .Ray 2.0——Ray AIR 一个可扩展的、统一的机器学习工具集。