深入理解 Ray Core:分布式计算的强大工具
1. Ray Core 概述
Ray Core 主要提供集群规模的异步/并发程序执行能力。大多数开发者对异步或并发编程并不陌生,像 Java Future 和 Python 的多进程处理就是常见例子。这些编程方式能让程序同时执行多个任务,高效利用资源,对于构建能处理复杂工作负载的高性能应用至关重要。
不过,现有的并发编程范式通常局限于单台计算机。Ray 项目的核心目标是将并发编程的概念和能力提升到新高度,让计算能够跨越多台机器和异构计算设备。Ray Core 旨在成为通用的分布式计算框架,它能处理分布式计算中的各种问题,如通信、容错和资源分配等,开发者无需过多关注这些底层细节。
2. 基本概念
开发者在开发和使用 Ray 程序时,需要理解以下基本概念:
- 任务(Task) :远程函数调用,可在与调用者不同的进程甚至不同机器上执行。任务可以是无状态的(使用 @ray.remote 装饰的函数)或有状态的( @ray.remote 类的方法)。任务与调用者异步执行, .remote() 调用会立即返回一个或多个 ObjectRefs (未来对象),用于获取返回值。
- 对象(Object) :应用程序中的值,由任务或参与者返回,或通过 ray.put 创建。对象是不可变的,一旦创建就不能修改。工作进程可以使用 ObjectRef 引用对象
超级会员免费看
订阅专栏 解锁全文
78

被折叠的 条评论
为什么被折叠?



