I was looking for the high level scenarios for the Plasma In-Memory Object Store. A colleague of mine suggested we could use it to pass data between a C# process and a Python process.
I've read the intro blog [0] on Plasma, which describes using the same data set from multiple processes - which sounds like the same scenario as above. I am trying to prioritize creating C# bindings for the Plasma client. So I'd like to know all the scenarios that would could be enabled with Plasma. For example: - could using Plasma speed up Pandas UDFs in PySpark? Because the data wouldn't have to go across the socket between Java and Python, but instead would be memory-mapped. We have similar functionality in .NET for Apache Spark. - Is Plasma being used by Nvidia RAPIDS? I know Plasma today is not supported on Windows, but I think support could be added since Windows supports memory mapped files (through a different API than mmap) and it now supports Unix Domain Sockets [1]. Also - side question about the c_glib bindings. I assume those will only ever work on Windows with something like Cygwin or MSYS2, right? Would people be opposed to adding pure "C" exports to the plasma library so the C# bindings could use it? (similar to the JNI support today). Eric [0] https://ray-project.github.io/2017/08/08/plasma-in-memory-object-store.html [1] https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/