Ray.remote() on a specific worker

Very new to Ray here – I am wondering if it’s possible in Ray to specify which worker node I want my remote function to execute on , i.e. overriding default scheduling. Like ideally, I want to do:

function_actor = Class.remote(ip address of worker I want to run the task on)

Is some notion of this possible in Ray?

Hi @marsupialtail,

Could you elaborate on your use-case some more?

While you can use Ray resources to achieve exactly this (example below), there is likely a more generic solution that doesn’t require you to manually identify the node IP address (e.g. Placement Groups). However, this really depends on the problem you are trying to solve by scheduling the actor on a specific node!

function_actor = Class.options(resources={"node:<ip_address>": 0.01}).remote()

I would like to manage where the actors are assigned by my application, not by the ray scheduler, because I am controlling where their data lives as well, so I want to achieve data locality. So I might try to schedule x actors on node a, y actors on node b, etc. Thanks for your solution.