Ray EC2集群上的工作程序节点状态:更新失败

时间:2019-05-13 03:01:31

标签: amazon-ec2 parallel-processing cluster-computing ray

我现在有一个在e2上工作的Ray集群(Ubuntu 16.04),它具有一个c4.8xlarge主节点和一个相同的工作线程。我想检查是否正在使用多线程,所以我进行了测试以增加同一9秒任务的时间(n)。由于该实例具有18个CPU,因此我预计该作业最多需要9s才能完成n <= 35(假设一个CPU用于集群管理),然后出现故障,或者切换到36个vCPU时增加到大约18秒每个节点。

相反,集群最多只能并行处理14个任务,然后执行时间跳至40s,并随着n的增加而持续增加。当我尝试使用c4xlarge主服务器(4个CPU)时,时间与n成正比,即它们是串行运行的。因此,我推测主服务器实际上需要4个CPU用于该系统,而工作节点完全没有被使用。但是,如果我再增加一个工人,则n> 14的时间比没有它的时间少40s。我还尝试了target_utilization_factor的值小于1.0,但这没什么区别。

没有报告的错误,但是我确实注意到EC2实例控制台中工作程序的ray-node-status是“更新失败”。这重要吗?有人能启发我这种行为吗?

ray-timeline

1 个答案:

答案 0 :(得分:0)

该集群似乎没有使用工作程序,因此该跟踪仅显示处理该任务的18个实际cpus。监视器(ray exec ray_conf.yaml'tail -n 100 -f / tmp / ray / session_ / logs / monitor ')确定“更新失败”的意义在于安装命令,在工作节点上,由ray updater.py调用的失败。特别是,试图在其上安装C编译必备编译器软件包的尝试可能超出了工作程序内存分配。我这样做只是为了禁止显示“ setproctitle”安装警告-我现在可以理解,无论如何都可以安全地忽略该警告。