1、通用分布式计算引擎RAY陈昊 蚂蚁集团|About me 2018年加蚂蚁,负责分布式计算引擎Ray项。Ray开源社区Committer。Outline Ray能解决什么问题。Ray在蚂蚁的应和优化。Ray开源社区及其未来发展。分布式系统变得越来越常 数据。机器学习。推荐系统。搜索引擎。AI and Computehps:/ 现有分布式系统:只解决某种特定计算模式的分布式。开发分布式系统的常见难点:组件通信、服务发现。任务调度。监控、故障恢复。数据存储和传输。部署、运维。如何让分布式系统开发更简单?提供简单、通的分布式编程API。解决分布式系统的通问题。让开发分布式系统和开发单机程序样简单。R
2、ay API:tasks Function Remote function 状态计算单元把普通function变成remote function异步调,远程执获取结果Ray API:actors Class Actor 有状态计算单元把普通Class变成Actor Class创建远程Actor对象,返回Actor Handle远程调Actor法Ray API:objects 分布式Object Store。Object Store底层:多节点之间Object传输。同节点内shared memory:zero copy。动垃圾回收。Python/Java/C+。多语API 跨语调Task/Act
3、or。跨语数据序列化。跨语API调度&资源管理 户只关资源需求,不关物理信息。定义调度策略:亲和/反亲和。动故障恢复 Ray的所有组件都具备Fault Tolerance能。户不关监控、重启等底层细节,只需要实现重试或状态恢复的逻辑。环境依赖 通过代码灵活配置Job/Actor/Task的环境依赖。持Pip、Conda、Maven、Container等模式。部署、运维、调试 部署:K8S、私有集群、主流云商。运维:作业管理。监控:集群状态、Events、Metrics。调试:集成常的调试具:profiler、内存分析等。Ray:通分布式计算引擎 通分布式编程API 单机编程概念分布式。Task
4、/Actor/Object。屏蔽分布式系统底层细节:通信、调度、数据存储、故障恢复、环境依赖、运维部署Ray在蚂蚁的应和优化 18年开始使Ray。已持量核业务,连续四年平稳持双。常产环境规模超过30万CPU Cores。蚂蚁对Ray的优化和开源贡献 功能 Java/C+/跨语API Actor Fault Tolerance 多租户 Actor Task反压 New Dashboard 集群、作业弹性 分布式CommonLibraries 架构优化 GCS Service Actor Direct Call Core Worker GCS-based Actor Scheduling 扩展性&
5、性能 单集群持3k节点+80k Actor。Actor创建:10k/min Actor故障恢复:2s Actor task throughput:80k/s*蓝色部分已开源Ray在蚂蚁的应Ray:统一分布计算底盘Kubernetes图计算在线学习科学计算在线服务运筹优化隐私计算多语言分布式编程API数据存储、传输调度、弹性、资源管理部署、运维、环境依赖分布式Libraries在线机器学习Stream Data ProcessingRay StreamingModel TrainingTensorFlow on RayModel ServingRay ServingRay一个作业涵盖整个在线学习
6、链路。Collocation调度+Shared Memory提高数据传输效率。一体化Checkpoint,联动Failover。全链路数据流反压&动态扩缩容。Python+Java跨语言。Ray:统分布计算底盘 幅简化新分布式系统的开发难度。统Runtime:优化不同计算模式融合的场景。功能性能优化可复。Ray开源社区 2017年由UC Berkeley开源,蚂蚁长期深度参与合作开发。https:/ Ray Core:通分布式计算框架。Ray Clusters:解决不同环境的