Ray: Scheduling and Actor placement

本文深入探讨Ray分布式计算框架中的Remote函数调度和Actor抽象的放置。Remote函数通过@ray.remote装饰器定义,执行时由local scheduler和global scheduler协同调度,依据资源需求和任务队列长度决定执行节点。Actor抽象扩展了数据流模型,其创建和放置策略随机,但可通过指定资源实现特定位置创建。Ray允许在启动节点时定义特殊资源,从而控制Actor的放置位置。
摘要由CSDN通过智能技术生成

Ray是面向增强学习场景的分布式计算框架,相关介绍参考博客

本篇文章主要对 Ray中 remote函数的调度以及 Actor抽象的放置进行介绍。

 

一、Remote函数的调度

1. Remote函数的定义

Remote函数时Ray分布式计算中的核心概念,一般如下所示:

@ray.remote
def add(a, b):
    return a + b

id_c = add.remote(a, b)
c = ray.get(id_c)

 

2. Remote函数的执行

由上不难发现,Remote函数定义与普通的Python函数定义非常相似,只是多了@ray.remote装饰器。那么它具体执行时和普通函数有什么区别呢?

Ray采取的是自下而上的分布式调度器,当提交任务到worker节点时,首先由节点的local scheduler进行调度,在本节点运行,当本地节点不能满足运行的条件时,将任务推送到global scheduler由其调度。那么Raylocal scheduler是怎样判断是否该调度到本地节点还是上推到globa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值