分布式计算框架 Ray 的部署及性能测试
Lab4 实验报告
QvQ
Ray 简介
Ray 是一个分布式学习框架,主要用于满足高性能计算的需求。
具体地,针对 Pandas/Numpy 矩阵运算的分布式、异步调用支持进行优化,通过 remote function
自动向集群添加节点、调度任务。
部署过程
首先安装 Ray 初级版本:
pip install -U ray
pip install ‘ray[default]’
查看版本 ray --version
的结果如下说明安装成功:
ray, version 1.13.0
(默认 python
环境已搭建完成)编写 test.py
测试文件:
通过 ray.init() 启动系统
把远程函数用 remote 标识(远程函数是无副作用的)
通过 ray.get() 获得函数返回结果
运行时,首先执行以下指令生成 head 节点:
ray start --head
这时会自动分配 head 节点 IP 端口,接下来,直接运行测试文件:
python3 test.py
计算任务仍是在本机运行的,只不过是以分布式的形式。
在执行过程中,Ray 提供了可视化硬件资源的 API,按照提示打开链接,可以在浏览器中看到资源占用情况:
上图显示了各节点对 RAM,CPU,Disk 等资源的利用率,能粗略估计系统压力。
性能指标
由于 Ray 主要用于执行计算任务,我们提出的性能评估标准主要用于衡量运算效率。
- 系统响应时间:衡量 Ray 分布式节点的响应速度,由 T r e m o t e f u n c t i o n s t a r t − T t e s t p r o g r a m s t a r t T_{remote\ function\ start}-T_{test\ program\ start} Tremote function start−T