如何解决Ray无法公平分配任务的问题偏向主节点
我正在尝试使用Ray在EMR群集上分发功能。任务数量(5,000)远远大于可用CPU(512)的数量。我的问题是,Ray没有将任务公平地分配到所有节点(PFA是Ganglia的服务器负载分配)。我确实从命令行打印中看到它实际上在其他节点中启动任务(在下面的分布中的某些节点中也可以通过浅绿色看到),但是它的方式更多地集中在主节点上(下面的分布中的红色节点) 。这并不是很有帮助,因为在一个大型96核实例中使用multiprocessing
库的并行化可以提高速度。
任何有关可能出问题的建议以及如何使Ray公平地在所有节点和内核上分配任务的建议都将非常有帮助。谢谢!
解决方法
Ray总是首先尝试在本地进行调度,以优化性能(这就是您的主节点负载最高的原因,因为您的驱动程序在此处正常运行)。有许多方法可以在整个群集中负载均衡工作负载。例如,您可以指定资源(例如num_cpus,以便当其他任务在头节点上没有足够的资源时,ray可以在其他节点上调度任务)或使用称为放置组的API。 https://docs.ray.io/en/master/placement-group.html
我还建议您将此内容发布在Github讨论中,以便您可以从其他用户那里获得更多技术:)! https://github.com/ray-project/ray/discussions
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。