ray.data
是基于 ray core 的一层封装。依赖 ray.data,用户用简单的代码,就可以实现数据大规模的异构处理(主要指同时使用 CPU 和 GPU)。一句话总结:很简单好用,同时也有很多坑。
在
上一篇
中,我们从用户接口出发,浅浅地梳理了一下
ray.data
的主要接口。本篇,我们从宏观的角度,大概串一下 ray.data 的基本原理。之后,我们再用几篇,结合代码细节和使用经验,探讨下比较重要的几块内容:执行调度、数据格式和避坑指南。
本文来自我的专栏《
系统日知录
》,如果你觉得文章还不错,欢迎订阅支持我。
https://www.qtmuniao.com/2024/07/07/ray-data-2/
转载请注明出处
如上图,解释下提到的名词:
Object Store
是由各个节点受控内存组成,用于存储上一个子任务的中间结果,供其他节点上的下一个子任务拉取使用。
Raylet
是 ray 在集群中各节点的 daemon,负责本节点上各种 ray 任务的调度和执行。
DataContext.target_min_block_size
和
DataContext.target_max_block_size
修改),过大了会切,但过小了好像不会合。
系统日知录
》的八折优惠券。
我们还有相关的分布式系统和数据库的群,可以添加我的微信号:qtmuniao,我拉你入群。加我时记得备注:“分布式系统群”。
另外,如果你不想加群,还有一个分布式系统和数据库的论坛(点
这里
),欢迎来玩耍。