Ray是UC Berkeley RISELab新推出的高性能分布式执行框架,它使用了和传统分布式计算系统不一样的架构和对分布式计算的抽象方式,具有比Spark更优异的计算性能。Ray是一个基于Python的分布式执行引擎。相同的代码可以在单个机器上运行以实现高效的多处理,并且可以在群集上用于大量的计算。

使用Ray时,涉及以下几个过程

多个工作进行执行任务,并将结果村存储在对象库中,每个进程是一个独立的处理单位。

每个节点的存储不可变的对象在共享内存中,并允许进程在相同节点上高效复制和反序列化对象

一个全局调度器调度接收任务,并将它们分配到其他地方节点运行

一个driver是用户控制的python程序。例如,如果用户正在运行脚本或使用python shell,那么driver就是运行的脚本或者python进程。driver与工作程序类似,都可以将任务提交给本地调度程序,并从对象存储中获取对象,但不同之处在于本地调度程序不会讲任务分配给要执行的driver

一个Redis服务器维护大量的系统状态,例如,他跟踪哪些对象在哪些机器上以及任务规范(而不是数据)上,他可以直接用于调试目的的查询。

这是别人说的,咱也不敢说,咱也不敢问 ! 了解大致的逻辑就好.你只需要知道他超级牛逼,超级方便

安装就是简单的 pip install ray, 需要提醒的就是ray现在只有linux编译版本, windows就别想着用了,为了这,我硬生生把开发环境从windows切到了linux.

开始使用Ray

首先来看一下最简单的Ray程序是如何编写的。

# 导入ray,并初始化执行环境

import ray

ray.init()

# 定义ray remote函数

@ray.remote

def hello():

return "Hello world !"

# 异步执行remote函数,返回结果id

object_id = hello.remote()

# 同步获取计算结果

hello = ray.get(object_id)

# 输出计算结果

print(hello)

在Ray里,通过Python注解@ray.remote定义remote函数。使用此注解声明的函数都会自带一个默认的方法remote,通过此方法发起的函数调用都是以提交分布式任务的方式异步执行的,函数的返回值是一个对象id,使用ray.get内置操作可以同步获取该id对应的对象

更新中,不要着急!,急的话自己看下面的参考!

python高性能_Python高性能分布式执行框架-Ray相关推荐

  1. 分布式执行框架——Ray简单使用

    Ray是UC Berkeley RISELab新推出的高性能分布式执行框架,它使用了和传统分布式计算系统不一样的架构和对分布式计算的抽象方式,具有比Spark更优异的计算性能. Ray目前还处于实验室 ...

  2. python分布式框架_高性能分布式执行框架——Ray

    Ray是UC Berkeley RISELab新推出的高性能分布式执行框架,它使用了和传统分布式计算系统不一样的架构和对分布式计算的抽象方式,具有比Spark更优异的计算性能. Ray目前还处于实验室 ...

  3. 高性能分布式执行框架——Ray

    参考文章地址:https://blog.csdn.net/u011254180/article/details/79976124

  4. python分布式多进程框架 Ray

    全栈工程师开发手册 (作者:栾鹏) python教程全解 并行和分布式计算是现代应用程序的主要内容.我们需要利用多个核心或多台机器来加速应用程序或大规模运行它们.网络爬虫和搜索所使用的基础设施并不是在 ...

  5. C++高性能协程分布式服务框架设计

    本项目将从零开始搭建出一个基于协程的异步RPC框架. 学习本项目需要有一定的C++,网络,RPC知识 项目地址:zavier-wong/acid: A high performance fiber R ...

  6. dubbo 自定义路由_高性能可扩展分布式RPC框架Dubbo内核原理揭秘

    一.前言 整体来说,一个公司业务系统的演进流程基本都是从单体应用到多体应用.在单体应用时,不同业务模块相互调用直接在本地 JVM 进程内就可以完成;而变为多个应用时,相互之间进行通信的方式就不能简单的 ...

  7. 高性能可扩展分布式RPC框架Dubbo-内核原理揭秘

    一.前言 整体来说,一个公司业务系统的演进流程基本都是从单体应用到多体应用.在单体应用时,不同业务模块相互调用直接在本地 JVM 进程内就可以完成;而变为多个应用时,相互之间进行通信的方式就不能简单的 ...

  8. python 单元测试_Python系列之单元测试框架【unittest】

    Unittest是基于Python的单元测试框架,当然现在经常与其他框架集成,用来做自动化测试的框架.比如跟Selinum一起做Web UI的自动化测试框架,与Requests一起做接口的自动化测试框 ...

  9. asp python 定时任务_python定时任务最强框架APScheduler详细教程

    APScheduler定时任务 上次测试女神听了我的建议,已经做好了要给项目添加定时任务的决定了.但是之前提供的四种方式中,她不知道具体选择哪一个.为了和女神更近一步,我把我入行近10年收藏的干货免费 ...

最新文章

  1. php查询跳转结果页面,登录判断跳转页面
  2. oracle数据库复制mysql,MySQL/Oracle数据库,使用SQL快速复制表结构或数据
  3. mysql命令的分类_MySQL常用命令分类汇总
  4. 如何在Kubernetes里给PostgreSQL创建secret
  5. 算法基础:图的相关算法知识笔记
  6. java笔试题_Java面试才到笔试就没有然后了?快来签收,高频笔试57题及解答
  7. 【论文翻译】HeteSim:异构网络中相关性度量的通用框架
  8. python下载安装教程-一招解决:各种版本的Python下载安装教程
  9. 【620】【信息管理学基础】【真题背诵】
  10. python的题库_python题库-Python,题库
  11. Android10 mockLocation 模拟定位
  12. 87键盘怎么用小键盘功能
  13. Layer子域名挖掘机
  14. html div.menus,性感的CSS菜单(Menus)
  15. 华为、联想:外媒眼中的“中国制造”
  16. Typora收费了?推荐两款Markdown编辑器
  17. 什么是两化融合贯标?对企业有什么好处?
  18. android pm list,Android pm命令
  19. React中遇到的Bug——Unhandled Rejection (Error): Maximum update depth exceeded. This can happen when a com
  20. 网络编程面试汇总(C++)

热门文章

  1. c#获取网页源代码的5种方式
  2. -字符串-搜索和替换--聚合
  3. 获取矩阵元素的方法 4种方法 B(1,2) B(9) B(sub2ind(size(B),3,4))
  4. 学习python 基础密码验证
  5. 080 HBase的属性
  6. [原]批量生成AWR报告
  7. Membership、MembershipUser和Roles类
  8. Split的使用(C#)
  9. [转载] python中list的方法有哪些_Python 列表(list)中的方法
  10. 《Linux命令行与shell脚本编程大全 第3版》