Well, you offered and I’m curious, so here goes.
I know next to nothing about low-level code, but I do know a bit about distributed systems…
For me, if I wanted to efficiently allow multiple concurrent components to read and write a shared data source, my mind goes straight to CRDTs.
How does the blackboard system compare to using CRDTs? Would CRDTs even be useful in these low-level contexts?
(I’m thinking maybe too much coordination overhead for a relatively rare configuration of readers+writers? And also, CRDTs tend to be more useful when you want to be able to survive long or frequent communication partitions, which I’m guessing is not the typical environment for local IPC.)