用户指引
用户指引#
本节介绍如何使用 Ray 的关键概念来构建分布式应用程序。
如果您是 Ray 的新手,我们建议您从 walkthrough 开始。
- 任务
- Actors
- 对象
- 环境依赖
- 调度
- 容错
- 设计模型 及 反模式
- 模式:使用嵌套任务实现嵌套并行
- 模式:使用生成器减少堆内存使用量
- 模式:使用 ray.wait 限制待处理任务数量
- 模式:使用资源限制并发运行任务的数量
- 模式:使用 asyncio 并发运行 actor 方法
- 模式:使用 Actor 同步其他任务和 actor
- 模式:使用 supervisor actor 来管理 actor 树
- 模式:使用流水线增加吞吐量
- 反模式:从任务返回 ray.put() ObjectRefs 会影响性能和容错性
- 反模式:循环中调用 ray.get 会损害并行性
- 反模式:不必要的调用 ray.get 会影响性能
- 反模式:使用 ray.get 按提交顺序处理结果会增加运行时间
- 反模式:使用 ray.get 一次获取太多对象导致失败
- 反模式:过度并行化和太细力度的任务会损害性能
- 反模式:重新定义相同的远程函数或类会损害性能
- 反模式:反复传递相同的大参数会损害性能
- 反模式:闭包捕获大对象会损害性能
- 反模式:使用全局变量在任务和 actor 之间共享状态
- 高级主题