术语表
| 术语 | 解释 |
|---|---|
| Driver | 运行用户主程序的进程,负责提交任务、创建 Actor、获取结果 |
| Task | 一次远程函数调用,通常无状态 |
| Actor | 有状态远程对象,方法调用由运行时调度执行 |
| ObjectRef | 远程对象引用,代表未来或已有对象 |
| Object Store | 保存任务返回值和 ray.put 对象的运行时存储 |
| Worker | 执行用户代码的 Python 进程 |
| Raylet | 每个节点上的本地控制进程,负责资源、Worker 和对象管理 |
| GCS | Global Control Store,保存集群级元数据 |
| Job | 一次 Ray 应用运行 |
| Node | Ray 集群中的机器或容器实例 |
| Placement Group | 一组需要整体调度的资源 bundle |
| Spill | 对象存储内存不足时,把对象写到磁盘或外部存储 |
| Lineage | 记录对象由哪些任务生成,用于恢复或重建 |
| Backpressure | 背压,限制提交速度,避免队列和内存无限增长 |
| Data locality | 数据局部性,把任务调度到靠近输入对象的位置 |
| Runtime env | Ray 为任务或 Actor 准备的依赖环境 |
容易混淆的词
| 概念 A | 概念 B | 区别 |
|---|---|---|
| Task | Actor method | Task 无状态;Actor method 在某个有状态 Actor 上执行 |
| ObjectRef | Python object | ObjectRef 是引用;Python object 是真实值 |
ray.put | Actor state | ray.put 适合不可变对象;Actor state 适合可变状态 |
| Resource | OS 限制 | Ray resource 是调度配额,不是强隔离 |
| Driver | Head Node | Driver 是用户程序;Head Node 是集群角色 |