com网站域名,WordPress图片变模糊,wordpress实现用户中心,百度智能小程序Ray使用备注
框架介绍
Ray是一种python分布式任务调度框架其支持 无状态的任务并发执行,也支持 有状态的任务按照一定顺序执行其支持 分布式调度器,在一个节点上创建的任务先给本节点的局部调度器,并让本节点自己处理,当资源不够时,再将任务发给全局调度器供其他节点处理其支…Ray使用备注
框架介绍
Ray是一种python分布式任务调度框架其支持 无状态的任务并发执行,也支持 有状态的任务按照一定顺序执行其支持 分布式调度器,在一个节点上创建的任务先给本节点的局部调度器,并让本节点自己处理,当资源不够时,再将任务发给全局调度器供其他节点处理其支持 分布式对象存储,同一个节点上的使用同一个对象存储器,实现进程间内存共享其支持 单节点部署及多节点集群部署;
简单用法
import ray
import time# Start Ray.
ray.init()ray.remote
def run_task():num 1for item in range(1000):num num * item**itemreturnif __name__ __main__:print(开始计时)start_time time.time()result_ids []# 并发100个任务for i in range(100):# 开始并行的任务这些会立即返回futures并在后台执行s1 time.time()x_id run_task.remote()print(发送任务到ray框架耗时:, time.time() - s1, s)result_ids.append(x_id)# 获取结果。这个结果直到第三个任务完成才能得到。只有get创建以后所有的任务才开始创建执行。ray.get(result_ids)print(总耗时, time.time() - start_time, s)
单节点部署及执行方法
A服务器 启动ray master服务(并指定使用cpu核数): ray start --head --num-cpus36A服务器 执行python压测案例: python ray_use.pyA服务器 关闭ray master服务: ray stop
多节点部署及执行方法
A服务器 启动ray master服务: ray start --head --num-cpus36 --disable-usage-statsB服务器 启动ray salve服务(–address:指向master服务地址): ray start --num-cpus2 --address‘192.168.xxx.xxx:6379’A服务器 执行python压测案例: python ray_use.pyB服务器 关闭ray salve服务: ray stopA服务器 关闭ray master服务: ray stop
使用注意事项
ray框架本身在任务调度,异步执行,跨进程通信 等有所消耗,因此 当出现 集群部署和单节点部署 总体消耗时间相似,或使用ray比不使用总体耗时更长,主要是因为 被调度的任务本身消耗资源较少,执行时间较短导致的; 如 ray执行remote()方法进行异步调用耗时0.1ms,而 单个任务执行耗时也要0.1ms,则使用ray耗时就要0.2s,得不偿失;这时说明 ray框架不符合需求;或者 将多个耗时较短的任务拼接在一个大的任务中,从而突出ray框架分布式高并发的优势;
相关链接地址
ray官方文档Ray分布式计算框架详解