When I do ray.put, what sized objects should I expect to stay local? Is there a way to control that explicitly?
I would like the object to stay on one machine for locality.
When you call
ray.put, from my memory, it always stays on the node of the worker where it’s executed. @sangcho or @Chen_Shen may double confirm that.
From the Ray arch google doc, it seems to suggest that large objects get stored in the “distributed object store”. I don’t know what “large” means
Even it’s put into distributed object store, it’s still local and there is no copy that will happen.
To answer your original question, the threshold is defined here:
which is 100K
When you call ray.put, it is always put into the object store, and they are always local to nodes that call ray.put.