我可以访问一个节点集群,我的理解是,一旦我在每个节点上使用相同的redis地址启动ray,头部节点就可以访问所有节点的所有资源。在
主脚本:
export LC_ALL=en_US.utf-8
export LANG=en_US.utf-8 # required for using python 3 with click
source activate rllab3
redis_address="$(hostname --ip-address)"
echo $redis_address
redis_address="$redis_address:59465"
~/.conda/envs/rllab3/bin/ray start --head --redis-port=59465
for host in $(srun hostname | grep -v $(hostname)); do
ssh $host setup_node.sh $redis_address
done
python test_multi_node.py $redis_address
setup_node.sh
是
以及
test_multi_node.py
是
Ray似乎成功地在所有节点上启动,python脚本输出的IP地址与我拥有的节点一样多(它们是正确的)。但是,当打印资源时,它只有一个节点的资源。在
如何使ray访问所有节点的所有资源?我一定有一个基本的误解,因为我认为在其他节点上设置ray的目的是让它访问它们的所有资源。在
根据to thisray应该自动检测新节点上的资源,所以我不知道这里发生了什么。在
方法
ray.services.check_and_update_resources
是一个内部方法,不打算公开。您可以使用ray.global_state.cluster_resources()
和ray.global_state.client_table()
检查集群资源。在相关问题 更多 >
编程相关推荐