Ray

作者: sleep_NULL | 来源:发表于2020-12-20 14:10 被阅读0次

简介

ray 是伯克利大学开源的一个解决 AI 异构计算负载的通用分布式计算引擎,初期主要是解决强化学习这种多类型负载的计算问题,目前其应用面也超出 AI 领域,例如蚂蚁将其应用于图计算等场景

计算模型

ray 提供了 task 和 actor 两种计算原语

  • task
    task 是无状态的计算任务,一般通过一个方法进行定义
@ray.remote
def f(x):
    return x * x
  • actor
    actor 是有状态的计算任务,一般通过一个 class 进行定义,且其执行的方式是串行进行,且共享其状态
@ray.remote
class Counter(object):
    def __init__(self):
        self.n = 0

    def increment(self):
        self.n += 1

    def read(self):
        return self.n

系统构成

Ray cluster

ray 由若干个同质的 Worker node 及一个 Head node 组成
每个 Worker node 包括一个 Raylet 进程及若干个 Worker 进程, Head node 除了 Worker node 包含的进程外,还包括 Driver 及 GCS

特点

  • 调度方式
    相较于传统的分布式计算引擎的中心化调度模式,ray 的调度方式为本地调度及远程转发调度两种方式,调度的灵活性及低延迟性更好
  • 动态任务依赖
    类似 Spark、TensorFlow 等调度模式,都是提前已知整个 job 的任务依赖关系,而后进行调度执行,ray 可以在 runtime 构建出新的任务依赖(任务中动态创建任务),更加灵活
  • 异构计算负载及资源支持
    例如强化学习的计算负载类型就包括随机梯度下降的训练(training)、在线服务(serving)及仿真(simulation),而对于各种异构计算资源也存在诉求,例如 GPU、CPU 等

相关文章

  • Pymol-如何Ray

    RAY 有一个师姐问我如何ray(就是渲染一下)官方解释:“ray” creates a ray-traced i...

  • Principles by Ray Dalio

    Principles by Ray Dalio Ray Dalio - From Wiki ...

  • VR中准心的设计(基于HTC Vive的项目)

    第一,摄像机发射射线,脚本如下: { Ray ray = new Ray(transform.posit...

  • TO RAY

    Ray 忘记跟你说谢谢了。谢谢你。 你说得我都明白的,我会好好地想一下的。因为我脑子也一直在思考和打转,它总是会有...

  • Ray

    雾 雾,在不经意间,临了,临得让人措手不及,临得让人欣喜、兴...

  • Ray

    简介 ray 是伯克利大学开源的一个解决 AI 异构计算负载的通用分布式计算引擎,初期主要是解决强化学习这种多类型...

  • Ray

    集群安装ray相关第三方库 pip install pytest_runner==5.3.2 pip instal...

  • 旋转三步走,相机射线

    一.Ray (1)构建一条射线:1.起点 2.方向 Ray=new ray(); (2)发射射线:Physics....

  • V2Ray 一键搭建和优化详细图文教程

    搭建 V2Ray,这篇文章就够了!最详细的 V2Ray 教程,一键搞定繁琐的 V2Ray 配置,V2Ray 安装部...

  • Ray射线

    获取射线Ray ray = cam.getPickRay(screenX, screenY); 计算距离Vecto...

网友评论

      本文标题:Ray

      本文链接:https://www.haomeiwen.com/subject/cvbqnktx.html