1

具体来说,我希望始终在 HEAD 节点上调用我的参数存储工作者,而不是在任何工作者上调用。这样我可以优化资源配置。目前,参数存储任务似乎是在随机服务器上启动的,即使它首先调用,即使它后面跟着一个 ray.get()

也许可以做类似的事情: ps = ParameterStore.remote(onHead=True)

4

1 回答 1

2

您可以使用额外的自定义资源启动“头”节点,然后您可以使参数存储参与者需要该自定义资源。例如,使用以下命令启动头节点:

ray start --head --resources='{"PSResource": 1}'

然后你可以声明参数存储actor类

@ray.remote(resources={"PSResource": 1})
class ParameterStore(object):
    pass


ps = ParameterStore.remote()

您还可以定期声明参数存储参与者并更改调用它的方式。例如,

@ray.remote
class ParameterStore(object):
    pass


ps = ParameterStore._remote(args=[], resources={"PSResource": 1})

您可以在https://ray.readthedocs.io/en/latest/resources.html阅读有关 Ray 中资源的更多信息。

于 2019-06-10T21:54:15.430 回答