Hi all, I’m trying to learn more about ray and how it’s sharing memory between processes. I know it was using plasma but from what I’ve heard it is now deprecated. Where can I learn details about how does ray allocate the shared memory? I’m interested in most up-to-date information and I tried to look in the Python code but there is many layers of abstraction that obstruct the view. If someone could point to a specific part of the code in Python and/or C++ side where does the allocation happen I would be greatly appreciative. I’m only interested in how it works on Linux.
Thank you for your answer. I have even more questions now.
It seems like much more complex memory management system than I have imagined.
My main question though is why does dlmalloc use malloc on the mapped files? Maybe you could refer me to some resource where I can read about it.
You referenced plasma allocator. From what I gathered it has it’s origins in ray project and was then a part of arrow project but is now deprecated. Is plasma only deprecated in context of arrow and still being big part of ray? It would be interesting to see what it was replaced with in arrow project.
I very much appreciate your time, if you are open to it I would have more questions.
My main question though is why does dlmalloc use malloc on the mapped files? Maybe you could refer me to some resource where I can read about it.
Hmm, where do you see malloc being used on the mapped files? Could you provide a pointer to it?
From what I gathered it has it’s origins in ray project and was then a part of arrow project but is now deprecated. Is plasma only deprecated in context of arrow and still being big part of ray? It would be interesting to see what it was replaced with in arrow project.