In-process object store of the driver process

Hi all,

Can Ray save small objects returned from remote call in the in-process object store of the driver process?
What size of this object store?
What objects can be saved there?

Thanks in advance!

1 Like

Can Ray save small objects returned from remote call in the in-process object store of the driver process?

Yes.

What size of this object store?

We do not limit the size, but it is limited by the OS to the memory on that node.

What objects can be saved there?

Any object under a certain threshold. The default is 100KB.

You can find more information in the Ray white paper. Here’s a link to the relevant section.

1 Like

As I understand, once memory of the driver’s in-process object store has end up the objects will be saved to the local shared memory?

How can we specify this threshold? Is there any API for this?

To specify the threshold, you can pass the --system-config flag to ray start:

ray start --head --system-config='{"max_direct_call_object_size":<nbytes>}'

Or to ray.init():

ray.init(_system_config={
  "max_direct_call_object_size": <nbytes>,
  })

Oh, that’s great! Thanks a lot!

Is it possible to get info on where object is put (in-object store or plasma) by its object ref?

I have figured out how it achieves. We can call d = ray.objects(oid) and if the field Locations of d is empty, object is put to plasma.

@Stephanie_Wang , am I correct?

Yes, it is so. The question is not relevant. But if there are some additions, add them please.