是否可以将任务分配给Ray中的特定工作者?

时间:2019-06-09 21:18:15

标签: ray

具体地说,我希望我的参数存储工作程序始终在HEAD节点而不是任何工作程序上被调用。这样,我可以优化资源配置。当前,参数存储任务似乎是在随机服务器上开始的,即使它首先被调用,并且即使它后面是ray.get()

也许可以执行以下操作: ps = ParameterStore.remote(onHead=True)

1 个答案:

答案 0 :(得分:1)

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

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中资源的更多信息。